Jump to content

Plasma/Wayland/Nvidia: Difference between revisions

From KDE Community Wiki
Clel (talk | contribs)
m Improve formatting
m wiki
 
(13 intermediate revisions by 9 users not shown)
Line 1: Line 1:
Running Nvidia Wayland
Here's how to run with the '''proprietary''' Nvidia driver on Wayland:


=== Pre-requisites ===
=== Prerequisites ===


* You need a very 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.
To use the Plasma Wayland session:


=== Mode setting===
* 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 (<code>libnvidia-egl-wayland1</code>) or bundled with the driver package (e.g. <code>nvidia-gl-G06</code> on openSUSE since 555).
* To run XWayland apps without flickering, at least XWayland 24.1 is required.


Check our driver is running in modesettings mode
=== Use the modesetting driver===
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"
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.


If not, modify your kernel command line and add the line nvidia-drm.modeset=1.
It is also possible to pass the parameter via module configuration:
Search for "kernel parameters" in your distribution
https://wiki.archlinux.org/index.php/Kernel_parameters is a good starting point


=== Tell kwin to run with EGLStreams. ===
<code>echo options nvidia_drm modeset=1 | sudo tee /etc/modprobe.d/nvidia_drm.conf</code>


You should set the environment variable "KWIN_DRM_USE_EGL_STREAMS=1"
You need to regenerate the initramfs in case your distribution provides the graphics drivers in initramfs (e.g. <code>sudo update-initramfs -u</code>)
 
The easiest place is to add a file <code>/etc/profile.d/kwin.sh</code>  with the line
<code>export KWIN_DRM_USE_EGL_STREAMS=1</code>
 
Verify this is working with the command line tool "env" after rebooting.


=== 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 ===
* 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)

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