2014-04-14 15 views
5

Tôi phải chạy mã, bao gồm thư viện GL/glut.h và GL/glew.h. Mã này được biên soạn tốt, theo hướng dẫn:Mã OpenGL không chạy: OpenGL GLX mở rộng không được hỗ trợ bởi màn hình

$ gcc test.c -lglut -lGLEW -lGL 

Nhưng khi tôi chạy nó, tôi nhận được lỗi sau:

freeglut (./a.out): OpenGL GLX extension not supported by display ':0.0' 

Cùng mã đã làm việc trên hệ thống khác của tôi, trong đó có bất ngờ bị hỏng và thậm chí không khởi động, vì vậy tôi phải hoàn thành công việc này.

Sản lượng của $ glxinfo là:

name of display: :0.0 
Xlib: extension "GLX" missing on display ":0.0". 
Xlib: extension "GLX" missing on display ":0.0". 
Xlib: extension "GLX" missing on display ":0.0". 
Xlib: extension "GLX" missing on display ":0.0". 
Xlib: extension "GLX" missing on display ":0.0". 
Error: couldn't find RGB GLX visual or fbconfig 

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

Ngoài ra, sản lượng của $ lspci là:

00:00.0 Host bridge: Intel Corporation Device 0150 (rev 09) 
00:01.0 PCI bridge: Intel Corporation Device 0151 (rev 09) 
00:16.0 Communication controller: Intel Corporation Cougar Point HECI Controller #1 (rev 04) 
00:1a.0 USB Controller: Intel Corporation Cougar Point USB Enhanced Host Controller #2 (rev 04) 
00:1b.0 Audio device: Intel Corporation Cougar Point High Definition Audio Controller (rev 04) 
00:1c.0 PCI bridge: Intel Corporation Cougar Point PCI Express Root Port 1 (rev b4) 
00:1c.5 PCI bridge: Intel Corporation Cougar Point PCI Express Root Port 6 (rev b4) 
00:1d.0 USB Controller: Intel Corporation Cougar Point USB Enhanced Host Controller #1 (rev 04) 
00:1f.0 ISA bridge: Intel Corporation Device 1c5c (rev 04) 
00:1f.2 SATA controller: Intel Corporation Cougar Point 6 port SATA AHCI Controller (rev 04) 
00:1f.3 SMBus: Intel Corporation Cougar Point SMBus Controller (rev 04) 
01:00.0 VGA compatible controller: nVidia Corporation GT218 [GeForce 210] (rev a2) 
01:00.1 Audio device: nVidia Corporation High Definition Audio Controller (rev a1) 
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06) 

Xin hãy giúp tôi ra, tôi nghĩ rằng các trình điều khiển màn hình nvidia không được cài đặt đúng cách , nhưng tôi không thể xoay sở để giải quyết vấn đề này. Tôi cũng đã cài đặt CUDA.

+0

liên quan http://stackoverflow.com/questions/8545291/opengl-glx-extension-not-supported?rq=1 –

Trả lời

1

Đây không phải là vấn đề lập trình mà là sự cố cấu hình hệ thống. Về cơ bản nó cho bạn biết rằng cấu hình hệ thống của bạn không hỗ trợ OpenGL.

GLX là phần mở rộng giao thức X11 được sử dụng để thiết lập ngữ cảnh OpenGL trên các bản vẽ X11. Tuy nhiên đây là một phần mở rộng được cung cấp bởi trình điều khiển thiết bị. Bạn đang sử dụng một thẻ NVIDIA. Tôi đoán là, đây là bản cài đặt vani của hệ thống không tự động cài đặt trình điều khiển độc quyền nvidia và không cấu hình trình điều khiển mở nouveau.

Vì vậy, máy chủ X11 có thể sử dụng trình điều khiển nv hoặc fbdev hoặc vesa; không hỗ trợ OpenGL/GLX nào.

Giải pháp: Cài đặt và định cấu hình trình điều khiển phù hợp. Hoặc là nouveau hoặc trình điều khiển bạn có thể tải xuống từ http://www.nvidia.com/object/unix.html và cài đặt.

Bạn nói rằng bạn đã cài đặt CUDA, sau đó bạn phải định cấu hình trình điều khiển nvidia trong tệp /etc/X11/xorg.conf, vì nếu nouveau hoặc nv được cài đặt cũng như trước nó.

Cũng nên nhớ rằng mỗi khi bạn cập nhật hạt nhân, bạn phải cài đặt lại trình điều khiển CUDA.

Các vấn đề liên quan