Bug 511216 - kde-plasma/kwin-6.5.0-master: Black screen on wayland (nvidia drm related?) (edit)
Summary: kde-plasma/kwin-6.5.0-master: Black screen on wayland (nvidia drm related?) (...
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: wayland-generic (other bugs)
Version First Reported In: master
Platform: Gentoo Packages Linux
: NOR major
Target Milestone: ---
Assignee: KWin default assignee
URL: https://bugs.gentoo.org/965183
Keywords:
Depends on:
Blocks:
 
Reported: 2025-10-27 14:27 UTC by comio
Modified: 2025-10-30 14:11 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments
kwin_wayland logs from journalctl (11.59 KB, text/x-log)
2025-10-27 14:29 UTC, comio
Details
dmesg + drm debug (427.50 KB, application/gzip)
2025-10-29 07:19 UTC, comio
Details
Patch that could help (1.09 KB, patch)
2025-10-29 16:09 UTC, Zamundaaa
Details

Note You need to log in before you can comment on or make changes to this bug.
Description comio 2025-10-27 14:27:57 UTC
Upgrading to kde-plasma/kwin-6.5.0-r1 on Gento (aka 6.5.0 + patches from KDE up to commit ac533b2cea19402e7b2580d8e1d99b5ee59e7357) the graphical environment doesn't start showing black screen.
Downgrading to kde-plasma/kwin-6.5.0 (aka 6.5.0 official Tag) the system works again.
I suppose the issue is from the backported patches (but I cannot bisect this time).
Instead, X11 session works

Reproducible: Always

Steps to Reproduce:
1. Upgrade to kde-plasma/kwin-6.5.0-r1
2. Restart the system
3. Login using KWIN Wayland
Actual Results:  
The system shows black screen

Expected Results:  
KDE up and running

kwin_wayland shows a lot of "kwin_wayland_drm: Atomic test failed! Invalid argument"
Installed x11-drivers/nvidia-drivers-680.95.05
lspci: 01:00.0 3D controller: NVIDIA Corporation GP107M [GeForce GTX 1050 3 GB Max-Q] (rev a1)
Kernel: sys-kernel/gentoo-kernel-bin-6.17.5
Comment 1 comio 2025-10-27 14:29:00 UTC
Created attachment 186230 [details]
kwin_wayland logs from journalctl
Comment 2 Zamundaaa 2025-10-27 14:50:57 UTC
Please follow https://invent.kde.org/plasma/kwin/-/wikis/Debugging/Debugging-DRM-issues to get a drm debug log of why it doesn't work. Alternative, a bisect would be very useful.
Comment 3 comio 2025-10-28 06:10:34 UTC
The offending commit seems to be this:

"backends/drm: expand the implicit modifier fallback to low bandwidth formats"

https://invent.kde.org/plasma/kwin/-/commit/f67e5b6f2b7a7d23fbb343c235c2f4a4c0b6f0ba

ciao

luigi
Comment 4 comio 2025-10-28 07:43:58 UTC
Additional information about my environment:

<pre>
Portage 3.0.69 (python 3.13.9-final-0, default/linux/amd64/23.0/desktop/plasma/systemd, gcc-15, glibc-2.42-r1, 6.17.5-gentoo-dist x86_64)
=================================================================
System uname: Linux-6.17.5-gentoo-dist-x86_64-Intel-R-_Core-TM-_i7-9750H_CPU_@_2.60GHz-with-glibc2.42
KiB Mem:    32591224 total,  11097236 free
KiB Swap:   67108860 total,  67105844 free
Head commit of repository comio-overlay: 3b331507ef97701ddd68020632e01c79f54888ab

Timestamp of repository guru: Tue, 28 Oct 2025 06:03:33 +0000
Head commit of repository guru: a78c9957a26b89d7612c062600d341463877972e

Head commit of repository mv: 044c9f9c5cebbfded20c34bbee55d3d5a2ca20be

Head commit of repository plex-overlay: 421527710bad6c2c0f24bf683fd29c60039d2b5d

Head commit of repository wayland-desktop: 2102eb44b4e9571112fc2edb642129abd075b840

Timestamp of repository gentoo: Tue, 28 Oct 2025 07:34:33 +0000
Head commit of repository gentoo: 8e08bef2fc3b427881d00776b9661ab349815a7c

sh bash 5.3_p3-r3
ld GNU ld (Gentoo 2.45 p3) 2.45.0
app-misc/pax-utils:           1.3.8::gentoo
app-shells/bash:              5.3_p3-r3::gentoo
dev-build/autoconf:           2.72-r4::gentoo
dev-build/automake:           1.18.1::gentoo
dev-build/cmake:              4.1.2-r1::gentoo
dev-build/libtool:            2.5.4::gentoo
dev-build/make:               4.4.1-r101::gentoo
dev-build/meson:              1.9.1::gentoo
dev-lang/perl:                5.42.0::gentoo
dev-lang/python:              3.13.9::gentoo, 3.14.0::gentoo
dev-lang/rust-bin:            1.90.0::gentoo
llvm-core/clang:              20.1.8::gentoo, 21.1.4::gentoo
llvm-core/lld:                20.1.8::gentoo
llvm-core/llvm:               20.1.8::gentoo, 21.1.4::gentoo
sys-apps/baselayout:          2.18::gentoo
sys-apps/sandbox:             2.46::gentoo
sys-apps/systemd:             258.1::gentoo
sys-devel/binutils:           2.45-r1::gentoo
sys-devel/binutils-config:    5.6::gentoo
sys-devel/gcc:                15.2.1_p20251018::gentoo
sys-devel/gcc-config:         2.12.2::gentoo
sys-kernel/linux-headers:     6.17-r1::gentoo (virtual/os-headers)
sys-libs/glibc:               2.42-r1::gentoo
media-libs/mesa:              25.2.5::gentoo
x11-drivers/nvidia-drivers:   580.95.05::gentoo
sys-kernel/gentoo-kernel-bin: 6.17.5::gentoo
</pre>
Comment 5 Zamundaaa 2025-10-28 17:31:47 UTC
That's quite surprising.
Could you still get a drm debug log? I can't think of a reason for why the commit would cause the failure, rather than help with it, and neither I nor a colleague could reproduce the issue with an NVidia GPU to debug locally.
Comment 6 comio 2025-10-29 07:19:32 UTC
Created attachment 186277 [details]
dmesg + drm debug
Comment 7 comio 2025-10-29 07:23:10 UTC
kwin-6.5.1 is also affected by issue.

Reverting 

"backends/drm: prevent accessing the pipeline when it's already removed"
https://invent.kde.org/plasma/kwin/-/commit/f5415995c51d6b0e68087a386e16c2003ba5c314
(required to cleaning reverting the following)

and

"backends/drm: expand the implicit modifier fallback to low bandwidth formats"
https://invent.kde.org/plasma/kwin/-/commit/ade8159b2730a89d698d49db87032fa65fc62c27

fix issue on my system.

ciao

luigi
Comment 8 comio 2025-10-29 07:47:05 UTC
lspci:

00:00.0 Host bridge: Intel Corporation 8th/9th Gen Core Processor Host Bridge / DRAM Registers (rev 07)
00:01.0 PCI bridge: Intel Corporation 6th-10th Gen Core Processor PCIe Controller (x16) (rev 07)
00:02.0 VGA compatible controller: Intel Corporation CoffeeLake-H GT2 [UHD Graphics 630]
00:04.0 Signal processing controller: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem (rev 07)
00:08.0 System peripheral: Intel Corporation Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th/8th Gen Core Processor Gaussian Mixture Model
00:12.0 Signal processing controller: Intel Corporation Cannon Lake PCH Thermal Controller (rev 10)
00:13.0 Serial controller: Intel Corporation Device a37c (rev 10)
00:14.0 USB controller: Intel Corporation Cannon Lake PCH USB 3.1 xHCI Host Controller (rev 10)
00:14.2 RAM memory: Intel Corporation Cannon Lake PCH Shared SRAM (rev 10)
00:14.3 Network controller: Intel Corporation Cannon Lake PCH CNVi WiFi (rev 10)
00:15.0 Serial bus controller: Intel Corporation Cannon Lake PCH Serial IO I2C Controller #0 (rev 10)
00:15.1 Serial bus controller: Intel Corporation Cannon Lake PCH Serial IO I2C Controller #1 (rev 10)
00:16.0 Communication controller: Intel Corporation Cannon Lake PCH HECI Controller (rev 10)
00:17.0 SATA controller: Intel Corporation Cannon Lake Mobile PCH SATA AHCI Controller (rev 10)
00:1b.0 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #17 (rev f0)
00:1d.0 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #9 (rev f0)
00:1f.0 ISA bridge: Intel Corporation HM370 Chipset LPC/eSPI Controller (rev 10)
00:1f.3 Multimedia audio controller: Intel Corporation Cannon Lake PCH cAVS (rev 10)
00:1f.4 SMBus: Intel Corporation Cannon Lake PCH SMBus Controller (rev 10)
00:1f.5 Serial bus controller: Intel Corporation Cannon Lake PCH SPI Controller (rev 10)
01:00.0 3D controller: NVIDIA Corporation GP107M [GeForce GTX 1050 3 GB Max-Q] (rev a1)
02:00.0 PCI bridge: Intel Corporation JHL6340 Thunderbolt 3 Bridge (C step) [Alpine Ridge 2C 2016] (rev 02)
03:00.0 PCI bridge: Intel Corporation JHL6340 Thunderbolt 3 Bridge (C step) [Alpine Ridge 2C 2016] (rev 02)
03:01.0 PCI bridge: Intel Corporation JHL6340 Thunderbolt 3 Bridge (C step) [Alpine Ridge 2C 2016] (rev 02)
03:02.0 PCI bridge: Intel Corporation JHL6340 Thunderbolt 3 Bridge (C step) [Alpine Ridge 2C 2016] (rev 02)
04:00.0 System peripheral: Intel Corporation JHL6340 Thunderbolt 3 NHI (C step) [Alpine Ridge 2C 2016] (rev 02)
3a:00.0 USB controller: Intel Corporation JHL6340 Thunderbolt 3 USB 3.1 Controller (C step) [Alpine Ridge 2C 2016] (rev 02)
3b:00.0 Non-Volatile memory controller: KIOXIA Corporation NVMe SSD Controller BG4 (DRAM-less)
Comment 9 Zamundaaa 2025-10-29 16:08:20 UTC
Oh, so the screen in question is connected to the Intel GPU, not NVidia.

> [  149.829931] i915 0000:00:02.0: [drm:skl_fixup_initial_plane_config [i915]] [CRTC:80:pipe B] dbuf slices 0x1 -> 0x1, ddb (223 - 446) -> (223 - 669), active pipes 0x7 -> 0x7
> [  149.829987] i915 0000:00:02.0: [drm:skl_fixup_initial_plane_config [i915]] [CRTC:104:pipe C] dbuf slices 0x1 -> 0x1, ddb (446 - 892) -> (669 - 892), active pipes 0x7 -> 0x7
> [  149.830043] i915 0000:00:02.0: [drm:skl_fixup_initial_plane_config [i915]] Requested display configuration exceeds system DDB limitations
> [  149.830096] i915 0000:00:02.0: [drm:skl_fixup_initial_plane_config [i915]] minimum required 242/199

That looks like the commit broke the implicit modifier fallback, instead of just expanding it. If you set https://invent.kde.org/plasma/kwin/-/wikis/Environment-Variables#kwin_drm_use_modifiers to 0, does that help?
Comment 10 Zamundaaa 2025-10-29 16:09:02 UTC
Created attachment 186299 [details]
Patch that could help

If the env var does help, please also test the patch
Comment 11 comio 2025-10-29 16:45:09 UTC
(In reply to Zamundaaa from comment #9)
> Oh, so the screen in question is connected to the Intel GPU, not NVidia.
> 
> > [  149.829931] i915 0000:00:02.0: [drm:skl_fixup_initial_plane_config [i915]] [CRTC:80:pipe B] dbuf slices 0x1 -> 0x1, ddb (223 - 446) -> (223 - 669), active pipes 0x7 -> 0x7
> > [  149.829987] i915 0000:00:02.0: [drm:skl_fixup_initial_plane_config [i915]] [CRTC:104:pipe C] dbuf slices 0x1 -> 0x1, ddb (446 - 892) -> (669 - 892), active pipes 0x7 -> 0x7
> > [  149.830043] i915 0000:00:02.0: [drm:skl_fixup_initial_plane_config [i915]] Requested display configuration exceeds system DDB limitations
> > [  149.830096] i915 0000:00:02.0: [drm:skl_fixup_initial_plane_config [i915]] minimum required 242/199
> 
> That looks like the commit broke the implicit modifier fallback, instead of
> just expanding it. If you set
> https://invent.kde.org/plasma/kwin/-/wikis/Environment-
> Variables#kwin_drm_use_modifiers to 0, does that help?

this workaround works. thanks.
Comment 12 comio 2025-10-29 17:19:40 UTC
(In reply to Zamundaaa from comment #10)
> Created attachment 186299 [details]
> Patch that could help
> 
> If the env var does help, please also test the patch

Also the patch is ok (without the env var, of course).
Comment 13 Zamundaaa 2025-10-29 19:46:37 UTC
Great
Comment 14 Bug Janitor Service 2025-10-29 19:49:40 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/8328
Comment 15 Zamundaaa 2025-10-30 13:43:16 UTC
Git commit a33cc222f53a7c8a9b5716ab48f236f5dfc7e5b0 by Xaver Hugl.
Committed on 30/10/2025 at 13:26.
Pushed by zamundaaa into branch 'master'.

backends/drm: fix implicit modifier fallback

The per-plane format list only contains explicit modifiers, so this basically
forced explicit modifiers in all cases.

M  +3    -7    src/backends/drm/drm_plane.cpp

https://invent.kde.org/plasma/kwin/-/commit/a33cc222f53a7c8a9b5716ab48f236f5dfc7e5b0
Comment 16 Zamundaaa 2025-10-30 14:11:06 UTC
Git commit f67a6cb896835b594cbffc8dc4f3a7a396654ade by Xaver Hugl.
Committed on 30/10/2025 at 13:48.
Pushed by zamundaaa into branch 'Plasma/6.5'.

backends/drm: fix implicit modifier fallback

The per-plane format list only contains explicit modifiers, so this basically
forced explicit modifiers in all cases.


(cherry picked from commit a33cc222f53a7c8a9b5716ab48f236f5dfc7e5b0)

Co-authored-by: Xaver Hugl <xaver.hugl@kde.org>

M  +3    -7    src/backends/drm/drm_plane.cpp

https://invent.kde.org/plasma/kwin/-/commit/f67a6cb896835b594cbffc8dc4f3a7a396654ade