NVIDIA - Wayland and vk-hdr-layers

Hello! I’ve been trying to get nvidia, wayland and HDR to play well, it’s not been successful so far though.

when trying to activate HDR on CP2027 The colors were either too washed out, or absolutely dark. on the desktop, when activating hdr, the colors do seem a little washed out too, but I think that’s because sdr compresses colors? Never used it before so I can’t tell.

This article states (from what I understand) that nvidia users need to install vk-hdr-layers-git in order to use HDR, so I tried that, however I couldn’t get past SDDM after the reboot. So I’m trying to figure out what can be the cause.

I’ve ruled out cable and monitor, before you ask, I’m using a displayPort cable, had to lower the refresh rate of the monitor in order to set HDR to on, so I assume more data is being sent, otherwise the display just resets to no-hdr.

just so we’re sure it’s not a dumb mistake on my part, I’ll paste an image of what the monitor configuration looks like from kde’s standpoint:

I’ve now reverted to the snapshot prior to installing vk-hdr, so there’s no urgency with this issue, just curiosity.

garuda-inxi:

System:
Kernel: 6.15.9-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 15.1.1
clocksource: tsc avail: hpet,acpi_pm
parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
root=UUID=9a5d2ff6-aac6-44da-bdad-b83a4b541903 rw rootflags=subvol=@
quiet loglevel=3 splash ibt=off
Desktop: KDE Plasma v: 6.4.4 tk: Qt v: N/A info: frameworks v: 6.16.0
wm: kwin_wayland tools: avail: hypridle,hyprlock vt: 1 dm: SDDM
Distro: Garuda base: Arch Linux
Machine:
Type: Desktop System: ASUS product: N/A v: N/A serial: <superuser required>
Mobo: ASUSTeK model: TUF GAMING X870-PLUS WIFI v: Rev 1.xx
serial: <superuser required> part-nu: SKU uuid: <superuser required>
UEFI: American Megatrends v: 0237 date: 07/22/2024
CPU:
Info: model: AMD Ryzen 9 7950X bits: 64 type: MT MCP arch: Zen 4 gen: 4
level: v4 note: check built: 2022+ process: TSMC n5 (5nm) family: 0x19 (25)
model-id: 0x61 (97) stepping: 2 microcode: 0xA601206
Topology: cpus: 1x dies: 2 clusters: 2x1 cores: 16 threads: 32 tpc: 2
smt: enabled cache: L1: 1024 KiB desc: d-16x32 KiB; i-16x32 KiB L2: 16 MiB
desc: 16x1024 KiB L3: 64 MiB desc: 2x32 MiB
Speed (MHz): avg: 3012 min/max: 425/5883 boost: enabled scaling:
driver: amd-pstate-epp governor: powersave cores: 1: 3012 2: 3012 3: 3012
4: 3012 5: 3012 6: 3012 7: 3012 8: 3012 9: 3012 10: 3012 11: 3012 12: 3012
13: 3012 14: 3012 15: 3012 16: 3012 17: 3012 18: 3012 19: 3012 20: 3012
21: 3012 22: 3012 23: 3012 24: 3012 25: 3012 26: 3012 27: 3012 28: 3012
29: 3012 30: 3012 31: 3012 32: 3012 bogomips: 287443
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 3090] vendor: Gigabyte driver: nvidia
v: 575.64.05 alternate: nouveau,nvidia_drm non-free: 550-570.xx+
status: current (as of 2025-04; EOL~2026-12-xx) arch: Ampere code: GAxxx
process: TSMC n7 (7nm) built: 2020-2023 pcie: gen: 4 speed: 16 GT/s
lanes: 16 ports: active: none off: DP-4 empty: DP-3, DP-5, HDMI-A-2,
HDMI-A-3 bus-ID: 01:00.0 chip-ID: 10de:2204 class-ID: 0300
Device-2: Advanced Micro Devices [AMD/ATI] Raphael vendor: ASUSTeK
driver: amdgpu v: kernel arch: RDNA-2 code: Navi-2x process: TSMC n7 (7nm)
built: 2020-22 pcie: gen: 4 speed: 16 GT/s lanes: 16 ports:
active: HDMI-A-1 empty: DP-1,DP-2,Writeback-1 bus-ID: 73:00.0
chip-ID: 1002:164e class-ID: 0300 temp: 51.0 C
Display: wayland server: X.org v: 1.21.1.18 with: Xwayland v: 24.1.8
compositor: kwin_wayland driver: X: loaded: amdgpu,nvidia
unloaded: modesetting,nouveau alternate: fbdev,nv,vesa dri: radeonsi
gpu: amdgpu,nvidia,nvidia-nvswitch d-rect: 4480x1440 display-ID: 0
Monitor-1: DP-4 pos: right model: ViewSonic VX3218C-QHD serial: <filter>
built: 2024 res: mode: 2560x1440 hz: 120 scale: 100% (1) dpi: 93 gamma: 1.2
size: 697x392mm (27.44x15.43") diag: 800mm (31.5") ratio: 16:9 modes:
max: 2560x1440 min: 640x480
Monitor-2: HDMI-A-1 pos: primary,left model: Samsung C27F390
serial: <filter> built: 2015 res: mode: 1920x1080 hz: 72 scale: 100% (1)
dpi: 82 gamma: 1.2 size: 598x336mm (23.54x13.23") diag: 686mm (27")
ratio: 16:9 modes: max: 1920x1080 min: 720x400
API: EGL v: 1.5 hw: drv: nvidia drv: amd radeonsi platforms: device: 0
drv: nvidia device: 1 drv: radeonsi device: 3 drv: swrast gbm:
drv: kms_swrast surfaceless: drv: nvidia wayland: drv: nvidia x11:
drv: nvidia inactive: device-2
API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: nvidia mesa v: 575.64.05
glx-v: 1.4 direct-render: yes renderer: NVIDIA GeForce RTX 3090/PCIe/SSE2
memory: 23.44 GiB display-ID: :1.0
API: Vulkan v: 1.4.321 layers: 17 device: 0 type: discrete-gpu
name: NVIDIA GeForce RTX 3090 driver: nvidia v: 575.64.05
device-ID: 10de:2204 surfaces: N/A device: 1 type: integrated-gpu name: AMD
Radeon Graphics (RADV RAPHAEL_MENDOCINO) driver: mesa radv
v: 25.1.7-arch1.1 device-ID: 1002:164e surfaces: N/A device: 2 type: cpu
name: llvmpipe (LLVM 20.1.8 256 bits) driver: mesa llvmpipe
v: 25.1.7-arch1.1 (LLVM 20.1.8) device-ID: 10005:0000 surfaces: N/A
Info: Tools: api: clinfo, eglinfo, glxinfo, vulkaninfo
de: kscreen-console,kscreen-doctor gpu: corectrl, nvidia-settings,
nvidia-smi wl: wayland-info x11: xdpyinfo, xprop, xrandr
Audio:
Device-1: NVIDIA GA102 High Definition Audio vendor: Gigabyte
driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s lanes: 16
bus-ID: 01:00.1 chip-ID: 10de:1aef class-ID: 0403
Device-2: Advanced Micro Devices [AMD/ATI] Radeon High Definition Audio
[Rembrandt/Strix] vendor: ASUSTeK driver: snd_hda_intel v: kernel pcie:
gen: 4 speed: 16 GT/s lanes: 16 bus-ID: 73:00.1 chip-ID: 1002:1640
class-ID: 0403
Device-3: Advanced Micro Devices [AMD] Family 17h/19h/1ah HD Audio
vendor: ASUSTeK driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s
lanes: 16 bus-ID: 73:00.6 chip-ID: 1022:15e3 class-ID: 0403
API: ALSA v: k6.15.9-zen1-1-zen status: kernel-api with: aoss
type: oss-emulator tools: N/A
Server-1: PipeWire v: 1.4.7 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: Realtek RTL8125 2.5GbE vendor: ASUSTeK driver: r8169 v: kernel
pcie: gen: 2 speed: 5 GT/s lanes: 1 port: e000 bus-ID: 06:00.0
chip-ID: 10ec:8125 class-ID: 0200
IF: eno1 state: up speed: 1000 Mbps duplex: full mac: <filter>
Device-2: MEDIATEK vendor: AzureWave driver: mt7925e v: kernel pcie:
gen: 2 speed: 5 GT/s lanes: 1 port: N/A bus-ID: 07:00.0 chip-ID: 14c3:7925
class-ID: 0280
IF: wlp7s0 state: down mac: <filter>
IF-ID-1: virbr0 state: down mac: <filter>
Info: services: NetworkManager, smbd, systemd-timesyncd
Bluetooth:
Device-1: IMC Networks Wireless_Device driver: btusb v: 0.8 type: USB
rev: 2.1 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 1-11:5
chip-ID: 13d3:3602 class-ID: e001 serial: <filter>
Report: btmgmt ID: hci0 rfk-id: 0 state: up address: N/A
Drives:
Local Storage: total: 4.51 TiB used: 1.42 TiB (31.4%)
SMART Message: Unable to run smartctl. Root privileges required.
ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Smart Modular Tech.
model: SHPP41-2000GM size: 1.82 TiB block-size: physical: 512 B
logical: 512 B speed: 63.2 Gb/s lanes: 4 tech: SSD serial: <filter>
fw-rev: 51060A20 temp: 55.9 C scheme: GPT
ID-2: /dev/nvme1n1 maj-min: 259:2 vendor: Smart Modular Tech.
model: SHPP41-2000GM size: 1.82 TiB block-size: physical: 512 B
logical: 512 B speed: 63.2 Gb/s lanes: 4 tech: SSD serial: <filter>
fw-rev: 51060A20 temp: 49.9 C scheme: GPT
ID-3: /dev/sda maj-min: 8:0 vendor: Kingston model: SA400S37480G
size: 447.13 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
tech: SSD serial: <filter> fw-rev: J4.3 scheme: GPT
ID-4: /dev/sdb maj-min: 8:16 vendor: Kingston model: SA400S37480G
size: 447.13 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
tech: SSD serial: <filter> fw-rev: 66B5 scheme: GPT
Partition:
ID-1: / raw-size: 446.83 GiB size: 446.83 GiB (100.00%)
used: 253.32 GiB (56.7%) fs: btrfs dev: /dev/sdb2 maj-min: 8:18
ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
used: 620 KiB (0.2%) fs: vfat dev: /dev/sdb1 maj-min: 8:17
ID-3: /home raw-size: 446.83 GiB size: 446.83 GiB (100.00%)
used: 253.32 GiB (56.7%) fs: btrfs dev: /dev/sdb2 maj-min: 8:18
ID-4: /var/log raw-size: 446.83 GiB size: 446.83 GiB (100.00%)
used: 253.32 GiB (56.7%) fs: btrfs dev: /dev/sdb2 maj-min: 8:18
ID-5: /var/tmp raw-size: 446.83 GiB size: 446.83 GiB (100.00%)
used: 253.32 GiB (56.7%) fs: btrfs dev: /dev/sdb2 maj-min: 8:18
Swap:
Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default) zswap: no
ID-1: swap-1 type: zram size: 61.92 GiB used: 0 KiB (0.0%) priority: 100
comp: zstd avail: lzo-rle,lzo,lz4,lz4hc,deflate,842 dev: /dev/zram0
Sensors:
System Temperatures: cpu: 71.0 C mobo: N/A gpu: amdgpu temp: 52.0 C
Fan Speeds (rpm): N/A
Info:
Memory: total: 64 GiB available: 61.92 GiB used: 7.76 GiB (12.5%)
Processes: 664 Power: uptime: 4m states: freeze,mem,disk suspend: deep
avail: s2idle wakeups: 0 hibernate: platform avail: shutdown, reboot,
suspend, test_resume image: 24.68 GiB services: org_kde_powerdevil,
power-profiles-daemon, upowerd Init: systemd v: 257 default: graphical
tool: systemctl
Packages: 2895 pm: pacman pkgs: 2871 libs: 617 tools: gnome-software,
octopi, pacseek, paru, yay pm: flatpak pkgs: 24 Compilers: clang: 20.1.8
gcc: 15.1.1 alt: 14 Shell: Bash v: 5.3.3 default: fish v: 4.0.2
running-in: konsole inxi: 3.3.38
Garuda (2.7.4-1):
System install date:     2024-03-15
Last full system update: 2025-08-06
Is partially upgraded:   No
Relevant software:       snapper NetworkManager dracut
Windows dual boot:       Probably (Run as root to verify)
Failed units:

Hello i dont have HDR but you can take a look here

Hello!

I’ve already tried messing with the settings in KDE, the washed out colors part is what I’m not understanding if it’s a bug or not.

My system has: 2 screens, an Nvidia graphics card and an iGPU, the trifecta of bad things for linux.

Having my system crash after installing vk-hdr-layer-git is also strange.

Thanks for recommending the article though.

NVIDIA can be bit stupid on HDR, but still should work.

There is as well a another thing that can cause you the problem. That can happen if you have dual monitor setup. I would advice to disconnect one of those monitor e.g that one that is not used for HDR. And try to run HDR as is mentioned in the article.

If that’s not helping, try to change the

  • RGB range
  • Color accuracy - this needs to be on efficiency
  • Limit color resolution

A bug in NVIDIA before 565.57.01 will cause colors to appear washed out in HDR. [1]

Prior to version 25, vk-hdr-layer-kwin6-gitAUR is required for the VK_EXT_swapchain_colorspace and VK_EXT_hdr_metadata vulkan extensions [2] [3]. Without them, HDR will not work using the Vulkan API.

Enable the Vulkan Wayland HDR WSI layer by setting ENABLE_HDR_WSI=1. It is not recommended to enable this globally, instead enable it on each game and application you wish to use with HDR.

3 Likes

Oh and, tuned your panel using the KDE HDR tuning menu as mentioned in the article.

1 Like

Okay, so I see what could be the problem then

I DO have 2 monitors, and one is connected to an iGPU, which could be the problem.

The way that article is redacted in the arch article seemed as it was “NVIDIA in general” THEN “mesa prior to 25”. That’s why installing vk-hdr broke things!

My NVIDIA version is 575.64.05, that shouldn’t be the problem, however I will try w/o one monitor… hope I can fix this without disconnecting the moitor as I need it for work though

You should be able to disable the monitor in DE, directly in settings. No need to disconnect the cable.

Once disabled try to run a game in HDR as is mentioned in the article.

Hello! sorry for the time without answers.

Tried disabling the monitor (plugged to the iGPU) but it still didn’t work, couldn’t try with unplugging as the cables are a mess for now

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