OpenGL Becoming a Requirement For the Linux Desktop 229
An anonymous reader writes "Modern Linux desktops like Ubuntu's Unity and the GNOME Shell have placed a requirement on OpenGL 2.0+ support for handling their compositing window managers and desktop effects. Wayland's Weston also needs OpenGL ES 2.0 support. Now with modern Linux distributions like Ubuntu 12.10, rather than falling back to a 2D unaccelerated desktop if you don't have a sufficient GPU or graphics driver, users are being forced to run LLVMpipe as a CPU-based software rasterizer. LLVMpipe works fine if you are on a new PC with a fast x86-64 CPU, but the OpenGL-based Linux desktops are causing growing pains for ARM hardware, virtual machines, servers, multi-seat computers, and of course all older hardware. LLVMpipe is a Mesa Gallium3D driver that uses LLVM for run-time code generation as an attempt at accelerating graphics faster on the CPU. So much for Linux being good for old computers?"
The KMS based graphics stack is already effectively unusable on AGP systems (if you have SMP + AGP, there are race conditions somewhere leading to really hard crashes that appeared a couple of years ago and dozens of years old open bugs with no resolution other than "use PCI mode" which cuts bus bandwidth by 4 or 8 times, and still doesn't work with SMP), but for those with older PCIe/IGP systems you could always runs Window Maker, Sawfish, Enlightenment, Open Box, or one of many other window managers without a compositor. Of course then you lose compositing, and there aren't any usable external compositors for some reason. The flipside to this is that moving to OpenGL as the primary interface to the GPU means one fewer driver that has to be written, and will probably lead to an overall improved experience for those with supported hardware given the limited resources Free Software drivers authors have.
Fluxbox (Score:5, Informative)
Still no OpenGL required for Fluxbox. Still snappy on old hardware too.
Dear OP (Score:1, Informative)
You're wrong OP,
There's no requirement for OpenGL on the desktop. Modern desktops which supply Unity also supply Unity 2D, which is an implementation based on Qt.
Re:Dear OP (Score:5, Informative)
you are out of date. Unity 2d is now dropped.
alt+shift+F12 (Score:5, Informative)
KDE (Kwin) has one of the most advanced compositing window managers around. You can toggle compositive off with alt+shift+F12 and go back to a 2D desktop. If it detects that it cannot run with compositing due to hardware limitations, it will do that by default, or you can configure it not to if you just don't like that.
There is no requirement for OpenGL in any reasonable window manager.
Re:Mesa? (Score:5, Informative)
From what I understand, there hasn't been a single piece of graphics hardware ever that implemented every single OpenGL call in hardware. The point of Mesa was to provide reference code that driver implementers could build on, replacing calls that their hardware did support with the appropriate driver hooks, and leaving the rest as is, while providing a consistent ABI (at least per-distro) to applications that need to link against libGL. It serves the same purpose today as when it was first written.
Re:KDE? (Score:5, Informative)
KDE doesn't require a compositor, and you can toggle compositing on and off pretty easily if you want.
Re:And? (Score:5, Informative)
I can assure you that my nine year old (but basically eleven year old tech, I got it for a steal when they EOLed everything after the Athlon64 FX was released) AthlonMP is still alive and kicking. With two 2.13GHz processors, 4G of RAM, and a Radeon X1650 it wouldn't be too shabby. Except for the part where I have to keep CPU1 disabled to use OpenGL (initially, I blamed having a Radeon 9100 so I got the new one, no dice). My only option at this point is to drop back to something like Debian lenny, but then I can't run xbmc (really, xbmc + zsnes + mame + {supertuxkart, armagetron} + a few xbox controllers = really sweet HTPC... and the box is great as a fileserver and build server all in one). For power, the thing idles at around 120W, so it's not even that much worse than a modern AMD based system on the power bill (we've got that nukular power round these parts, so I'm still paying a dime a kwh and can feel 1/3 fewer pangs of guilt about burning coal). With the second CPU disabled, however, it's just an underpowered old machine instead of something competetive with a more modern low end desktop.
I gave up on debugging it (the lock up is so hard, even kgdb doesn't work... and trying to do the remote tracing thing also doesn't work because the last traces before the crash don't make it to the serial port). It's turned perfectly usable hardware into ... well, I'm getting an FX-whatever rig next week. Probably better for the economy, not so great for my account balance.
Re:alt+shift+F12 (Score:4, Informative)
As long as you don't attempt to apply bilinear/trilinear filtering, Kwin's compositing even works reasonably well in pure software mode.
Re:And? (Score:4, Informative)
I recently installed xubuntu on my portable after getting sick of the ubuntu desktop. I must say, I'm quite happy with the switch. It boots and runs very fast, and I think my battery life is a bit longer now too. The desktop is functional and traditional, "fancy features weirdo's" have not ruined the project yet.
This is really easy to solve... (Score:3, Informative)
$20 can get a decent PCI-e video card that can be used for accelerating desktop compositing. Resourceful people can probably even find suitable cards for free if they look around.
We are way beyond the point where a 3D accelerated video card is a luxury item in a PC.
Re:Fluxbox (Score:5, Informative)
Let's keep people educated. KDE 4.x (Kwin) doesn't require GL either, it's completely optional and can be disabled, "live", via a keyboard shortcut or setting an automatic window property (like launching a game > disable compositing".
It's important that people knows KDE doesn't require GL to run, so they:
A) Keep maintaining it.
B) Others see it as an example of how to do things right.
Re:alt+shift+F12 (Score:5, Informative)
And remember you can add window rules to disable compositing dynamically, for example when launching a game or other GL-intensive tool. It's the only (linux) desktop that allows that.
Re:Dear OP (Score:5, Informative)
Too many comments forget Kwin. Which kind of shows nobody really uses KDE4, apparently, because it's a killer feature nobody knows about: It doesn't require GL and can enable and disable it on the fly without losing anything you are doing at the time. Even with automated rules!