Xlib : 확장“GLX”누락 – NVIDIA 카드 및 온보드 그래픽


17

디스플레이 목적으로 사용 하지 않는 (예 : 모니터가 연결 되지 않은) NVIDIA GeForce가 장착 된 시스템 과 일부 온보드 그래픽 칩이 있습니다. (아래에 관련 lshw목록이 있습니다.)

내 X 세션은 잘 작동합니다. 그러나 대부분의 X 응용 프로그램 (모든 종류의 멋진 GFX 또는 툴킷이 필요)이 실행될 때 다음 오류 메시지가 표시됩니다.

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

내 질문은 : 내 앱이 NVIDIA 이외의 GLX 라이브러리를 알 수 있도록하고 어떻게 사용할 수 있습니까 (NVIDIA 카드를 제거하지 않고 모니터를 출력 포트로 전환하지 않고)?

LXDE와 함께 Debian / Linux Stretch 64bit, 커널 버전 4.2.6을 사용하고 있습니다.

출력 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.conf사용을 Xorg :1 -configure, 그것을 생산하는 것입니다 (2 '장치'섹션의와 연관된 하나 intel드라이버, 서로 nouveau); 그러나 nouveau 섹션을 주석 처리하고 해당 구성으로 Xorg를 실행하려고하면로드 되지 않으며 화면을 찾을 수 없다고 말합니다 .

나를위한 해결책은 제거 bumblebee하고 설치 하는 것이 었습니다 nvidia-bumblebee(백 포트 gfx 패키지를 사용하여 Debian Jessie에서).
Skeen

답변:


8

nvidia-current패키지 저장소에서 설치 한 후 여기에 도착 하여 로그인 루프에 멈췄습니다 . 로그온을보고 ~/.xsession-errors언급 된 오류를 발견했습니다.

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

이미 제거 nvidia-current했지만 문제가 지속되었습니다. 나는 또한 glx-alternative-nvidia설치 하지 않았다 . 최후의 수단으로, nvidia우분투 (CUDA 포함) 에서 모든 것을 제거 하고 다시 시작한 후에 작동했습니다.


답장을 보내지 않아 죄송합니다. 패키지를 nvidia-current설치하거나 실제로 설치 하지 않았습니다 nvidia-. 그러나 함께 제공되는 드라이버 (nvidia의 수동 설치 프로그램)와 함께 최신 CUDA가 설치되어 있습니다. 나는 그것이 추한 일임을 알고 있지만 최신 버전이 필요합니다.
einpoklum

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"

데비안 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 founction 모듈 만 시작하고 있습니다 ... 편집 참조.
einpoklum

1
어떻게 제거합니까? apt-get패키지에 표시되지 않습니다 .
villasv

1
@VillasV 당신 contrib은 그것을 볼 수있는 저장소 를 활성화해야 합니다. 그리고 아마도 설치하지 않았기 때문에 누락 된 glx 확장 오류의 원인이 다릅니다.
svlasov

작은 nitpick : 왜 그렇게 말 cat file | grep pattern합니까? 왜 안돼 grep pattern file?
Timo

@ 티모, 개인 취향. 쉘 히스토리에서 패턴이 마지막에 어떻게 진화했는지 쉽게 알 수 있습니다.
svlasov

1

glx-alternative-nvidia를 제거하여 해결했습니다.

apt-get remove glx-alternative-nvidia

나는 심지어 glx-alternative-nvidia패키지를 설치 하지 않았다 ...
einpoklum

1

재부팅 프롬프트를 클릭하여 데비안 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어떤 이유로 든 조차 없습니다 .
einpoklum

1
당신은 그것으로 당신을 위해 만든 수sudo nvidia-xconfig
가브리엘 공정

@GabrielFair : 절대 그렇게 하지 말아야합니다. 이로 인해 내 nVIDIA 카드가 X에 사용될 수 있습니다. 그렇지 않더라도 개념적으로 부적절합니다.
einpoklum

0

데비안을 "dist-upgrade"했을 때 "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가 다시 사용되었습니다.

추신 : 당신이 repos를 사용한다면, 나는 dpkg-reconfigure "driver_package_name"이 같은 것을 할 것이라고 생각합니다.


1
내가 실수하지 않으면 X가 nVIDIA GLX 모듈을 사용하게됩니다. 디스플레이 목적으로 GPU를 사용하지 않기 때문에 원하는 것이 아닙니다.
einpoklum
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.