TransWikia.com

Steam game display is wrong on multi-monitor setup under Linux

Arqade Asked by Moha on May 25, 2021

I have a multi-monitor setup on a Linux Mint system. My main monitor is 1980×1200 (16:10 ratio) and my secondary monitor stands pivoted (1050×1680) next to it.
Steam itself works fine, even in big picture mode, but when I launch a game, it assumes my display is 1980×1680 and I only see the bottom half of the game screen.

Can I do anything about it without switching off my secondary display?

4 Answers

Force steam to use your main monitor only. You can either use Windows key + P to change the display to single screen when you play a game or you can use a common resolution which can be supported on both your displays. It would be better to set resolution of the game in each screen separately.

Answered by sam_t on May 25, 2021

The main problem is that it's looking at your "Virtual Screen", some games do this. As you can see from my xrandr output, my "virtual screen" is "3840x1080" which is accurate. But your virtual screen is probably "1980x1680".

Unfortunately, that's not very helpful when your trying to play a full screen game. A lot of "what can I do" will depend on the game.

  • If the game is older and using xrandr incorrectly then your best best is to disable the second display.
  • If the game is just guessing a default resolution incorrectly then you can try changing that setting in a config file, or if you're lucky, you can access enough of the game window to change it there.
  • If your game is using the window manager to determine resolution (some do, IDK why) you can try changing window managers. kwin works really well.
  • If all else fails try setting up "Steam Desktop Environment". Plus it's nice if you're a heavy big picture mode user. (Here is a sample, but there are others)

12:59:43 ~$ xrandr
Screen 0: minimum 8 x 8, current 3840 x 1080, maximum 16384 x 16384
DVI-I-0 disconnected (normal left inverted right x axis y axis)
DVI-I-1 disconnected (normal left inverted right x axis y axis)
HDMI-0 connected primary 1920x1080+0+0 (normal left inverted right x axis y 
axis) 598mm x 336mm
   1920x1080     60.00*+  59.94    50.00  
   1680x1050     59.95  
   1600x900      60.00  
   1440x900      59.89  
   1280x1024     60.02  
   1280x800      59.81  
   1280x720      60.00    59.94    50.00  
   1024x768      60.00  
   800x600       60.32    56.25  
   720x576       50.00  
   720x480       59.94  
   640x480       59.94  
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 connected 1920x1080+1920+0 (normal left inverted right x axis y axis) 
598mm x 336mm
   1920x1080     60.00*+  59.94    50.00  
   1680x1050     59.95  
   1600x900      60.00  
   1440x900      59.89  
   1280x1024     60.02  
   1280x800      59.81  
   1280x720      60.00    59.94    50.00  
   1024x768      60.00  
   800x600       60.32    56.25  
   720x576       50.00  
   720x480       59.94  
   640x480       59.94  
DP-2 disconnected (normal left inverted right x axis y axis)
DP-3 disconnected (normal left inverted right x axis y axis)
DP-4 disconnected (normal left inverted right x axis y axis)
DP-5 disconnected (normal left inverted right x axis y axis)

Answered by coteyr on May 25, 2021

How to solve your problem and more forever:

  • Setup a new user. I called mine "steam".

  • Install openbox. It's small and harmless: "sudo apt install openbox"

  • You can now select openbox as a login. It is an EXTREMELY lightweight session that opens only to a blank screen. You can right click the blank screen to get a terminal if you need it.

  • From the terminal or by logging in as that user normally, install steam for that user.

  • Find the name of the secondary monitor you don't care about by typing "xrandr" and figuring it out from the connector. If you don't have xrandr (I think you will) then "sudo apt install xrandr"

  • Create and edit a file "/home/steam/.config/openbox/autostart" (Replacing "steam" with whatever you named your user).

  • Put the following in the startup:

xrandr --output [your monitor] --off

sleep 2

steam &

Replacing your monitor with the one you don't want. Mine was "DVI-I-1" for example. If you're not sure, try the command from a terminal. It won't save it if you screw up, you can just log out.

Now when you want to play games you login as "steam" (or whatever) using the openbox login. Your secondary monitor is shut off and never a problem with anything. Additionally, you have no openGL compositor which can sometimes cause problems, and your system is running extremely lightweight using only 300 or 400 meg or so of RAM.

Answered by DCBillen on May 25, 2021

I occasionally have to redo this when monitors get reset or something: It's a little similar to the others' answers that suggests xrandr. Run:

xrandr

This should output something similar to my dual monitors setup:

Screen 0: minimum 16 x 16, current 4920 x 2160, maximum 32767 x 32767
XWAYLAND37 connected 1080x1920+0+0 (normal left inverted right x axis y axis) 270mm x 480mm
  1080x1920     59.96*+
XWAYLAND38 connected 3840x2160+1080+0 (normal left inverted right x axis y axis) 700mm x 390mm
  3840x2160     59.98*+

Steam currently launches on the smaller screen and I want to use the 2nd larger screen, in this example called XWAYLAND38. So I need to mark that as the primary (again).

 xrandr --output XWAYLAND38 --primary

If you launch xrandr again:

Screen 0: minimum 16 x 16, current 4920 x 2160, maximum 32767 x 32767
XWAYLAND37 connected 1080x1920+0+0 (normal left inverted right x axis y axis) 270mm x 480mm
    1080x1920     59.96*+
XWAYLAND38 connected primary 3840x2160+1080+0 (normal left inverted right x axis y axis) 700mm x 390mm
    3840x2160     59.98*+

The correct monitor is now marked as primary and games should launch on it.

Answered by flurdy on May 25, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP