Cómo configurar una resolución personalizada usando xrandr cuando la resolución no está disponible en ' Configuración de pantalla '

Soy un nuevo usuario de Linux que intenta cambiar la resolución de la pantalla porque no hay ninguna opción debajo de la pantalla. He logrado agregar nuevas resoluciones por casualidad siguiendo la guía en línea. No tengo una GPU , ¿No sé si este es el problema? A continuación se muestra mi xrandr -q resultado.

root@kali:~# xrandr -q xrandr: Failed to get size of gamma for output default Screen 0: minimum 1280 x 1024, current 1280 x 1024, maximum 1280 x 1024 default connected 1280x1024+0+0 0mm x 0mm 1280x1024 0.0* 1920x1200_60.00 (0x145) 193.2MHz h: width 1920 start 2056 end 2256 total 2592 skew 0 clock 74.6KHz v: height 1200 start 1203 end 1209 total 1245 clock 59.9Hz 1440x900_59.90 (0x156) 106.3MHz h: width 1440 start 1520 end 1672 total 1904 skew 0 clock 55.8KHz v: height 900 start 901 end 904 total 932 clock 59.9Hz 

Comentarios

  • xrandr -q no aparece en su manual.

Responder

Estos son los pasos que necesita para agregar una nueva resolución personalizada y aplicarla. Los siguientes pasos son para agregar una resolución de 1920 x 1080, pero puede usarla para cualquier otra resolución que desee. Pero asegúrese de que su monitor y los gráficos integrados apoyar esa resolución.

 # First we need to get the modeline string for xrandr # Luckily, the tool "gtf" will help you calculate it. # All you have to do is to pass the resolution & the- # refresh-rate as the command parameters: gtf 1920 1080 60 # In this case, the horizontal resolution is 1920px the # vertical resolution is 1080px & refresh-rate is 60Hz. # IMPORTANT: BE SURE THE MONITOR SUPPORTS THE RESOLUTION # Typically, it outputs a line starting with "Modeline" # e.g. "1920x1080_60.00" 172.80 1920 2040 2248 2576 1080 1081 1084 1118 -HSync +Vsync # Copy this entire string (except for the starting "Modeline") # Now, use "xrandr" to make the system recognize a new # display mode. Pass the copied string as the parameter # to the --newmode option: xrandr --newmode "1920x1080_60.00" 172.80 1920 2040 2248 2576 1080 1081 1084 1118 -HSync +Vsync # Well, the string within the quotes is the nick/alias # of the display mode - you can as well pass something # as "MyAwesomeHDResolution". But, careful! :-| # Then all you have to do is to add the new mode to the # display you want to apply, like this: xrandr --addmode VGA1 "1920x1080_60.00" # VGA1 is the display name, it might differ for you. # Run "xrandr" without any parameters to be sure. # The last parameter is the mode-alias/name which # you"ve set in the previous command (--newmode) # It should add the new mode to the display & apply it. # Usually unlikely, but if it doesn"t apply automatically # then force it with this command: xrandr --output VGA1 --mode "1920x1080_60.00"  

Originales ource: https://gist.github.com/debloper/2793261

También escribí un script que hace todos estos pasos automáticamente. Puede probarlo si los pasos anteriores le parecen demasiado complicados: https://gist.github.com/chirag64/7853413

Comentarios

  • Falló el último paso …
  • ¿Qué error obtuvo? Pruebe la secuencia de comandos automática que vinculé al final de la respuesta.
  • Cuando ejecuto su archivo chmod +x Desktop/xrandr.sh No siento ningún error ni ningún cambio.
  • chmod +x Desktop/xrandr.sh solo le otorga permisos para ejecutar ese archivo. Debe ejecutarlo ejecutando Desktop/xrandr.sh.
  • En lugar de gtf, se puede usar cvt, p. ej. cvt 1920 1080, que produce el mismo resultado que gtf, pero también calcula una frecuencia de actualización válida. (Dar la frecuencia de actualización a gtf a mano puede no siempre dar valores de salida admitidos).

Respuesta

La opción --size / -s se puede utilizar:

xrandr -s 1440x900 

Debería funcionar con la RandR versión 1.1 o posterior.

Comentarios

  • Cuando hago esto, la respuesta es: el tamaño 1440×900 no se encuentra en los modos disponibles
  • @nick De la salida que incluyó en la pregunta deduje que debería estar disponible. ¿Cuál ‘ es la salida de xrandr --verbose?
  • xrandr: No se pudo obtener el tamaño de gamma para la salida predeterminada Pantalla 0 : mínimo 1024 x 768, actual 1024 x 768, máximo 1024 x 768 predeterminado conectado 1024×768 + 0 + 0 (0x138) normal (normal) 0 mm x 0 mm Identificador: 0x137 Marca de tiempo: 5048 Subpíxel: clones desconocidos: CRTC: 0 CRTC: 0 Transforma : 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 filtro:
  • 1024×768 (0x138) 0.0MHz * actual h: ancho 1024 inicio 0 final 0 total 1024 sesgo 0 reloj 0.0KHz v: altura 768 inicio 0 final 0 reloj total de 768 0.0Hz
  • Parece que la única resolución disponible es 1024×768. ¿Es esta resolución lo que desea establecer?

Respuesta

Tuve el mismo problema. En la configuración de pantalla, la resolución máxima era 1280×720. Entonces:

  1. usando el comando xrandr he visto el nombre de este monitor y la lista de resolución.
  2. He ejecutado el script: xrandr –output {nombre del monitor} – -mode {resolution}

Por ejemplo:

xrandr --output DP-2-1 --mode 2560x1440 

Respuesta

Esto es lo que tuve que hacer en un #IntelMaker #Joule para que funcione en la resolución nativa con un MONITOR DE COLOR TFT DE 7 PULGADAS SUNFOUNDER, que aparece con una resolución de 1024 * 600, pero que se seleccionó como 1280×720 en su lugar.

Primero, Intel Joule con Linux 4.4.15-yocto-standard x86_64 no parece tener gtf(1) , entonces, tuve que usar una máquina diferente para calcular los números apropiados:

$ gtf 1024 600 60 # 1024x600 @ 60.00 Hz (GTF) hsync: 37.32 kHz; pclk: 48.96 MHz Modeline "1024x600_60.00" 48.96 1024 1064 1168 1312 600 601 604 622 -HSync +Vsync $ 

Luego, crea un archivo con los comandos apropiados:

# cat > 1024x600.sh xrandr --newmode "1024x600_60.00" 48.96 1024 1064 1168 1312 600 601 604 622 -HSync +Vsync xrandr --addmode HDMI1 "1024x600_60.00" xrandr --output HDMI1 --mode "1024x600_60.00" ^D # chmod +x 1024x600.sh 

Luego, startx o startxfce4, y ejecutar ./1024x600.sh, después de lo cual, xrandr(1) a informará lo siguiente >.

# xrandr Screen 0: minimum 8 x 8, current 1024 x 600, maximum 32767 x 32767 DP1 disconnected (normal left inverted right x axis y axis) HDMI1 connected 1024x600+0+0 (normal left inverted right x axis y axis) 697mm x 392mm 1280x720 60.00 + 50.00 59.94 1920x1080 60.00 50.00 59.94 1920x1080i 60.00 50.00 59.94 1280x1024 75.02 1440x900 74.98 59.90 1024x768 75.08 70.07 60.00 1024x600 60.00 800x600 72.19 75.00 60.32 56.25 720x576 50.00 720x576i 50.00 720x480 60.00 59.94 720x480i 60.00 59.94 640x480 75.00 72.81 60.00 59.94 720x400 70.08 1024x600_60.00 60.00* HDMI2 disconnected (normal left inverted right x axis y axis) VIRTUAL1 disconnected (normal left inverted right x axis y axis) # 

Comentarios

  • La respuesta incluye nombres de host y usuarios personales irrelevantes, y no ‘ t separa claramente los comandos de su salida, todo lo cual puede resultar confuso para los lectores. Un método estándar para transmitir que algo es un comando sería prefijarlo simplemente con $. El WM predeterminado de Kali ‘ también es GNOME, no XFCE, tal vez debería quedar claro que el comando startxfce4 es solo para usuarios que ejecutan XFCE versión 4.La probabilidad de que muchos otros usuarios ejecuten exactamente Linux 4.4.15-yocto-standard x86_64 no ‘ me parece alta, así que ‘ d en su lugar, escriba que gtf (o cvt) puede que tenga que instalarse primero.

Responder

Guarde el script y ejecútelo (bash script.sh 1024 720 60 ) puede establecer la resolución personalizada con ese script, pero es una solución temporal cada vez que cierra la sesión y vuelve a iniciar sesión, tiene que ejecutar el script nuevamente. Puede agregar 2 líneas de código en su perfil bash.bashrc. para ejecutar el script directamente desde terminal.

#!/bin/bash # xrandr.sh #If no argument is specified, ask for it and exit if [[ -z "$@" ]]; then echo "An argument is needed to run this script"; exit else arg="$@" #Basic check to make sure argument number is valid. If not, display error and exit if [[ $(($(echo $arg | grep -o "\s" | wc --chars) / 2 )) -ne 2 ]]; then echo "Invalid Parameters. You need to specify parameters in the format "width height refreshRate"" echo "For example setResolution "2560 1440 60"" exit fi #Save stuff in variables and then use xrandr with those variables modename=$(echo $arg | sed "s/\s/_/g") display=$(xrandr | grep -Po ".+(?=\sconnected)") if [[ "$(xrandr|grep $modename)" = "" ]]; then xrandr --newmode $modename $(gtf $(echo $arg) | grep -oP "(?<="\s\s).+") && xrandr --addmode $display $modename fi xrandr --output $display --mode $modename #If no error occurred, display success message if [[ $? -eq 0 ]]; then echo "Display changed successfully to $arg" fi fi 

Respuesta

Ejecuté:

xrandr --verbose 

que me dio una lista de etiquetas de tamaño y valores de píxeles correspondientes

luego usé

xrandr -s 6 

para seleccionar la resolución de 1920 x 1080

A nswer

Mi problema es que la resolución del portátil tiene esto:

Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 32767 x 32767 eDP1 connected 1920x1080+0+0 ... 1366x768 60.00*+ 47.98 <=== MaxResolution (Default/Primary) 1360x768 59.80 59.96 1280x720 60.00 ... 

Mi pantalla principal / predeterminada es 1366×768.

Pero me gustaría probar una resolución de 1920 x 1080 (DesireResolution) en mi portátil.

Lo intenté todo.

No pude encontrar una solución porque mi cuaderno no acepta los comandos addmode o newmode de xrandr para aumentar la resolución, como esta solicitud de pregunta de intercambio de pila.

¡Así que hice algunos cálculos!

1920/1366 = 1.4055636896 1080/768 = 1.40625 

básicamente DesireResolution / MaxResolution

y ejecute este comando

xrandr --output eDP1 --mode 1366x768 --panning 1920x1080 --scale 1.40556369x1.40625

Si necesita restaurar la resolución original

xrandr --output eDP1 --mode 1366x768 --panning 1366x768 --scale 1x1 

Puede adaptarse a cualquier resolución que desee.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *