Hey all,
please tell me about your experience with modern Nvidia GPU’s and Wayland. Because mine is just terrible.
I have an RTX 3060 OC (12GB) and the card works very well on Windows and X11. My distribution is Fedora Linux 39 (KDE Plasma) with the rpmfusion repos enabled. I use Nvidia’s proprietary driver in its latest version from there, which is currently 545.29.06. Kernel 6.6.13. So it all seems very modern and up-to-date.
But everything comes crashing down when I try to use this GPU on Wayland. Yesterday I wanted to just watch a movie with mpv. After about 10 minutes, the screen started to flicker like an old CRT monitor running at a low refresh rate. I had to reboot to make it work again. Watched for another half hour or so and the screen just turned off and never turned back on again. Even switching to a console with Ctrl+F1 didn’t work, but the system was still running.
The console is full of Nvidia-related errors and I have a ton of graphical glitches when I open up VS Code, for example - only part of the application refreshes properly sometimes, it seems a bit like part of the UI rendering is just massively lagging behind.
Keep in mind that all of these problems go away as soon as I switch to X11 or Windows. Is it just me or are Nvidia’s drivers hot garbage and basically alpha software? I regret not going with an AMD card at this point. Even the Intel UHD620 in my notebook performs better than this.
Edit: I tried upgrading to the 550 beta driver now and it just segfaults in libnvidia-glcore.so when I try to run anything Wayland-related. Can’t even get to sddm with it anymore and have to start KDE from a TTY. Of course, xorg still works fine.
Edit #2: I was finally upgrade to the 550 beta, had to switch to Fedora 40 (which is the development branch) and patch the driver so the kernel module can be compiled. It seems to work a bit better, the UI lag isn’t as massive and there are fewer glitches in VS Code. Still far from perfect, though - I still have out of order frames in Steam games and YouTube videos which are really annoying.
550 works a lot better for me in Wayland. A ton of games work now and VRR works properly in both X11 and Wayland. Some games still show out of order frames or glitching though.
VRR works properly in both X11 and Wayland
Except when you have multiple displays
I tried upgrading to the 550 beta driver now and it just segfaults in libnvidia-glcore.so when I try to run anything Wayland-related. Can’t even get to sddm with it anymore and have to start KDE from a TTY. Of course, xorg still works fine.
deleted by creator
Does it really work on the latest driver? Does it fix flickering in Minecraft and other XWayland games?
deleted by creator
I tried it now with these options and the latest driver 550.67. Nothing has changed, the terrible flickering is still there in all XWayland games and Steam is completely corrupted now.
Steam video: https://youtu.be/N_M9cJTeze8 Games video: https://youtu.be/aactSIQZ5l0
deleted by creator
Here is an alternative Piped link(s):
https://piped.video/N_M9cJTeze8
https://piped.video/aactSIQZ5l0
Piped is a privacy-respecting open-source alternative frontend to YouTube.
I’m open-source; check me out at GitHub.
deleted by creator
I also run KDE on nvidia and have problems with Wayland. Supposedly the new drivers (version 550) have some improvements for Wayland, but I haven’t tried out the beta yet.
Plasma 6 is just around the corner and it also has Wayland improvements.
When both land I’ll probably try Wayland again, but for now X works really well for me and I don’t feel I’m missing anything by not using Wayland. If anything, moving to Wayland will break some things (like global auto type in KeepassXC )
Nvidia wayland has been pretty much smooth sailing for me since 535 from gaming to watching movies to running self hosted AI on cuda. I am currently on 550 and oh also on rtx 3060 mobile. Hope things get bettet for you in the future
It’s a crappy situation with Nvidia, even outside of this. A while ago, my ubuntu system informed me of updates, and it happily installed the 6.5 kernel. Turns out, nvidia drivers don’t work with this kernel… Apparently this sort of thing happens all the time, which would seem easily avoidable.
I gave it a try on my bare Debian 12 (kernel 6.1) install last week and a 3090.
KDE Plasma, on Wayland, worked out of the box but with poor performance. After following the official guide to installing the proprietary drivers, the Wayland session no longer works. After entering my password in SDDM I get a blank screen with a solid text cursor in the upper corner until I forcefully power cycle the machine.
I’ll stick to x11 for now, which works flawlessly with great performance in games (~200fps in Baldur’s Gate 3, max settings 1440p @ 240hz).
Its plain shit.
Ubuntu (Gnome) with wayland spammed my log with errors, often apps wouldnt open, games worked mostly which was nice but I had to do a lot of tinkering.
Debian with Kde doesnt even let me log in on wayland, I had to switch back to x11 for now. There are workarounds afaik but rn I‘m ok with x11, sort of fearing to break other stuff with the workaround.
Then lastly just look at the amounts of protondb.com posts where nvidia workarounds are posted vs the amount of amd. Its brutal.
Yes I have never managed to get a stable system with Nvidia. It’s always something to try and fix. Graphics glitches, sleep issues, you name it.
Switched to amd and have zero issues and a completely stable system.
I see exactly the same thing with a 3080ti on Fedora Gnome.
Lots of flickering, especially in VS Code, cursor freezes or straight up disappears, screen blacks out and I can’t get it back or switch to other TTYs.
I haven’t tested against X11 yet, but I’ll probably get around to it this weekend.
Good to see I’m not alone with this. I have multiple monitors with various resolutions (4K, 2K and an old 1600x1200 VGA screen) and I like the fractional scaling methods Wayland has. It makes it really easy to combine all of these screens into one useable area.
Fractional scaling on X11 can be enabled but it’s such a massive performance hit, that it doesn’t make any fun or sense to use it.
On my UHD 620, Wayland is rock-solid. Everything just works, it never crashes, I don’t have any glitches and the performance is great. On Nvidia, when it’s not just crashing it still feels laggy. Even moving around windows seem to be a struggle for the system and it’s so sad to see that.
Hopefully this will improve in the near future.
An example of what I see when I run dmesg when Wayland is active:
[ 18.181604] [drm] [nvidia-drm] [GPU ID 0x00008100] Failed to ioremap_wc NvKmsKapiMemory 0x00000000c73546fd [ 18.181622] ------------[ cut here ]------------ [ 18.181623] WARNING: CPU: 1 PID: 1902 at drivers/dma-buf/dma-buf.c:1526 dma_buf_vmap+0xf0/0x100 [ 18.181626] Modules linked in: nvidia_drm(POE) nvidia_modeset(POE) nf_conntrack_netbios_ns nf_conntrack_broadcast nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nvidia_uvm(POE) nft_ct nft_chain_nat nf_nat nf_conntrack nvidia(POE) nf_defrag_ipv6 nf_defrag_ipv4 ip_set nf_tables nfnetlink qrtr bnep sunrpc intel_rapl_msr intel_rapl_common sb_edac x86_pkg_temp_thermal intel_powerclamp coretemp iwlmvm kvm_intel snd_seq_midi snd_seq_midi_event mac80211 kvm snd_hda_codec_hdmi libarc4 snd_usb_audio snd_hda_intel irqbypass snd_intel_dspcfg snd_intel_sdw_acpi snd_hda_codec vfat snd_usbmidi_lib rapl snd_ump fat snd_hda_core iwlwifi snd_rawmidi mc snd_hwdep btusb snd_seq btrtl snd_seq_device btintel iTCO_wdt btbcm intel_cstate btmtk intel_pmc_bxt snd_pcm ipmi_ssif iTCO_vendor_support cfg80211 snd_timer bluetooth intel_uncore snd mei_me pcspkr video soundcore mei lpc_ich i2c_i801 i2c_smbus ioatdma rfkill acpi_ipmi ipmi_si ipmi_devintf ipmi_msghandler acpi_power_meter acpi_pad [ 18.181662] joydev loop zram crct10dif_pclmul crc32_pclmul crc32c_intel polyval_clmulni polyval_generic mxm_wmi ixgbe ghash_clmulni_intel nvme sha512_ssse3 ast sha256_ssse3 sha1_ssse3 nvme_core i2c_algo_bit mdio dca nvme_common wmi fuse [ 18.181672] CPU: 1 PID: 1902 Comm: kwin_wayland Tainted: P S W OE 6.6.13-200.fc39.x86_64 #1 [ 18.181674] Hardware name: Supermicro X10DRi/X10DRI-T, BIOS 3.4a 08/16/2021 [ 18.181675] RIP: 0010:dma_buf_vmap+0xf0/0x100 [ 18.181677] Code: c0 01 89 43 28 48 85 c9 74 1c 48 8b 43 30 48 8b 53 38 49 89 04 24 49 89 54 24 08 eb c3 0f 0b b8 ea ff ff ff eb bc 0f 0b 0f 0b <0f> 0b eb b4 b8 ea ff ff ff eb ad e8 10 36 4b 00 90 90 90 90 90 90 [ 18.181678] RSP: 0018:ffffc9000835fae8 EFLAGS: 00010282 [ 18.181680] RAX: 00000000fffffff4 RBX: ffff88812076dc00 RCX: 0000000000000027 [ 18.181681] RDX: 0000000000000000 RSI: 0000000000000001 RDI: ffff88885f861580 [ 18.181682] RBP: ffffc9000835fb10 R08: 0000000000000000 R09: ffffc9000835f938 [ 18.181683] R10: 0000000000000003 R11: ffff88907ff42c28 R12: ffff88810e7c9898 [ 18.181684] R13: ffff88810e7c9898 R14: ffff88810e7c9898 R15: 0000000000000000 [ 18.181685] FS: 00007fb77685aec0(0000) GS:ffff88885f840000(0000) knlGS:0000000000000000 [ 18.181687] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 18.181688] CR2: 0000563fd8fb62d8 CR3: 0000000120dbe004 CR4: 00000000001706e0 [ 18.181689] Call Trace: [ 18.181690] <TASK> [ 18.181691] ? dma_buf_vmap+0xf0/0x100 [ 18.181693] ? __warn+0x81/0x130 [ 18.181695] ? dma_buf_vmap+0xf0/0x100 [ 18.181697] ? report_bug+0x171/0x1a0 [ 18.181700] ? handle_bug+0x3c/0x80 [ 18.181702] ? exc_invalid_op+0x17/0x70 [ 18.181704] ? asm_exc_invalid_op+0x1a/0x20 [ 18.181708] ? dma_buf_vmap+0xf0/0x100 [ 18.181710] ? dma_buf_vmap+0x81/0x100 [ 18.181712] drm_gem_shmem_vmap+0x2b/0x1b0 [ 18.181715] ? dma_resv_get_singleton+0x46/0x140 [ 18.181717] drm_gem_vmap+0x22/0x50 [ 18.181720] drm_gem_vmap_unlocked+0x2a/0x50 [ 18.181722] drm_gem_fb_vmap+0x41/0x120 [ 18.181725] drm_atomic_helper_prepare_planes+0x17a/0x210 [ 18.181727] drm_atomic_helper_commit+0x78/0x140 [ 18.181729] drm_mode_atomic_ioctl+0xa57/0xc70 [ 18.181733] ? __pfx_drm_mode_atomic_ioctl+0x10/0x10 [ 18.181735] drm_ioctl_kernel+0xd6/0x180 [ 18.181737] drm_ioctl+0x26d/0x4b0 [ 18.181738] ? __pfx_drm_mode_atomic_ioctl+0x10/0x10 [ 18.181742] __x64_sys_ioctl+0x97/0xd0 [ 18.181745] do_syscall_64+0x60/0x90 [ 18.181748] ? __x64_sys_ioctl+0xaf/0xd0 [ 18.181750] ? syscall_exit_to_user_mode+0x2b/0x40 [ 18.181752] ? do_syscall_64+0x6c/0x90 [ 18.181754] ? syscall_exit_to_user_mode+0x2b/0x40 [ 18.181756] ? do_syscall_64+0x6c/0x90 [ 18.181758] ? syscall_exit_to_user_mode+0x2b/0x40 [ 18.181760] ? do_syscall_64+0x6c/0x90 [ 18.181762] ? syscall_exit_to_user_mode+0x2b/0x40 [ 18.181764] ? do_syscall_64+0x6c/0x90 [ 18.181766] ? do_syscall_64+0x6c/0x90 [ 18.181769] entry_SYSCALL_64_after_hwframe+0x6e/0xd8 [ 18.181771] RIP: 0033:0x7fb77b52f17d [ 18.181775] Code: 04 25 28 00 00 00 48 89 45 c8 31 c0 48 8d 45 10 c7 45 b0 10 00 00 00 48 89 45 b8 48 8d 45 d0 48 89 45 c0 b8 10 00 00 00 0f 05 <89> c2 3d 00 f0 ff ff 77 1a 48 8b 45 c8 64 48 2b 04 25 28 00 00 00 [ 18.181776] RSP: 002b:00007ffd48b3ca20 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 [ 18.181778] RAX: ffffffffffffffda RBX: 0000563fd9356ac0 RCX: 00007fb77b52f17d [ 18.181779] RDX: 00007ffd48b3cac0 RSI: 00000000c03864bc RDI: 0000000000000014 [ 18.181779] RBP: 00007ffd48b3ca70 R08: 0000000000000007 R09: 0000000000000002 [ 18.181780] R10: 0000000000000002 R11: 0000000000000246 R12: 00007ffd48b3cac0 [ 18.181781] R13: 00000000c03864bc R14: 0000000000000014 R15: 0000563fd92bee30 [ 18.181783] </TASK> [ 18.181784] ---[ end trace 0000000000000000 ]---
i had previously rtx 4070, which worked really well with the 535 drivers on plasma wayland. however i sold that gpu and bought 4070tis and now i have to use the 550 driver, which has a lot of problems. i’m just waiting for nvk to become stable and performant enough to ditch the proprietary nvidia drivers for good.
Oh man. You poor guys. I hope it gets fixed for you one day.
Skips away with my 6800 XT
In VMWare with Nvidia acceleration the cursor is 20 pixels away from where it actually clicks.
It works pretty well for me with Kubuntu and Wayland and I have a rather non-standard AMD motherboard with an RTX3060 GPU on a laptop so it has to handle GPU switching as well.
I have found that some configurations like usb-c displayport only seem to work when I set Nvidia as the primary GPU, but in general it all works well and I actually had more issues with X11 in the end.
I don’t care……but I’m just here to mention how much
I fucking hate when people use the expression, “hot mess”.
Thank you for your valuable contribution. 😄 It’s just as good as Nvidia’s drivers.
You are a hot mess with your valuable contribution.