Bessere Auflösung im Konsolenmodus erzielen (nVidia-Treiber)

Bessere Auflösung im Konsolenmodus erzielen (nVidia-Treiber)

Als ich vor einiger Zeit versuchte, mein Desktop-System von Ubuntu 18.10 auf 19.04 zu aktualisieren, schlug etwas fehl und ich hatte am Ende eine nicht funktionierende grafische Umgebung.

Dies zwang mich dazu, die Konsole (Strg+Alt+F3) zu verwenden, was gut funktionierte. Eigentlich funktionierte es sogar sehr gut. Der Bildschirm wurde voll ausgenutzt, die Schriftarten waren scharf und obwohl sie klein waren, waren sie aufgrund ihrer perfekten Anpassung an die Auflösung des Monitors gut lesbar. Am Ende hatte ich einen sehr großen Arbeitsbereich. In Verbindung mit tmuxwar es eine perfekte Entwicklungsumgebung.

Ich fühlte mich mit dieser neuen Konfiguration so wohl, dass ich die Reparatur der grafischen Umgebung einige Wochen lang vernachlässigte. Allerdings fehlt im Textmodus Firefox, und ich kann nicht viel tun, ohne jemals darauf zuzugreifen. Also habe ich das Problem behoben, das anscheinend mit den nVidia-Grafiktreibern zusammenhing. Durch einfaches Deinstallieren und Neuinstallieren war es behoben. Und jetzt funktioniert die grafische Umgebung perfekt.

Ich „brauche“ den Konsolenmodus also nicht mehr unbedingt, aber da er mir gefiel, wollte ich ihn wieder verwenden. Zu meinem Entsetzen war die Auflösung standardmäßig auf 1024 x 768 eingestellt. Die knackigen Schriftarten waren verschwunden, der Text ist jetzt übergroß und verschwommen, was die Arbeitsumgebung beeinträchtigt und ein unangenehmes Leseerlebnis bietet.

Also machte ich mich auf die Suche nach einer Lösung. Und es kommt vor, dass diese Frage ziemlich oft gestellt wird. Ich fand viele Varianten derselben Antwort, und alle verweisen auf grub.

Das ist seltsam, denn im obigen Szenario wurde die Konsolenauflösung geändert, während grubsie nicht im Geringsten verändert wurde. Das riecht also komisch. Ich habe es trotzdem widerwillig ausprobiert. Eine gute Variante der grubLösung kann seinLies hier. Also habe ich es mit der Auflösung meines Monitors angewendet, aber es hat nicht funktioniert. Die Auflösung ist immer noch niedrig und verschwommen.

Beim genaueren Nachforschen finde ich einige Hinweise zur Auswahl eines Videomodus, beginnend mit der Auflistung mit vbeinfoon grub. Das funktioniert nicht. Später sehe ich einen Hinweis, der videoinfostattdessen verwendet werden soll. Dieser funktioniert, listet aber nur Modi mit „niedriger Auflösung“ von 640 bis 1280 im 4x3-Format auf.

Endlich,eine andere Antwortschlägt vor, zu verwenden hwinfo, das im Benutzermodus verfügbar ist. Hier sind weitere Modi aufgeführt, aber immer noch nicht der meines Monitors.

sudo hwinfo --framebuffer 
02: None 00.0: 11001 VESA Framebuffer                           
  [Created at bios.459]
  Unique ID: xxxx
  Hardware Class: framebuffer
  Model: "NVIDIA GPU Board"
  Vendor: "NVIDIA Corporation"
  Device: "GPU Board"
  SubVendor: "NVIDIA"
  SubDevice: 
  Revision: "Chip Rev"
  Memory Size: 16 MB
  Memory Range: 0x01000000-0x01ffffff (rw)
  Mode 0x0301: 640x480 (+640), 8 bits
  Mode 0x0303: 800x600 (+1024), 8 bits
  Mode 0x0305: 1024x768 (+1024), 8 bits
  Mode 0x0307: 1280x1024 (+1280), 8 bits
  Mode 0x0311: 640x480 (+1280), 16 bits
  Mode 0x0312: 640x480 (+2560), 24 bits
  Mode 0x0314: 800x600 (+2048), 16 bits
  Mode 0x0315: 800x600 (+4096), 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 0x0345: 1600x1200 (+1664), 8 bits
  Mode 0x0346: 1600x1200 (+3328), 16 bits
  Mode 0x034a: 1600x1200 (+6656), 24 bits
  Mode 0x0371: 1360x768 (+6144), 24 bits
  Mode 0x0377: 1920x1080 (+7680), 24 bits
  Config Status: cfg=new, avail=yes, need=no, active=unknown

Mein Monitor bietet eine native Auflösung von 1680x1050, also ein 16:10-Format. Er ist in dieser Liste nicht aufgeführt. Das deutet darauf hin, dass die Grafikkarte damit nicht zurechtkommt.

Im Grafikmodus funktioniert es jedoch einwandfrei. Und was noch seltsamer ist: Der Konsolenmodus bei 1680 x 1050 funktionierte einwandfrei, obwohl der Grafiktreiber in einem schlechten Zustand war. Irgendwie hat die Reparatur des Grafiktreibers die Situation im Konsolenmodus verschlimmert.

Kann man zusätzlich zu den zuvor beschriebenen Maßnahmen noch etwas anderes versuchen?

bearbeiten: Ich habe mein Glück mit versucht rEFInd, das eine sinnvollere Konfigurationserfahrung bietet refind.conf. Ich vermute, das bedeutet auch, dass der grub2Trick nicht mehr funktioniert. Jedenfalls resolution 1680 1050funktioniert die Einstellung nicht, und Boot beschwert sich sofort darüber und beschränkt die Auswahl auf 640x480, 800x600, 1024x768, 1280x1024. Ich vermute also, rEFInddass man gezwungen ist, eine davon auszuwählen, wahrscheinlich aufgrund von Einschränkungen bei der Unterstützung durch das nVidia VGA-BIOS.

Ich finde es allerdings seltsam, dass die Konsole gezwungen ist, einfach dieselbe Auflösung wie der Bootloader zu „erben“. Und es erklärt immer noch nicht, warum eine Konsole mit 1680 x 1050 einwandfrei funktionierte, bevor der Grafiktreiber repariert wurde.

bearbeiten 2: Durch Ändern der Auflösung von grubauf 1280x1024, eine der von zugelassenen Auflösungen videoinfo, wird die Auflösung von Ubuntu tty erfolgreich auf dieselbe geändert 1280x1024. Endlich eine Wirkung. Es vergrößert den Arbeitsbereich gegenüber der Standardeinstellung 1024x768, aber die Schriftarten sind noch schlechter lesbar ... Immer noch keine Erklärung, warum die Verwendung von tty 1680x1050einwandfrei funktionierte, während die NVIDIA-Treiber im Chaos versanken.

bearbeiten 3: Ich vermute jetzt, dass der Grafiktreiber, obwohl meine Grafikumgebung nicht funktionierte, wahrscheinlich von bereitgestellt wurde nouveau. Leider war er mit meiner Grafikkarte nicht kompatibel, da sie zu neu war (es ist eine RTX2080). Aber irgendwie nouveauhat er eine funktionierende Framebuffer-Implementierung, die eine hochauflösende Konsole ermöglicht, etwas, das seltsamerweise in den offiziellen nVidia-Treibern fehlt ...

bearbeiten 4: Wie von @Naoyuki Tai angefordert, aber über eine SSH-Remotesitzung ausgeführt:

sudo fbset -i

mode "1024x768-76"
    # D: 78.653 MHz, H: 59.949 kHz, V: 75.694 Hz
    geometry 1024 768 1024 768 32
    timings 12714 128 32 16 4 128 4
    rgba 8/16,8/8,8/0,8/24
endmode

Frame buffer device information:
    Name        : EFI VGA
    Address     : 0x53000000
    Size        : 3145728
    Type        : PACKED PIXELS
    Visual      : TRUECOLOR
    XPanStep    : 0
    YPanStep    : 0
    YWrapStep   : 0
    LineLength  : 4096
    Accelerator : No

verwandte Informationen