Edit 13.11.2023: More simple instructions:
At first install package xcvt or cvt
Then run
xrandr
… for seeing current modes
To set custon settings: An example 1440×900
cvt 1440 900
Output comes like
# 1440×900 59.89 Hz (CVT 1.30MA) hsync: 55.93 kHz; pclk: 106.50 MHz
Modeline ”1440x900_60.00” 106.50 1440 1528 1672 1904 900 903 909 934 -hsync +vsync
To add custom mode
xrandr --newmode "1440x900_60.00" 106.50 1440 1528 1672 1904 900 903 909 934
xrandr --addmode LVDS1 "1440x900_60.00"
xrandr -s 1440x900
xrandr --output LVDS1 --primary --mode 1440x900_60.00 --pos 0x0 --rotate normal
…. Make a script and add it to the startup
###############################################
If you have a problematic display who gives resolutions like
1920x1080 60.00 +
1280x1024 75.02 60.02
You can add custom resolution like the next way:
Run:
xrandr
The output is like
Screen 0: minimum 320 x 200, current 1368 x 768, maximum 8192 x 8192
VGA-1 connected primary 1368x768+0+0 (normal left inverted right x axis y axis) 476mm x 268mm
1920x1080 60.00 +
1280x1024 75.02 60.02
1280x960 60.00
1280x800 59.81
1152x864 75.00
1280x720 60.00
1024x768 75.03 70.07 60.00
832x624 74.55
800x600 72.19 75.00 60.32 56.25
640x480 75.00 72.81 66.67 59.94
720x400 70.08
If wanting a resolution 1368x768
, run
cvt 1368 768
A result is like
# 1368x768 59.88 Hz (CVT) hsync: 47.79 kHz; pclk: 85.25 MHz
Modeline "1368x768_60.00" 85.25 1368 1440 1576 1784 768 771 781 798 -hsync +vsync
Add a new resolution using commands
xrandr --newmode "1368x768_60.00" 85.25 1368 1440 1576 1784 768 771 781 798 -hsync +vsync
xrandr --addmode VGA-1 1368x768_60.00
xrandr -s 1368x768
Make a script and add that script to the startup applications
nano RESO
… the contents
#! /bin/sh
xrandr --newmode "1368x768_60.00" 85.25 1368 1440 1576 1784 768 771 781 798 -hsync +vsync
xrandr --addmode VGA-1 1368x768_60.00
xrandr -s 1368x768
… save and quit
Ctrl o
Ctrl x
Make the script executable
chmod +x RESO
Add the script to the startup applications
If you cannot set resolution using xrandr
, you can probably use scale option. At first check current display.
xrandr && xrandr | fgrep '*'
If LVDS is connected, you can test for example
Safe test
xrandr --output LVDS --scale 0.8x0.8 && sleep 10 && xrandr --output LVDS --scale 1x1
If safe test goes ok, you can try
xrandr --output LVDS --scale 1.11x1.11 && sleep 10 && xrandr --output LVDS --scale 1x1
…. and so on until you find the proper settings. When you have found the right settings, make a script and add it to startup applications.