Run glxinfo on each machine and compare the output:

  • Which driver(s) support pbuffers
  • Which driver(s) support framebuffer objects
  • Which driver(s) support GLSL (shaders)
  • Which driver(s) support redirected Direct Rendering
  • Which driver(s) offer full OpenGL 2.1 with hardware acceleration
  • Which driver(s) offer full GLX 1.4 with hardware acceleration

The nvidia driver is the only one out there that actually has full OpenGL support?

Does MESA use hardware acceleration?

Does any open source drivers actually offer the hooks necessary to enable full OpenGL support, even when the hardware itself is capable?

How is the Linux DRI/DRM layer is broken?

How did nvidia avoid this? They bypassed it completely - the nvidia driver may look like a regular Xorg video driver but it's actually very invasive and replaces the bottom third of the X server? (Most bits of X are driven through overridable function tables?).

It's a crude approximation but the most crucial difference between the nvidia architecture and DRI/DRM is that nvidia actually have a memory manager?

Use of a memory manager - allocate offscreen buffers (pbuffers or fbos), reconcile 2D and 3D operations (hence no redirected Direct Rendering). The Accelerated Indirect GLX feature?

Indirect rendering is when a GL application delegates 3d operations to the X server instead of talking directly to the 3D driver. This makes operations slower, but not necessarily unusably slow - as long as the X server itself is capable of talking to the 3D driver and making hardware accelerated calls. Now, in DRI/DRM land, the X server originally *could not* talk to the 3D driver because only one direct client could run at a time - so the server itself was excluded because most people wanted their 3D apps to do the talking. However, they realised that if they forced all 3D apps to use indirect rendering, they could avoid the need for a memory manager because the X server itself acts as a single point of control over all 2D and 3D rendering - so they went and fixed things so that the Server could be a 3D client and accelerate indirect rendering, and thus AIGLX the born as a feature to be shouted about from the rooftops. Never mind that 3D apps would then have to use indirect rendering and be slowed down. Never mind that nvidia's driver offered Accelerated Indirect Rendering from day one back in 2000. Never mind that nvidia don't need to use it because they can do redirected direct rendering properly.

Reply via email to