rewriting lost content
...
initial content
KDE Plasma Wayland in Fedora 39 with nvidia Time to try this again, two years after my last post on [Fedora 35](/blog/53/starting-kde-plasma-wayland-with-fedora-35-and-nvidia-drivers/). I’m seeing some exciting search results already, e.g. “[Wayland is now usable for me](https://www.reddit.com/r/kde/comments/17o1u88/wayland_is_now_usable_for_me_kde_plasma_5279/)”. I’m now on Fedora 39 after just upgrading from 37. KDE and nvidia drivers already installed. For reference, KDE is installed with `sudo dnf groupinstall "KDE Plasma Workspaces"`. To see the current nvidia driver version (and apps using it), run `nvidia-smi`. To try wayland in KDE Plasma, look to the bottom left of the login screen (`sddm`, the default KDE greeter) for a combo box. It should have an option “Plasma Wayland”. # Black screen, only a mouse and task switcher What follows is a linear story of troubles before I realised I had a stale config issue. Feel free to skip this section. Unfortunately I’m met with only a black screen and a giant (low resolution) mouse cursor. I was also seeing some blurry mouse trails and slight flickering from stale swapchain contents. If I move the mouse to the top left I can open the task switcher, which says there are no windows. I’m also unable to switch back to X11 - choosing that option now gives me a black screen. Maybe it's a config issue... mv ~/.kde ~/.kde.bak1 Still can't login. The last time I tried wayland I needed to pass `modeset=1` to the `nvidia_drm` kernel module before Wayland would work. Maybe this isn’t needed anymore, but I’ll try it anyway. Rather than reboot, I switched to another virtual terminal, unloaded the nvidia kernel modules and tried again. An alternative is to [pass it on the grub command line](https://www.google.com/search?q=nvidia-drm+modeset%3D1+grub). # Ctrl-Alt-F3 and login, then stop all apps that are using nvidia kernel modules (graphics/display) # These may not all be needed - they’re just what I found from running pstree sudo service sddm stop killall kwin pkill kwin_wayland_wr pkill ksystemstats pkill xdg-desktop sudo pkill xwaylandvideobr # Remove the kernel modules # If it says any cannot be unloaded, go back to stopping more apps like the above # Or just reboot into runlevel 3 sudo rmmod nvidia_drm nvidia_modeset nvidia_uvm nvidia # Manually add the kernel module with the modeset argument sudo modprobe nvidia_drm modeset=1 # For Wayland # This typically breaks X11. To return, redo the above to unload the module and add it without sudo modprobe nvidia_drm # For X11 # Start the greeter again, now that the kernel module has been reloaded sudo service sddm start Some people are saying we don’t need to manually set the modeset=1 kernel argument anymore. Maybe it’s trying to apply `modeset=1` automatically in the background and breaking X11 in the process. It may be possible to rmmod and reload the kernel module manually. Indeed, reloading kernel modules as above but without `modeset=1` gets me back, but I still don't have wayland running. After logging in I now have a much smaller mouse (native resolution), but still a black screen. Something is still broken. There is some discussion of [trailing mouse artefacts](https://bbs.archlinux.org/viewtopic.php?id=288157) but nothing jumping out. Maybe some user configuration is causing a conflict. A few other disucssions of issues... - https://www.reddit.com/r/Fedora/comments/163qd3r/fedora_39_kde_plasma_wayland_lags_and_window/ - https://discussion.fedoraproject.org/t/problems-with-wayland-after-updating-to-fedora-39/95501/2 - https://discussion.fedoraproject.org/t/f39-kde-wayland-logged-out-shortly-after-login-heads-up/95498 - https://www.reddit.com/r/kde/comments/17efpz8/did_something_change_with_wayland_kde_and_nvidia/ Maybe an nvidia driver update would help... nvidia-driver.x86_64 3:545.23.08-1.fc37 @cuda-fedora37-x86_64 Damn. No fedora 39 repo exists yet, so I just uninstalled this and downloaded the .run file drivers from the nvidia webpage directly. sudo dnf remove nvidia-driver sudo dnf install dkms # because the above command removed it as an unused dependency chmod u+x ~/Downloads/NVIDIA-Linux-x86_64-535.146.02.run sudo ~/Downloads/NVIDIA-Linux-x86_64-535.146.02.run Mouse trails still there. Reading nvidia_drm with modeset=1 gave me a small/native resolution but very laggy mouse, still with a black screen. # Success Finally I noticed the kde config directory is not `~/.kde` and there's a few `~/config/kde*`. Ls -Flatr ~/config/kde* mv ~/.config/kdedefaults{,.bak} mv ~/.config/kde.org{,.bak} Then I ran with `nvidia_drm modeset=1` and I got a loading screen and am typing this post in plasma wayland now. Animation generally feels snappier on my 144hz 4k monitor, but incredible laggy when changing window focus or moving windows to the top of the screen and getting a maximize preview. Some rendering bugs after resizing, e.g. from google chrome which does its own window decorations. To see what config option might have broke things I had a quick look with `meld ~/.config/kde.org.bak ~/.config/kde.org`. There didn’t seem to be much happening there except the following: ``` Theme=org.fedoraproject.fedora.desktop Theme=org.kde.breezetwilight.desktop ``` Finally I tried adjusting the display scaling for my 4k monitors (as it had reverted to 100%). After changing to 200% and then back to 150% the mouse started lagging badly --- down to ~1fps --- at which point I just gave up. Plasma Wayland is still not ready for me yet :(