Xlib: “GLX” uzantısı eksik - bir NVIDIA kartı ve yerleşik grafiklerle


17

Ben bir NVIDIA GeForce ile makine var yok (yani monitör ona bağlı değildir) görüntüleme amacıyla kullanmak ve bazı cansız dahili grafik çipi. (Aşağıda ilgili lshwgirişi bulacaksınız .)

Benim X oturumlarım iyi çalışıyor; ancak X uygulamalarımın çoğu (herhangi bir süslü GFX veya bir araç kiti gerektiren) çalıştığında, aşağıdaki hata iletisini yayarlar:

Xlib:  extension "GLX" missing on display ":0".

Sorum şu: Uygulamalarımın NVIDIA olmayan GLX kütüphanesini nasıl fark edip kullanabileceğimi (NVIDIA kartını çıkarmadan ve monitörü elbette çıkış portlarına geçirmeden)?

Debian / Linux Stretch 64bit, çekirdek sürüm 4.2.6, LXDE ile kullanıyorum.

Çıktı 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)

Çıktı 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".

Çıktı 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"

Ek bilgi:

  • Bende olmayan glx-alternative-nvidiapaket yüklü.
  • Devuan ASCII canlı görüntü USB'den ben çizme, sorun yok değil tezahür.
  • Bir oluşturursanız xorg.confkullanarak Xorg :1 -configure, bu ürettiği nedir (2 'Aygıt' bölümleri ile ilişkili bir intelsürücü, diğeriyle nouveau); ancak nouveau bölümüne yorum yapar ve Xorg'u bu yapılandırmayla çalıştırmayı denersem - herhangi bir ekran bulamadığını söyleyerek yüklenmez .

Benim için çözüm (Debian Jessie üzerinde backports gfx paketlerini kullanarak) kaldırmak bumblebeeve nvidia-bumblebeekurmaktı.
Skeen

Yanıtlar:


8

nvidia-currentPaket deposundan yükledikten sonra buraya geldim ve bir giriş döngüsünde takılı kaldım . Oturum açtım ~/.xsession-errorsve belirtilen hatayı buldum:

Xlib: extension "GLX" missing on display ":0".

Zaten kaldırmıştım nvidia-currentve sorun devam etti. Ben de glx-alternative-nvidiakurmadım. Son çare olarak, nvidiaUbuntu'mdaki (CUDA şeyler dahil) her şeyi kaldırdım ve yeniden başlatmadan sonra çalıştı.


Bunu daha önce yanıtlamadığım için üzgünüm. Ben sahip olmayan nvidia-current, aslında, herhangi bir yüklü, ne de nvidia-paket. Ama beraberinde gelen sürücü (nvidia manuel yükleyici) ile, en son CUDA yüklü var. Bunun çirkin bir yol olduğunu biliyorum, ama en son sürüme ihtiyacım var.
einpoklum

1

İlk olarak hangi glx modülünün kullanımda olduğunu belirleyin:

$ cat /var/log/Xorg.0.log | grep glx
[     3.622] (II) LoadModule: "glx"
[     3.624] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[     3.705] (II) Module glx: vendor="NVIDIA Corporation"

Debian 8 Jessie'de benim çözümüm glx-alternative-nvidiapaketi kaldırmaktı . Yeniden başlattıktan sonra:

$ cat /var/log/Xorg.0.log | grep glx
[     3.581] (II) LoadModule: "glx"
[     3.582] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[     3.592] (II) Module glx: vendor="X.Org Foundation"

$ glxinfo | grep "OpenGL renderer"
OpenGL renderer string: Mesa DRI Intel(R) Haswell Desktop

1
Aslında sadece X.Org founction modülünü kullanmaya başlıyorum ...
einpoklum

1
Ve onu nasıl kaldırıyorsun? apt-getPaketlerimde listelenmiyor .
villasv

1
@VillasV'u contribgörmek için havuzu etkinleştirmeniz gerekiyor. Ve muhtemelen yüklü bile değil ve bu nedenle eksik glx uzatma hatasının nedeniniz farklı.
svlasov

Küçük nitpick: neden söylüyorsun cat file | grep pattern? Neden olmasın grep pattern file?
Timo

@Timo, sadece kişisel bir tercih. Kabuk tarihinde, desenin son giderse nasıl geliştiğini görmeyi daha kolay buluyorum.
svlasov

1

Glx-alternative-nvidia'yı kaldırarak çözdüm

apt-get remove glx-alternative-nvidia

glx-alternative-nvidiaPaketin yüklü olması bile yok ...
einpoklum

1

Debian 9'u yükselttikten sonra, istemi yükseltmek için yeniden başlattıktan sonra sorunlar yaşadım.

Başlangıçta kurarken wiki https://wiki.debian.org/NvidiaGraphicsDrivers adresinde bulunan adımları takip ettim.

Benim için önemli olanlar ...

# apt-get update
# apt-get install -t stretch-backports nvidia-driver

Sonra bir yeniden başlatma gerçekleştirdi


0

OpenGL yazılımını bilgisayarınıza kurun , sonra burada belirtildiği gibi aşağıdakileri ekleyin /etc/X11/xorg.conf:

Section "Files"
    ModulePath "/usr/lib/nvidia-VERSION/xorg"
    ModulePath "/usr/lib/xorg/modules"
EndSection

( nvidia-VERSIONDizin adınızla değiştirin ) Bu benim için çalıştı.


1
İlk dizine sahip değilim. Aslında, bir /etc/X11/xorg.confsebepten dolayı bile yok .
einpoklum

1
Sizin için yaratabilirsinizsudo nvidia-xconfig
Gabriel Fair

@GabrielFair: Kesinlikle gerektiğini değil bunu. Bu muhtemelen nVIDIA kartımı X için kullanacaktır; ve olmasa bile - kavramsal olarak uygun değildir.
einpoklum

0

Benim debian (8 -> 9) "dist-yükseltilmiş" "uzantısı" GLX "eksik" var. Çözüm oldukça basitti.

NVIDIA'da sürücü yükleyicinizi indirin

service lightdm stop
#(ALT+F1) + your credentials
sudo nvidia-installer --uninstall
sudo ./NVIDIA-Linux-x86_64-340.102-custom.run #my vga GT218M [GeForce 310M]

Yükleyici işini yaptıktan sonra GLX geri döndü.

ps: Eğer kullanıcı depoları, bir dpkg-yeniden yapılandırmak "driver_package_name" aynı şeyi düşünüyorum.


1
Yanılmıyorsam, bu X'in nVIDIA GLX modülünü kullanmasını sağlayacaktır. GPU'mu görüntüleme amacıyla kullanmıyorum, istediğim bu değil.
einpoklum
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.