Opengl rhel 7.1倍频程gnuplot-解决libGL错误:未能加载驱动程序:swrast

Opengl rhel 7.1倍频程gnuplot-解决libGL错误:未能加载驱动程序:swrast,opengl,gnuplot,octave,rhel,Opengl,Gnuplot,Octave,Rhel,我最近进行了一次练习,以解决如何使用gnuplot绘制RHEL7.1上的倍频程的问题。基本上,我得到了以下丑陋的信息,没有阴谋: $ export LIBGL_DEBUG=verbose $ octave $ GNU Octave, version 3.8.2 octave:1> x = -10:0.1:10; plot(x, sin(x)) libGL: OpenDriver: trying /usr/lib64/dri/tls/swrast_dr

我最近进行了一次练习,以解决如何使用gnuplot绘制RHEL7.1上的倍频程的问题。基本上,我得到了以下丑陋的信息,没有阴谋:

    $ export LIBGL_DEBUG=verbose
    $ octave
    $ GNU Octave, version 3.8.2
    octave:1> x = -10:0.1:10; plot(x, sin(x))
    libGL: OpenDriver: trying /usr/lib64/dri/tls/swrast_dri.so 
    libGL: OpenDriver: trying /usr/lib64/dri/swrast_dri.so
    libGL: driver does not expose __driDriverGetExtensions_swrast(): 
    /usr/lib64/dri/swrast_dri.so: undefined symbol: __driDriverGetExtensions_swrast
    libGL: Can't open configuration file /home/jsaari/.drirc: No such file or directory.
    libGL: Can't open configuration file /home/jsaari/.drirc: No such file or directory.
    libGL error: failed to load driver: swrast
    function is no-op
    function is no-op        
    function is no-op
    . . .

在没有找到任何特别有用的帖子后,我终于下了决心

显然,OpenGL/Mesa实现存在问题。另外,octave有多个图形输出可用,默认情况下用于使用gnuplot。这个特定版本的octave将“fltk”又名“OpenGL”作为默认图形输出。通过设置图形库默认值,很容易克服这一问题

    octave:1> graphics_toolkit()
    ans = fltk
    octave:2> available_graphics_toolkits()
    ans =
    {
      [1,1] = fltk
      [1,2] = gnuplot
    }
    octave:3> graphics_toolkit("gnuplot")
    octave:4> graphics_toolkit()
    ans = gnuplot
    octave:5> x = -10:0.1:10; plot(x, sin(x))
这给了我一个很好的情节


如果这为我的生命节省了两个小时,我就再也回不来了,这是值得发布的。

你有一个OpenGL坏了的系统。也许你已经安装了专有的Nvidia驱动程序,破坏了这一点?或者您还没有安装mesa DRI?尽管如此,GNUOctave并没有问题,在Octave中使用OpenGL后端之前,您应该使用例如
glxgears
来调试它并运行OpenGL