So stellen Sie die Auflösung in Textkonsolen ein (Problembehandlung bei Fehlern von `vga =…`)

29

Es ist eine übliche Methode, die Auflösung von Textkonsolen (die normalerweise von Strg-Alt-F1 bis Strg-Alt-F6 verfügbar sind) mithilfe eines vga=...Kernel-Parameters festzulegen. Ich benutze Ubuntu 10.04 Lucid, Ausgabe von uname -aist:

Linux  2.6.32-33-generic #70-Ubuntu SMP Thu Jul 7 21:13:52 UTC 2011 x86_64 GNU/Linux

Um die verfügbaren Modi zu identifizieren, benutze ich sudo hwinfo --framebufferdie folgenden Berichte:

02: None 00.0: 11001 VESA Framebuffer                            
  [Created at bios.464]  
  Unique ID: rdCR.R1b4duaxSqA  
  Hardware Class: framebuffer  
  Model: "NVIDIA G73 Board - p456h1  "  
  Vendor: "NVIDIA Corporation"  
  Device: "G73 Board - p456h1  "  
  SubVendor: "NVIDIA"  
  SubDevice:   
  Revision: "Chip Rev"  
  Memory Size: 256 MB  
  Memory Range: 0xc0000000-0xcfffffff (rw)  
  Mode 0x0300: 640x400 (+640), 8 bits  
  Mode 0x0301: 640x480 (+640), 8 bits  
  Mode 0x0303: 800x600 (+800), 8 bits  
  Mode 0x0305: 1024x768 (+1024), 8 bits  
  Mode 0x0307: 1280x1024 (+1280), 8 bits  
  Mode 0x030e: 320x200 (+640), 16 bits  
  Mode 0x030f: 320x200 (+1280), 24 bits  
  Mode 0x0311: 640x480 (+1280), 16 bits  
  Mode 0x0312: 640x480 (+2560), 24 bits  
  Mode 0x0314: 800x600 (+1600), 16 bits  
  Mode 0x0315: 800x600 (+3200), 24 bits  
  Mode 0x0317: 1024x768 (+2048), 16 bits  
  Mode 0x0318: 1024x768 (+4096), 24 bits  
  Mode 0x031a: 1280x1024 (+2560), 16 bits  
  Mode 0x031b: 1280x1024 (+5120), 24 bits  
  Mode 0x0330: 320x200 (+320), 8 bits  
  Mode 0x0331: 320x400 (+320), 8 bits  
  Mode 0x0332: 320x400 (+640), 16 bits  
  Mode 0x0333: 320x400 (+1280), 24 bits  
  Mode 0x0334: 320x240 (+320), 8 bits  
  Mode 0x0335: 320x240 (+640), 16 bits  
  Mode 0x0336: 320x240 (+1280), 24 bits  
  Mode 0x033d: 640x400 (+1280), 16 bits  
  Mode 0x033e: 640x400 (+2560), 24 bits  
  Config Status: cfg=new, avail=yes, need=no, active=unknown  

Es sieht so aus, als ob viele hochauflösende Modi zur Verfügung stehen, z. B. 0x305, 0x307, 0x317, 0x318, 0x31a, 0x31b (was bedeutet übrigens die Plus-Zahl in der Liste der Modi?). Wenn Sie jedoch einen dieser Modi in der Kerneloptionszeichenfolge oder -zeile festlegen, vga=0x305wird entweder eine schwarze Textkonsole oder ein Bildschirm mit blinkenden Farb- / Schwarzweißpunkten angezeigt.

Was ist die "moderne", "robuste" Methode, um eine hohe Auflösung in Textkonsolen einzurichten?

mbaitoff
quelle

Antworten:

25

Neuere Kernel verwenden standardmäßig KMS. Sie sollten daher nicht mehr vga=an Ihre Grub-Zeile anhängen , da dies zu Konflikten mit der nativen Auflösung von KMS führt. Dies hängt jedoch vom verwendeten Grafiktreiber ab: Der proprietäre Nvidia-Treiber unterstützt KMS nicht , kann jedoch umgangen werden .

Sie sollten in der Lage sein, die volle Auflösung im Framebuffer zu erhalten, indem Sie Ihre Einstellungen bearbeiten /etc/default/grubund sicherstellen, dass die GFXMODEEinstellungen korrekt sind. Fügen Sie dann einen GFXPAYLOADEintrag wie den folgenden hinzu:

GRUB_GFXMODE=1680x1050x24

# Hack to force higher framebuffer resolution
GRUB_GFXPAYLOAD_LINUX=1680x1050

Denken Sie daran, sudo update-grubdanach zu laufen .

jasonwryan
quelle
Ich habe Driver "nvidia"meine xorg.conf, es ist also wahrscheinlich ein proprietärer Treiber. Ich werde grubtrotzdem damit experimentieren . Übrigens, wie kann man den proprietären Treiber umgehen?
mbaitoff
Ich verwende den proprietären Treiber und die obige Methode (auf einer 10.10-Box) und es ist in Ordnung. Sie können jederzeit einen Jugendstil-Treiber ausprobieren: nouveau.freedesktop.org/wiki/UbuntuPackages
jasonwryan
1
Sieht aus wie GFXPAYLOAD Ansatz funktioniert, aber nur mit set gfxpayload=keepin grub2Konfigurationsdateien.
Mbaitoff
2
Ich habe aber immer noch den Verdacht, dass mein Videomodus nicht nativ ist. Ich versorgte GRUB_GFXPAYLOAD=1920x1080mit GRUB_GFXMODE=1920x1080x24, aber ich sehe immer noch die verschwommenen Buchstaben in der Konsole, als ob ich in nicht-nativer Auflösung wäre.
mbaitoff
1
Stolperte über diesen Versuch, eine größere Konsole für meine VM zu bekommen und wollte @ mbaitoffs Kommentar hinzufügen. Um set gfxpayload=keepin die Konfiguration von grub2 zu gelangen , müssen Sie die Zeile GRUB_GFXPAYLOAD_LINUX=keepzu Ihrer hinzufügen /etc/default/grub. (Dies ist auf Debian, und ich würde Ubuntu - YMMV auf anderen voraussetzen). Musste das in den Grub-Dokumenten nachgehen, also dachte ich mir, ich würde es teilen.
Wird
13

Für neuere Debian- und Ubuntu-Distributionen, die nvidia verwenden, musste ich Folgendes tun:

Bearbeiten Sie zuerst / etc / default / grub. Ändern Sie die folgende Zeile:

#GRUB_GFXMODE=640x480 

dazu:

GRUB_GFXMODE=1280x800 
GRUB_GFXPAYLOAD_LINUX=keep

Ersetzen von 1280x800 durch die gewünschte Auflösung.

Dann:

echo "echo FRAMEBUFFER=y" | sudo tee /etc/initramfs-tools/conf.d/splash
sudo update-initramfs -u
sudo update-grub

Um die Schriftgröße einfach zu ändern, können Sie den folgenden Befehl verwenden:

sudo dpkg-reconfigure console-setup
mchid
quelle
2
+1 für dpkg-
reconfigure
Dies funktionierte für mich auf Kubuntu 16.04 mit NVidia 390-Treiber.
Maxim Egorushkin
Dies ist KEINE TYPO, echo "echo FRAMEBUFFER = y" ist korrekt. Ich habe dies überprüft und verifiziert, und dies wird nicht funktionieren, ohne dass der nachfolgende Echo-Befehl in die Datei geschrieben wird. Vielen Dank!
mchid
8

Hier ist Ihre beste Option:

Verwenden Sie sudo hwinfo --framebufferwie beschrieben, wählen Sie einen Videomodus, den Sie beim Booten in der Konsole sehen möchten, und fügen Sie dann die Option hinzuvga=nnn zu den Kernel-Boot-Parametern hinzu.

Der einzige Trick ist nnnder Videomodus, den Sie aus der von hwinfo- CONVERTED TO DECIMAL erstellten Liste ausgewählt haben !!!

Wenn du es versuchst vga=0xwhatever es nicht funktionieren.

Zum Beispiel habe ich den Videomodus 0x307 (1280x1024 (+1280), 8 Bit) gewählt, 0x307 in eine Dezimalzahl von 775 konvertiert und dann verwendet vga=775 die Boot-Parameter von isolinux / extlinux verwendet.

Mit printf können Sie hexadezimal in dezimal konvertieren: $ printf "%d\n" 0x307 775

Und ich habe von Anfang an einen schönen, feinen Text in allen Konsolen.

Erfolg!

chris_startx
quelle