
Tengo dos monitores con diferente max. resoluciones (2560x1440 y 1920x1080). En Windows puedo configurar la resolución máxima para ambos monitores, pero en Linux (manjaro, controladores propietarios de nvidia y xrandr 1.5) la resolución del más grande está limitada a 2048x1152. Leí varias preguntas/hilos/artículos sobre cómo agregar una resolución personalizada a través de xrandr, pero ninguno de ellos me funciona. Aquí está mi problema:
Salida de xrandr:
Screen 0: minimum 8 x 8, current 3968 x 1152, maximum 16384 x 16384
DVI-I-0 disconnected (normal left inverted right x axis y axis)
DVI-I-1 disconnected (normal left inverted right x axis y axis)
DVI-I-2 connected 1920x1080+2048+0 (normal left inverted right x axis y axis) 478mm x 269mm
1920x1080 60.00*+
... skipped few lines ....
640x480 75.00 72.81 59.94
HDMI-0 connected primary 2048x1152+0+0 (normal left inverted right x axis y axis) 553mm x 311mm
2048x1152 60.00*+
... skipped few lines ...
640x480 75.00 59.94 59.93
DVI-I-3 disconnected (normal left inverted right x axis y axis)
Genero nueva resolución personalizada con cvt:
$ cvt 2560 1440 60
# 2560x1440 59.96 Hz (CVT 3.69M9) hsync: 89.52 kHz; pclk: 312.25 MHz
Modeline "2560x1440_60.00" 312.25 2560 2752 3024 3488 1440 1443 1448 1493 -hsync +vsync
Ahora quiero crear una nueva resolución:
xrandr --newmode 2560x1440_60.00 312.25 2560 2752 3024 3488 1440 1443 1448 1493 -hsync +vsync
La salida de xrandr ahora se ve así:
Screen 0: minimum 8 x 8, current 3968 x 1152, maximum 16384 x 16384
DVI-I-0 disconnected (normal left inverted right x axis y axis)
DVI-I-1 disconnected (normal left inverted right x axis y axis)
DVI-I-2 connected 1920x1080+2048+0 (normal left inverted right x axis y axis) 478mm x 269mm
1920x1080 60.00*+
... skipped few lines ...
640x480 75.00 72.81 59.94
HDMI-0 connected primary 2048x1152+0+0 (normal left inverted right x axis y axis) 553mm x 311mm
2048x1152 60.00*+
... skipped few lines ...
640x480 75.00 59.94 59.93
DVI-I-3 disconnected (normal left inverted right x axis y axis)
2560x1440_60.00 (0x313) 312.250MHz -HSync +VSync
h: width 2560 start 2752 end 3024 total 3488 skew 0 clock 89.52KHz
v: height 1440 start 1443 end 1448 total 1493 clock 59.96Hz
Si ahora quiero agregar esta resolución a la salida HDMI-0, aparece el siguiente error:
$ xrandr --addmode HDMI-0 2560x1440_60.00
X Error of failed request: BadMatch (invalid parameter attributes)
Major opcode of failed request: 140 (RANDR)
Minor opcode of failed request: 18 (RRAddOutputMode)
Serial number of failed request: 33
Current serial number in output stream: 34
En el pasado pude utilizar este método con éxito para configurar mis monitores según fuera necesario sin ningún problema en diferentes PC (portátil + monitor externo, ambos con la misma resolución). Realmente apreciaría cualquier sugerencia.
Respuesta1
Los controladores de nVidia tienen una política estricta de seguimiento de EDID, incluso si tienen errores.
Tiene opciones xorg para ignorar EDID y elegir entre todas las resoluciones admitidas por adaptador gráfico. Usando uno de:
Option "UseEDID" "boolean" Option "ModeValidation" "NoEdidModes"
Puede ignorar características parciales con:
Option "UseEDIDFreqs" "FALSE" Option "IgnoreEDIDChecksum" "<con-1>, <con-2>"
O ajustes más avanzados de la validación EDID; consulte la referencia para conocer los valores admitidos:
Option "ModeValidation" "string"
También tiene la opción de inyectar una copia corregida/modificada de EDID. ADVERTENCIA: Es peligroso, no todos los monitores son robustos.
Option "CustomEDID" "<con-1>:</pathto/edid1.bin>; <con-2>:</pathto/edid2.bin>"
Referencia:
Nota:
Por cierto, verifique si incluso ha recuperado datos EDID usando:
xrandr --verbose