CachyOS / CachyOS/linux-cachyos

[Bug] Panther Lake (Arc B390, xe): KWin Alt+Tab switcher never displays - atomic commit fails with -EBUSY, xe silent

Open
#1,014 1 comment 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.