Containerpak / Containerpak/cpak
Debian 13 KDE Plasma, I found two different issues with the X11 isolation backend. bottles
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 191
- Forks
- 3
- Avg merge
- 27m
- Merged PRs (30d)
- 16
Description
Summary
After testing cpak on Debian 13 KDE Plasma, I found two different issues with the X11 isolation backend.
Environment
- Distribution: Debian 13 (Trixie)
- Desktop: KDE Plasma (Wayland session)
- Bottles installed through cpak
- Xephyr available and used as the isolated X11 server
- Reproduced multiple times
Issue 1: Xwayland backend
When cpak uses the Xwayland backend, some applications never reach a usable window state.
Observed behavior:
- Application process starts.
- Xwayland appears to start correctly.
- The application hangs while creating its window.
- No usable application window becomes visible.
This was the original reason I experimented with replacing the Xwayland backend.
Issue 2: Xephyr backend
I patched cpak to use Xephyr instead of Xwayland.
Results:
- RPG Maker games run normally.
- The isolated window appears correctly.
- Clipboard integration appears functional.
However, Unity games behave differently:
- The game starts.
- The Unity window appears briefly (or begins opening).
- The game exits immediately.
- The failure occurs consistently with Unity titles.
Observations
While debugging the broker, I observed repeated messages such as:
TICK: windows=0 seenWindow=true primary=0x1200001
followed later by:
WATCH_CLOSED ... X11 connection closed
BONBON_STOP: nested endpoint error: X11 connection closed
I could not find evidence that the broker explicitly closes the game because no application window exists.
From the current code inspection:
cleanupX11Bridge()is only reached through container cleanup paths.- The broker receives
ServerAlive()callbacks and stops when the nested X11 server disappears. - It is currently unclear whether the Unity process exits first and causes Xephyr shutdown, or whether Xephyr terminates first and causes the Unity process to exit.
Expected Behavior
Unity games should remain running under the Xephyr backend just like RPG Maker games.
Additional Information
I can provide:
- Full broker debug logs
- Process trees before and after the Unity game exits
- A test title that reproduces the issue consistently
- The Xephyr patch used for testing
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the broker paths around cleanupX11Bridge(), ServerAlive(), and the WATCH_CLOSED/BONBON_STOP messages. Reproduce a Unity title with the Xephyr patch while collecting the offered broker logs and process trees, then establish whether the Unity process or Xephyr exits first. Done means Unity games remain running under Xephyr without the nested X11 connection closing.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, linux
- Domain
- desktop, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 38/100