[Mesa-dev] glxgears is faster but 3D render is so slow

jupiter jupiter.hce at gmail.com
Fri Mar 15 16:33:49 PDT 2013

Hi Brian,

On 3/15/13, Brian Paul <brianp at vmware.com> wrote:
> On 03/15/2013 05:39 AM, jupiter wrote:
>> Thanks Brian and Matt.
>> On 3/15/13, Matt Turner<mattst88 at gmail.com>  wrote:
>>> On Thu, Mar 14, 2013 at 6:29 AM, Brian Paul<brianp at vmware.com>  wrote:
>>>> Hmm, I guess autoconf still has some unneeded dependencies on DRI when
>>>> it's
>>>> not needed.  You might try adding --with-gallium-drivers=swrast so that
>>>> no
>>>> DRI drivers are selected.
>>> Don't think so. He's just not setting --with-gallium-drivers= so he
>>> gets a radeon driver by default.
>> I did try to setup --with-gallium-drivers=llvm, it was an error, the
>> gallium drivers does not have llvm. I now changed to
>> --with-gallium-drivers=swrast. Matt is right, I don't need libdrm
>> anymore.
>> What is the correct llvm for --with-gallium-drivers? I also seen that
>> dri-core were also built, that could cause the problems.
>> The package built on CentOS 6.2 32-bit machine now included
>> lib/gallium, but the libGL.so and libGL.so.1 did not link to
>> lib/gallium/libGL.so.1.5.0. After manually linking the lib/libGL.so
>> and libGL.so.1 to lib/gallium/libGL.so.1.5.0, although the glxinfo
>> OpenGL rendering string is now pointing to the  llvmpipe, but it seems
>> broken the xlib driver. It stopped running my 3D application via VNC
>> connection. Does the LLVMPIPE use any DRI?
> No.
>> Or is it still xlib driver?
> llvmpipe uses Xlib only.
>> As the VNC can only use xlib, anything bypass the xlib will break the
>> VNC connection.
> Do other OpenGL apps run OK with llvmpipe or is it just Chimera that's
> not working?  How exactly is Chimera failing/broken?

Please see following benchmark for using both xlib and llvm:

(1) xlib driver

$ glxinfo | grep "OpenGL renderer string"
OpenGL renderer string: Mesa X11

glxgears 1500 FPS

15 frames/sec - 15 Mpixels/sec

(2) llvm driver

$ glxinfo | grep "OpenGL renderer string"
OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.2, 128 bits)

glxgears: 600 FPS

glxspheres: 1 frames/sec - 1 Mpixels/sec

It is fair to say, if running llvm driver in my local machine (a
32-bit CentOS 6.2 without VNC connection), it was indeed faster than
the xlib driver.

Seems to me that the llvm driver broken the xlib VNC connection which
could be caused by either I haven't configure the llvm correctly, or
mesa llvm compile process may have bugs.

For your further examination, please see following configurations for
building each drivers:

(1) Compile xlib driver

${SOURCE}/${CONFIGURE} --prefix=${INSTALL} --enable-xlib-glx
--disable-dri --with-gallium-drivers=swrast

(2) Compile llvm driver


${SOURCE}/${CONFIGURE} --prefix=${INSTALL} --enable-xlib-glx
--disable-dri --enable-gallium-llvm --with-gallium-drivers=swrast
--with-llvm-shared-libs=${LLVM}/lib --with-llvm-prefix=${LLVM}

Manually change libGL.so and libGL.so.1 to link lib/gallium/libGL.so.1.5.0.

Thank you.

Kind regards,


More information about the mesa-dev mailing list