Xlib:拡張子「GLX」がない-NVIDIAカードとオンボードグラフィックス


17

ディスプレイ用に使用していない(つまり、モニターが接続されていない)NVIDIA GeForceを搭載したマシンと、グラフィックチップが不足しているグラフィックチップがあります。(以下に関連するlshwリストがあります。)

私のXセッションは問題なく動作します。しかし、私のXアプリのほとんど(あらゆる種類の派手なGFXまたはツールキットが必要)を実行すると、次のエラーメッセージが表示されます。

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

私の質問は次のとおりです:NVIDIA GLXライブラリ以外をアプリに認識させて使用するにはどうすればよいですか(もちろんNVIDIAカードを取り外したり、モニターを出力ポートに切り替えたりせずに)。

Debian / Linux Stretch 64bit、カーネルバージョン4.2.6、LXDEを使用しています。

の出力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)

の出力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".

の出力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"

追加情報:

  • glx-alternative-nvidiaパッケージがインストールされていません。
  • Devuan ASCIIのライブイメージUSBから起動した場合、問題は発生しませ
  • xorg.confusing を作成するとXorg :1 -configureこれが生成されます(2つの「Device」セクション、1つはintelドライバーに関連付けられ、もう1つはに関連付けられnouveauます)。しかし、nouveauセクションをコメントアウトして、その構成でXorgを実行しようとすると、画面が見つからないと言ってロードされません。

私にとっての解決策は、削除bumblebeeしてインストールすることでしたnvidia-bumblebee(Debian Jessieで、backports gfxパッケージを使用)。
スケーン

回答:


8

nvidia-currentパッケージリポジトリからインストールした後、ここに到着し、ログインループで立ち往生しました。私はログオン~/.xsession-errorsを見て、言及されたエラーを見つけました:

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

私はすでにアンインストールしてnvidia-currentおり、問題は続きました。私もglx-alternative-nvidiaインストールしていませんでした。最後の手段として、nvidiaUbuntuのすべて(CUDAのものを含む)をアンインストールするだけで、再起動後に機能しました。


これに返信しないですみません。パッケージnvidia-currentもインストールしていませんし、実際のところ、nvidia-パッケージもインストールしていません。しかし、私は最新のCUDAをインストールし、それに付随するドライバー(nvidiaの手動インストーラー)をインストールしています。私はそれが物事を行うい方法であることを知っていますが、最新バージョンが必要です。
アインポクラム-モニカを

1

最初に、使用中のglxモジュールを特定します。

$ 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では、私の解決策はglx-alternative-nvidiaパッケージを削除することでした。再起動後:

$ 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
私は実際にはX.Org機能モジュールを取得するだけです...編集を参照してください。
アインポクルム-モニカを

1
そして、どのように削除しますか?apt-getパッケージにリストされていません。
-villasv

1
@VillasVを使用するには、contribリポジトリを有効にする必要があります。そしておそらくあなたはそれをインストールしてさえいないので、glx extensionエラーが見つからない原因は異なります。
svlasov

マイナーピック:なぜあなたは言うのcat file | grep patternですか?どうしてgrep pattern file
ティモ

@Timo、個人的な好み。シェルの履歴では、最後に行くとパターンがどのように進化したかを簡単に確認できます。
svlasov


1

Debian 9をアップグレードした後、リブートしてアップグレードするプロンプトをクリックした後に問題が発生しました。

最初にインストールするときは、wiki https://wiki.debian.org/NvidiaGraphicsDriversにある手順に従いました

私にとって重要なのは...

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

その後、再起動を実行しました


0

お使いのコンピューターにOpenGLインストールしてから、ここで説明したように、次を追加します/etc/X11/xorg.conf

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

nvidia-VERSIONディレクトリ名で置き換えます)これは私のために働いた。


1
最初のディレクトリがありません。実際、/etc/X11/xorg.confなんらかの理由もありません。
アインポクラム-モニカを

1
あなたはそれがであなたのために作成することができsudo nvidia-xconfig
ガブリエルフェア

@GabrielFair:私は絶対にそうすべきではありません。これにより、nVIDIAカードがXで使用される可能性が高くなります。たとえそうでなくても、概念的には不適切です。
アインポクルム-モニカを復活させる

0

debianを "dist-upgraded"したときに "extension" GLX "missing"になりました(8-> 9)。ソリューションは非常に簡単でした。

NVIDIAでドライバーインストーラーをダウンロードする

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]

インストーラーが仕事をした後、GLXは元に戻りました。

ps:ユーザーリポジトリを使用する場合、dpkg-reconfigure "driver_package_name"でも同じことができると思います。


1
間違っていなければ、XでnVIDIA GLXモジュールを使用します。GPUを表示目的に使用していないため、これは私が望むものではありません。
アインポクルム-モニカを
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.