-
Notifications
You must be signed in to change notification settings - Fork 70
Custom Resolutions And Refresh Rates
Table of Contents generated with DocToc
- Warning!
- Before we begin
- Process
- Desktop Modee
- Applying the changes
- Issues tickets in progress regarding this matter
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.
Please ensure you have set the desktop user password and enabled access to the Linux desktop in Settings > Display > Interface. Exit to the desktop by clicking the power button icon in the top right of the main BPM/SteamOS screen, and choose "Exit to desktop." We will be editing these configuration though Gnome Terminal. As for editing the below files mentioned, you can use any editor you choose. The most popular tend to be vim
(requires some knowledge) or nano
(easier for beginners).
Example from a command-line Terminal Window:
nano file.txt
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
Editing:
nano /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" "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.
T his script does not run when the desktop mode is launched, which means the Gnome gets to decide which resolution it uses. This could result in 'no signal' when launching the desktop. You can force set_hd_mode.sh
to run by creating a file like /home/desktop/.config/autostart/set_hd_mode.desktop
with the following content:
[Desktop Entry]
Type=Application
Exec=/usr/bin/steamos/set_hd_mode.sh
X-GNOME-Autostart-enabled=true
Name=sethdmode
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.