Saya memiliki mesin dengan NVIDIA GeForce yang tidak saya gunakan untuk tujuan tampilan (yaitu monitor tidak terhubung ke sana), dan beberapa chip grafis on-board yang kurang bagus. (Di bawah ini Anda akan menemukan lshw
daftar yang relevan .)
Sesi X saya berfungsi dengan baik; tetapi ketika sebagian besar aplikasi X saya (yang membutuhkan segala jenis GFX mewah atau toolkit) berjalan, mereka memancarkan pesan kesalahan berikut:
Xlib: extension "GLX" missing on display ":0".
Pertanyaan saya adalah: Bagaimana saya bisa membuat aplikasi saya memperhatikan perpustakaan non-NVIDIA GLX dan menggunakannya (tanpa melepas kartu NVIDIA dan tanpa mengalihkan monitor ke port outputnya tentu saja)?
Saya menggunakan Debian / Linux Stretch 64bit, kernel versi 4.2.6, dengan LXDE.
Output dari 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)
Output dari 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".
Output dari 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"
Informasi tambahan:
- Saya tidak memiliki
glx-alternative-nvidia
paket yang diinstal. - Jika saya boot dari USB live-image Devuan ASCII, masalahnya tidak nyata.
- Jika saya membuat
xorg.conf
penggunaanXorg :1 -configure
, ini yang dihasilkannya (2 bagian 'Perangkat', yang satu terkait denganintel
driver, yang lain dengannouveau
); tetapi jika saya mengomentari bagian nouveau dan mencoba menjalankan Xorg dengan konfigurasi itu - itu tidak akan memuat, mengatakan tidak dapat menemukan layar.
sumber
bumblebee
dan menginstalnvidia-bumblebee
(pada Debian Jessie, menggunakan paket gfx backports).Jawaban:
Saya tiba di sini setelah menginstal
nvidia-current
dari repositori paket, dan macet di loop login . Saya melihat log on~/.xsession-errors
dan menemukan kesalahan yang disebutkan:Xlib: extension "GLX" missing on display ":0".
Saya sudah uninstall
nvidia-current
dan masalahnya masih ada. Saya juga belumglx-alternative-nvidia
menginstal. Sebagai upaya terakhir, saya cukup mencopot semuanya darinvidia
Ubuntu saya (termasuk hal-hal CUDA), dan itu berhasil setelah restart.sumber
nvidia-current
menginstal, juganvidia-
paket. Tapi saya punya CUDA terbaru yang diinstal, dengan driver yang menyertainya (installer manual dari nvidia). Saya tahu itu cara jelek untuk melakukan sesuatu, tetapi saya memang membutuhkan versi terbaru.Pertama-tama identifikasi modul glx mana yang digunakan:
Di Debian 8 Jessie solusi saya adalah menghapus
glx-alternative-nvidia
paket. Jadi setelah reboot:sumber
apt-get
paket saya .contrib
repositori untuk melihatnya. Dan mungkin Anda bahkan tidak menginstalnya, dan dengan demikian penyebab Anda hilang kesalahan ekstensi glx berbeda.cat file | grep pattern
? Mengapa tidakgrep pattern file
?Saya menyelesaikannya dengan menghapus instalan glx-alternative-nvidia
sumber
glx-alternative-nvidia
menginstal paketnya ...Saya memiliki masalah setelah memutakhirkan Debian 9 setelah mengklik reboot untuk meningkatkan prompt.
Saat menginstal awalnya saya mengikuti langkah-langkah yang ditemukan di wiki https://wiki.debian.org/NvidiaGraphicsDrivers
Yang penting bagi saya adalah ...
Kemudian dilakukan reboot
sumber
Instal OpenGL di komputer Anda, lalu seperti yang disebutkan di sini , tambahkan yang berikut ke Anda
/etc/X11/xorg.conf
:(Ganti
nvidia-VERSION
dengan nama direktori Anda) Ini bekerja untuk saya.sumber
/etc/X11/xorg.conf
alasan.sudo nvidia-xconfig
Dapatkan "ekstensi" GLX "hilang" ketika saya "dist-upgrade" debian saya (8 -> 9). Solusinya cukup sederhana.
Unduh penginstal driver Anda di NVIDIA
Setelah installer melakukan tugasnya, GLX kembali.
ps: Jika Anda repo pengguna, saya pikir dpkg-reconfigure "driver_package_name" akan melakukan hal yang sama.
sumber