Cambiar tasa de refresco vertical en monitores con command line [Solucionado]
Publicado: 7 Junio, 2011 - 02:58 Cambiar tasa de refresco vertical en monitores con command line [Solucionado]
Hola, utilizo los drivers privativos de Nvidia y tengo dos pantallas conectadas a la tarjeta gráfica. Con la aplicación de consola 'disper' puedo cambiar los modos de visualización, pantalla simple, pantalla extendida (TwinView), apagar pantallas. Pero no puedo cambiar la tasa de refresco. Con pantallas separadas puedo utilizar 'xrandr' ya que depende de en que pantalla ejecutes la orden cambia la resolución/tasa de dicha pantalla, pero en modo TwinView no se como especificar a que pantalla se aplica la orden.
Con la aplicación gráfica 'nvidia-settings' si puedo hacerlo, pero claro yo lo que quiero es poder meter la orden en un script y asignarlo a una combinación de teclas.
Saludos.
- Inicie sesión o regístrese para enviar comentarios
- 582 lecturas


Quizá te sirva:
"nvidia-settings has a rich command line interface: all attributes that can be manipulated
with the GUI can also be queried and set from the command line."
$ man nvidia-settings
Saludos.
Directamente con nvidia-settings no encuentro la manera. El atributo relacionado 'RefreshRate' es de solo lectura así que si haces:
$nvidia-settings -a RefreshRate[DFP-1]=24ERROR: The attribute 'RefreshRate' specified in assignment 'RefreshRate[DFP-1]=24' cannot be assigned (it is
a read-only attribute).
Saludos
Encontré la solución. La clave del asunto es que 'xrandr' no muestra las tasa de refresco de manera real si no que es falseada. Esto que ya conocía anteriormente, era algo que no le encontraba explicación. Es debido a que el driver para resoluciones del mismo tamaño no hace distinción y para poder usar diversos 'metamodes' se utiliza el 'rate', y así en vez de un valor de frecuencia se convierte en un índice. Pongo mi caso para clarificar, por si le sirve a alguien, o a mi mismo que luego con el tiempo se olvidan las cosas.
Monitor 1920x1200 de 60 Hz conectado por DVI y a su derecha una TV 1920x1080 con frecuencias de 24p, 50p y 60p. Para poder ver películas o series en HD es interesante poder cambiar la frecuencia a 24p. Al utilizar las dos pantallas queda un escritorio virtual de 3840x1920.
1 - Hay que configurar xorg.conf con los distintos metamodes para las distintas posibilidades que queremos utilizar.
Section "Device"Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 460"
Option "TwinView"
Option "TwinViewXineramaInfoOrder" "DFP-0, DFP-1"
Option "FlatPanelProperties" "DFP-0: Scaling = Native; DFP-1: Scaling = Native"
Option "RegistryDwords" "PowerMizerEnable=0x1; PerfLevelSrc=0x3333; PowerMizerDefaultAC=0x3"amente.
Option "metamodes" "DFP-0: 1920x1200_60, DFP-1: NULL; DFP-0: 1920x1200_60 +0+0, DFP-1: 1920x1080_24 +1920+0; DFP-0: 1920x1200_60 +0+0, DFP-1: 1920x1080_50 +1920+0; DFP-0: 1920x1200_60 +0+0, DFP-1: 1920x1080_60 +1920+0; DFP-0: NULL, DFP-1: 1920x1080_24; DFP-0: NULL, DFP-1: 1920x1080_50; DFP-0: NULL, DFP-1: 1920x1080_60"
EndSection
2 - Es importante la opción "FlatPanelProperties" "DFP-0: Scaling = Native; DFP-1: Scaling = Native" por que sin ella, por defecto, la pantalla quedará siempre en su frecuencia nativa, en mi caso 50p. También se puede cambiar manualmente con nvidia-settings por CLI o gráficamente. El modo de doble pantalla a utilizar es el TwinView, que nos permite activar y cambiar pantallas sin reiniciar las X.
3 - Si hacemos un 'xrandr' obtenemos los distintos modos a utilizar y que se deben corresponder con los metamodes de xorg.
$ xrandrxrandr: Failed to get size of gamma for output default
Screen 0: minimum 1920 x 1080, current 1920 x 1200, maximum 3840 x 1200
default connected 1920x1200+0+0 0mm x 0mm
1920x1200 50.0*
3840x1200 51.0 52.0 53.0 50.0
1920x1080 54.0 55.0 56.0
4 - Aparecen tres resoluciones distintas: 1920x1200 para solo el monitor, 3840x1200 para las dos pantallas, 1920x1080 para solo la TV. Las distintas resoluciones se pueden manejar con el comando 'xrandr' con la opción -s y se pueden utilizar índices, 0 para la primera línea. Los 'rate' aparecen en columnas y nos permiten pasar de un metamode a otro (con distintas frecuencias se supone). Se cambia con la opción -r y el valor directo que aparece arriba. Por ejemplo 'xrandr -s 1 -r 51' corresponde a una configuración de doble pantalla con la TV a 24p. 'xrandr -s 2 -r 56' Solo TV en 60p.
Por ultimo hacemos un script asignado a una combinación de teclas o tecla de RC y a disfrutar
Saludos.
Encontré la solución. La clave del asunto es [...]
Tienes razón. Marcando.