ValveSoftware / ValveSoftware/Proton
weird multi-monitor cursor issues: need ability to set initial monitor for game to spawn in
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 32.8k
- Forks
- 1.6k
- PR merge metrics
- PR metrics pending
Description
Compatibility Report
- Name of the game with compatibility issues: many, if not all, have seen in "Elite Dangerous", "the Ascent", "Mechwarrior 5", "Phoenix Point"
System Information
Below is output of inxi -SMG
System: Host: asus-desk-1 Kernel: 5.10.53-1-MANJARO x86_64 bits: 64 Desktop: i3 4.19.1 Distro: Manjaro Linux
Machine: Type: Desktop Mobo: ASUSTeK model: TUF GAMING X570-PLUS (WI-FI) v: Rev X.0x serial: <superuser required>
UEFI-[Legacy]: American Megatrends v: 0807 date: 07/08/2019
Graphics: Device-1: NVIDIA TU104 [GeForce RTX 2080 SUPER] driver: nvidia v: 470.57.02
Display: x11 server: X.Org 1.20.11 driver: loaded: nvidia resolution: 1: 2560x1440 2: 2560x1440~144Hz
OpenGL: renderer: NVIDIA GeForce RTX 2080 SUPER/PCIe/SSE2 v: 4.6.0 NVIDIA 470.57.02
- Proton version:
6.3-20210730
Steam system info here.
I confirm:
I couldn't find an issue that I thought was the same. There are several games with reports which are maybe related, but I don't see a report of the entire issue.
Symptoms
When using multiple monitors, the mouse cursor will have some pretty strange behavior depending on the window mode. In particular, I have two monitors one to the left (starting at x-coordinate 0) with the other to the right. The monitor on the right is my primary monitor (at least nvidia-settings recognizes it as such). Most games seem to want to start on my left monitor, despite that fact that it is not primary. I have tried physically swapping the monitor outputs in case there is some preference, but it doesn't seem to make any difference. When I move the game from the left monitor to the center monitor, in many cases when I try to play the game (which is now in the the correct, right, monitor) the cursor will stay stuck in the left monitor (sometimes this is even the game cursor and not the OS cursor). Weirdly, the game still controls as if it were in the left screen with the cursor in the right.
The only workarounds I can find are to change the window settings in-game. Fullscreen usually seems better than borderless. I have never had this problem with a game in true windowed mode even if it is actually running in fullscreen. Some (too few) games have a monitor select, but the consequences of using this are a little unpredictable and frankly I haven't documented carefully enough what happened when trying to use it.
It may well be that the mouse issue in particular is some sort of artifact of using i3, but regardless of what window manager is being used, it seems like a problem that games output monitor can't be configured easily. It would be really great if this could be a compatibility setting (I didn't see it), though I of course have no idea if this is easier said than done.
Reproduction
Launch any of the above mentioned games for the first time. Sometimes changing window configuration in game (e.g. fullscreen instead of borderless) seems to fix the issue permanently for that game.
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
The report names no source file, test, or code entry point. Begin by reproducing the multi-monitor behavior with the listed games on Proton 6.3-20210730; the work is complete when a supported setting can select the initial monitor and cursor or input remain aligned there.
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
- Mostly clear
- Newbie friendliness
- 30/100