Fedora 15 is gearing up to be another great release from the Red Hat camp with new features like Linux power management improvements, full systemd integration, SPICE support for virt-manager, and consistent network device naming, among many other features
. When it comes to open-source graphics drivers, Fedora tends to be on the leading edge of development seeing as Red Hat employs some of the key developers like David Airlie and Jerome Glisse. With Fedora 15, besides shipping with all of the latest kernel / X / Mesa bits, there is one interesting change that's gone largely unnoticed from their feature lists, etc.
This change is the defaulting to LLVMpipe
when no other Mesa hardware drivers are available. LLVMpipe becomes the default to replace Mesa's classic software rasterizer.
LLVMpipe is a Mesa Gallium3D driver we have talked about much before as it leverages LLVM (the Low-Level Virtual Machine compiler infrastructure) to provide a much better CPU-based software rasterizer -- i.e. running OpenGL on your CPU
-- that's a night and day difference between it and the classic "swrast" in Mesa.
LLVMpipe though does require a high-end CPU to do anything
in terms of even running ioquake3-era games at a low resolution off your CPU. But at least it does more than Mesa's classic software rasterizer, which has problems churning out even one or two frames per second on even the best CPUs. Gallium3D LLVMpipe is being optimized over time
and while it's still not really usable to end-users as CPU-based solution that's comparable to the software driver on Microsoft Windows, LLVMpipe is also useful to developers for debugging drivers and ruling out hardware drivers vs. core Mesa / Gallium3D bugs.
Obviously it's best to be just using a hardware graphics driver to actually take advantage of your GPU, but for hardware that's not yet supported or is broken with the open-source drivers, you will now find yourself on the Gallium3D LLVMpipe driver with Fedora 15. That was the case for me this week when trying out Fedora 15 Alpha
on an Intel Sandy Bridge notebook from System76 that sports a NVIDIA GeForce GTX 485M graphics processor.
There is Fermi (GeForce 400/500 series) support in the open-source Nouveau Gallium3D driver for OpenGL acceleration and 2D/X-Video acceleration within the Nouveau kernel DRM, but accelerated support currently requires loading out-of-tree firmware/microcode. Thus when booting up Fedora 15 Alpha, I had kernel mode-setting without acceleration, so LLVMpipe popped into action. At least it's a Sandy Bridge notebook where the processor is obviously a screamer
Unfortunately, LLVMpipe doesn't yet support running the GNOME Shell
or Compiz. Those compositing window managers should be able to run off the CPU with LLVMpipe, but the GLX_EXT_texture_from_pixmap extension is not yet supported. So it's not a huge feature at this point, but it's a welcome change to see over the classic Mesa software rasterizer.
Fedora 15 is the first distribution I've come across where LLVMpipe is now the default fall-back.