Sunshine icon indicating copy to clipboard operation
Sunshine copied to clipboard

HDR Streaming Very Dark After Plasma 6.2 Update

Open JustPlainGarak opened this issue 1 year ago • 34 comments

Is there an existing issue for this?

  • [X] I have searched the existing issues

Is your issue described in the documentation?

  • [X] I have read the documentation

Is your issue present in the latest beta/pre-release?

This issue is present in the latest pre-release

Describe the Bug

HDR streaming to HDR clients now produces an extremely dark image on the client that is not really usable after the recent Plasma 6.2 update that has come to Fedora over the past few days. darkened-hdr

Expected Behavior

A normal HDR picture without black crush present.

Additional Context

I'm able to at least work around the issue by not streaming in HDR, so it's not showstopping. I have tested this on a Sep 30th build and the most recent lizardbyte/beta copr build that doesn't segfault (the version listed below).

Host Operating System

Linux

Operating System Version

Fedora Linux 40 (KDE Plasma)

Architecture

amd64/x86_64

Sunshine commit or version

2024.1006.230920-1

Package

Linux - Fedora Copr

GPU Type

AMD

GPU Model

AMD Radeon RX 7900 XTX

GPU Driver/Mesa Version

Mesa 24.1.7

Capture Method

KMX (Linux)

Config

wan_encryption_mode = 2
lan_encryption_mode = 2
key_rightalt_to_key_win = enabled
origin_pin_allowed = lan
resolutions = [
    1280x720,
    1920x1080,
    2560x1440
]
fps = [30,60,90,120,240]
sunshine_name = EmpokNor
channels = 2
#audio_sink = alsa_output.usb-M-Audio_AIR_192_4-00.analog-stereo
#output_name = 2

Apps

No response

Relevant log output

[2024-10-12 21:55:52.411]: Info: Found H.264 encoder: h264_vaapi [vaapi]
[2024-10-12 21:55:52.411]: Info: Found HEVC encoder: hevc_vaapi [vaapi]
[2024-10-12 21:55:52.411]: Info: Found AV1 encoder: av1_vaapi [vaapi]
[2024-10-12 21:55:52.411]: Info: Executing [Desktop]
[2024-10-12 21:55:52.543]: Info: Video encryption enabled
[2024-10-12 21:55:52.573]: Info: CLIENT CONNECTED
[2024-10-12 21:55:52.575]: Info: /dev/dri/card0 -> amdgpu
[2024-10-12 21:55:52.576]: Info: Found display [wayland-0]
[2024-10-12 21:55:52.576]: Info: Found interface: zxdg_output_manager_v1(31) version 3
[2024-10-12 21:55:52.576]: Info: Found interface: wl_output(65) version 4
[2024-10-12 21:55:52.576]: Info: Resolution: 2560x1440
[2024-10-12 21:55:52.576]: Info: Offset: 0x0
[2024-10-12 21:55:52.576]: Info: Logical size: 2560x1440
[2024-10-12 21:55:52.576]: Info: Name: DP-1
[2024-10-12 21:55:52.576]: Info: Found monitor: Samsung Electric Company LC32G7xT/H4ZN801004
[2024-10-12 21:55:52.576]: Info: -------- Start of KMS monitor list --------
[2024-10-12 21:55:52.576]: Info: Monitor 0 is DP-1: Samsung Electric Company LC32G7xT/H4ZN801004
[2024-10-12 21:55:52.576]: Info: --------- End of KMS monitor list ---------
[2024-10-12 21:55:52.576]: Info: Screencasting with KMS
[2024-10-12 21:55:52.576]: Info: /dev/dri/card0 -> amdgpu
[2024-10-12 21:55:52.577]: Info: Found monitor for DRM screencasting
[2024-10-12 21:55:52.577]: Info: Found connector ID [107]
[2024-10-12 21:55:52.577]: Info: Found cursor plane [90]
[2024-10-12 21:55:52.585]: Info: Creating encoder [av1_vaapi]
[2024-10-12 21:55:52.585]: Info: Color coding: HDR (Rec. 2020 + SMPTE 2084 PQ)
[2024-10-12 21:55:52.585]: Info: Color depth: 10-bit
[2024-10-12 21:55:52.585]: Info: Color range: JPEG
[2024-10-12 21:55:52.608]: Info: vaapi vendor: Mesa Gallium driver 24.1.7 for AMD Radeon RX 7900 XTX (radeonsi, navi31, LLVM 18.1.6, DRM 3.59, 6.11.3-cb1.0.fc40.x86_64)
[2024-10-12 21:55:52.609]: Error: [av1_vaapi @ 0x7f75b023e480] No usable encoding entrypoint found for profile VAProfileAV1Profile0 (32).
[2024-10-12 21:55:52.609]: Info: Retrying with fallback configuration options for [av1_vaapi] after error: Function not implemented
[2024-10-12 21:55:52.613]: Info: vaapi vendor: Mesa Gallium driver 24.1.7 for AMD Radeon RX 7900 XTX (radeonsi, navi31, LLVM 18.1.6, DRM 3.59, 6.11.3-cb1.0.fc40.x86_64)
[2024-10-12 21:55:52.614]: Warning: [av1_vaapi @ 0x7f75b0295080] Multiple slices were requested but this codec does not support controlling slices.
[2024-10-12 21:55:52.748]: Info: Gamepad 0 will be Xbox One controller (default)
[2024-10-12 21:55:53.032]: Info: Setting default sink to: [sink-sunshine-stereo]
[2024-10-12 21:55:53.032]: Info: Found default monitor by name: sink-sunshine-stereo.monitor
[2024-10-12 21:55:53.055]: Info: Opus initialized: 48 kHz, 2 channels, 512 kbps (total), LOWDELAY
[2024-10-12 21:57:22.482]: Info: CLIENT DISCONNECTED
[2024-10-12 21:57:22.483]: Info: Setting default sink to: [alsa_output.usb-M-Audio_AIR_192_4-00.analog-stereo]

JustPlainGarak avatar Oct 13 '24 03:10 JustPlainGarak

I have the same experience, but I my first guess would be that it's something on KWin side. Maybe issues such as these are related https://bugs.kde.org/show_bug.cgi?id=494502

In my case, host looks OK (but M28U is not the best display) but guest is just wrong (tested Moonlight on Android TV and Steam Deck).

slagiewka avatar Oct 13 '24 13:10 slagiewka

I have the same experience, but I my first guess would be that it's something on KWin side. Maybe issues such as these are related https://bugs.kde.org/show_bug.cgi?id=494502

In my case, host looks OK (but M28U is not the best display) but guest is just wrong (tested Moonlight on Android TV and Steam Deck).

I figured it was a change on KWin, but maybe not a bug, but "max nits 100000" seems like a bug lol. I will try setting a max nits with kscreen and see if that at least works around it, otherwise, yeah, this def looks like a KWin bug that KDE needs to fix.

JustPlainGarak avatar Oct 13 '24 17:10 JustPlainGarak

I experienced this and thought it was me. As a workaround turning off HDR on moonlight returns things to normal it seems, but I'd really like to have it on!

joeknock90 avatar Oct 13 '24 18:10 joeknock90

I played around with brightness ranges for kscreen-doctor a bit but that didn't do anything useful to the streamed image. I took a debug log which appears to simply pull the provided HDR gamut info from kwin and start, as it did before. I'm gonna sit on the log for the night (cause I don't feel like making a new account at 11:10 PM lol) and add probably add to that KDE bug report that @slagiewka linked in the morning. Can't hurt for them to have more information on the issue.

JustPlainGarak avatar Oct 14 '24 04:10 JustPlainGarak

I've checked back on that KDE bug report and it looks to me that its less a KDE bug than a normal change that reveals a bug in applications communicating metadata to Kwin.

Plasma 6.1 ignored HDR metadata whereas Plasma 6.2 does not and their findings appear to show that applications were passing way out of whack HDR metadata to Kwin (10 million peak brightness, for example) causing the resulting image to come out exceptionally dark. The KDE devs have added a check for "obviously wrong HDR metadata" that should fix the issue in 6.2.1, so I'm hopeful that HDR streaming on Linux will be back to normal once that commit hits Fedora 40.

Given that information, is it possible that Sunshine is doing the same thing when it runs the screen capture with KMS? KDE seems to have a fix of sorts going in, but it does seem that the true root cause of the issue is that applications are communicating extremely wrong metadata to Kwin.

JustPlainGarak avatar Oct 15 '24 21:10 JustPlainGarak

The KDE devs have added a check for "obviously wrong HDR metadata" that should fix the issue in 6.2.1

That didn't make the cut for 6.2.1. image

It should be in 6.2.2. It will be released on October 22nd.

slagiewka avatar Oct 16 '24 05:10 slagiewka

Closing this as there it seems there is nothing do on Sunshine side of things. If 6.2.2 doesn't resolve it, please let me know and I will re-open this.

ReenigneArcher avatar Oct 16 '24 12:10 ReenigneArcher

It seems 6.2.2 didn't fix the issue, I still get a very dark and saturated image on latest kwin when streaming to my Steam Deck or Tablet with HDR, downgraded to kwin 6.1.5 as a workaround. 6.1.99 has the same issue as 6.2.2

BlazeKl avatar Oct 23 '24 18:10 BlazeKl

It seems 6.2.2 didn't fix the issue, I still get a very dark and saturated image on latest kwin when streaming to my Steam Deck or Tablet with HDR, downgraded to kwin 6.1.5 as a workaround. 6.1.99 has the same issue as 6.2.2

What OS are you running where you have 6.2.2 already? I'm on Fedora 41 (now) and I'm still on 6.2.1 and don't expect to see 6.2.2 until at least Sunday.

JustPlainGarak avatar Oct 23 '24 19:10 JustPlainGarak

It seems 6.2.2 didn't fix the issue, I still get a very dark and saturated image on latest kwin when streaming to my Steam Deck or Tablet with HDR, downgraded to kwin 6.1.5 as a workaround. 6.1.99 has the same issue as 6.2.2

What OS are you running where you have 6.2.2 already? I'm on Fedora 41 (now) and I'm still on 6.2.1 and don't expect to see 6.2.2 until at least Sunday.

Running Arch, plasma was updated today to 6.2.2 https://archlinux.org/packages/extra/x86_64/kwin/

BlazeKl avatar Oct 23 '24 20:10 BlazeKl

KDE will not fix it:

Question: is there any report yet?

No, and I will close all bug reports in [bugs.kde.org](http://bugs.kde.org/) about anything using kmsgrab breaking
It's not something we can support, and it is expected to break worse in the future

slagiewka avatar Oct 24 '24 06:10 slagiewka

I've re-opened this, and opened a dedicated issue about migrating the capture protocol. https://github.com/LizardByte/Sunshine/issues/3327

ReenigneArcher avatar Oct 24 '24 12:10 ReenigneArcher

I unfortunately have no coding skills, but I am a veteran sysadmin with a penchant for tinkering and testing so feel 100% free to tag me in any testing efforts required for the new capture protocol in either issue.

JustPlainGarak avatar Oct 24 '24 14:10 JustPlainGarak

I unfortunately have no coding skills, but I am a veteran sysadmin with a penchant for tinkering and testing so feel 100% free to tag me in any testing efforts required for the new capture protocol in either issue.

Oh, I suppose coding is not a really hard skill. Commanding machines to work for you is really fun! Just take a little time to try it!

Kane-Kuroneko avatar Oct 29 '24 14:10 Kane-Kuroneko

I have the same issue in my software, gpu screen recorder. I didn't find a proper solution for it yet, but applying gamma correction (1.8) seems to fix it. Need a proper fix though.

dec05eba avatar Oct 29 '24 21:10 dec05eba

I have the same issue in my software, gpu screen recorder. I didn't find a proper solution for it yet, but applying gamma correction (1.8) seems to fix it. Need a proper fix though.

If the application you're using is also using kmsgrab (as Sunshine is) then the solution is going to have to be to switch to an interface that Wayland/KDE will support going forward. I believe the two main candidates are the pipewire portal (which I believe doesn't support HDR capture in Kwin yet) or the new Wayland screencopy portal (though I think merging of this feature is limited to wlroots for the moment).

JustPlainGarak avatar Oct 30 '24 00:10 JustPlainGarak

Hello do we still need to stay on KDE <= 6.2 for HDR streaming to work?

DistantThunder avatar Dec 14 '24 14:12 DistantThunder

I have the same issue in my software, gpu screen recorder. I didn't find a proper solution for it yet, but applying gamma correction (1.8) seems to fix it. Need a proper fix though.

Since migrating away from kmsgrab is probably a long time away, could we have this option as a workaround in the meantime?

Reonu avatar Dec 17 '24 18:12 Reonu

Can someone verify that I'm not doing something wrong, but I THINK HDR may be working with kmsgrab again on Plasma 6.3

joeknock90 avatar Feb 15 '25 15:02 joeknock90

@joeknock90 It does indeed work now, if you have "Maximum SDR brightness" in display settings set to 203 nits, which means 100% HDR brightness (weird design by kde, but ok: https://bugs.kde.org/show_bug.cgi?id=499934#c2)

dec05eba avatar Feb 15 '25 15:02 dec05eba

@dec05eba @joeknock90 I had it for one day and then the next it was back to oversaturated and dark. It's as Zamundaaa said, kmsgrab is deprecated and will not be supported in Plasma, so we should not and cannot expect any consistent return to HDR streaming working with kmsgrab.

JustPlainGarak avatar Feb 19 '25 16:02 JustPlainGarak

Seems like it works as long as you set kde plasma settings color accuracy to "Prefer color accuracy" and "Maximum SDR brightness" to 203. Yes it's not a good solution, but it's better than nothing for those that want to use hdr.

dec05eba avatar Feb 20 '25 01:02 dec05eba

@JustPlainGarak I was in no way advocating for not migrating from KMS grab, just happy that, until there's some progress on an alternative like #2507, I can play my games in HDR on the couch. Which is nice.

joeknock90 avatar Feb 22 '25 16:02 joeknock90

Just to avoid people looking for hours:

kscreen-doctor output.HDMI-A-1.colorPowerTradeoff.preferAccuracy output.HDMI-A-1.sdr-brightness.203

The color accuracy setting is particularly elusive (doc is code basically).

DistantThunder avatar Mar 15 '25 14:03 DistantThunder

It seems this issue hasn't had any activity in the past 90 days. If it's still something you'd like addressed, please let us know by leaving a comment. Otherwise, to help keep our backlog tidy, we'll be closing this issue in 10 days. Thanks!

LizardByte-bot avatar Jun 14 '25 10:06 LizardByte-bot

Still encountering this issue @LizardByte-bot. My system info and sunshine logs if that helps:

System Info
Operating System: NixOS 25.05
KDE Plasma Version: 6.3.5
KDE Frameworks Version: 6.14.0
Qt Version: 6.9.0
Kernel Version: 6.12.33 (64-bit)
Graphics Platform: Wayland
Processors: 32 × Intel® Core™ i9-14900K
Memory: 188.4 GiB of RAM
Graphics Processor: NVIDIA GeForce RTX 4090
Manufacturer: ASUS
$ sunshine --version
[encoder] -- [nvenc]
[2025-06-19 18:49:15.228]: Info: Sunshine version: 2025.122.141614
[2025-06-19 18:49:15.228]: Info: Package Publisher: nixpkgs
[2025-06-19 18:49:15.228]: Info: Publisher Website: https://nixos.org
[2025-06-19 18:49:15.228]: Info: Get support: https://github.com/NixOS/nixpkgs/issues
$ nvidia-smi 
Thu Jun 19 18:52:30 2025       
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 570.153.02             Driver Version: 570.153.02     CUDA Version: 12.8     |
|-----------------------------------------+------------------------+----------------------+
| 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 4090        Off |   00000000:01:00.0  On |                  Off |
|  0%   43C    P2             67W /  500W |    2445MiB /  24564MiB |      5%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
                                                                                         
+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
...
|    0   N/A  N/A            3057    C+G   ...-2025.122.141614/bin/sunshine        754MiB |

$ uname -a
Linux box 6.12.33 #1-NixOS SMP PREEMPT_DYNAMIC Tue Jun 10 11:13:00 UTC 2025 x86_64 GNU/Linux
Sunshine Logs

Startup log for Sunshine:

[2025-06-19 18:57:13.369]: Info: Sunshine version: 2025.122.141614
[2025-06-19 18:57:13.369]: Info: Package Publisher: nixpkgs
[2025-06-19 18:57:13.369]: Info: Publisher Website: https://nixos.org
[2025-06-19 18:57:13.369]: Info: Get support: https://github.com/NixOS/nixpkgs/issues
[2025-06-19 18:57:13.392]: Info: System tray created
[2025-06-19 18:57:13.443]: Error: Failed to create session: Version mismatch between NvFBC and the X driver interface
[2025-06-19 18:57:13.443]: Info: Found display [wayland-0]
[2025-06-19 18:57:13.443]: Info: Found interface: zxdg_output_manager_v1(31) version 3
[2025-06-19 18:57:13.443]: Info: Found interface: wl_output(60) version 4
[2025-06-19 18:57:13.443]: Warning: Missing Wayland wire for wlr-export-dmabuf
[2025-06-19 18:57:13.443]: Info: /dev/dri/card1 -> nvidia-drm
[2025-06-19 18:57:13.443]: Info: Found display [wayland-0]
[2025-06-19 18:57:13.443]: Info: Found display [wayland-0]
[2025-06-19 18:57:13.443]: Info: Found interface: zxdg_output_manager_v1(31) version 3
[2025-06-19 18:57:13.443]: Info: Found interface: wl_output(60) version 4
[2025-06-19 18:57:13.443]: Info: Resolution: 3840x2160
[2025-06-19 18:57:13.443]: Info: Offset: 0x0
[2025-06-19 18:57:13.443]: Info: Logical size: 3840x2160
[2025-06-19 18:57:13.443]: Info: Name: HDMI-A-2
[2025-06-19 18:57:13.443]: Info: Found monitor: GSM LG TV SSCR2
[2025-06-19 18:57:13.443]: Info: -------- Start of KMS monitor list --------
[2025-06-19 18:57:13.443]: Info: Monitor 0 is HDMI-A-2: GSM LG TV SSCR2
[2025-06-19 18:57:13.443]: Info: --------- End of KMS monitor list ---------
[2025-06-19 18:57:13.464]: Warning: Gamepad ds5 is disabled due to Permission denied
[2025-06-19 18:57:13.464]: Info: Trying encoder [nvenc]
[2025-06-19 18:57:13.464]: Info: Screencasting with KMS
[2025-06-19 18:57:13.464]: Info: /dev/dri/card1 -> nvidia-drm
[2025-06-19 18:57:13.464]: Info: Found monitor for DRM screencasting
[2025-06-19 18:57:13.464]: Info: Found connector ID [110]
[2025-06-19 18:57:13.464]: Info: Found cursor plane [66]
[2025-06-19 18:57:13.464]: Info: Creating encoder [h264_nvenc]
[2025-06-19 18:57:13.464]: Info: Color coding: SDR (Rec. 601)
[2025-06-19 18:57:13.464]: Info: Color depth: 8-bit
[2025-06-19 18:57:13.464]: Info: Color range: JPEG
[2025-06-19 18:57:13.847]: Info: Creating encoder [hevc_nvenc]
[2025-06-19 18:57:13.847]: Info: Color coding: SDR (Rec. 601)
[2025-06-19 18:57:13.847]: Info: Color depth: 8-bit
[2025-06-19 18:57:13.847]: Info: Color range: JPEG
[2025-06-19 18:57:14.115]: Info: Creating encoder [av1_nvenc]
[2025-06-19 18:57:14.116]: Info: Color coding: SDR (Rec. 601)
[2025-06-19 18:57:14.116]: Info: Color depth: 8-bit
[2025-06-19 18:57:14.116]: Info: Color range: JPEG
[2025-06-19 18:57:14.384]: Info: Screencasting with KMS
[2025-06-19 18:57:14.385]: Info: /dev/dri/card1 -> nvidia-drm
[2025-06-19 18:57:14.385]: Info: Found monitor for DRM screencasting
[2025-06-19 18:57:14.385]: Info: Found connector ID [110]
[2025-06-19 18:57:14.385]: Info: Found cursor plane [66]
[2025-06-19 18:57:14.385]: Info: Creating encoder [hevc_nvenc]
[2025-06-19 18:57:14.385]: Info: Color coding: HDR (Rec. 2020 + SMPTE 2084 PQ)
[2025-06-19 18:57:14.385]: Info: Color depth: 10-bit
[2025-06-19 18:57:14.385]: Info: Color range: JPEG
[2025-06-19 18:57:14.654]: Info: Creating encoder [av1_nvenc]
[2025-06-19 18:57:14.654]: Info: Color coding: HDR (Rec. 2020 + SMPTE 2084 PQ)
[2025-06-19 18:57:14.654]: Info: Color depth: 10-bit
[2025-06-19 18:57:14.654]: Info: Color range: JPEG
[2025-06-19 18:57:14.921]: Info: // Testing for available encoders, this may generate errors. You can safely ignore those errors. //
[2025-06-19 18:57:14.921]: Info: 
[2025-06-19 18:57:14.921]: Info: // Ignore any errors mentioned above, they are not relevant. //
[2025-06-19 18:57:14.921]: Info: 
[2025-06-19 18:57:14.921]: Info: Found H.264 encoder: h264_nvenc [nvenc]
[2025-06-19 18:57:14.921]: Info: Found HEVC encoder: hevc_nvenc [nvenc]
[2025-06-19 18:57:14.921]: Info: Found AV1 encoder: av1_nvenc [nvenc]
[2025-06-19 18:57:14.922]: Info: Configuration UI available at [https://localhost:47990]
[2025-06-19 18:57:14.923]: Info: Adding avahi service box
[2025-06-19 18:57:15.780]: Info: Avahi service box successfully established.

Connection log using Moonlight v12.1 on Android

[2025-06-19 18:58:04.480]: Info: Trying encoder [nvenc]
[2025-06-19 18:58:04.480]: Info: Screencasting with KMS
[2025-06-19 18:58:04.480]: Info: /dev/dri/card1 -> nvidia-drm
[2025-06-19 18:58:04.481]: Info: Found monitor for DRM screencasting
[2025-06-19 18:58:04.481]: Info: Found connector ID [110]
[2025-06-19 18:58:04.481]: Info: Found cursor plane [66]
[2025-06-19 18:58:04.481]: Info: Creating encoder [h264_nvenc]
[2025-06-19 18:58:04.481]: Info: Color coding: SDR (Rec. 601)
[2025-06-19 18:58:04.481]: Info: Color depth: 8-bit
[2025-06-19 18:58:04.481]: Info: Color range: JPEG
[2025-06-19 18:58:04.794]: Info: Creating encoder [hevc_nvenc]
[2025-06-19 18:58:04.794]: Info: Color coding: SDR (Rec. 601)
[2025-06-19 18:58:04.794]: Info: Color depth: 8-bit
[2025-06-19 18:58:04.794]: Info: Color range: JPEG
[2025-06-19 18:58:05.063]: Info: Creating encoder [av1_nvenc]
[2025-06-19 18:58:05.063]: Info: Color coding: SDR (Rec. 601)
[2025-06-19 18:58:05.063]: Info: Color depth: 8-bit
[2025-06-19 18:58:05.063]: Info: Color range: JPEG
[2025-06-19 18:58:05.333]: Info: Screencasting with KMS
[2025-06-19 18:58:05.333]: Info: /dev/dri/card1 -> nvidia-drm
[2025-06-19 18:58:05.333]: Info: Found monitor for DRM screencasting
[2025-06-19 18:58:05.333]: Info: Found connector ID [110]
[2025-06-19 18:58:05.333]: Info: Found cursor plane [66]
[2025-06-19 18:58:05.333]: Info: Creating encoder [hevc_nvenc]
[2025-06-19 18:58:05.333]: Info: Color coding: HDR (Rec. 2020 + SMPTE 2084 PQ)
[2025-06-19 18:58:05.333]: Info: Color depth: 10-bit
[2025-06-19 18:58:05.333]: Info: Color range: JPEG
[2025-06-19 18:58:05.601]: Info: Creating encoder [av1_nvenc]
[2025-06-19 18:58:05.601]: Info: Color coding: HDR (Rec. 2020 + SMPTE 2084 PQ)
[2025-06-19 18:58:05.601]: Info: Color depth: 10-bit
[2025-06-19 18:58:05.601]: Info: Color range: JPEG
[2025-06-19 18:58:05.869]: Info: // Testing for available encoders, this may generate errors. You can safely ignore those errors. //
[2025-06-19 18:58:05.869]: Info: 
[2025-06-19 18:58:05.869]: Info: // Ignore any errors mentioned above, they are not relevant. //
[2025-06-19 18:58:05.869]: Info: 
[2025-06-19 18:58:05.869]: Info: Found H.264 encoder: h264_nvenc [nvenc]
[2025-06-19 18:58:05.869]: Info: Found HEVC encoder: hevc_nvenc [nvenc]
[2025-06-19 18:58:05.869]: Info: Found AV1 encoder: av1_nvenc [nvenc]
[2025-06-19 18:58:05.869]: Info: Executing [Desktop]
[2025-06-19 18:58:06.079]: Info: New streaming session started [active sessions: 1]
[2025-06-19 18:58:06.144]: Info: CLIENT CONNECTED
[2025-06-19 18:58:06.197]: Info: /dev/dri/card1 -> nvidia-drm
[2025-06-19 18:58:06.198]: Info: Found display [wayland-0]
[2025-06-19 18:58:06.198]: Info: Found interface: zxdg_output_manager_v1(31) version 3
[2025-06-19 18:58:06.198]: Info: Found interface: wl_output(60) version 4
[2025-06-19 18:58:06.198]: Info: Resolution: 3840x2160
[2025-06-19 18:58:06.198]: Info: Offset: 0x0
[2025-06-19 18:58:06.198]: Info: Logical size: 3840x2160
[2025-06-19 18:58:06.198]: Info: Name: HDMI-A-2
[2025-06-19 18:58:06.198]: Info: Found monitor: GSM LG TV SSCR2
[2025-06-19 18:58:06.198]: Info: -------- Start of KMS monitor list --------
[2025-06-19 18:58:06.198]: Info: Monitor 0 is HDMI-A-2: GSM LG TV SSCR2
[2025-06-19 18:58:06.199]: Info: --------- End of KMS monitor list ---------
[2025-06-19 18:58:06.199]: Info: Screencasting with KMS
[2025-06-19 18:58:06.199]: Info: /dev/dri/card1 -> nvidia-drm
[2025-06-19 18:58:06.199]: Info: Found monitor for DRM screencasting
[2025-06-19 18:58:06.199]: Info: Found connector ID [110]
[2025-06-19 18:58:06.199]: Info: Found cursor plane [66]
[2025-06-19 18:58:06.199]: Info: Creating encoder [hevc_nvenc]
[2025-06-19 18:58:06.199]: Info: Color coding: HDR (Rec. 2020 + SMPTE 2084 PQ)
[2025-06-19 18:58:06.199]: Info: Color depth: 10-bit
[2025-06-19 18:58:06.199]: Info: Color range: MPEG
[2025-06-19 18:58:06.572]: Info: Setting default sink to: [sink-sunshine-stereo]
[2025-06-19 18:58:06.573]: Info: Found default monitor by name: sink-sunshine-stereo.monitor
[2025-06-19 18:58:06.608]: Info: Opus initialized: 48 kHz, 2 channels, 512 kbps (total), LOWDELAY

ruffsl avatar Jun 20 '25 00:06 ruffsl

Still encountering this issue @LizardByte-bot. My system info and sunshine logs if that helps: System Info

Operating System: NixOS 25.05
KDE Plasma Version: 6.3.5
KDE Frameworks Version: 6.14.0
Qt Version: 6.9.0
Kernel Version: 6.12.33 (64-bit)
Graphics Platform: Wayland
Processors: 32 × Intel® Core™ i9-14900K
Memory: 188.4 GiB of RAM
Graphics Processor: NVIDIA GeForce RTX 4090
Manufacturer: ASUS
$ sunshine --version
[encoder] -- [nvenc]
[2025-06-19 18:49:15.228]: Info: Sunshine version: 2025.122.141614
[2025-06-19 18:49:15.228]: Info: Package Publisher: nixpkgs
[2025-06-19 18:49:15.228]: Info: Publisher Website: https://nixos.org
[2025-06-19 18:49:15.228]: Info: Get support: https://github.com/NixOS/nixpkgs/issues
$ nvidia-smi 
Thu Jun 19 18:52:30 2025       
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 570.153.02             Driver Version: 570.153.02     CUDA Version: 12.8     |
|-----------------------------------------+------------------------+----------------------+
| 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 4090        Off |   00000000:01:00.0  On |                  Off |
|  0%   43C    P2             67W /  500W |    2445MiB /  24564MiB |      5%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
                                                                                         
+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
...
|    0   N/A  N/A            3057    C+G   ...-2025.122.141614/bin/sunshine        754MiB |
$ uname -a
Linux box 6.12.33 #1-NixOS SMP PREEMPT_DYNAMIC Tue Jun 10 11:13:00 UTC 2025 x86_64 GNU/Linux

Sunshine Logs

@ruffsl

Have you tried setting prefer colour accuracy within Display and configuration?

Not sure if it works/helps with nvidia but worked for me with AMD.

If it doesn't work then there will be no help/no fix as the problem isn't with sunshine and is with KDE/Plasma but KMSgrab is also deprecated so they won't fix the issue as no support/help is given to deprecated features.

Sunshine needs to migrate from KMSgrab but i'm not sure if screencast portal supports HDR yet, KDE/Plasma is not wlroots based so won't work with wlr-screencopy-unstable-v1 that is in the new update.

Blissingg avatar Jul 02 '25 13:07 Blissingg

Sunshine needs to migrate from KMSgrab but i'm not sure if screencast portal supports HDR yet, KDE/Plasma is not wlroots based so won't work with wlr-screencopy-unstable-v1 that is in the new update.

Neither screencast (pipewire) nor wlr-screencopy-unstable-v1 supports hdr yet. I haven't even seen a proposal to add hdr support yet (unless I have missed that somewhere). Those support automatically tonemapping from hdr to sdr though, so they are better than kmsgrab in that sense.

dec05eba avatar Jul 02 '25 14:07 dec05eba

Hello, does anyone encounter these blacks artifacts on Arch using latest from Beta branch and capturing in HDR from Plasma?

  • Image
  • Image
  • Image

I was streaming to Moonlight v6.1.0 on Endeavour OS with Gnome and Mutter > v48.4-1.

DistantThunder avatar Jul 06 '25 19:07 DistantThunder

Sunshine needs to migrate from KMSgrab but i'm not sure if screencast portal supports HDR yet, KDE/Plasma is not wlroots based so won't work with wlr-screencopy-unstable-v1 that is in the new update.

Neither screencast (pipewire) nor wlr-screencopy-unstable-v1 supports hdr yet. I haven't even seen a proposal to add hdr support yet (unless I have missed that somewhere). Those support automatically tonemapping from hdr to sdr though, so they are better than kmsgrab in that sense.

Agreed. I think it would be great to get one or both of these methods (screencast has a PR already that's seen some traction in the last month or two) with their HDR to SDR tonemapping up and running and then working with developers of these capture methods to support HDR natively. I believe one of the folks working on HDR in KDE has been keeping an eye on the help wanted issue for replacing kmsgrab and has offered to help with implementing HDR in screencast once it has been integrated into Sunshine as a capture method.

JustPlainGarak avatar Jul 09 '25 11:07 JustPlainGarak