ValveSoftware / ValveSoftware/Proton
Better fullscreen support for multi-monitor setup with different resolutions.
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 32.8k
- Forks
- 1.6k
- PR merge metrics
- PR metrics pending
Description
Feature Request
I confirm:
- that I haven't found another request for this feature.
- that I have checked whether there are updates for my system available that
contain this feature already.
Description
I have two monitors with drastically different resolution.
Primary, left: 3840×2160 @ 60Hz
Secondary, right: 1920×1080 @ 60Hz
Arch Linux & Gnome 3 via Wayland
Radeon RX 580, mesa 22.1.6-1
Steam
When I launch games in exclusive fullscreen, they stretch to fill my primary monitor, irrespective of game resolution. This is expected and fine. However, some games I really want to play at native 1080p on my secondary monitor while capturing the game window via OBS.
The Problem
When I drag a fullscreen game from primary to secondary monitor, the stretching is preserved even if the game renders in 1080p.
As a consequence, I can only see one fourth of the game – which is entirely unusable.
This is irrespective of the screen scaling I set in Gnome.
Positioning the game in windowed mode to fill the secondary screen pixel perfect (und thus hide the decorations) is not an option for me since I also want to capture the output of the game window via OBS.
Games in “borderless windowed” fullscreen are not affected.
Small selection of affected games:
- Sekiro (314380)
- Witcher 2 (20920)
Not affected (I assume they render to borderless fullscreen):
- The Cat Lady (253110)
- Cuphead (268910)
Games that can switch between fullscreen & borderless:
- Dark Souls Remastered (570940)
When in borderless, scaling is correct when positioned on the smaller secondary monitor.
When in fullscreen, scaling is off when positioned on the smaller secondary monitor.
I accidentally found this workaround, which used to work with Proton 6.3 & Gnome 3:
- Set the game to windowed mode at native resolution of the secondary screen.
- Position the window pixel-perfect on the secondary screen such that window decorations are invisible and window content fills the entire screen.
- Switch to a different virtual desktop of Gnome and then switch back to the virtual desktop where the game is located.
- Magically, the game is rendered borderless.
I have no idea how or why this workaround ever worked, nor do I understand why this workaround stopped working with Proton 7.0. In any case, it was never really satisfying for me.
My current workaround involves gamescope. I believe a solution with winecfg could work too.
But seriously this should work out of the box with Steam Play.
References [optional]
Following issues seem to be vaguely related:
#720
#3060
#3600
but I don't understand the internals well enough to really judge that.
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
No files, tests, or entry points are named; start by reproducing the issue with an affected exclusive-fullscreen game on the described dual-monitor Wayland setup, then review related issues #720, #3060, and #3600. Done means native 1080p exclusive fullscreen scales correctly on the secondary monitor while existing borderless behavior remains unaffected.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- linux
- Domain
- desktop, operating-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 28/100