CachyOS / CachyOS/linux-cachyos
[Bug] Panther Lake (Arc B390, xe): KWin Alt+Tab switcher never displays - atomic commit fails with -EBUSY, xe silent
- Dominant language
- Shell
- Stars
- 4.5k
- Forks
- 160
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 1
Description
## Environment
| Item | Value |
|---|---|
| OS | CachyOS (Arch-based, rolling) |
| Kernel | 7.2.2-1-cachyos (SMP PREEMPT_DYNAMIC, built 2026-08-28) |
| Mesa | 26.2.1 |
| Compositor | KWin 6.7.4 / Plasma 6.7.4, Wayland (kwin_wayland DRM backend) |
| GPU | Intel Panther Lake [Arc B390], PCI `8086:B080`, subsys `17AA:8099`, driver `xe`, eDP-1 internal panel |
| CPU | Intel Core Ultra X7 358H (Panther Lake) |
## Summary
On a Panther Lake laptop with the `xe` driver, KWin's Alt+Tab window switcher (TabBox) never becomes visible. Pressing Alt+Tab — or invoking the shortcut programmatically via D-Bus, bypassing the keyboard entirely — produces **zero visual feedback**, and each activation attempt logs:
```
kwin_wayland[1278]: atomic commit failed: 设备或资源忙 (Device or resource busy / -EBUSY)
```
The desktop otherwise renders normally.
## Reproduction
1. Boot Wayland session (Plasma 6.7.4, kwin_wayland DRM backend).
2. Focus any window, press **Alt+Tab**.
3. **Observed:** no switcher UI, no focus change; `atomic commit failed: Device or resource busy` appears in the user journal at the exact keypress moment.
4. Input stack is NOT involved — reproduces via D-Bus:
```
$ dbus-send --session --print-reply --dest=org.kde.kglobalaccel /component/kwin \
org.kde.kglobalaccel.Component.invokeShortcut string:"Walk Through Windows"
method return ... # call succeeds, switcher still never appears
```
## Observed behavior
- Every screen commit during switcher activation is rejected with `-EBUSY`.
- **The kernel logs nothing at all** during the failures — `xe` is silent (no hang / reset / flip-timeout / devcoredump). Consistent with one commit never retiring and subsequent non-blocking commits on that CRTC being bounced by the DRM core.
- Mitigation attempt: switching KWin TabBox from `big_icons` (thumbnail grid + highlighting) to `compact`, disabling `HighlightWindows` and `AllowDirectScanout` **reduced failure frequency** (a rapid-press burst once produced zero -EBUSY), but the switcher still never displays. Suggests the trigger is the display-state change on switcher activation, not raw GPU load.
Full kwin EBUSY timeline of the session
```
9月 01 10:01:36 x7-358h kwin_wayland[1278]: atomic commit failed: 设备或资源忙
9月 01 10:01:38 x7-358h kwin_wayland[1278]: atomic commit failed: 设备或资源忙
9月 01 11:49:06 x7-358h kwin_wayland[1278]: atomic commit failed: 设备或资源忙
9月 01 11:49:07 x7-358h kwin_wayland[1278]: atomic commit failed: 设备或资源忙
9月 01 11:49:51 x7-358h kwin_wayland[1278]: atomic commit failed: 设备或资源忙
9月 01 11:50:11 x7-358h kwin_wayland[1278]: atomic commit failed: 设备或资源忙
9月 01 11:50:13 x7-358h kwin_wayland[1278]: atomic commit failed: 设备或资源忙
9月 01 11:52:50 x7-358h kwin_wayland[1278]: atomic commit failed: 设备或资源忙
9月 01 11:53:02 x7-358h kwin_wayland[1278]: atomic commit failed: 设备或资源忙
9月 01 11:55:44 x7-358h kwin_wayland[1278]: atomic commit failed: 设备或资源忙
9月 01 11:55:46 x7-358h kwin_wayland[1278]: atomic commit failed: 设备或资源忙
```
## Expected behavior
Alt+Tab switcher renders; failing commits should be visible in the kernel log (xe flip timeout / GPU hang message), not silent.
## Related reports
- Arch forum #314191 — same Panther Lake platform, xe `atomic commit failed` on 7.1.x (there: `-EACCES` after resume); reporter confirmed **fixed in 7.2.2** for that variant. The `-EBUSY` window-switch variant described here is still present in 7.2.2. https://bbs.archlinux.org/viewtopic.php?id=314191
- drm-xe-next-fixes recently disabled GuC Duty Cycle Control (DCC) for Panther Lake due to excessive latency — possibly related. https://www.phoronix.com/news/Intel-Disabling-DCC-PTL
- Arch forum #312276 — same `atomic commit failed: Device or resource busy` symptom on AMD + KDE freeze. https://bbs.archlinux.org/viewtopic.php?id=312276
## Notes
- `dmesg` at failure time: silent; no devcoredump entries.
- Happy to test patches / kernel parameters (e.g. GuC DCC disable or other PTL display workarounds).
Contributor guide
Research direction
The report names no source file or test. Begin by reproducing the Alt+Tab failure through KWin and D-Bus while examining the xe/DRM atomic-commit path and journal output; done means the switcher renders reliably on Panther Lake without recurring -EBUSY failures.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- linux
- Domain
- operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 42/100