Plasma/Wayland/Nvidia: Difference between revisions

From KDE Community Wiki
m (Nvidia-drm kernel parameter replaced with nvidia_drm https://wiki.archlinux.org/title/NVIDIA#DRM_kernel_mode_setting)
m (wiki)
 
(4 intermediate revisions by 2 users not shown)
Line 5: Line 5:
To use the Plasma Wayland session:
To use the Plasma Wayland session:


* Ensure that you are using Plasma 5.20.2 or later — preferably the latest stable release.
* Use an up-to-date version of Plasma (explicit sync support was implemented in 6.1)
* Ensure the NVIDIA driver is not older than version 495.44 — KWin is no longer compatible with previous versions.
* Ensure a reasonably new NVIDIA driver:
* You need an up-to-date Qt. Make sure you have >= Qt5.15.0 or [https://code.qt.io/cgit/qt/qtwayland.git/commit/?id=4bd13402f0293e85b8dfdf92254e250ac28094c7 4bd13402f0293e85b8dfdf92254e250ac28094c7] cherry-picked.
** minimum supported by KWin is 495.44;
* Make sure to have the Nvidia EGL library installed. For example on Ubuntu and Neon the relevant package is called <code>libnvidia-egl-wayland1</code>
** XWayland apps are usable with 555 and newer.
 
* You need to have the Nvidia EGL library installed. It can be a separate package (<code>libnvidia-egl-wayland1</code>) or bundled with the driver package (e.g. <code>nvidia-gl-G06</code> on openSUSE since 555).
To use the Plasma Wayland session with hardware acceleration on XWayland apps, you need:
* To run XWayland apps without flickering, at least XWayland 24.1 is required.
 
* Xorg 1.20.12 or later.
* XWayland 21.1.2 or later.
* libxcb 1.1.7 or later.


=== Use the modesetting driver===
=== Use the modesetting driver===
Check our driver is running in modesettings mode:
Check whether the driver is running in modesetting mode:


<code>cat /sys/module/nvidia_drm/parameters/modeset</code>
<code>cat /sys/module/nvidia_drm/parameters/modeset</code>


It should print "Y". If not, modify your kernel command line and add the line <code>nvidia_drm.modeset=1</code>.
It should print “Y”. If not, modify your kernel command line and add the line <code>nvidia_drm.modeset=1</code>.
Search for "kernel parameters" in your distribution; https://wiki.archlinux.org/index.php/Kernel_parameters is a good starting point.
Search for “kernel parameters” in your distribution; https://wiki.archlinux.org/index.php/Kernel_parameters is a good starting point.


It is also possible to pass the parameter via module configuration:
It is also possible to pass the parameter via module configuration:
Line 28: Line 24:
<code>echo options nvidia_drm modeset=1 | sudo tee /etc/modprobe.d/nvidia_drm.conf</code>
<code>echo options nvidia_drm modeset=1 | sudo tee /etc/modprobe.d/nvidia_drm.conf</code>


You need to regenerate the initramfs in case your distribution provides the graphics drivers in initramfs.
You need to regenerate the initramfs in case your distribution provides the graphics drivers in initramfs (e.g. <code>sudo update-initramfs -u</code>)


=== Login ===
=== Login ===
* Select "Plasma (wayland)" from your login manager
* Select “Plasma (Wayland)from your login manager
* Enjoy your beautiful super-fast accelerated wayland desktop!
* Enjoy your beautiful super-fast accelerated Wayland desktop!


=== Known Limitations ===
=== Known Limitations ===
* Night color does not work (as of NVIDIA drivers 525.78.01) because NVIDIA does not support DRM GAMMA_LUT property (see https://bugs.kde.org/show_bug.cgi?id=450327 and https://github.com/NVIDIA/open-gpu-kernel-modules/issues/162)
* Night Color is not applied to the mouse cursor: https://bugs.kde.org/show_bug.cgi?id=479889
 
* Poor performance on external screens on hybrid GPU setups when using NVIDIA GPU as a secondary GPU because it requires CPU copying from the primary GPU to the secondary GPU (see https://invent.kde.org/plasma/kwin/-/merge_requests/1031, https://bugs.kde.org/show_bug.cgi?id=452219)
* Poor performance on external screens on hybrid GPU setups when using NVIDIA GPU as a secondary GPU because it requires CPU copying from the primary GPU to the secondary GPU (see https://invent.kde.org/plasma/kwin/-/merge_requests/1031)

Latest revision as of 15:07, 28 September 2024

Here's how to run with the proprietary Nvidia driver on Wayland:

Prerequisites

To use the Plasma Wayland session:

  • Use an up-to-date version of Plasma (explicit sync support was implemented in 6.1)
  • Ensure a reasonably new NVIDIA driver:
    • minimum supported by KWin is 495.44;
    • XWayland apps are usable with 555 and newer.
  • You need to have the Nvidia EGL library installed. It can be a separate package (libnvidia-egl-wayland1) or bundled with the driver package (e.g. nvidia-gl-G06 on openSUSE since 555).
  • To run XWayland apps without flickering, at least XWayland 24.1 is required.

Use the modesetting driver

Check whether the driver is running in modesetting mode:

cat /sys/module/nvidia_drm/parameters/modeset

It should print “Y”. If not, modify your kernel command line and add the line nvidia_drm.modeset=1. Search for “kernel parameters” in your distribution; https://wiki.archlinux.org/index.php/Kernel_parameters is a good starting point.

It is also possible to pass the parameter via module configuration:

echo options nvidia_drm modeset=1 | sudo tee /etc/modprobe.d/nvidia_drm.conf

You need to regenerate the initramfs in case your distribution provides the graphics drivers in initramfs (e.g. sudo update-initramfs -u)

Login

  • Select “Plasma (Wayland)” from your login manager
  • Enjoy your beautiful super-fast accelerated Wayland desktop!

Known Limitations