Glucose

In the spirit of being short and sweet, that fits very well with the concepts of Glucose:

  • it's an OpenGL based acceleration architecture (as XAA and EXA);
  • it uses Software/Xgl code, so it accelerates everything using exactly the same paths as Software/Xgl does, so there's no duplicate code/work;
  • all driver code is limited to just initialising it (a call to glucoseDriverInit).

Known issues

  • Xorg will crash if the number of clients reaches zero.
  • Changes to the screen geometry via RandR extension are not yet supported.

Source

Source is only available from Git and for Intel cards. You need to follow the instructions to build a modular Xorg, but using instead:

  • yuv-porting branch from pixman module,
  • master of Software/glitz module,
  • glucose-2 branch from xserver module,
  • glucose branch from xf86-video-intel module. Then add the following line to the Device section of you xorg.conf:
  Option  "AccelMethod"  "glucose"

Troubleshooting

If things are slow check on the resulting /var/log/Xorg.0.log for the following (or similar) lines:

 ...
 AIGLX: Loaded and initialized /usr/lib/dri/i915_dri.so
 ...
 intel(0): Using GLUCOSE for acceleration
 ...

If either is missing then you're either using glucose with GL software rendering, or no glucose at all.