
Hi, I have been reading Chimera document on Chimera web site and I am understanding that Chimera is better to run with hardware accelerator, but we don't have GPUs in our virtual machines, we have to use mesa and we are using xlib-glx driver for remote VNC connection. One major issue I am currently investigating is that the binary Chimera code can perform 3D rotation in mesa DRI driver, but very poor performance when using mesa xlib-glx driver on CentOS 6. Please correct me my following assumptions and options to rectify the problem: (1) Binary code could be hard linked with mesa DRI driver, the solution is to remove the hard link, or replace some libraries. (2) Chimera may not be able to run on mesa xlib-glx driver at all, no possible workarounds, no solution. (3) Chimera can be used with xlib-glx driver if we can build Chimera source code with mesa xlib-glx driver. I understand you don't encourage people to build Chimera from source code, nor do I wish. But if that is the only choice which can fix the problem, would you please point me instructions and procedures how to build the source code on Linux? I've looked at README.bootstrap from svn source code, but Thank you. Kind regards. Jupiter

Hi Jupiter, Chimera is linked against the OpenGL library on your system. Whether that uses Mesa or an Nvidia or ATI driver is up to your system -- it will not help to recompile Chimera. The only thing that could help is installing a different system OpenGL driver. You are trying to make your life difficult running Chimera on a virtual machine and remote display with an X11 VNC client. Your problem is entirely a computer configuration issue, nothing in Chimera can fix it. You'd save yourself a lot of frustration by running Chimera on an OS with a native OpenGL driver. Tom On Mar 8, 2013, at 1:12 AM, jupiter wrote:
Hi,
I have been reading Chimera document on Chimera web site and I am understanding that Chimera is better to run with hardware accelerator, but we don't have GPUs in our virtual machines, we have to use mesa and we are using xlib-glx driver for remote VNC connection.
One major issue I am currently investigating is that the binary Chimera code can perform 3D rotation in mesa DRI driver, but very poor performance when using mesa xlib-glx driver on CentOS 6. Please correct me my following assumptions and options to rectify the problem:
(1) Binary code could be hard linked with mesa DRI driver, the solution is to remove the hard link, or replace some libraries.
(2) Chimera may not be able to run on mesa xlib-glx driver at all, no possible workarounds, no solution.
(3) Chimera can be used with xlib-glx driver if we can build Chimera source code with mesa xlib-glx driver.
I understand you don't encourage people to build Chimera from source code, nor do I wish. But if that is the only choice which can fix the problem, would you please point me instructions and procedures how to build the source code on Linux? I've looked at README.bootstrap from svn source code, but
Thank you.
Kind regards.
Jupiter _______________________________________________ Chimera-dev mailing list Chimera-dev@cgl.ucsf.edu http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-dev

Hi Tom, Thanks for your response. We are working for university research to provide OpenGL environment for students and researchers, the performance is not critical as long as the application can run relatively well. We have many other 3D applications which are all running fine with mesa xlib driver except Chimera which is the only application we have trouble with the mesa xlib driver. I know it is not Chimera problem, but we will appreciate any tips and advice to help us running Chimera on mesa xlib driver. Is there any OpenGL requirement for Chimera running on mesa, such as buffer size, depth buffer size...? Thank you. Kind regards. Jupiter On 3/9/13, Tom Goddard <goddard@sonic.net> wrote:
Hi Jupiter,
Chimera is linked against the OpenGL library on your system. Whether that uses Mesa or an Nvidia or ATI driver is up to your system -- it will not help to recompile Chimera. The only thing that could help is installing a different system OpenGL driver.
You are trying to make your life difficult running Chimera on a virtual machine and remote display with an X11 VNC client. Your problem is entirely a computer configuration issue, nothing in Chimera can fix it. You'd save yourself a lot of frustration by running Chimera on an OS with a native OpenGL driver.
Tom
On Mar 8, 2013, at 1:12 AM, jupiter wrote:
Hi,
I have been reading Chimera document on Chimera web site and I am understanding that Chimera is better to run with hardware accelerator, but we don't have GPUs in our virtual machines, we have to use mesa and we are using xlib-glx driver for remote VNC connection.
One major issue I am currently investigating is that the binary Chimera code can perform 3D rotation in mesa DRI driver, but very poor performance when using mesa xlib-glx driver on CentOS 6. Please correct me my following assumptions and options to rectify the problem:
(1) Binary code could be hard linked with mesa DRI driver, the solution is to remove the hard link, or replace some libraries.
(2) Chimera may not be able to run on mesa xlib-glx driver at all, no possible workarounds, no solution.
(3) Chimera can be used with xlib-glx driver if we can build Chimera source code with mesa xlib-glx driver.
I understand you don't encourage people to build Chimera from source code, nor do I wish. But if that is the only choice which can fix the problem, would you please point me instructions and procedures how to build the source code on Linux? I've looked at README.bootstrap from svn source code, but
Thank you.
Kind regards.
Jupiter _______________________________________________ Chimera-dev mailing list Chimera-dev@cgl.ucsf.edu http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-dev

Hi Jupiter, Chimera tries to use modern OpenGL features: shaders, vertex buffers, instancing, .... It disables some of those features known to be buggy in mesa. If you start chimera --debug-opengl you can disable more OpenGL features with a start-up dialog. You said in your first email that Chimera ran with "very poor performance when using mesa". It would be helpful to give an explicit example (e.g. opening PDB yyyy the model rotates at about z frames per second). Does your X11 VNC render OpenGL using the client graphics driver? It might just send the OpenGL to the client (ie. displaying) system in which case performance would depend on the graphics driver of that system. Performance can be dismal in such a situation because OpenGL queries have to make a roundtrip across the network connection. Would you play a modern 3d video game on a virtual box over a VNC connection? No. And you're setting up an equally poor way of using Chimera, which depends on high performance 3d graphics. The thing to do is advise your students and researchers to run this software on their machine. If they are going to use it for more than a total of 1 hour in their lifetime, they would be better off. Tom
Hi Tom,
Thanks for your response.
We are working for university research to provide OpenGL environment for students and researchers, the performance is not critical as long as the application can run relatively well. We have many other 3D applications which are all running fine with mesa xlib driver except Chimera which is the only application we have trouble with the mesa xlib driver.
I know it is not Chimera problem, but we will appreciate any tips and advice to help us running Chimera on mesa xlib driver.
Is there any OpenGL requirement for Chimera running on mesa, such as buffer size, depth buffer size...?
Thank you.
Kind regards.
Jupiter
On 3/9/13, Tom Goddard <goddard@sonic.net> wrote:
Hi Jupiter,
Chimera is linked against the OpenGL library on your system. Whether that uses Mesa or an Nvidia or ATI driver is up to your system -- it will not help to recompile Chimera. The only thing that could help is installing a different system OpenGL driver.
You are trying to make your life difficult running Chimera on a virtual machine and remote display with an X11 VNC client. Your problem is entirely a computer configuration issue, nothing in Chimera can fix it. You'd save yourself a lot of frustration by running Chimera on an OS with a native OpenGL driver.
Tom
On Mar 8, 2013, at 1:12 AM, jupiter wrote:
Hi,
I have been reading Chimera document on Chimera web site and I am understanding that Chimera is better to run with hardware accelerator, but we don't have GPUs in our virtual machines, we have to use mesa and we are using xlib-glx driver for remote VNC connection.
One major issue I am currently investigating is that the binary Chimera code can perform 3D rotation in mesa DRI driver, but very poor performance when using mesa xlib-glx driver on CentOS 6. Please correct me my following assumptions and options to rectify the problem:
(1) Binary code could be hard linked with mesa DRI driver, the solution is to remove the hard link, or replace some libraries.
(2) Chimera may not be able to run on mesa xlib-glx driver at all, no possible workarounds, no solution.
(3) Chimera can be used with xlib-glx driver if we can build Chimera source code with mesa xlib-glx driver.
I understand you don't encourage people to build Chimera from source code, nor do I wish. But if that is the only choice which can fix the problem, would you please point me instructions and procedures how to build the source code on Linux? I've looked at README.bootstrap from svn source code, but
Thank you.
Kind regards.
Jupiter _______________________________________________ Chimera-dev mailing list Chimera-dev@cgl.ucsf.edu http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-dev

Hi Tom, Thanks for your response. Let me clarify it in my following embedded comments. On 3/12/13, Tom Goddard <goddard@sonic.net> wrote:
Hi Jupiter,
Chimera tries to use modern OpenGL features: shaders, vertex buffers, instancing, .... It disables some of those features known to be buggy in mesa. If you start chimera --debug-opengl you can disable more OpenGL features with a start-up dialog.
I see the debug dialog, but did not change things if I disable some opengl features.
You said in your first email that Chimera ran with "very poor performance when using mesa". It would be helpful to give an explicit example (e.g. opening PDB yyyy the model rotates at about z frames per second).
Chimera can be used in mesa, but only in mesa DRI driver. If I click Tools->Demo-> COX Inhibitors Demo in Mesa DRI driver, a 3D structure can rotate relatively good. But if I changed to use Mesa Xlib driver, the performance is significantly deteriorated, the 3D structure could no longer rotate, instead of drawing line by line. This was my main question why it could perform 3D rending in Mesa DRI driver, but very poor in Mesa xlib driver. Most OpenGL applications work in both mesa DRI and xlib drivers. Is there any workarounds we could do to run Chimera in mesa Xlib driver?
Does your X11 VNC render OpenGL using the client graphics driver? It might just send the OpenGL to the client (ie. displaying) system in which case performance would depend on the graphics driver of that system. Performance can be dismal in such a situation because OpenGL queries have to make a roundtrip across the network connection.
Let me clarify it, I am doing the testing in a local machine, running Chimera with either Mesa DRI driver or xlib driver. No VNC connection, no network issues. The hardware is normal graphic driver using mesa DRI or Xlib. There was no hardware acceleration, no GPU. Thank you. Kind regards, Jupiter

Hi Jupiter, Thanks for the details. Mesa DRI (direct rendering infrastructure) allows Mesa to use hardware graphics acceleration, and I would expect it to be faster. You said you didn't have any graphics on the computer you are using. Are you sure about that? You know modern Intel CPUs often have an Intel graphics processsor on the same chip. According to the mesa xlib web page http://www.mesa3d.org/xlibdriver.html " Effectively, the Xlib driver converts all OpenGL rendering into Xlib calls." I would expect that to be incredibly slow, maybe 100 times slower than rendering with a graphics card. It may be especially bad with Chimera because Chimera wants to use lots of OpenGL capabilities. If you wish to pursue this further please use Chimera menu entry Help / Report a Bug... on the computer of interest. Report a bug with both the Mesa DRI driver and another with the Mesa Xlib driver. This will give us all the info about your system and what OpenGL Chimera is trying to use. Tom
Hi Tom,
Thanks for your response. Let me clarify it in my following embedded comments.
On 3/12/13, Tom Goddard <goddard@sonic.net> wrote:
Hi Jupiter,
Chimera tries to use modern OpenGL features: shaders, vertex buffers, instancing, .... It disables some of those features known to be buggy in mesa. If you start chimera --debug-opengl you can disable more OpenGL features with a start-up dialog. I see the debug dialog, but did not change things if I disable some opengl features.
You said in your first email that Chimera ran with "very poor performance when using mesa". It would be helpful to give an explicit example (e.g. opening PDB yyyy the model rotates at about z frames per second).
Chimera can be used in mesa, but only in mesa DRI driver.
If I click Tools->Demo-> COX Inhibitors Demo in Mesa DRI driver, a 3D structure can rotate relatively good. But if I changed to use Mesa Xlib driver, the performance is significantly deteriorated, the 3D structure could no longer rotate, instead of drawing line by line.
This was my main question why it could perform 3D rending in Mesa DRI driver, but very poor in Mesa xlib driver. Most OpenGL applications work in both mesa DRI and xlib drivers. Is there any workarounds we could do to run Chimera in mesa Xlib driver?
Does your X11 VNC render OpenGL using the client graphics driver? It might just send the OpenGL to the client (ie. displaying) system in which case performance would depend on the graphics driver of that system. Performance can be dismal in such a situation because OpenGL queries have to make a roundtrip across the network connection.
Let me clarify it, I am doing the testing in a local machine, running Chimera with either Mesa DRI driver or xlib driver. No VNC connection, no network issues. The hardware is normal graphic driver using mesa DRI or Xlib. There was no hardware acceleration, no GPU.
Thank you.
Kind regards,
Jupiter

Hi Tom, On 3/13/13, Tom Goddard <goddard@sonic.net> wrote:
Hi Jupiter,
Thanks for the details. Mesa DRI (direct rendering infrastructure) allows Mesa to use hardware graphics acceleration, and I would expect it to be faster. You said you didn't have any graphics on the computer you are using. Are you sure about that? You know modern Intel CPUs often have an Intel graphics processsor on the same chip. According to the mesa xlib web page
Sorry, I might not use the terminology correctly. When I said no hardware acceleration, no GPU, I meant that my graphic card does not support GL functions in hardware, it does not have NVIDIA driver. Usually we call GTX or other NVIDIA cards as GPU and hardware acceleration.
" Effectively, the Xlib driver converts all OpenGL rendering into Xlib calls." I would expect that to be incredibly slow, maybe 100 times slower than rendering with a graphics card. It may be especially bad with Chimera because Chimera wants to use lots of OpenGL capabilities.
If you compair Xlib driver with NVIDIA GPU, yes it could 100 times differences. But we are compare Xlib driver with non-GPU graphic card DRI, the differences are relative small (2 - 4 times).
If you wish to pursue this further please use Chimera menu entry Help / Report a Bug... on the computer of interest. Report a bug with both the Mesa DRI driver and another with the Mesa Xlib driver. This will give us all the info about your system and what OpenGL Chimera is trying to use.
Yes, I've just filled the Report, please let me know if you need more information. If you have a 3D test program, or benchmark test program, please let me know, I can test it on my local machine with three different Mesa 9.1 drivers (swrast, llvm and DRI). I'll be very interested in seeing how much differences between the tree drivers. Thank you. Kind regards, Jupiter
Tom
Hi Tom,
Thanks for your response. Let me clarify it in my following embedded comments.
On 3/12/13, Tom Goddard <goddard@sonic.net> wrote:
Hi Jupiter,
Chimera tries to use modern OpenGL features: shaders, vertex buffers, instancing, .... It disables some of those features known to be buggy in mesa. If you start chimera --debug-opengl you can disable more OpenGL features with a start-up dialog. I see the debug dialog, but did not change things if I disable some opengl features.
You said in your first email that Chimera ran with "very poor performance when using mesa". It would be helpful to give an explicit example (e.g. opening PDB yyyy the model rotates at about z frames per second).
Chimera can be used in mesa, but only in mesa DRI driver.
If I click Tools->Demo-> COX Inhibitors Demo in Mesa DRI driver, a 3D structure can rotate relatively good. But if I changed to use Mesa Xlib driver, the performance is significantly deteriorated, the 3D structure could no longer rotate, instead of drawing line by line.
This was my main question why it could perform 3D rending in Mesa DRI driver, but very poor in Mesa xlib driver. Most OpenGL applications work in both mesa DRI and xlib drivers. Is there any workarounds we could do to run Chimera in mesa Xlib driver?
Does your X11 VNC render OpenGL using the client graphics driver? It might just send the OpenGL to the client (ie. displaying) system in which case performance would depend on the graphics driver of that system. Performance can be dismal in such a situation because OpenGL queries have to make a roundtrip across the network connection.
Let me clarify it, I am doing the testing in a local machine, running Chimera with either Mesa DRI driver or xlib driver. No VNC connection, no network issues. The hardware is normal graphic driver using mesa DRI or Xlib. There was no hardware acceleration, no GPU.
Thank you.
Kind regards,
Jupiter

Hi Jupiter,
If you have a 3D test program, or benchmark test program, please let me know, I can test it on my local machine with three different Mesa 9.1 drivers (swrast, llvm and DRI).
There is a Benchmark tool (in Chimera menu under Tools... Utilities). Details here: <http://www.cgl.ucsf.edu/chimera/docs/ContributedSoftware/benchmark/benchmark...> Elaine ----- Elaine C. Meng, Ph.D. UCSF Computer Graphics Lab (Chimera team) and Babbitt Lab Department of Pharmaceutical Chemistry University of California, San Francisco
participants (3)
-
Elaine Meng
-
jupiter
-
Tom Goddard