KDE Wayland Session will not use NVIDIA GPU

Hello, all!

Given Wayland is now the default KDE session, I decided to give it a shot getting set up. I have never been able to get it to recognize the resolution of my Samsung Odyssey G9. I write this now from 1280x720 resolution. No matter what I do, my displays are not detected under Wayland (detected fine under X11, both of them).
After much searching, I found this thread: [SOLVED] External monitor not detected under Wayland (KDE Plasma) / Newbie Corner / Arch Linux Forums

which aligns most to my issue.
Attempt to solve:

 glxinfo | grep "OpenGL renderer"
OpenGL renderer string: llvmpipe (LLVM 16.0.6, 256 bits)

in /etc/default/grub-btrfs/config I added

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nvidia-drm-modset=1"
which is just below 
GRUB_BTRFS_VERSION=4.12-master-2023-04-28T16:26:00+00:00

after

sudo grub-mkconfig -o /boot/grub/grub.cfg

and/or

sudo update grub

and restarts, no dice. I still get OpenGL renderer string: llvmpipe (LLVM 16.0.6, 256 bits)

Weirdly,

prime-run glxinfo -B | grep "OpenGL vendor string"
X Error of failed request:  BadAlloc (insufficient resources for operation)
Major opcode of failed request:  149 (GLX)
Minor opcode of failed request:  5 (X_GLXMakeCurrent)
Serial number of failed request:  0
Current serial number in output stream:  29

and of course, the kicker. My 3080ti sitting at room temperature running itself a lil xorg.

╰─λ nvidia-smi
Thu Nov 23 02:45:20 2023
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 545.29.02              Driver Version: 545.29.02    CUDA Version: 12.3     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA GeForce RTX 3080 Ti     Off | 00000000:0B:00.0  On |                  N/A |
|  0%   38C    P8              29W / 350W |     64MiB / 12288MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|    0   N/A  N/A      2034      G   /usr/lib/Xorg                                58MiB |
+---------------------------------------------------------------------------------------+

My garuda-inxi:

garuda-inxi
System:
Kernel: 6.6.2-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 13.2.1
clocksource: tsc available: hpet,acpi_pm
parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
root=UUID=e7f8b539-4888-4d96-a7fb-dc22ce7aba7f rw rootflags=subvol=@
quiet loglevel=3 ibt=off
Desktop: KDE Plasma v: 5.27.9 tk: Qt v: 5.15.11 wm: kwin_wayland vt: 1
dm: SDDM Distro: Garuda Linux base: Arch Linux
Machine:
Type: Desktop System: ASUS product: N/A v: N/A serial: <superuser required>
Mobo: ASUSTeK model: TUF GAMING B550M-E WIFI v: Rev X.0x
serial: <superuser required> UEFI: American Megatrends v: 2403
date: 06/16/2021
CPU:
Info: model: AMD Ryzen 7 5800X bits: 64 type: MT MCP arch: Zen 3+ gen: 4
level: v3 note: check built: 2022 process: TSMC n6 (7nm) family: 0x19 (25)
model-id: 0x21 (33) stepping: 0 microcode: 0xA201016
Topology: cpus: 1x cores: 8 tpc: 2 threads: 16 smt: enabled cache:
L1: 512 KiB desc: d-8x32 KiB; i-8x32 KiB L2: 4 MiB desc: 8x512 KiB
L3: 32 MiB desc: 1x32 MiB
Speed (MHz): avg: 4200 min/max: 2200/5361 boost: enabled scaling:
driver: acpi-cpufreq governor: performance cores: 1: 4200 2: 4200 3: 4200
4: 4200 5: 4200 6: 4200 7: 4200 8: 4200 9: 4200 10: 4200 11: 4200 12: 4200
13: 4200 14: 4200 15: 4200 16: 4200 bogomips: 134407
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
Vulnerabilities: <filter>
Graphics:
Device-1: NVIDIA GA102 [GeForce RTX 3080 Ti] vendor: Shenzhen Colorful
Yugong and Development driver: nvidia v: 545.29.02
alternate: nouveau,nvidia_drm non-free: 545.xx+ status: current (as of
2023-10; EOL~2026-12-xx) arch: Ampere code: GAxxx process: TSMC n7 (7nm)
built: 2020-2023 pcie: gen: 1 speed: 2.5 GT/s lanes: 16 link-max: gen: 4
speed: 16 GT/s bus-ID: 0b:00.0 chip-ID: 10de:2208 class-ID: 0300
Device-2: Logitech BRIO Ultra HD Webcam
driver: hid-generic,snd-usb-audio,usbhid,uvcvideo type: USB rev: 3.1
speed: 5 Gb/s lanes: 1 mode: 3.2 gen-1x1 bus-ID: 4-3.2:3
chip-ID: 046d:085e class-ID: 0300 serial: <filter>
Display: wayland server: X.org v: 1.21.1.9 with: Xwayland v: 23.2.2
compositor: kwin_wayland driver: X: loaded: modesetting,nouveau,nvidia
alternate: fbdev,nv,vesa gpu: nvidia display-ID: 0
Monitor-1: Unknown-1 res: 1280x720 size: N/A modes: N/A
API: EGL v: 1.5 hw: drv: nvidia platforms: device: 0 drv: nvidia device: 2
drv: swrast gbm: drv: kms_swrast surfaceless: drv: nvidia wayland:
drv: swrast x11: drv: swrast inactive: device-1
API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: mesa v: 23.2.1-arch1.2
glx-v: 1.4 direct-render: yes renderer: llvmpipe (LLVM 16.0.6 256 bits)
device-ID: ffffffff:ffffffff memory: 30.52 GiB unified: yes
display-ID: :1.0
API: Vulkan v: 1.3.269 layers: 10 device: 0 type: discrete-gpu name: NVIDIA
GeForce RTX 3080 Ti driver: nvidia v: 545.29.02 device-ID: 10de:2208
surfaces: xcb,xlib device: 1 type: cpu name: llvmpipe (LLVM 16.0.6 256
bits) driver: mesa llvmpipe v: 23.2.1-arch1.2 (LLVM 16.0.6)
device-ID: 10005:0000 surfaces: xcb,xlib,wayland
Audio:
Device-1: NVIDIA GA102 High Definition Audio vendor: Shenzhen Colorful
Yugong and Development driver: snd_hda_intel v: kernel pcie: gen: 4
speed: 16 GT/s lanes: 16 bus-ID: 0b:00.1 chip-ID: 10de:1aef class-ID: 0403
Device-2: AMD Starship/Matisse HD Audio vendor: ASUSTeK
driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s lanes: 16
bus-ID: 0d:00.4 chip-ID: 1022:1487 class-ID: 0403
Device-3: Focusrite-Novation Scarlett 2i2 3rd Gen driver: snd-usb-audio
type: USB rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 3-4:3
chip-ID: 1235:8210 class-ID: 0102 serial: <filter>
Device-4: Logitech BRIO Ultra HD Webcam
driver: hid-generic,snd-usb-audio,usbhid,uvcvideo type: USB rev: 3.1
speed: 5 Gb/s lanes: 1 mode: 3.2 gen-1x1 bus-ID: 4-3.2:3
chip-ID: 046d:085e class-ID: 0300 serial: <filter>
API: ALSA v: k6.6.2-zen1-1-zen status: kernel-api with: aoss
type: oss-emulator tools: N/A
Server-1: PipeWire v: 0.3.85 status: active with: 1: pipewire-pulse
status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
4: pw-jack type: plugin tools: pactl,pw-cat,pw-cli,wpctl
Network:
Device-1: Intel Wi-Fi 6 AX200 driver: iwlwifi v: kernel pcie: gen: 2
speed: 5 GT/s lanes: 1 bus-ID: 09:00.0 chip-ID: 8086:2723 class-ID: 0280
IF: wlp9s0 state: up mac: <filter>
Device-2: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
vendor: ASUSTeK PRIME B450M-A driver: r8169 v: kernel pcie: gen: 1
speed: 2.5 GT/s lanes: 1 port: f000 bus-ID: 0a:00.0 chip-ID: 10ec:8168
class-ID: 0200
IF: enp10s0 state: down mac: <filter>
Bluetooth:
Device-1: Intel AX200 Bluetooth driver: btusb v: 0.8 type: USB rev: 2.0
speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 1-5:7 chip-ID: 8087:0029
class-ID: e001
Report: btmgmt ID: hci0 rfk-id: 2 state: up address: <filter> bt-v: 5.2
lmp-v: 11 status: discoverable: no pairing: no class-ID: 7c0104
Drives:
Local Storage: total: 3.64 TiB used: 22.26 GiB (0.6%)
SMART Message: Unable to run smartctl. Root privileges required.
ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Western Digital
model: WD BLACK SN850X 4000GB size: 3.64 TiB block-size: physical: 512 B
logical: 512 B speed: 63.2 Gb/s lanes: 4 tech: SSD serial: <filter>
fw-rev: 624331WD temp: 48.9 C scheme: GPT
Partition:
ID-1: / raw-size: 3.64 TiB size: 3.64 TiB (100.00%) used: 22.26 GiB (0.6%)
fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
used: 576 KiB (0.2%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
ID-3: /home raw-size: 3.64 TiB size: 3.64 TiB (100.00%)
used: 22.26 GiB (0.6%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
ID-4: /var/log raw-size: 3.64 TiB size: 3.64 TiB (100.00%)
used: 22.26 GiB (0.6%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
ID-5: /var/tmp raw-size: 3.64 TiB size: 3.64 TiB (100.00%)
used: 22.26 GiB (0.6%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
Swap:
Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default) zswap: no
ID-1: swap-1 type: zram size: 31.26 GiB used: 0 KiB (0.0%) priority: 100
comp: zstd avail: lzo,lzo-rle,lz4,lz4hc,842 max-streams: 16 dev: /dev/zram0
Sensors:
System Temperatures: cpu: 39.4 C mobo: N/A
Fan Speeds (rpm): N/A
Info:
Processes: 343 Uptime: 9m wakeups: 0 Memory: total: 32 GiB
available: 31.26 GiB used: 4.02 GiB (12.9%) Init: systemd v: 254
default: graphical tool: systemctl Compilers: gcc: 13.2.1 Packages:
pm: pacman pkgs: 1799 libs: 529 tools: octopi,paru Shell: fish v: 3.6.1
running-in: konsole inxi: 3.3.31
Garuda (2.6.19-2):
System install date:     2023-11-23
Last full system update: 2023-11-23
Is partially upgraded:   No
Relevant software:       snapper NetworkManager dracut nvidia-dkms
Windows dual boot:       No/Undetected
Failed units:

Other feedback:

sudo dmesg | grep nvidia
[sudo] password for wayward:
[    2.783306] nvidia: loading out-of-tree module taints kernel.
[    2.783312] nvidia: module license 'NVIDIA' taints kernel.
[    2.783315] nvidia: module verification failed: signature and/or required key missing - tainting kernel
[    2.783316] nvidia: module license taints kernel.
[    3.146651] nvidia-nvlink: Nvlink Core is being initialized, major device number 235
[    3.147695] nvidia 0000:0b:00.0: vgaarb: VGA decodes changed: olddecodes=io+mem,decodes=none:owns=none
[    3.206999] nvidia_uvm: module uses symbols nvUvmInterfaceDisableAccessCntr from proprietary module nvidia,inheriting taint.
[    3.210082] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms  545.29.02  Thu Oct 26 20:52:21 UTC 2023
[    3.212210] [drm] [nvidia-drm] [GPU ID 0x00000b00] Loading driver
[    3.212212] [drm] Initialized nvidia-drm 0.0.0 20160202 for 0000:0b:00.0 on minor 1
[    3.296236] nvidia-uvm: Loaded the UVM driver, major device number 511.

Thanks in advance for any help, and sorry in advance if I missed something obvious… but im really struggling here.

You can use the kernel boot parameter nvidia-drm.modeset=1 with

sudo cp /etc/default/grub /etc/default/grub.bak && sudo sed '/^GRUB_CMDLINE_LINUX_DEFAULT=/s/"$/ nvidia-drm.modeset=1 "/g' -i /etc/default/grub && sudo update-grub

PS:
I’ve reformatted your post to be more readable.
```
terminal text like this
```

Appears like this

If you get used to it it’s quite easy (you can give a look editing with the pencil button), an much easier than correct it after :wink:

4 Likes

Hello! I tried the command you gave me, and it returned the following output:

wayward@wayward in ~ as 🧙 took 98ms
╰─λ sudo cp /etc/default/grub /etc/default/grub.bak && sudo sed '/^GRUB_CMDLINE_LINUX_DEFAULT=/s/"$/ nvidia-drm.modeset=1 "/g' -i /etc/default/grub && sudo update-grub```

'sudo cp /etc/default/grub /etc/default/grub.bak && sudo sed '/^GRUB_CMDLINE_LINUX_DEFAULT=/s/"$/ nvidia-drm.modeset=1 "/g' -i /etc/default/grub && sudo update-grub
Generating grub configuration file ...
Found theme: /usr/share/grub/themes/garuda-dr460nized/theme.txt
Found linux image: /boot/vmlinuz-linux-zen
Found initrd image: /boot/amd-ucode.img /boot/initramfs-linux-zen.img
Found fallback initrd image(s) in /boot:  amd-ucode.img initramfs-linux-zen-fallback.img
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
Adding boot menu entry for UEFI Firmware Settings ...
Detecting snapshots ...
Found snapshot: 2023-11-23 02:25:21 | @/.snapshots/12/snapshot | post | garuda-nvidia-prime-config garuda-video-linux-config intel-gmmlib intel- |
Found snapshot: 2023-11-23 02:25:20 | @/.snapshots/11/snapshot | pre  | pacman -S garuda-nvidia-prime-config  |
Found snapshot: 2023-11-23 02:14:07 | @/.snapshots/10/snapshot | post | nvidia-prime                          |
Found snapshot: 2023-11-23 02:14:07 | @/.snapshots/9/snapshot  | pre  | pacman -S extra/nvidia-prime          |
Found snapshot: 2023-11-23 02:12:06 | @/.snapshots/8/snapshot  | post | plymouth                              |
Found snapshot: 2023-11-23 02:12:05 | @/.snapshots/7/snapshot  | pre  | pacman -S --noconfirm plymouth        |
Found snapshot: 2023-11-23 02:07:00 | @/.snapshots/6/snapshot  | post | nvidia-dkms                           |
Found snapshot: 2023-11-23 02:05:58 | @/.snapshots/5/snapshot  | pre  | pacman -Syyu nvidia-dkms              |
Found snapshot: 2023-11-23 01:46:45 | @/.snapshots/4/snapshot  | post | alsa-card-profiles amd-ucode android-tools android-udev aom appstream ap |
Found snapshot: 2023-11-23 01:44:03 | @/.snapshots/3/snapshot  | pre  | pacman -Su --ignore jre-openjdk-headless grub                            |
Found 10 snapshot(s)
Unmount /tmp/grub-btrfs.tFV5nnk7S9 .. Success
Found memtest86+ image: /boot/memtest86+/memtest.bin
/usr/bin/grub-probe: warning: unknown device type nvme0n1.
done

When I restart the computer and try nvidia-smi or glxinfo | grep “OpenGL renderer”
I am still seeing the GPU at idle and: OpenGL renderer string: llvmpipe (LLVM 16.0.6, 256 bits)

Thank you for the helpful reply! I tried to modify it the second time by changing the path to grub with the path to grub-btrfs to see if that would help, but it simply caused an error.

PS thank you also for teaching me the formatting

I’m afraid you’ll need an Nvidia user here… :slight_smile:
My post was only aimed to set the kernel boot parameter correctly in /etc/default/grub instead of /etc/default/grub-btrfs/config as in the first post.
There must be clearly something else to be adjusted…

2 Likes

Well thank you for setting me on the right course with grub; I will hold my breath for someone else with some knowledge of this, and update my post if I find an answer in the meantime

1 Like

The driver needs that to function, even if you don’t use any Xwayland apps, the driver revolves around messing with x11 to work.

it’s a shame you can’t try wayland on kde, the proprietary driver has been playing nicely on my machine, i think your problem sits between wayland and the driver, your best choice is to wait.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.