Eu tive esse problema também em várias distribuições do Linux e criei um script que copio para sistemas nos quais encontro esse problema, que incluirei abaixo depois de uma breve explicação de minhas descobertas, embora ainda tenha um problema com a permanência, pois nem todos os arquivos de configuração são criados iguais ou até presentes em alguns tipos de sistema operacional Linux; no entanto, acho que ambos os utilitários para consultar e definir os modos estão presentes ('cvt' e 'xrandr').
Primeiro de tudo, você precisa determinar os parâmetros para definir com 'xrandr', o que fará com 'cvt' executando o seguinte em uma janela de terminal. Primeiro, pegue os dados de 'xrandr' como você já tem. Quando executo 'xrandr', ele retorna o seguinte:
xrandr
Screen0: minimum 1024 x 768, current 1024 x 768, maximum 1024 x 768 default connected primary 1024x768+0+0 0mm x 0mm 1024x768 76.00*
A única informação que você realmente precisa do bloco acima é o nome do dispositivo, Screen0 que eu colocarei no código abaixo para seu benefício. Certifique-se de alterar quaisquer dados que você obtenha do xrandr e cvt que sejam diferentes dos meus resultados, pois seu hardware é diferente e pode retornar parâmetros diferentes.
Você precisará obter seus dados da cvt:
cvt 1600 900
Isso deve retornar algo como:
# 1600x900 59.95 Hz (CVT 1.44M9) hsync: 55.99 kHz; pclk: 118.25 MHz Modeline "1600x900_60.00" 118.25 1600 1696 1856 2112 900 903 908 934 -hsync +vsync
Você precisará dos dados do Modeline das aspas até o final do 'vsync'
Com isso, se eu estivesse fazendo isso com a resolução e o hardware que eu tenho, eu colocaria o seguinte em um script, salve-o como algo como 'fixmyres.sh'
# Resolution fix for 1600x900 - changes to 1600x900 with cvt calculation
xrandr --newmode "1600x900_60.00" 118.25 1600 1696 1856 2112 900 903 908 934 -hsync +vsync
xrandr --addmode Screen0 1600x900_60.00
xrandr --output Screen0 --mode 1600x900_60.00
e defina como executável:
chmod a+x fixmyres.sh
execute-o
./fixmyres.sh
Eu coloco o arquivo na área de trabalho, pois os resultados foram inconsistentes para mim usando o (s) arquivo (s) Xorg.
Espero que isso ajude. Ainda estou bastante molhado atrás das orelhas em minha experiência com o Linux, mas tive muita dificuldade em encontrar essas informações e espero economizar um pouco de trabalho para outras pessoas que estão passando por esses problemas também. Agora, se eu pudesse torná-lo permanente com algumas distribuições Linux (eu uso Ubuntu, Fedora, Gentoo, BSD e outros, que são todos diferentes).
Computação feliz!