Ich besitze eine Maschine mit einer NVIDIA GeForce, die ich nicht für Anzeigezwecke verwende (dh der Monitor ist nicht an sie angeschlossen), und einige glanzlose Onboard-Grafikchips. (Unten finden Sie die entsprechende lshw
Auflistung.)
Meine X-Sitzungen funktionieren einwandfrei. Wenn jedoch die meisten meiner X-Apps (für die ein ausgefallenes GFX oder ein Toolkit erforderlich ist) ausgeführt werden, wird die folgende Fehlermeldung ausgegeben:
Xlib: extension "GLX" missing on display ":0".
Meine Frage lautet: Wie kann ich meine Apps dazu bringen, die Nicht-NVIDIA GLX-Bibliothek zu erkennen und zu verwenden (ohne die NVIDIA-Karte zu entfernen und ohne den Monitor auf die Ausgangsanschlüsse zu schalten)?
Ich verwende Debian / Linux Stretch 64bit, Kernel-Version 4.2.6, mit LXDE.
Ausgabe von lshw -c display
:
*-display
description: VGA compatible controller
product: GK106 [GeForce GTX 650 Ti Boost]
vendor: NVIDIA Corporation
physical id: 0
bus info: pci@0000:02:00.0
version: a1
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress vga_controller bus_master cap_list rom
configuration: driver=nvidia latency=0
resources: irq:17 memory:f6000000-f6ffffff memory:e0000000-e7ffffff memory:e8000000-e9ffffff ioport:e000(size=128) memory:f7000000-f707ffff
*-display
description: VGA compatible controller
product: Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller
vendor: Intel Corporation
physical id: 2
bus info: pci@0000:00:02.0
version: 09
width: 64 bits
clock: 33MHz
capabilities: msi pm vga_controller bus_master cap_list rom
configuration: driver=i915 latency=0
resources: irq:30 memory:f7400000-f77fffff memory:d0000000-dfffffff ioport:f000(size=64)
Ausgabe von glxinfo
:
Xlib: extension "GLX" missing on display ":0".
Xlib: extension "GLX" missing on display ":0".
Xlib: extension "GLX" missing on display ":0".
Xlib: extension "GLX" missing on display ":0".
Xlib: extension "GLX" missing on display ":0".
Xlib: extension "GLX" missing on display ":0".
Xlib: extension "GLX" missing on display ":0".
Error: couldn't find RGB GLX visual or fbconfig
Xlib: extension "GLX" missing on display ":0".
Xlib: extension "GLX" missing on display ":0".
Xlib: extension "GLX" missing on display ":0".
Xlib: extension "GLX" missing on display ":0".
Xlib: extension "GLX" missing on display ":0".
Xlib: extension "GLX" missing on display ":0".
Xlib: extension "GLX" missing on display ":0".
Xlib: extension "GLX" missing on display ":0".
Xlib: extension "GLX" missing on display ":0".
Xlib: extension "GLX" missing on display ":0".
Ausgabe von cat /var/log/Xorg.0.log | grep glx
:
[ 19.287] (II) LoadModule: "glx"
[ 19.787] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[ 22.727] (II) Module glx: vendor="X.Org Foundation"
Zusätzliche Information:
- Ich habe das
glx-alternative-nvidia
Paket nicht installiert. - Wenn ich von einem Live-Image-USB von Devuan ASCII boote, tritt das Problem nicht auf .
- Wenn ich eine erstellen
xorg.conf
VerwendungXorg :1 -configure
, dies ist es, was es produziert (2 ‚Gerät‘ Abschnitte, eine mit dem zugehörigenintel
Treiber, eine andere mitnouveau
); Aber wenn ich den Nouveau-Bereich auskommentiere und versuche, Xorg mit dieser Konfiguration auszuführen, wird es nicht geladen und sagt , dass es keine Bildschirme finden kann.
quelle
bumblebee
und Installierennvidia-bumblebee
(unter Debian Jessie, unter Verwendung der gfx-Pakete für den Backport).Antworten:
Ich bin hier angekommen, nachdem ich
nvidia-current
aus dem Paket-Repository installiert hatte , und bin in einer Login-Schleife hängen geblieben . Ich habe mir die Anmeldung angesehen~/.xsession-errors
und den genannten Fehler festgestellt:Xlib: extension "GLX" missing on display ":0".
Ich hatte bereits deinstalliert
nvidia-current
und das Problem blieb bestehen. Habe ich auch nichtglx-alternative-nvidia
installiert. Als letzten Ausweg habe ich einfach alles vonnvidia
meinem Ubuntu deinstalliert (einschließlich CUDA-Sachen) und es hat nach dem Neustart funktioniert.quelle
nvidia-current
noch keinnvidia-
Paket installiert . Ich habe jedoch die neueste CUDA-Version mit dem zugehörigen Treiber (dem manuellen Installationsprogramm von nvidia) installiert. Ich weiß, dass das eine hässliche Art ist, Dinge zu tun, aber ich brauche die neueste Version.Identifizieren Sie zuerst, welches glx-Modul verwendet wird:
In Debian 8 bestand meine Lösung darin, das
glx-alternative-nvidia
Paket zu entfernen . Also nach dem Neustart:quelle
apt-get
Paketen aufgeführt.contrib
Repository aktivieren , damit es angezeigt wird . Und wahrscheinlich haben Sie es nicht einmal installiert, und daher ist Ihre Ursache für den fehlenden glx-Erweiterungsfehler anders.cat file | grep pattern
? Warum nichtgrep pattern file
?Ich habe es gelöst, indem ich glx-alternative-nvidia deinstalliert habe
quelle
glx-alternative-nvidia
Paket installiert ...Ich hatte Probleme nach dem Upgrade von Debian 9, nachdem ich auf den Neustart geklickt hatte, um das Upgrade durchzuführen.
Bei der Erstinstallation habe ich die Schritte im Wiki https://wiki.debian.org/NvidiaGraphicsDrivers befolgt
Die wichtigsten für mich waren ...
Führen Sie dann einen Neustart durch
quelle
Installieren Sie OpenGL auf Ihrem Computer. Fügen Sie dann wie hier erwähnt Folgendes hinzu
/etc/X11/xorg.conf
:(Ersetzen Sie
nvidia-VERSION
durch Ihren Verzeichnisnamen) Dies hat bei mir funktioniert.quelle
/etc/X11/xorg.conf
aus irgendeinem Grund nicht einmal eine .sudo nvidia-xconfig
"Erweiterung" GLX "fehlt", als ich mein Debian "dist-upgrade" habe (8 -> 9). Die Lösung war ziemlich einfach.
Laden Sie Ihr Treiber-Installationsprogramm auf NVIDIA herunter
Nachdem der Installer seine Arbeit erledigt hatte, ging der GLX zurück.
ps: Wenn Sie Benutzer-Repos, denke ich, dass eine dpkg-reconfigure "driver_package_name" das gleiche tun würde.
quelle