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.