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

Brian Paul brianp at vmware.com
Wed Mar 20 07:03:17 PDT 2013

On 03/20/2013 04:07 AM, jupiter wrote:
> Hi Brian,
> On 3/19/13, Brian Paul<brianp at vmware.com>  wrote:
>>> 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.
>> I don't understand what you mean by "llvm driver broken the xlib VNC
>> connection".
> I have tested llvm driver in two platforms:
> (1) A local computer running on CentOS 6.2 which does not have
> hardware acceleration, but I can directly access it. The llvm driver
> is indeed much faster than the swrast, I could run an  application
> with 3D structure rotation.
> (2) A virtual machine running on CentOS 6.2, I have to access it via
> VNC. I was not able to run the 3D application, the graphic jerky and
> could not respond. If I changed to run swrast, the 3D application
> graphic could be run much smoothly and response was normal, but the 3D
> rotation was stopped because it was too slower to rotate the 3D
> structure.
> That was what I mean the llvm broken the xlib VNC connection. Have you
> tested the llvm driver in VNC connection?

No, I haven't.  I'm really not sure what's happening in this 
situation.  My only totally wild guess is there's competition between 
the VNC server and Mesa for CPU time.  The llvmpipe driver is threaded 
and creates as many threads as there are CPU cores.  You can set the 
LP_NUM_THREADS to tell llvmpipe how many threads to use (0 for no 
threading).  How many CPU cores do you have?

>>> (2) Compile llvm driver
>>> LLVM="/usr/local/libllvm/3.2"
>>> ${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.
>> Looks OK to me.
> One more question, how can I build llvm without manually changing the
> libGL.so link? Was I missing something in my compilation? Or is there
> any issue in mesa build and installation process?

I think that's a deficiency in our configure/install system.  I 
haven't looked into it though.


More information about the mesa-dev mailing list