Come impostare la risoluzione personalizzata utilizzando xrandr quando la risoluzione non è disponibile in ' Impostazioni di visualizzazione '

Sono “un nuovo utente Linux che cerca di cambiare la risoluzione dello schermo in quanto non è visualizzata alcuna opzione. Sono riuscito ad aggiungere nuove risoluzioni per colpo di fortuna seguendo la guida in linea. Non ho una GPU , Non so se sia questo il problema? Di seguito è riportato il mio xrandr -q output.

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 

Commenti

  • xrandr -q non è elencato nel loro manuale.

Risposta

Di seguito sono riportati i passaggi necessari per aggiungere una nuova risoluzione personalizzata e applicarla. I passaggi seguenti riguardano laggiunta di una risoluzione 1920×1080, ma puoi utilizzarla per qualsiasi altra risoluzione desideri. Assicurati però che il monitor e la grafica integrata supporta questa risoluzione.

 # 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"  

S originali ource: https://gist.github.com/debloper/2793261

Ho anche scritto uno script che esegue automaticamente tutti questi passaggi. Puoi provarlo se i passaggi precedenti ti sembrano troppo complicati: https://gist.github.com/chirag64/7853413

Commenti

  • Ultimo passaggio non riuscito …
  • Che errore hai ricevuto? Prova lo script automatico che ho collegato alla fine della risposta.
  • Quando eseguo il tuo file chmod +x Desktop/xrandr.sh Nessun errore o nessun cambiamento mi sento.
  • chmod +x Desktop/xrandr.sh ti concede solo le autorizzazioni per eseguire quel file. Devi eseguirlo eseguendo Desktop/xrandr.sh.
  • Invece di gtf si può utilizzare cvt, ad es cvt 1920 1080, che produce lo stesso output di gtf, ma calcola anche una frequenza di aggiornamento valida. (Dare la frequenza di aggiornamento a gtf manualmente potrebbe non fornire sempre i valori di output supportati).

Risposta

Lopzione --size / -s può essere utilizzata:

xrandr -s 1440x900 

Dovrebbe funzionare con RandR versione 1.1 o successiva.

Commenti

  • Quando lo faccio la risposta è: dimensione 1440×900 non trovata nelle modalità disponibili
  • @nick Dalloutput che hai incluso nella domanda ho dedotto che dovrebbe essere disponibile. Qual è ‘ loutput di xrandr --verbose?
  • xrandr: impossibile ottenere la dimensione della gamma per loutput Schermata predefinita 0 : minimo 1024 x 768, corrente 1024 x 768, massimo 1024 x 768 predefinito connesso 1024×768 + 0 + 0 (0x138) normale (normale) 0mm x 0mm Identificatore: 0x137 Timestamp: 5048 Subpixel: sconosciuto Cloni: CRTC: 0 CRTC: 0 Trasforma : 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 filtro:
  • 1024×768 (0x138) 0,0MHz * corrente h: larghezza 1024 inizio 0 fine 0 totale 1024 inclinazione 0 orologio 0,0KHz v: altezza 768 inizio 0 fine 0 768 clock totale 0.0Hz
  • Quindi sembra che lunica risoluzione disponibile sia 1024×768. È questa la risoluzione che vuoi impostare?

Risposta

Ho avuto lo stesso problema. Nellimpostazione del display la risoluzione massima era 1280×720. Quindi:

  1. usando il comando xrandr ho visto il nome di questo monitor e lelenco delle risoluzioni.
  2. Ho eseguito lo script: xrandr –output {name of monitor} – -mode {resolution}

Ad esempio:

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

Answer

Questo è quello che dovevo fare su un #IntelMaker #Joule per farlo funzionare nella risoluzione nativa con un MONITOR A COLORI TFT SUNFOUNDER 7 POLLICI, che ha una risoluzione di 1024 * 600, ma invece è stato scelto come 1280×720.

Innanzitutto, Intel Joule con Linux 4.4.15-yocto-standard x86_64 non sembra avere gtf(1) , quindi, ho dovuto usare una macchina diversa per calcolare i numeri appropriati:

$ 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 $ 

Quindi, creare un file con i comandi appropriati:

# 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 

Quindi, startx o startxfce4 e eseguire ./1024x600.sh, dopodiché, quanto segue verrà segnalato da xrandr(1) .

# 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) # 

Commenti

  • La risposta include nomi utente e host personali irrilevanti e ‘ t separa chiaramente i comandi dal loro output – tutto ciò può creare confusione per i lettori. Un metodo standard per comunicare che qualcosa è un comando sarebbe anteporlo semplicemente con $. Anche il WM predefinito di Kali ‘ è GNOME, non XFCE, forse dovrebbe essere chiaro che il comando startxfce4 è solo per gli utenti che eseguono XFCE versione 4.La probabilità che molti altri utenti eseguano esattamente Linux 4.4.15-yocto-standard x86_64 ‘ non mi sembra alta, quindi ‘ d scrivi invece che gtf (o cvt) potrebbe essere necessario installare prima.

Risposta

Salva lo script e avvialo (bash script.sh 1024 720 60 ) puoi impostare la risoluzione personalizzata con quello script ma è una soluzione temporanea ogni volta che ti disconnetti e accedi di nuovo devi eseguire nuovamente lo script. puoi aggiungere 2 righe di codice nel tuo profilo bash.bashrc. per eseguire lo script direttamente da terminale.

#!/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 

Risposta

Ho eseguito:

xrandr --verbose 

che mi ha fornito un elenco di tag di dimensione e valori pixel corrispondenti

poi ho usato

xrandr -s 6 

per selezionare la risoluzione 1920 x 1080

A nswer

Il mio problema è che la risoluzione del notebook ha questo:

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 ... 

La mia schermata principale / predefinita è 1366×768.

Ma vorrei provare una risoluzione 1920×1080 (DesireResolution) nel mio notebook.

Ho provato di tutto.

Non sono riuscito a trovare una soluzione perché il mio notebook non accetta comandi addmode o newmode da xrandr per aumentare la risoluzione, come questa richiesta di domanda stackexchange.

Quindi ho fatto un po di matematica!

1920/1366 = 1.4055636896 1080/768 = 1.40625 

fondamentalmente DesireResolution / MaxResolution

ed esegui questo comando

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

Se è necessario ripristinare la risoluzione originale

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

Puoi adattarti a qualsiasi risoluzione desideri.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *