linuxmint / linuxmint/cinnamon
Freesync/VRR is BLOCKED when an app draws an icon on the System Tray applet
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 5.6k
- Forks
- 915
- Avg merge
- 5d 22h
- Merged PRs (30d)
- 3
Description
Distribution
Mint 22.1 (happens in older releases)
Package version
Cinamon 6.4.6 (happens in older versions)
Graphics hardware in use
AMD RX 6800 XT
Frequency
Always
Bug description
When a game has its own launcher (ex: GTA and Rockstar Launcher, Titanfall 2 and EA Launcher) and it draws an icon on the System Tray applet, Variable Refresh Rate (Freesync/VRR) remains completely disabled until said app/launcher closes.
Freeesync/VRR is disabled whenever any application draws a System Tray icon, not just the above examples.
Steps to reproduce
- Enable VRR through the method supported by X11 (amdgpu.conf)
- Open a game that uses a launcher (or any app) that draws a System Tray icon
- Notice how the game can be at 60fps but the monitor will remain at its highest refresh rate (ex: 75, 120, 170, etc)
Expected behavior
Games should be able to trigger VRR regardless of what icons are drawn on the System Tray. Removing the System Tray applet does not resolve the issue; something about an application wanting to draw a System Tray icon is interfering with VRR regardless of the panel configuration.
Additional information
A temporary solution is to remove Cinnamon from Mesa's VRR blacklist. This impedes Cinnamon to incorrectly disable VRR while on a fullscreen app/game. The downside is that Cinnamon, while on the desktop, runs at the lowest range at all times. In the case of my monitor, it gets stuck at 48hz.
This confirms that Cinnamon is getting in the way of VRR. It seems that X11 thinks that Cinnamon is drawing something on top of the game and thus disables VRR as per Mesa's default configuration.
The real solution would be to change how Cinnamon handles System Tray icons. The only potential lead I have is the following:
The soundboard application Soundux (flatpak) also draws a System Tray icon and also interferes with VRR. However, if I grant it access to the D-Bus session bus socket through Flatseal, it fails to draw its icon on the System Tray and thus is unable to interfere with VRR.
This is the only way I can use Soundux with other games with VRR enabled and working properly.
Reminder: Removing the System Tray applet does not resolve the issue; something about an application wanting to draw a System Tray icon is interfering with VRR regardless of the panel configuration.
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 Cinnamon's System Tray applet, an application-created tray icon, and X11 VRR enabled; compare behavior with Cinnamon removed from Mesa's VRR blacklist and with the app's D-Bus session-bus access restricted. Trace how tray icons are handled and how fullscreen applications interact with VRR. Done means tray icons no longer prevent games from triggering VRR without breaking desktop refresh behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100