March 14, 2020, 8:01 p.m.

Adding undetected screen resolution to xrandr

A few days ago I bought a used HP Thin Client T610, it has a AMD CPU and GPU. I have read some posts about AMD GPUs not being supported under GNU+Linux, I tried to find a driver (proprietary driver) for this machine as my screen resolution is limited to 1024 x 768 which is annoying.

$ xrandr
Screen 0: minimum 320 x 200, current 1024 x 768, maximum 8192 x 8192
DisplayPort-0 disconnected primary (normal left inverted right x axis y axis)
DVI-0 disconnected (normal left inverted right x axis y axis)
VGA-0 connected 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
   1024x768      60.00* 
   800x600       60.32    56.25  
   848x480       60.00  
   640x480       59.94  

I have spent days of trying to figure out how to downgrade my current Debian installation until I realized to read the manual for xrandr at arch linux wiki (archlinux wiki has the best wiki for GNU+Linux utilities). Then I saw the section, Troubleshooting > Adding undetected resolutions. Bingo! My problem was not the AMD firmware but the resolution, I immediately followed the steps in the wiki and voila! I have a good screen resolution of 1366 x 768. Here is the steps that I’ve done:

Get the Modeline for the resolution that we want:

$ cvt 1366 768

# 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

Create a new xrandr mode based on the output of the Modeline:

$ xrandr --newmode "1368x768_60.00"   85.25  1368 1440 1576 1784  768 771 781 798 -hsync +vsync

Add our new mode to our output (VGA-0):

$ xrandr --addmode VGA-0 1368x768_60.00

Set the output to our custom output:

$ xrandr --output VGA-0 --mode 1368x768_60.00