-
Notifications
You must be signed in to change notification settings - Fork 71
Custom Resolutions And Refresh Rates
Valve, nor the author of this section is responsible for damage to your system! Modifying the resolution of Big Picture Mode (running on top of steamcompmgr) in SteamOS is an advanced action, and should not be attempted by novice users. Proceed at your own risk.
There are plans to officially add this functionality, but there is some more work to be done within the Steam client itself and additional plumbing to let people decide if they want to run a given game at 4K or not, and to opt into 4K native support to begin with, to limit performance and compatibility problems.There are many TVs out there right now where making that change would net you a blank 'no signal' screen without any recourse.
Note that if you chose to do this yourself in the short term, you should probably also add -fulldesktopres to the Steam client arguments in /usr/bin/steamos-session in order to take advantage of the extra DPI in the system UI, not just in games.
Currently SteamOS only supports the 1920x1080 and 1280x720 at 60 or 59.9 hz. Using other resolutions like 3840x2160 or 2560x1440 and using different refresh rates like 144 and 120 hz are not possible by default.
The developer behind VaporOS found that this is because the script /usr/bin/steamos/set_hd_mode.sh
found in the steamos-compositor package, which is used to set the resolution, doesn't consider those options. Making the following change to the script should make SteamOS able to use higher resolutions or refresh rates.
First you'll need to check which resolution and framerate combinations are supported by your monitor and graphics card. You can get a list with the xrandr command, which will look something like this:
[desktop@steamos ~]$ xrandr
Screen 0: minimum 8 x 8, current 2560 x 1440, maximum 16384 x 16384
DVI-I-0 disconnected (normal left inverted right x axis y axis)
DP-0.8 connected primary 2560x1440+0+0 (normal left inverted right x axis y axis) 553mm x 311mm
2560x1440 59.95 +
2048x1152 60.00
1920x1200 59.88
1920x1080 60.00* 59.94 50.00 29.97 25.00 23.97 60.05 60.00 50.04
1680x1050 59.95
1600x1200 60.00
1280x1024 75.02 60.02
1280x720 60.00 59.94 50.00
1200x960 59.90
1152x864 75.00
1024x768 75.03 60.00
800x600 75.00 60.32
720x576 50.00 50.08
720x480 59.94 60.05
640x480 75.00 59.94 59.93
DVI-I-1 disconnected (normal left inverted right x axis y axis)
HDMI-0 disconnected (normal left inverted right x axis y axis)
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
DVI-D-0 disconnected (normal left inverted right x axis y axis)
To use the highest resolution found in this example, we'd have to add a resolution and a refresh rate to /usr/bin/steamos/set_hd_mode.sh
set_hd_mode.sh before editing
return 1
}
GOODMODES=("1920x1080" "1280x720")
GOODRATES=("60.0" "59.9") # CEA modes guarantee or one the other, but not both?
# First, some logging
set_hd_mode.sh after editing
return 1
}
GOODMODES=("2560x1440" "3840x2160" "2560x1440" "1920x1080" "1280x720")
GOODRATES=("60.0" "59.95" "59.9") # CEA modes guarantee or one the other, but not both?
# First, some logging
Note that the first options in GOODMODES and GOODRATES are preferred by the script, if you were you add your preferred resolution after another functional resolution, it would never be picked.
To apply the changes you just have to save them and reboot the machine or restart the window manager(can be forced by killing Steam). In this example SteamOS would use the 2560x1440 resolution at 59.95 hz after that.