Aangepaste resolutie instellen met xrandr wanneer de resolutie niet beschikbaar is in ' Weergave-instellingen '

Ik ben een nieuwe Linux-gebruiker die probeert de schermresolutie te wijzigen, aangezien er geen optie is onder weergave. Ik ben erin geslaagd om nieuwe resoluties toe te voegen door toeval te volgen door de online gids te volgen. Ik heb geen GPU , Ik weet niet of dit het probleem is? Hieronder staat mijn xrandr -q uitvoer.

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 

Reacties

  • xrandr -q staat niet in hun handleiding.

Answer

Hier zijn de stappen die u nodig heeft om een nieuwe aangepaste resolutie toe te voegen en deze toe te passen. De volgende stappen zijn voor het toevoegen van een resolutie van 1920 x 1080, maar u kunt deze gebruiken voor elke andere gewenste resolutie. Maar zorg ervoor dat uw monitor en ingebouwde grafische afbeeldingen ondersteunen die resolutie.

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

Originele s ource: https://gist.github.com/debloper/2793261

Ik heb ook een script geschreven dat al deze stappen automatisch uitvoert. U kunt het uitproberen als de bovenstaande stappen te ingewikkeld voor u lijken: https://gist.github.com/chirag64/7853413

Opmerkingen

  • De allerlaatste stap is mislukt …
  • Welke fout heb je gekregen? Probeer het geautomatiseerde script dat ik aan het einde van het antwoord heb gelinkt.
  • Wanneer ik uw bestand draai chmod +x Desktop/xrandr.sh Geen fout of geen verandering denk ik.
  • chmod +x Desktop/xrandr.sh geeft je alleen toestemming om dat bestand uit te voeren. U moet het uitvoeren door Desktop/xrandr.sh uit te voeren.
  • In plaats van gtf kan men , bijv cvt 1920 1080, die dezelfde uitvoer produceert als gtf, maar het berekent ook een geldige vernieuwingsfrequentie. (Vernieuwingsfrequentie geven aan gtf met de hand geeft mogelijk niet altijd ondersteunde uitvoerwaarden).

Antwoord

De optie --size / -s kan worden gebruikt:

xrandr -s 1440x900 

Zou moeten werken met RandR versie 1.1 of nieuwer.

Reacties

  • Wanneer ik dit doe, is het antwoord: grootte 1440×900 niet gevonden in beschikbare modi
  • @nick Uit de uitvoer die je in de vraag hebt opgenomen, heb ik afgeleid dat het beschikbaar moet zijn. Wat is ‘ is de uitvoer van xrandr --verbose?
  • xrandr: kan de grootte van gamma voor uitvoer standaardscherm 0 niet ophalen : minimaal 1024 x 768, huidig 1024 x 768, maximaal 1024 x 768 standaard verbonden 1024×768 + 0 + 0 (0x138) normaal (normaal) 0 mm x 0 mm Identificatie: 0x137 Tijdstempel: 5048 Subpixel: onbekend Klonen: CRTC: 0 CRTCs: 0 Transformeren : 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 filter:
  • 1024×768 (0x138) 0.0MHz * stroom u: breedte 1024 start 0 einde 0 totaal 1024 scheef 0 klok 0.0KHz v: hoogte 768 start 0 einde 0 totaal 768 klok 0,0Hz
  • Dus het lijkt erop dat de enige beschikbare resolutie 1024×768 is. Is deze resolutie wat je wilt instellen?

Antwoord

Ik had hetzelfde probleem. In de weergave-instelling was de maximale resolutie 1280×720. Dus:

  1. met het xrandr-commando heb ik de naam van deze monitor en de resolutielijst gezien.
  2. Ik heb het script uitgevoerd: xrandr –output {naam van monitor} – -mode {resolution}

Bijvoorbeeld:

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

Answer

Dit is wat ik moest doen op een #IntelMaker #Joule om het in de oorspronkelijke resolutie te laten werken met een SUNFOUNDER 7 INCH TFT-KLEURENMONITOR, die wordt vermeld met een resolutie van 1024 * 600, maar in plaats daarvan werd opgepikt als 1280×720.

Ten eerste lijkt Intel Joule met Linux 4.4.15-yocto-standard x86_64 “geen gtf(1) te hebben, dus ik moest een andere machine gebruiken om de juiste getallen te berekenen:

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

Maak vervolgens een bestand met de juiste opdrachten:

# 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 

Vervolgens startx of startxfce4, en voer ./1024x600.sh uit, waarna het volgende wordt gerapporteerd door 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) # 

Reacties

  • Antwoord bevat irrelevante persoonlijke gebruikers- en hostnamen, en ‘ t scheiden commandos duidelijk van hun uitvoer – die allemaal verwarrend kunnen zijn voor de lezers. Een standaardmethode om over te brengen dat iets een commando is, is het simpelweg vooraf te laten gaan met $. Kali ‘ s standaard WM is ook GNOME, niet XFCE, misschien moet duidelijk worden gemaakt dat het startxfce4 commando alleen is voor gebruikers die XFCE versie 4 draaien.De kans dat veel andere gebruikers exact Linux 4.4.15-yocto-standard x86_64 gebruiken lijkt mij niet groot ‘, dus ik ‘ d schrijf in plaats daarvan dat gtf (of cvt) mogelijk eerst moet worden geïnstalleerd.

Antwoord

Sla het script op en start het (bash script.sh 1024 720 60 ) je kunt de aangepaste resolutie met dat script instellen, maar het is een tijdelijke oplossing wanneer je uitlogt en opnieuw inlogt, je moet het script opnieuw uitvoeren. je kunt 2 regels code toevoegen aan je bash.bashrc-profiel. om het script rechtstreeks vanuit 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 

Antwoord

Ik rende:

xrandr --verbose 

wat me een lijst met groottetags en bijbehorende pixelwaarden gaf

en daarna gebruikte ik

xrandr -s 6 

om de resolutie van 1920×1080 te selecteren

A nswer

Mijn probleem is de resolutie van de notebook, heb dit:

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

Mijn primaire / standaardscherm is 1366×768.

Maar ik zou graag een resolutie 1920×1080 (DesireResolution) in mijn notitieboekje willen testen.

Ik heb alles geprobeerd.

Ik kon geen oplossing vinden omdat mijn notitieboekje geen addmode of newmode commandos van xrandr accepteert om de resolutie te verhogen, zoals dit stackexchange vraagverzoek.

Dus ik heb wat wiskunde gedaan!

1920/1366 = 1.4055636896 1080/768 = 1.40625 

in feite DesireResolution / MaxResolution

en voer dit commando uit

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

Als u de oorspronkelijke resolutie moet herstellen

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

U kunt zich aanpassen aan elke gewenste resolutie.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *