Wine Fullscreen Apps are not Unredirected Correctly
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 245
- Forks
- 127
- PR merge metrics
- No merged PRs in 30d
Description
Distribution
Mint 22
Package version
6.2.9
Graphics hardware in use
Intel HD 530
Frequency
Always
Bug description
Fullscreen apps running in Wine are still being composited likely negatively impacting performance and latency, rather than being unredirected so the app draws directly to the screen.
Steps to reproduce
- Turn on
Settings -> General -> Compositor Options -> Disable Compositing for full-screen Windows - Run a 3D demo or game in Wine in fullscreen. Something which runs at a high framerate and vsync off is desirable to really see the effects.
- ssh into the machine from another device
- in the ssh session, run
sudo intel_gpu_top. You will observe that cinnamon is listed with a significant amount of 3D Render usage. Also there is no tearing even with vsync off in the app. This means that cinnamon is still compositing the window. - For reference, try running the native app
glmark2 --fullscreeninstead of Wine. This time, the GPU render usage for cinnamon will go to (almost) 0 after a second or 2.
Expected behavior
Cinnamon should use almost 0 GPU in this scenario, and the window gets unredirected, meaning that with VSync off, tearing should be visible.
Additional information
I'm using Wine 9.0 from the official Ubuntu repos (not the winehq ppa). I listed the GPU as Intel HD 530 (on i5 6600), but the same issue also occurs on other Intel GPUs (e.g. Intel Iris Xe on i7-1180G7). I'm almost sure that this issue occurs with other GPUs too, but I do not have the hardware to test it.
Contributor guide
No contributing guide indexed for this repository
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 by reproducing the issue with a fullscreen Wine application and compare it with glmark2 --fullscreen, using intel_gpu_top as described. Then trace Muffin's compositor handling for fullscreen windows and unredirect behavior. Done means Wine fullscreen windows are unredirected, Cinnamon uses almost no GPU rendering, and tearing appears with VSync disabled.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, linux
- Domain
- desktop, performance
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100