ValveSoftware / Proton

Compatibility tool for Steam Play based on Wine and additional components
Other
24.33k stars 1.06k forks source link

Specific monitor setup causes fullscreen apps to not register mouse events properly. #7550

Open Super-Pizza opened 7 months ago

Super-Pizza commented 7 months ago

When I have my desktop configured with a smaller screen to the left of a bigger one, having a game fullscreen on the bigger screen makes it unable to register mouse events properly. It seems to be Proton-specific, since I tried with wine 9.0 and 9.3, they both don't have this issue. It wasn't a problem in Proton 8.0, but once 9.0 dropped, both experimental and 9.0 beta have this problem. Swapping both monitors (hav9ing the bigger one to the left of the smaller one) fixes this issue.

RW74 commented 6 months ago

I think I have the same issue. I have a laptop with an external monitor and with proton 9 if I start a game the window goes straight to the laptop screen (in this case all mouse interaction works fine). If I move the window to the external monitor, the mouse interaction happens only on the left half or quarter of it, the screen setup is that the laptop monitor is on the left side of the external monitor. Info:

EDIT: if I enable virtual desktop in wine, everything works fine even if I move it to the external monitor. I tried the TKG and GE version based on this Proton 9 and all have the same issue, at least in my system. Upstream Wine have no issue even with TKG patches.

extra note: the external monitor is a 1440p resolution and the laptop a 1080p, the part where the mouse still interact is inside an ideal 1440p window from the laptop monitor, even if the window is all on the external monitor. seems like the window has been moved but the coordinates for the mouse interaction not and because the external is a bigger resolution overflow the space of the 1080p into the external one.

RW74 commented 5 months ago

just an update, if I move the setup of the primary device to the left side than all works fine.

$ xrandr --output eDP-1-1 --auto --primary --left-of DP-0 Screen 0: minimum 8 x 8, current 4480 x 1440, maximum 32767 x 32767 DP-0 connected 2560x1440+1920+0 (normal left inverted right x axis y axis) 698mm x 393mm 2560x1440 144.00+ 239.96 120.00 59.95
DP-1 disconnected (normal left inverted right x axis y axis) HDMI-0 disconnected (normal left inverted right x axis y axis) eDP-1-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 344mm x 194mm 1920x1080 144.03
+ 60.08 60.01 59.97 59.96 59.93

or

$ xrandr --output DP-0 --auto --primary --left-of eDP-1-1 Screen 0: minimum 8 x 8, current 4480 x 1440, maximum 32767 x 32767 DP-0 connected primary 2560x1440+0+0 (normal left inverted right x axis y axis) 698mm x 393mm 2560x1440 144.00+ 239.96 120.00 59.95
DP-1 disconnected (normal left inverted right x axis y axis) HDMI-0 disconnected (normal left inverted right x axis y axis) eDP-1-1 connected 1920x1080+2560+0 (normal left inverted right x axis y axis) 344mm x 194mm 1920x1080 144.03
+ 60.08 60.01 59.97 59.96 59.93

a setup with the primary on the right side, it does not work with Proton9 version (I built the latest from experimental today and still having the issue)

$ xrandr --output DP-0 --auto --primary --right-of eDP-1-1 Screen 0: minimum 8 x 8, current 4480 x 1440, maximum 32767 x 32767 DP-0 connected primary 2560x1440+1920+0 (normal left inverted right x axis y axis) 698mm x 393mm 2560x1440 144.00+ 239.96 120.00 59.95
DP-1 disconnected (normal left inverted right x axis y axis) HDMI-0 disconnected (normal left inverted right x axis y axis) eDP-1-1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 344mm x 194mm 1920x1080 144.03
+ 60.08 60.01 59.97 59.96 59.93

at least I found a workaround and setting the left monitor as primary fix it.