Git Product home page Git Product logo

Comments (11)

Bubbasm avatar Bubbasm commented on June 1, 2024 3

Was having the same issue, in X11.
ArchLinux 6.6.25-1-lts, Nvidia Driver 550.67
I found a workaround where changing Force a Specific Capture Method in Advanced tab in Configuration from the default value of Autodetect (recommended) to X11 made it work. But this caused the video to be laggy.

What finally worked was installing nvlax patch. The AUR archlinux packet is this, but I don't know what would be the equivalents in Ubuntu and Fedora.

from sunshine.

cgutman avatar cgutman commented on June 1, 2024 1

Are all of you using hybrid graphics systems with an iGPU and dGPU? I can't reproduce this with a regular single-GPU system with the display physically connected to the Nvidia GPU. Please describe the display topology of your systems (which GPUs are present, which displays are physically connected to which GPUs including internal displays on laptops).

For @gprotta's posted config, I think your issue is this in your config: adapter_name = /dev/dri/card1. You're explicitly forcing Sunshine to encode on the Nvidia GPU even if it can't import the frame buffer from the Intel GPU (which is often the case due to vendor-specific DRM tiling modifiers).

I'm running Wayland. I did the "NvFBC" patch and it didn't work.

This is expected because Nvidia hasn't added Wayland support to NvFBC. The KMS capture backend is optimal for Nvidia Wayland scenarios.

from sunshine.

CPioGH2002 avatar CPioGH2002 commented on June 1, 2024

Same here, albeit on X11.
Ubuntu 23.10, Kernel 6.8.4, Nvidia Driver 550.67

Tested with the Flatpak and AppImage release: 0.23

A client (Moonlight on Linux and Windows) keeps the connection but only shows a black screen while the logs feature repeated Error: GL: /build/sunshine/src/platform/linux/graphics.cpp:570.

from sunshine.

CPioGH2002 avatar CPioGH2002 commented on June 1, 2024

Can confirm that manually setting "X11" instead of the autodetect does make it work. Have to test more on the impact of that but thanks for the tip. Much appreciated.

Currently, either leaving Force a Specific Capture Method (in the Advanced tab) at "Autodetect" or manually setting it to "KMS" causes the black screen issue. KMS would be preferred over the slower/laggy X11 method from what I understand. But, for the Nvidia folks, there's of course another method in reach, once the driver was patched:

Patcher for Nvidia drivers (to get NvFBC working, which should be best in terms of speed and quality for Nvidia users): https://github.com/keylase/nvidia-patch

Update:
After having used the above patcher, manually selecting "NvFBC" is possible and working as it should.

Note for Flatpak users: One has to patch the driver AND the flatpak version of the driver. Check the description of the above patcher to see how you can easily patch both instances. You simply execute a script and that one takes care of the rest, including backups. Note: This step has to be repeated after every new driver install/update.

from sunshine.

gprotta avatar gprotta commented on June 1, 2024

I'm running Wayland. I did the "NvFBC" patch and it didn't work.

from sunshine.

CPioGH2002 avatar CPioGH2002 commented on June 1, 2024

1) Did Sunshine work before for you, with Wayland and your Nvidia card, and only caused problems with the 0.23 version?

2) Are you able to got back to X11 for testing and check if the problem is resolved then?

Both questions aim at finding out if a Sunshine version change lead to the issue or if we are looking at generic Wayland-specific problems in conjunction with Nvidia cards.

When on X11:
So far, it seems like the "Autodetect" feature causes the actual problem which can be worked around with manually setting it to the desired/working method. "X11" being the safe but also slow and heavy one.

One can expand the available methods by patching the Nvidia driver, which should lead to better performance and less system load once NvFBC is working. "KMS" should be somewhere in between, if one gets it working.

from sunshine.

gprotta avatar gprotta commented on June 1, 2024

@CPioGH2002
1 - I started using it on version 0.22 and 0.23, and both don't work with wayland, same problem.
2 - Yes, X11 working with manually setting.

from sunshine.

Bubbasm avatar Bubbasm commented on June 1, 2024

In my case, using ArchLinux 6.6.25-1-lts and Nvidia Driver 550.67 I am only using one discrete Nvidia GPU on a desktop (not laptop) without any iGPU on the processor. Display is physically connected to the GPU

from sunshine.

CPioGH2002 avatar CPioGH2002 commented on June 1, 2024

Very good point regarding the architecture (hybrid vs. single GPU). I myself only run a single GPU on a desktop system with the monitor being attached to it. My iGPU is disabled, so the Nvidia card is the only one being available and active. Still using X11.

As described, once I get rid of the "autodetect" feature and set the capture method manually, everything is working fine.

@CPioGH2002 1 - I started using it on version 0.22 and 0.23, and both don't work with wayland, same problem. 2 - Yes, X11 working with manually setting.

So, seems like the dreaded Nvidia Wayland support/implementation plays a huge role for the problems described. Perhaps try cgutman's recommendation from above and check if the KMS capture method works on Wayland with your config.

from sunshine.

cgutman avatar cgutman commented on June 1, 2024

A few other questions to try and narrow down the issue:

  • Are you using the Nvidia proprietary kernel module or the Nvidia open kernel module?
  • Are you passing any nvidia-drm kernel module parameters like modeset=1 or NVreg_EnableGpuFirmware?
  • Can you try to build and run drm_info on your affected system and attach the output here?

from sunshine.

gprotta avatar gprotta commented on June 1, 2024

I tested it just with the laptop screen and it works (iGPU).
When I use the HDMI output, only the mouse cursor works, but the screen stays black.

@cgutman
Are you using the Nvidia proprietary kernel module or the Nvidia open kernel module?
proprietary
Are you passing any nvidia-drm kernel module parameters like modeset=1 or NVreg_EnableGpuFirmware?
none
Can you try to build and run drm_info on your affected system and attach the output here?
I don't know how to use

from sunshine.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.