Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Games not launching on primary monitor with Proton 9.0-1 on multiple monitors. #7717

Open
apemax opened this issue May 9, 2024 · 58 comments

Comments

@apemax
Copy link

apemax commented May 9, 2024

Hello,

Currently, If I launch any game using Proton 9.0-1 it will launch on my secondary monitor which is on the left. When launched with Proton 8.0-5 the game will launch on my primary monitor which is on the right. Which is how it's always worked before.

For some reason proton 9.0-1 does not seems to be launching on the monitor that is set as the primary one but whichever one is the left most one.

My setup is a bit odd though so not sure if that has anything to do with it, I have two GPUs in my system like so:

GT 710: Using the Nouveau driver. Connected to my Secondary monitor on the left.
RX 6500 XT: Connected to my Primary monitor on the right.

Is anyone else with multiple monitors having this issue?

Distro: Arch Linux.
DE: Gnome 46.1 on X11.

@SYB-80X
Copy link

SYB-80X commented May 15, 2024

Hi

I have the same Issue. Seems to be the same with all games when using Proton 9.0.1 and Proton Experimental. Have to revert to 8.0.5. This is using the Nvidia Proprietary Driver 550 on X11.

Using : NVIDIA GeForce RTX 4060 Laptop GPU/PCIe/SSE2

Distro: Tuxedo OS (Ubuntu based)
DE: KDE Plasma 5.27.10

@RW74
Copy link

RW74 commented May 22, 2024

Hi,

I have the same issue, it seems Proton 9.x needs to have the primary monitor on the left of the multi-monitor setup. If you do that as a workaround then after the downside would be that some games (not sure if all) will take as max resolution reference the primary monitor. To me it happens for MS FS2020 and my left monitor is a 1080p laptop while my former primary monitor is a 2k external monitor, not ideal at all. GE version has the same issue, so far.

Using:
NVIDIA 2070
Archlinux
i3wm

@Sp3rick
Copy link

Sp3rick commented May 30, 2024

Hi,

I have the same issue, it seems Proton 9.x needs to have the primary monitor on the left of the multi-monitor setup. If you do that as a workaround then after the downside would be that some games (not sure if all) will take as max resolution reference the primary monitor. To me it happens for MS FS2020 and my left monitor is a 1080p laptop while my former primary monitor is a 2k external monitor, not ideal at all. GE version has the same issue, so far.

Using: NVIDIA 2070 Archlinux i3wm

there is going to be a fix?
i want to use proton 9 but this problem prevent me from doing that, i need also to keep the main monitor on right side

@MartinKurtz
Copy link

Bump, this is a huge issue, i have 3 monitors, one center 4k and two 1200p, one of them vertical one horizontal and any game opened with proton will always, without fail, no matter what i set in the launch options or in lutris, launch on the vertical leftmost monitor. even going as far as to disable all but my main monitor still messes up the resolution of most games

@MayhemKarma
Copy link

Bump! The same issue. In the Overwatch 2 there are 2 display options, but both of them are "Display 1".

Using:
NVIDIA 3080 drivers: 550
Pop_OS (Ubuntu based)
X11+Gnome

@SondreJa
Copy link

Same issue here. Any game I run with Proton 9, any minor version, will launch on one of my secondary monitors, and if I move the game window to any of the other windows I can't interact with the game.

Using:
Nvidia 2080ti + Nvidia GT1030 (3 monitors to the 2080ti and 1 monitor to the 1030)
PopOS
X11 Gnome

@IGNNE
Copy link

IGNNE commented Aug 14, 2024

Bump. Friend of mine with Linux Mint x11 cinnamon, amdgpu/radeonsi. Proton games start
on the leftmost screen regardless of which one is primary

@nyrkovalex
Copy link

+1, it seems to work fine if my primary monitor is on the left ([0, 0] coordinates, I believe), but fails if it's on the right

@johabnes
Copy link

johabnes commented Aug 21, 2024

This has been a problem since proton 9s beta released and it still persists. Ive just been using the latest protonge 8 version for my games.

Recently tried Valves new Deadlock playtest and the exact issue of not registering mouse inputs after moving it to the primary monitor (right) appears. Deadlock crashes on proton 8 versions so Valve is seemingly creating its compatibility around proton 9 so a fix or workaround would be appreciated.

@zelburg
Copy link

zelburg commented Aug 31, 2024

I can confirm this is still a problem with Proton 9.0-202.

Long story short... did a new install of Fedora 40, installed Steam, installed latest versioned Proton (9.0)... much trial and error with no success, searched, found this issue, installed Proton 8 and now the games start on the external monitor (right side). There are still some issues I haven't figured out - basically the games freeze almost immediately or soon after. I don't know if that's related to Proton or Nvidia or something else.

@zelburg
Copy link

zelburg commented Sep 6, 2024

I've done more testing, but pretty much the same results. I'm using the same laptop (same hardware), but 2 different versions of Fedora (37, 40), so different versions of the kernel, X11, nvidia, etc. I have 2 bootable partitions - one contains Fedora 37, the other Fedora 40.

On Fedora 37, using Proton 8 I don't have any problems... all the games I've tried startup on whichever monitor is defined as the Primary and all the games work fine.

On Fedora 37 using Proton 9 the monitor the games start on depends on the position rather than what's listed as Primary. If the external monitor is configured as LEFT of the internal or ABOVE the internal, then the games will start on the external monitor. If the external monitor is configured as RIGHT of the internal or BELOW the internal, then games will start on the internal monitor. So, it SEEMS like Proton 9 is always using 0,0 as the position to start and doesn't consider which monitor is configured as Primary. Whichever monitor the games start on they do run fine (on Fedora 37).

On Fedora 40, the monitor the game starts on is the same as Fedora 37, but if the game is started on the external monitor regardless of the Proton version it will freeze after a short period of time. Sometimes the game freezes while starting up, sometimes while loading a save, sometimes after the save is loaded. In the case of Witcher 3 (which seems to be the most consistent and forgiving), it loads fine and in fact I can sometimes play without problems until I bring up the map, then it will freeze soon after. The other 2 games I mainly tested with (Skyrim and Fallout 4) both tend to freeze at some point during the loading screens.

@padthaitofuhot
Copy link

bump. Same issue.

@alasky17
Copy link
Collaborator

Hi folks - I'm pretty baffled here. I always have my primary monitor on the right for testing because I know that there are often more issues with the primary monitor on the right (since Linux WMs typically have it on the left by default). We haven't been able to reproduce the failure that is reported here with several different multimonitor setups. In order to attempt to figure out what is going on here, could folks who are experiencing this bug please post:

  1. The output of "xrandr --listmonitors" from your impacted setup
  2. Copy your system information from Steam (Steam -> Help -> System Information and Steam -> Help -> Steam Runtime Diagnostics) and put each in a gist, then include a link to the gists in this issue report.
  3. List an couple of titles of games you've personally seen this issue with as example titles.
  4. Get a log with PROTON_LOG=+event,+x11drv,+x11settings,+win,+system,+fshack,+msg %command% of launching a title where it goes to the wrong monitor, ideally with Proton Experimental.

@MartinKurtz
Copy link

~$ xrandr --listmonitors
Monitors: 3
 0: +XWAYLAND0 3840/700x2160/390+1500+240  XWAYLAND0
 1: +XWAYLAND1 2400/520x1500/320+5340+900  XWAYLAND1
 2: +XWAYLAND2 1500/520x2400/320+0+0  XWAYLAND2

Computer Information:
Manufacturer: ASRock
Model: Z370 Killer SLI
Form Factor: Desktop
No Touch Input Detected
Processor Information:
CPU Vendor: GenuineIntel
CPU Brand: Intel(R) Core(TM) i7-9700K CPU @ 3.60GHz
CPU Family: 0x6
CPU Model: 0x9e
CPU Stepping: 0xc
CPU Type: 0x0
Speed: 4900 MHz
8 logical processors
8 physical processors
Hyper-threading: Unsupported
FCMOV: Supported
SSE2: Supported
SSE3: Supported
SSSE3: Supported
SSE4a: Unsupported
SSE41: Supported
SSE42: Supported
AES: Supported
AVX: Supported
AVX2: Supported
AVX512F: Unsupported
AVX512PF: Unsupported
AVX512ER: Unsupported
AVX512CD: Unsupported
AVX512VNNI: Unsupported
SHA: Unsupported
CMPXCHG16B: Supported
LAHF/SAHF: Supported
PrefetchW: Unsupported
Operating System Version:
Debian GNU/Linux 12 (bookworm) (64 bit)
Kernel Name: Linux
Kernel Version: 6.1.0-23-amd64
X Server Vendor: The X.Org Foundation
X Server Release: 12201009
X Window Manager: KWin
Steam Runtime Version: steam-runtime_0.20240806.97925
Video Card:
Driver: AMD AMD Radeon RX 6750 XT (navi22, LLVM 15.0.6, DRM 3.49, 6.1.0-23-amd64)
Driver Version: 4.6 (Compatibility Profile) Mesa 22.3.6
OpenGL Version: 4.6
Desktop Color Depth: 24 bits per pixel
Monitor Refresh Rate: 59 Hz
VendorID: 0x1002
DeviceID: 0x73df
Revision Not Detected
Number of Monitors: 3
Number of Logical Video Cards: 1
Primary Display Resolution: 3840 x 2160
Desktop Resolution: 7740 x 2400
Primary Display Size: 27.56" x 15.35" (31.54" diag), 70.0cm x 39.0cm (80.1cm diag)
Primary VRAM: 12288 MB
Sound card:
Audio device: USB Mixer
Memory:
RAM: 32028 Mb
VR Hardware:
VR Headset: None detected
Miscellaneous:
UI Language: English
LANG: de_DE.UTF-8
Total Hard Disk Space Available: 1874720 MB
Largest Free Hard Disk Block: 1620927 MB
Storage:
Number of SSDs: 3
SSD sizes: 2000G,0B,0B
Number of HDDs: 0
Number of removable drives: 0

List of Titles:

Every single one where proton 9.0_2 is involved, ive yet to see a single one where this didnt happen. the game always seems to be displayed over the edge of the rightmost monitor, as if it assumes a bigger resolution than the monitor has, or launch windowed no matter what

Examples:

- Xenonauts, Detects monitor resolution of 1440x900 in launcher, launches on wrong monitor windowed no matter what you tell it(no im not using the built in wine wrapper, i am using proton through lutris, though going through steam has the same issue)
- Trackmania Nations Forever
- Starcom Unknown space
-Skyrim all versions/Fallout 3,NV,4 All with Script extender and without, modded or not. Launcher Again Detects the 1440x900 resolution
-Flyout
-The Long Drive
-Hell even libre office does this when run through proton
-D-Info 1995 (phone book software from 1995) also does this
-Saints Row 3

As for logs, Ive been messing around with it for about two hours now and i cant get it to give me a log, or at least to tell me where its supposed to be. I know it gave me logs in the past, as there is logs in my home folder from when proton decided to take 15 minutes to launch a game, which turned out to be steam cloud doing.... things. Is there a option to tell it that i want the log file here und exactly here?

giving it PROTON_LOG=+event,+xPROTON_LOG=+event,+x11drv,+x11settings,+win,+system,+fshack,+msg PROTON_LOG_FILE=/home/martin/Desktop/logfile.log %command% as an argument in lutris doesnt seem to phase it.

@alasky17
Copy link
Collaborator

@MartinKurtz I'm not 100% sure if Lutris is moving things around somehow. You can also go into your Proton folder in ~/.steam/steam/steamapps/common/Proton - Experimental (by default) and rename/cp user_settings.sample.py to "user_settings.py" and then edit the PROTON_LOG : 1 line -- just replace "1" with "+event,+x11drv,+x11settings,+win,+system,+fshack,+msg". The default location is ~/steam-[appid].log.

@zelburg
Copy link

zelburg commented Sep 13, 2024

@alasky17 Well... I was just about to test and give you the info you're looking for and then I noticed there's a new version of the Steam Client. I figured it would be prudent to update the client before testing.... bad idea.

Now, when I start steam all I get is the black steam window with the spinning gear icon in the middle. Nothing else in the window, no way to close it other than to kill the process. Any idea how to fix this or downgrade back to the previous client version?

I can give you at least the 1st and 3rd items you wanted:

xrandr --listmonitors
Monitors: 2
0: +*HDMI-1-0 1920/527x1080/296+1920+0 HDMI-1-0
1: +eDP-1 1920/344x1080/194+0+0 eDP-1

Games I've tried: Skyrim, Fallout 4, Witcher 3, Outer Wilds, I'm sure there's a few others, but those are the ones I've mainly been testing with.

If I can get the steam client working again, I'll be happy to post the other info you're looking for.

@apemax
Copy link
Author

apemax commented Sep 13, 2024

@alasky17

The output of xrandr --listmonitors:

Monitors: 2
 0: +*HDMI-A-1 1920/527x1080/296+1920+0  HDMI-A-1
 1: +DVI-D-1-1 1920/477x1080/268+0+0  DVI-D-1-1

Steam System Information:

https://gist.github.com/apemax/25579d072e6380c5b9cfc7b4d4f6ee5c

Steam Runtime Diagnostics:

https://gist.github.com/apemax/ff450f9ed870ff10b606eb829d794e6b

Proton log files from LEGO Star Wars: The Skywalker Saga:

steam-544610.log

And Battlestar Galatica: Deadlock:

steam-920210.log

Both run using Proton Experimental on X11.

I am unable to reproduce this on Wayland.

I will also mention for me at least this also happens with Native Linux games run using Steam Linux Runtime. The one I have noticed this with is War Thunder, Running it through Steam Linux Runtime it will launch on my left monitor, If I launch it directly outside of Steam it will launch on my right primary monitor.

If you need any more information just ask. :)

@zelburg
Copy link

zelburg commented Sep 14, 2024

@alasky17

I was able to get my steam client working again. So now I can give you the logs. You asked us to test with Proton Experimental, but I seem to be having a separate problem with it.... all it does is "Processing Vulkan Shaders"... then when it gets almost done quits or aborts... the game itself never starts.

So, I used Proton 9 (Beta), which actually appears to be newer than Experimental:

Proton Experimental => 9.0-202
Proton 9 (Beta) => 9.0-203

$ xrandr --listmonitors
Monitors: 2
 0: +*HDMI-1-0 1920/527x1080/296+1920+0  HDMI-1-0
 1: +eDP-1 1920/344x1080/194+0+0  eDP-1

Steam System Information

Steam Runtime Diagnostics

Steam log from Skyrim SE

I also see the same issue with Fallout 4 and Witcher 3 on both Fedora 37 and Fedora 40. I've seen it with other games as well, but only briefly checked them: Outer Wilds, Witcher 1, Halo and I'm sure a few others.

I'd be happy to further test specific games if you like.

@MartinKurtz
Copy link

The issue with the game never actually starting is something i had too, thats what i narrowed down to steam cloud, so i started using lutris and that worked well to circumvent that

@alasky17
Copy link
Collaborator

@MartinKurtz @zelburg (and anyone else) Could you try keeping your monitors in the same position (primary on right, etc) but making them "top aligned" so that they are +x+0, and then check if you still see the issue? I suspect you might, just trying to reduce a variable :) Thank you for all the details, logs, etc! I'm hoping that between all the info provided, something will stick out as the common variable that is causing y'all to all see this behavior on 9.0 vs 8.0 specifically...

@apemax
Copy link
Author

apemax commented Sep 16, 2024

@MartinKurtz @zelburg (and anyone else) Could you try keeping your monitors in the same position (primary on right, etc) but making them "top aligned" so that they are +x+0, and then check if you still see the issue? I suspect you might, just trying to reduce a variable :) Thank you for all the details, logs, etc! I'm hoping that between all the info provided, something will stick out as the common variable that is causing y'all to all see this behavior on 9.0 vs 8.0 specifically...

How does one check to see if your monitors are top aligned and change how they are aligned? I know with Nvidia I believe you can change it in nvidia-settings but I don't know how with a AMD GPU.

Also, As I can't reproduce this on Wayland I checked the output of xrandr --listmonitors:

Monitors: 2
 0: +*HDMI-2 1920/530x1080/300+1920+0  HDMI-2
 1: +DVI-D-1 1920/480x1080/270+0+0  DVI-D-1

Some of the numbers are different to the output from X11, Don't know if that helps.

@padthaitofuhot
Copy link

xrandr

$ xrandr --listmonitors
Monitors: 2
 0: +*DP-2 2560/598x1440/336+1920+0  DP-2
 1: +eDP-2-1 1920/344x1080/194+0+250  eDP-2-1

System Information

https://gist.github.com/padthaitofuhot/d944f1995783e6bc0c92f13b875fda26#file-steam_system_information-txt

System Diagnostics

https://gist.github.com/padthaitofuhot/d944f1995783e6bc0c92f13b875fda26#file-steam_system_diagnostics-txt

Titles

  • Literally anything running on Proton 9
  • Mechwarrior Online
  • Baldur's Gate 3
  • Fantasy Grounds
  • Ostriv
  • Per Aspera
  • Valheim
  • Mechwarrior 5

Log from normal monitor position for game Ostriv

steam-773790.log

Log from "top aligned" monitor position for game Ostriv

steam-773790.log

@zelburg
Copy link

zelburg commented Sep 16, 2024

@MartinKurtz @zelburg (and anyone else) Could you try keeping your monitors in the same position (primary on right, etc) but making them "top aligned" so that they are +x+0, and then check if you still see the issue?

@alasky17 , I'm more than happy to test some different settings, but also not quite sure how to check if the monitors are "top aligned" or how to change them if they're not?

I use Xfce Settings -> Display, to change the size/position of my monitors. I'm not opposed to using xrandr or some other method to tweak the settings, I'm simply not very familiar with it.

You mention "... so that they are +x+0", but if I look at my xrandr --listmonitors output:

$ xrandr --listmonitors
Monitors: 2
 0: +*HDMI-1-0 1920/527x1080/296+1920+0  HDMI-1-0
 1: +eDP-1 1920/344x1080/194+0+0  eDP-1

Specifically, the section for monitor "0", which is the external (right side) monitor set as Primary, it shows "... +1920+0", which appears to be what I think you mean by "top aligned". In other words, +1920 in the X direction (ie 1920 to the right), and +0 in the Y direction (ie. 0 from the top or "aligned" with the top of the left monitor). Yes? No? Maybe?

PS. As a side note, or maybe it's related. The /XXX values for the size of each monitor I assume refer to the physical size? I think it's little easier seen with this output:

$ xrandr | grep ' connected'
eDP-1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 344mm x 194mm
HDMI-1-0 connected primary 1920x1080+1920+0 (normal left inverted right x axis y axis) 527mm x 296mm

The "physical" size values for the internal monitor (eDP-1) seem to be correct. 344mm x 194mm, is approx 13.5" x 7.6", which appears to match the physical size of my internal monitor if I measure it with a measuring tape. But the physical size values for the external monitor (HDMI-1-0) seem to be off. 527mm x 296mm, is approx 20.7" x 11.6", but if I measure my external monitor it's closer to: 23.5" x 13.5" (or 597mm x 343mm). I have no idea if that's important or irrelevant.

My external monitor is a Sceptre E275W-19203RD 27" LED.
My internal monitor is part of a MSI GS66 Stealth 10UH254 laptop, and the monitor itself according to "inxi -xxx -G" is a Sharp LQ156M1JW23.

Complete inxi -xxx -G output in case that's of value:

$ inxi -xxx -G
Graphics:
  Device-1: Intel CometLake-H GT2 [UHD Graphics] vendor: Micro-Star MSI
    driver: i915 v: kernel arch: Gen-9.5 ports: active: eDP-1 empty: none
    bus-ID: 00:02.0 chip-ID: 8086:9bc4 class-ID: 0300
  Device-2: NVIDIA GA104M [GeForce RTX 3080 Mobile / Max-Q 8GB/16GB]
    vendor: Micro-Star MSI driver: nvidia v: 550.90.07 arch: Ampere pcie:
    speed: 2.5 GT/s lanes: 16 ports: active: none off: HDMI-A-1
    empty: DP-1,DP-2,eDP-2 bus-ID: 01:00.0 chip-ID: 10de:249c class-ID: 0300
  Device-3: Bison HD Camera driver: uvcvideo type: USB rev: 2.0
    speed: 480 Mb/s lanes: 1 bus-ID: 1-11:3 chip-ID: 5986:2127 class-ID: 0e02
    serial: 01.00.00
  Display: x11 server: X.Org v: 1.20.14 with: Xwayland v: 24.1.2
    compositor: xfwm4 v: 4.18.0 driver: X: loaded: modesetting,nvidia
    unloaded: fbdev,nouveau,vesa alternate: nv dri: iris
    gpu: i915,nvidia,nvidia-nvswitch display-ID: :0.0 screens: 1
  Screen-1: 0 s-res: 3840x1080 s-dpi: 96 s-size: 1016x286mm (40.00x11.26")
    s-diag: 1055mm (41.55")
  Monitor-1: HDMI-A-1 mapped: HDMI-1-0 note: disabled pos: primary,right
    model: Sceptre F27 res: 1920x1080 dpi: 93 size: 527x296mm (20.75x11.65")
    diag: 666mm (26.2") modes: max: 1920x1080 min: 640x480
  Monitor-2: eDP-1 pos: left model: Sharp LQ156M1JW23 res: 1920x1080 hz: 300
    dpi: 142 size: 344x194mm (13.54x7.64") diag: 395mm (15.5") modes: 1920x1080
  API: OpenGL v: 4.6 vendor: intel mesa v: 24.1.7 glx-v: 1.4 es-v: 3.2
    direct-render: yes renderer: Mesa Intel UHD Graphics (CML GT2)
    device-ID: 8086:9bc4
  API: Vulkan v: 1.3.290 layers: 7 surfaces: xcb,xlib device: 0
    type: integrated-gpu driver: N/A device-ID: 8086:9bc4 device: 1
    type: discrete-gpu driver: N/A device-ID: 10de:249c device: 2 type: cpu
    driver: N/A device-ID: 10005:0000
  API: EGL Message: EGL data requires eglinfo. Check --recommends.

@MartinKurtz
Copy link

@alasky17 top aligned and primary the leftmost monitor works fine, as it does when the primary is the leftmost without top align, but top aligned with a monitor left of the primary , the game will always launch on the leftmost monitor, often in the wrong resolution

@alasky17
Copy link
Collaborator

Hi folks - looks like the "top-aligned" theory has been disproven. Thank you for testing and for all the info/feedback! We will keep searching for the answer :)

@Nohus
Copy link

Nohus commented Sep 30, 2024

I'm also having this issue. Anything more we can do to help?

@bitbucket90
Copy link

I thought it was a user error; happening like this for every game.

I did seem to fix it with the 0 top aligned, I have a vertical and its above my main on the left, set at so top is aligned and everything went back to main. Will keep testing other games. Arma3 is working.

@Reiikz
Copy link

Reiikz commented Oct 13, 2024

Hello, I have the exact same problem with Bloons TD 6

xrandr --listmonitors
Monitors: 2
 0: +*HDMI-0 1366/160x768/90+1366+0  HDMI-0
 1: +HDMI-1-1 1366/522x768/293+0+0  HDMI-1-1

GTX 1060 3GB (HDMI-0)
AMD ATI Radeon Vega Series / Radeon Vega Mobile Series (HDMI-1-1)
AMD Ryzen 7 5700G with Radeon Graphics (16) @ 4.673GHz
(so the secondary display on which the game is launcher on newer proton versions is connected to the motherboard not the graphics card)
DE: I3-WM
X11
Arch Linux
I think it's a unity game so I figured an older proton version wouldn't affect the game so I set it to use Proton 7.0-6 and now it does launch in the primary display.
When I switch the game from one display to another on Proton 9 (or whatever was steam launching it with as I hadn't configured it) it seems fine but the game no longer responds to clicks although it does capture the cursor since it renders the custom cursor from the game.
But on proton 7.0-6 it works as expected, launches in the correct display and changing displays has no effect on it.
LMK if I can be any help, if you require any further information.

@Karzeeee
Copy link

Proton 9 Displaying on the leftmost monitor is a legacy issue with x11. If your Linux Distro and your Desktop Environment support it, (you'll have to look it up) download and install the wayland package(its not called wayland, its different for every desktop env), then reboot your PC and switch to it in your Login Screen.

@alasky17
Copy link
Collaborator

@apemax (and anyone else who this applies to) ... it looks like you have multiple AMD drivers installed -- "AMD open-source driver", "driver-version" : "2024.Q3.2 (LLPC)" and "AMD proprietary driver", "driver-version" : "(AMD proprietary shader compiler)". Just to confirm -- you only have 1 GPU, right?

Could you try temporarily uninstalling the proprietary AMD driver and keeping only the open-source mesa driver installed, and seeing if that fixes the issue? If this does fix the issue-- did you do any special configuration etc when installing/setting up your drivers? I was not able to reproduce this issue by merely installing the amdvlk (or amdvlk-pro) packages, but the "AMD proprietary driver" was also not showing up in Steam Runtime Diagnostics, which indicates to me that I wasn't fully mimicking your setup.

@MartinKurtz
Copy link

MartinKurtz commented Oct 14, 2024

@Karzeeee
it is not in fact a only x11 issue.

i am having this problem and:

$ echo $XDG_SESSION_TYPE
wayland

it appears you are misinformed

@MartinKurtz
Copy link

MartinKurtz commented Oct 14, 2024

@alasky17 how do i verify i have only one driver installed, lspci -nnk just shows me i have the amdgpu driver in use

and i dont remember installing the proprietary driver

edit: these two commands do not indicate any proprietary drivers either

#lsmod | grep amdgpu
amdgpu               9617408  213
gpu_sched              53248  1 amdgpu
drm_buddy              20480  1 amdgpu
i2c_algo_bit           16384  1 amdgpu
drm_display_helper    184320  1 amdgpu
drm_ttm_helper         16384  1 amdgpu
ttm                    94208  2 amdgpu,drm_ttm_helper
drm_kms_helper        212992  4 drm_display_helper,amdgpu
drm                   614400  60 gpu_sched,drm_kms_helper,drm_display_helper,drm_buddy,amdgpu,drm_ttm_helper,ttm
video                  65536  1 amdgpu

# dpkg -l | grep amdgpu
ii  libdrm-amdgpu1:amd64                                        2.4.114-1+b1                                                 amd64        Userspace interface to amdgpu-specific kernel DRM services -- runtime
ii  libdrm-amdgpu1:i386                                         2.4.114-1+b1                                                 i386         Userspace interface to amdgpu-specific kernel DRM services -- runtime
ii  xserver-xorg-video-amdgpu                                   23.0.0-1                                                     amd64        X.Org X server -- AMDGPU display driver

@Karzeeee
Copy link

@MartinKurtz

This should be a no-brainer, but im like 90% sure im right. so i'll say it anyway
Make sure the monitor you're trying to use proton is the primary monitor on your system

@Karzeeee
Copy link

The entire reason proton 9 displays on the left is because proton 9 is the first proton to check to see what wayland's Primary Monitor is set to, if none i set(or your using x11 and it gets confused) it defaults to left for some reason

@Karzeeee
Copy link

Karzeeee commented Oct 15, 2024

i was looking through all the posts on this thread, and so far i havent seen a single wayland user, except you

@zelburg
Copy link

zelburg commented Oct 15, 2024

This should be a no-brainer, but im like 90% sure im right. so i'll say it anyway Make sure the monitor you're trying to use proton is the primary monitor on your system

This has been checked and this is the problem. Proton 9 does not follow the primary monitor. Proton 8 does. At least that's the case for a certain group of users. Perhaps you're right... and maybe this is only related to X11, that doesn't mean it's not a problem. It's still a bug that should be fixed.

The entire reason proton 9 displays on the left is because proton 9 is the first proton to check to see what wayland's Primary Monitor is set to, if none i set(or your using x11 and it gets confused) it defaults to left for some reason

That's great news for Wayland, but doesn't help much for those not using Wayland. Unfortunately, not all distros have the option of using Wayland. Xfce (for example) does not have full support for Wayland... thus XWayland.

This functionality works fine with Proton 8 and unless Proton 9 decided to explicitly drop support for X11, then it should also work for X11.

@alasky17
Copy link
Collaborator

@Karzeeee There is something clearly going wrong in at least some of the logs. It is unclear why it only impacts a small subsection of users so far, and there is a chance that there are multiple issues at play and not everyone in this thread is seeing the same bug. We are trying to tackle the one we can see from logs (specifically seeming to be related to having multiple drivers/GPUs) but not reproduce ourselves first, and then see if any users have remaining issues :)

@MartinKurtz It looks like initially you only uploaded the output of "system information" and not "steam runtime diagnostics". We were able to glean that multiple drivers were installed from the runtime diagnostics, so if you upload those, that could help determine if you have the same issue or a different issue :) Based on the fact that you are on Wayland when this is primarily users on X11, it already seems like a reasonable chance that you are seeing a separate bug :/

@apemax
Copy link
Author

apemax commented Oct 15, 2024

@alasky17,

Sort of, I have 2 GPUs in my system, A RX 6500 XT and a GT 710. I have both amdvlk and AMDGPU-Pro installed and select which one I want to use with AMD Vulkan Prefixes.

I removed both amdvlk and AMDGPU-Pro and tested this issue again, On X11 I am still able to reproduce this issue, On Wayland I am still unable to reproduce this issue with Proton.

Some more information that might be useful. I have noticed that it seems like what monitor a game or application window launches on sometimes depends on what type of connection the monitor has, So this is how my system is setup GPU and monitor wise:

System - [RX 6500 XT] - [GT 710]
v v
HDMI-A-1 DVI-D-1-1
v v
iiyama 24" BenQ 22"

The iiyama 24" monitor is on the right and set as my primary monitor in Gnome, The BenQ 22" is on the left. So what I have noticed is some software seems to take it's display priority from the connection type.

So for example, Gnome/GDM will display the login screen on the BenQ 22" monitor on the right, Even though I have set the other one as the Primary monitor. Also my UEFI/BIOS displays on the left monitor, Even though it is connected to the GT 710 which is in a lower PCIe slot than the RX 6500 XT.

Gnome also labels the BenQ 22" as "1" and iiyama 24" as "2" in the Display settings.

So from what I have noticed at least it seems like the priority list is at least VGA > DVI > HDMI going from highest priority to lowest priority. I don't know where DisplayPort would fit in as I haven't tested that.

So perhaps when you test this you could try different connection types and different ports on the GPU to the two monitors and see if that changes anything?

@Reiikz
Copy link

Reiikz commented Oct 15, 2024

Replying to #7717 (comment)

I'd like to help resolve this issue, so any way I can help replicate this.
Please explain how do I provide this information to ya'll?

@RCMatthias
Copy link

So from what I have noticed at least it seems like the priority list is at least VGA > DVI > HDMI going from highest priority to lowest priority. I don't know where DisplayPort would fit in as I haven't tested that.

So perhaps when you test this you could try different connection types and different ports on the GPU to the two monitors and see if that changes anything?

Can confirm the seeming VGA > DVI > HDMI priority being prioritized over the actual software-determined primary monitors according to the bugs appearing here with Proton 9 & experimental. Using Steam compatibility mode into Proton 8 seems to fix the issue for now on games that allow it.

@alasky17
Copy link
Collaborator

@apemax Are you able to switch around your cables so that your primary monitor is using the cable that has highest "priority" (unless you already are). Does that "fix" the issue? I can't quite decipher if that is what you and @RCMatthias are implying from your testing?

Also - do you have both monitors plugged into the same GPU, or do you have one plugged into each GPU?

@alasky17
Copy link
Collaborator

alasky17 commented Oct 16, 2024

Replying to #7717 (comment)

I'd like to help resolve this issue, so any way I can help replicate this. Please explain how do I provide this information to ya'll?

@Reiikz Thank you for the willingness to help :) Could you get logs of the issue with Proton 8.0-x (assuming it has the same behavior as 7.0-x) and Proton 9.0-x with PROTON_LOG=+event,+x11drv,+x11settings,+win,+system,+fshack,+msg,+xrandr %command% so that we can compare the "good" vs "bad" logs and see if this is the same issue we have seen in other logs or if there is more than one issue resulting in the same end behavior? Logs will be stored by default in ~/steam-[appid#].log and you will need to rename the first log before capturing the second log, or the second launch attempt with overwrite the first log.

Also, could you attach a gist file link with the full output of Steam help -> system information? From looking at the information you provided above, it looks like your monitors are plugged into two separate graphics cards? Is it possible for you to plug both into the same GPU and see if you still see the issue? (Same goes for anyone else with this issue.)

@MartinKurtz
Copy link

@MartinKurtz It looks like initially you only uploaded the output of "system information" and not "steam runtime diagnostics". We were able to glean that multiple drivers were installed from the runtime diagnostics, so if you upload those, that could help determine if you have the same issue or a different issue :) Based on the fact that you are on Wayland when this is primarily users on X11, it already seems like a reasonable chance that you are seeing a separate bug :/

Yes you are right, english isnt my first language, so i mixed that up. The steam runtime info is compiling now.

and whoopdie doo here we got a link https://pastebin.com/LDRCpygB

@apemax
Copy link
Author

apemax commented Oct 16, 2024

@alasky17,

I've done some more testing and found out a few of things.

  1. This issue is not Proton 9 and above just displaying on the left most monitor every time regardless of setup.
  2. It also does not seem to be that it is solely choosing to display on the highest priority monitor like I mentioned previously, VGA > DVI > HDMI, etc.
  3. When I connected both my monitors via HDMI I was still able to reproduce the issue.

Now on to the interesting part, If I connect the iiyama 24" monitor via HDMI and the BenQ 22" monitor via both HDMI and DVI to simulate 3 monitors, Then order them in the Gnome Display settings so it goes BenQ+DVI > iiyama+HDMI > BenQ+HDMI from left to right and set the center iiyama+HDMI monitor to Primary the issue does not reproduce, If I then disable the BenQ + HDMI monitor in Gnome Display settings the issue still does not reproduce however if I then unplug the BenQ+HDMI cable so I'm back to my original setup the issue reproduces.

I'm not 100% sure what this means but perhaps it might help you find a way to reproduce this.

I have the iiyama 24" plugged into my RX 6500 XT via HDMI and the BenQ 22" plugged into the GT 710 via DVI. So one in one GPU, One in the other.

@alasky17
Copy link
Collaborator

@apemax Very interesting! It is good to know that it is perhaps not something inherent to your monitors (and good news because obviously I don't have those exact ones). From reading your description, it sounds like you have not yet tried plugging both monitors into one GPU and none into the other? If it is possible, it would be interesting, just to confirm/disprove a theory we have going right now :)

@MartinKurtz Ty! This helps narrow things down and get rid of some options :)


As is perhaps obvious from my recent messages - right now the leading theory is that the issue is specific to dual GPU setups, perhaps specifically when there are two monitors plugged into two separate GPUs? Unfortunately, we can't test this for a couple of weeks due to some logistics, so there might be a bit of radio silence until we get access to a similar setup.

@zelburg
Copy link

zelburg commented Oct 18, 2024

@alasky17

As is perhaps obvious from my recent messages - right now the leading theory is that the issue is specific to dual GPU setups, perhaps specifically when there are two monitors plugged into two separate GPUs?

When you say "dual GPU setup", do you mean two separate dGPUs or does an iGPU and a dGPU count in your theory?

I know you said there could be multiple problems and not necessarily related, so I'm just curious if the "leading theory" applies to my situation. I have a laptop with dual GPUs:

  1. Intel CometLake-H GT2 (integrated - Intel Core i7-10750H CPU)
  2. GeForce RTX 3080 Mobile (discrete)

Also, how does the code related to dual GPUs differ between Proton 8 and 9. In other words, why does Proton 8 work?

@apemax
Copy link
Author

apemax commented Oct 18, 2024

@alasky17,

No I haven't manage to test with 2 monitors only plugged into one GPU yet as I am having some issues with that, I can't plug two monitors into my RX 6500 XT as I can't plug any DP cable into the DP port due to clearance issues with my case, If I plug two monitors into my GT 710 via DVI and HDMI X11 crashes right after trying to log in, Wayland works fine though so no idea whats up with it there.

I should just mention I am using the Nouveau driver with my GT 710 and do not have any of the Nvidia proprietary driver installed. I will continue to think if there is any way I can test this.

On a related note, I also get this issue with Steam Linux Runtime with Native Linux games as well, Do you want a separate bug report for the that? And if so where do you want that report?

@Nohus
Copy link

Nohus commented Oct 18, 2024

As is perhaps obvious from my recent messages - right now the leading theory is that the issue is specific to dual GPU setups, perhaps specifically when there are two monitors plugged into two separate GPUs? Unfortunately, we can't test this for a couple of weeks due to some logistics, so there might be a bit of radio silence until we get access to a similar setup.

That would match my setup. 2 monitors connected to the GPU, 1 connected to the motherboard (iGPU).

Edit: Can confirm the issue went away after connecting all monitors to the same GPU.

@J-Hayward99
Copy link

Hi,

I'm having the same issue as well. From what I can tell, if a game can't find a primary monitor it seems to look for "0 0" aka the left-top monitor, then seem to scan along the Y axis then the X axis for one. Not sure on how this works internally but is Proton correctly passing the variable saying which monitor is primary?

SETUP (Left to Right)

  1. 1920x1080 (0, 420) 60Hz (display 1)
  2. 2560x1440 (1920, 240) 166Hz (display 3)
  3. 1080x1920 (4480, 0) 60Hz (display 2)

Additionally when trying some games, I noticed it didn't like not using the left-most monitor. For DS1:R it refused to use my main monitor (middle) and would fullscreen back to the left one. Payday 2 could work on both but only starts on the left one and only listed one monitor in its options (display 1). DoorKicker2 seems to have the "default to 0 0 if not found" option which makes me think this is a common setting.

Other settings that might be of use:

Linux: Mint 22 (fresh install)
GPUs: 1050 ti (displays 1 and 2), 1070 (display 3)
On "display" and "arandr" I set the main monitor as primary

As is perhaps obvious from my recent messages - right now the leading theory is that the issue is specific to dual GPU setups, perhaps specifically when there are two monitors plugged into two separate GPUs? Unfortunately, we can't test this for a couple of weeks due to some logistics, so there might be a bit of radio silence until we get access to a similar setup.

That would match my setup. 2 monitors connected to the GPU, 1 connected to the motherboard (iGPU).

Edit: Can confirm the issue went away after connecting all monitors to the same GPU.

I have a dual card setup, I haven't tried but it's not the first time (was on windows until yesterday) that there would be a weird obsession by games to start on my left monitor, presumably because of either the "0 0" or because I think it's the first GPU available and the first port. But that could just be a bad game and normally fixing it stays permanent (unlike Linux).

Maybe there's an issue with how the software searches for "Primary" if there's more than one GPU, seems like something that could be overlooked where it doesn't combine the lists of monitors per GPU

Regards,
James

@J-Hayward99
Copy link

To add to my previous message quickly, I downgraded Proton to the one the first (or so) guy replied with, things now work as intended for those games (excluding PD2 but heard that's been an issue since 2016), so something definitely happened with how the monitors are detected thus forcing them to look for "0 0" instead (well not definitely, but they are capable of finding the primary monitor so it seems like a fallback due to a bad value)

@alasky17
Copy link
Collaborator

Hi folks - posting an update with some mildly good news. I was finally able to reproduce the problem (yay!). The critical piece was indeed having multiple displays (primary on the right of course) and plugging them into different GPUs. Now the hard work begins of trying to fix the code ... I will update when we have some progress or alternatively if I need more info. Thank you for all the back and forth trying to diagnose the issue! Hopefully I'll have even better news soon, although I must warn that windowing issues like this can be extremely tricky to solve properly.

@MartinKurtz
Copy link

Which would mean that the issue i am having could be entirely separate, as i dont have two GPUs. do you want me to open up a new issue for this or maybe see if whatever you come up with fixes it?

@alasky17
Copy link
Collaborator

@MartinKurtz I did see in your system info:
{
"name" : "AMD Radeon RX 6750 XT (RADV NAVI22)",
"api-version" : "1.3.230",
"vulkan-driver-id" : 3,
"driver-name" : "radv",
"driver-version" : "Mesa 22.3.6",
"vendor-id" : "0x1002",
"device-id" : "0x73df",
"type" : "discrete-gpu"
},
{
"name" : "llvmpipe (LLVM 15.0.6, 256 bits)",
"api-version" : "1.3.230",
"vulkan-driver-id" : 13,
"driver-name" : "llvmpipe",
"driver-version" : "Mesa 22.3.6 (LLVM 15.0.6)",
"vendor-id" : "0x10005",
"device-id" : "0",
"type" : "cpu",
"issues" : [
"software-rendering"

This indicated to me that you might have one monitor plugged into a discrete GPU and one into your motherboard with an iGPU? So perhaps you do have "two GPUs"? As far as I can tell, an iGPU "counts" in this case, as long as one monitor is plugged into it directly and causing steam to detect two separate drivers.

In either case, I think it makes sense to wait and see if the fix also helps you. There were already hints that you could be seeing a different issue as the only wayland reporter that I'm aware of, but it is similar enough that I have some hope (not to mention, we likely wouldn't be able to work on both issues at the same time).

@MartinKurtz
Copy link

I definitely dont have anything plugged into my iGPU and it in theory shouldnt even be active, but who knows

@Dominic1DL
Copy link

Just to add to this. I having Similar Issues. Proton 8 and below all works well. When using Experimental or 9 it starts on a different screen and even if I pull it to another the Buttons will no longer work in some areas.

@alasky17
Copy link
Collaborator

alasky17 commented Nov 8, 2024

Hi folks - good news :D After figuring out the common thread (dual GPU with 1 monitor plugged into each), it was relatively easy to triage this, and experimental-9.0-bleeding-edge now has a potential fix. This fix worked for me and I'm now seeing the same behavior as Proton 8.0. Hopefully this will work for everyone on this thread as well. This won't fix any windowing bugs from 8.0, but it should cause 9.0 behavior to match 8.0. Please let me know if you are still seeing anything regressive. For anything that is an old outstanding bug, please use the game specific issue threads instead of this one :)

@Reiikz
Copy link

Reiikz commented Nov 8, 2024

Hi folks - good news :D After figuring out the common thread (dual GPU with 1 monitor plugged into each), it was relatively easy to triage this, and experimental-9.0-bleeding-edge now has a potential fix. This fix worked for me and I'm now seeing the same behavior as Proton 8.0. Hopefully this will work for everyone on this thread as well. This won't fix any windowing bugs from 8.0, but it should cause 9.0 behavior to match 8.0. Please let me know if you are still seeing anything regressive. For anything that is an old outstanding bug, please use the game specific issue threads instead of this one :)

I can confirm switching to Proton Experimental Bleeding Edge fixes behavior with Bloons TD 6 :3.
I can even move the window from one display to the other (remember they're on different GPUs) and the game is totally fine and I can keep playing it which is a thing that would prevent mouse clicks from registering properly before.
It even seems to remember which display it was last using and opens on that one which is cool I suppose and it's totally fine behavior.
So now it does open on the correct display.
Thanks! you rock! <3

@nyrkovalex
Copy link

Tried Proton Hotfix today and it seems to work fine 🎉
Thanks a lot for the good work

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests