DRM fbdev / Wayland presentation support with Linux kernel 6.11 and above

With Linux kernel 6.11, drm_fbdev_generic_setup was renamed to
drm_fbdev_ttm_setup. What this means for end users is that DRM fbdev support
(nvidia_drm.fbdev=1) will no longer continue to work as expected. The major
effect of this is Wayland compositors being unable to present to the display.
This leads to a black screen and the compositor being unusable. Our production
branch driver 550.120 contains the fix for nvidia-drm to work properly with
Linux kernel 6.11, and a future new feature branch release will also contain
this fix.

1 Like

The 550.120 update from the 550.107 driver is broken with missing file dependency in module nvidia-dkms-550.

Leaves the kernel in broken state or preferably defaulting to nouveau drivers to at least draw a desktop to start remediation.

Had to remove the 550 drivers and install the 555.58.02 drivers into my kernel 6.11.0-061100-generic to get a working system again.

Hi,

We found this internally as well and our next releases will fix this in the NVIDIA installer. Sorry about this disruption. The problem with 555.58.02 is you will likely face black screens with KWin (Plasma 6 + Wayland) with kernel 6.11. Anyways, we will have the issue you reported resolved in the next driver releases.

Thanks,
Rahul Rameshbabu

Even with the patch from 550.120, I am still getting a black screen when I don’t enable fbdev=1. Considering that fbdev is still considered experimental, I think this is a bug.

You can find confirmation of the Arch 6.11 kernel including the 550.120 patch here: nvidia-utils: Add fix for fbdev with 6.11 Kernel (538f8a3d) · Commits · Arch Linux / Packaging / Packages / nvidia-utils · GitLab

Hey, I’m the Arch Linux NVIDIA driver packager. How do you suggest we fix this for our users? What kind of change are you making to the installer that I can already implement for Arch Linux?

Hi @svenstaro,
I tried reaching out on the Arch Linux gitlab issue for this. Unfortunately, I do not have an account, so I emailed accountsupport@archlinux.org. Have not heard back yet but hoping to have an account in the future.

I took a look at the work you did to pull in the 550.120 change. It looked good to me personally. We hope that you will be able to drop this patch when we release the next New Feature Branch release.

With regards to nvidia-installer, here is the patch I implemented to resolve the depmod issue.

@rrameshbabu Can you confirm whether fbdev=1 is mandatory now for Wayland? Even with the above patch, if fbdev=1 is not explicitly set, it causes black screens for a lot of users.

Hi @UrbenLegend,
I was going to have one of our team members who works actively with customers follow up with you on this thread.
I also noticed that I needed to use fbdev=1 to avoid a black screen, which I found strange since compositors like KWin should be using a series of DRM_IOCTL_MODE_*_DUMB ioctls. These ioctls should not depend on DRM fbdev support from my understanding.
In general, I am investigating this to confirm if this is an issue with our driver or some change due to a refactor in the kernel that makes DRM fbdev support a requirement for some reason. We are using bug 4890260 to track this internally.

2 Likes

Not directly related to the bug, but according to Nvidia’s slides from XDC, fbdev (and modeset) will be enabled by default in the future, so fbdev=1 as a workaround seems like a decent solution on the current 560.xx (which last had a fix for an fbdev issue).

See second image - https://www.phoronix.com/news/NVIDIA-Wayland-Roadmap-2024