Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
OpenGL代码未运行:显示器不支持OpenGL GLX扩展_Opengl_Nvidia_Glew_Freeglut_Glx - Fatal编程技术网

OpenGL代码未运行:显示器不支持OpenGL GLX扩展

OpenGL代码未运行:显示器不支持OpenGL GLX扩展,opengl,nvidia,glew,freeglut,glx,Opengl,Nvidia,Glew,Freeglut,Glx,我必须运行一个代码,它包括库GL/glut.h和GL/glew.h。 通过以下指令,代码编译得很好: $ gcc test.c -lglut -lGLEW -lGL 但是当我运行它时,我得到以下错误: freeglut (./a.out): OpenGL GLX extension not supported by display ':0.0' 同样的代码在我的另一个系统上工作过,它突然出现故障,甚至无法启动,所以我必须在这个系统上完成它 $glxinfo的输出为: name of disp

我必须运行一个代码,它包括库GL/glut.h和GL/glew.h。 通过以下指令,代码编译得很好:

$ gcc test.c -lglut -lGLEW -lGL
但是当我运行它时,我得到以下错误:

freeglut (./a.out): OpenGL GLX extension not supported by display ':0.0'
同样的代码在我的另一个系统上工作过,它突然出现故障,甚至无法启动,所以我必须在这个系统上完成它

$glxinfo的输出为:

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".
另外,$lspci的输出为:

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)

请帮我解决,我认为英伟达显示驱动程序没有正确安装,但我无法解决这个问题。我还安装了CUDA。

这不是编程问题,而是系统配置问题。本质上,它告诉您,您的系统配置不支持OpenGL

GLX是X11协议扩展,用于在X11绘图表上设置OpenGL上下文。但是,这是设备驱动程序提供的扩展。您正在使用NVidia卡。我的猜测是,这是一个普通的系统安装,它不会自动安装专有的
nvidia
驱动程序,也不会配置open
nouveau
驱动程序

因此X11服务器可能使用
nv
fbdev
vesa
驱动程序;这些都不支持OpenGL/GLX

解决方案:安装并配置正确的驱动程序。nouveau或您可以下载并安装的驱动程序

如果您说已经安装了CUDA,那么您必须在
/etc/X11/xorg.conf
文件中配置
nvidia
驱动程序,因为如果安装了nouveau或nv,则必须在其前面配置驱动程序

还要记住,每次进行内核更新时,都必须重新安装CUDA驱动程序。