-
-
Save debloper/2793261 to your computer and use it in GitHub Desktop.
#!/bin/bash | |
# Copyright (c) 2021 Soumya Deb <[email protected]> | |
# | |
# Permission is hereby granted, free of charge, to any person obtaining a copy | |
# of this software and associated documentation files (the "Software"), to deal | |
# in the Software without restriction, including without limitation the rights | |
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |
# copies of the Software, and to permit persons to whom the Software is | |
# furnished to do so, subject to the following conditions: | |
# | |
# The above copyright notice and this permission notice shall be included in | |
# all copies or substantial portions of the Software. | |
# | |
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | |
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | |
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | |
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | |
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | |
# SOFTWARE. | |
# | |
# --- | |
# Q: WHY IS THERE A COPYRIGHT NOTICE ON THIS SCRIPT? | |
# A: It had to be added on (a very reasonable) user request. | |
# https://gist.github.com/chirag64/7853413#gistcomment-3736041 | |
# First we need to get the modeline string for xrandr | |
# Luckily, the tool `gtf` will help you calculate it. | |
# e.g. `gtf <hRes> <vRes> <refreshRate>`: | |
gtf 1920 1080 60 | |
# In this case, the horizontal resolution is 1920px the | |
# vertical resolution is 1080px & refresh-rate is 60Hz. | |
# IMPORTANT: BE SURE THE MONITOR SUPPORTS THE RESOLUTION | |
# Typically, it outputs a line starting with "Modeline" | |
# e.g. "1920x1080_60.00" 172.80 1920 2040 2248 2576 1080 1081 1084 1118 -HSync +Vsync | |
# Copy this entire string (except for the starting "Modeline") | |
# Now, use `xrandr` to add a new display mode. Pass the | |
# copied string as the parameter to the --newmode option: | |
xrandr --newmode "1920x1080_60.00" 172.80 1920 2040 2248 2576 1080 1081 1084 1118 -HSync +Vsync | |
# Well, the string within the quotes is the nick/alias | |
# of the display mode - you can as well pass something | |
# as "MyAwesomeHDResolution". But, why though!?! | |
# Then all you have to do is to add the new mode to the | |
# display you want to apply, like this: | |
xrandr --addmode VGA1 "1920x1080_60.00" | |
# VGA1 is the display name, it might differ for you. | |
# Run `xrandr` without any parameters to be sure. | |
# The last parameter is the mode-alias/name which | |
# you've set in the previous command (--newmode) | |
# It should add the new mode to the display & apply it. | |
# If it doesn't apply automatically, force it with: | |
xrandr --output VGA1 --mode "1920x1080_60.00" | |
# That's it... Enjoy the new awesome high-res display! | |
# NOTE to make the change persistent over reboots: | |
# - save the script file (with the necessary changes) | |
# - run it at startup (search the web for "How To") | |
# Thanks for the feedback! |
how to save this change to make it working after reboot?
Oh, great, now I get an option with the desired resolution in the droptown to choose. However, when I apply it it has no effect, the screen still stays at 640x480.
Very useful!
@teo1978 for a person in their 40's you're awfully bitter. Hope you don't intend to spend the rest of your life as such. I'd recommend taking a moment to self-reflect. And if this seems like an unwarranted/unwanted advice, then congrats... I've been able to get my message across without resorting to passive-aggressive smugness or sarcasm.
If I was facing the same issue as yours, I'd check (in order):
- if the monitor is rated for the resolution+refresh rate
- the graphics processor is capable of delivering it, and
- the frame-buffer throughput is sufficient to allow it.
I can't tell which one might be the problem, cause your comment didn't come with any useful diagnostic/troubleshooting information.
how to save this change to make it working after reboot? @saviobabu @Mouhamouhy @asdf5252
To make it persistent, just add the resulting xrandr
commands to your ~/.xprofile
:
#!/bin/sh
xrandr --newmode "1920x1080_60.00" 172.80 1920 2040 2248 2576 1080 1081 1084 1118 -HSync +Vsync
xrandr --addmode VGA1 "1920x1080_60.00"
xrandr --output VGA1 --mode "1920x1080_60.00"
I entered xrandr --newmode "1920x1080_60.00" 172.80 1920 2040 2248 2576 1080 1081 1084 1118 -HSync +Vsync
and it returned xrandr: Failed to get size of gamma for output default
What do I do?
@Vortigern-The-Grey I looked up the error and found this discussion: https://askubuntu.com/questions/441040/ - hopefully it helps.
@namhoangle from the output name, I'm guessing it's a remote desktop session. If that's the case, see if https://unix.stackexchange.com/questions/90101/xrdp-custom-resolution-fedora-19 helps.
If that's not the case, the simplest assertion would be either
Without knowing more about the relevant details of the system, it'll not be possible to pinpoint the issue.