linuxmint / linuxmint/muffin

Wine Fullscreen Apps are not Unredirected Correctly

Open
#701 17 comments 0 reactions 0 assignees View on GitHub

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
  1. Turn on Settings -> General -> Compositor Options -> Disable Compositing for full-screen Windows
  2. 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.
  3. ssh into the machine from another device
  4. 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.
  5. For reference, try running the native app glmark2 --fullscreen instead 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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.