Liam_on_Linux (
liam_on_linux) wrote2013-10-26 01:16 pm
![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
GTk2 lives on, or why ubiquitous OpenGL 3D compositing desktops are not always a good thing
I recently saw a mailing list post condemning Maté (the GNOME 2 fork)
as something to be deprecated and avoided because it uses Gtk2 and
that is now superseded code.
I think that's a bit sweeping to denigrate all Gtk2 desktops like that.
Yes, GNOME Classic and Cinnamon both offer Windows-like desktops
now with taskbars and start menus. If you don't like Unity or GNOME
Shell, then there are "traditional" alternatives.
But the un-Windows-like nature of Unity and GNOME Shell are not the
only reasons that people use them. There are other issues than the
cosmetics to consider.
Maté is a 2D desktop that can use compositing if you have it, as is XFCE.
GNOME 3 and its variants GNOME Classic & Cinnamon are 3D compositing
desktops. They need hardware 3D to work; if you don't have it, they
fake it using software OpenGL rendering, which is CPU-intensive and
rather slow, especially on lower-end machines, single-core boxes and
VMs. This also means that if your OpenGL rendering is less than
perfect, they can experience significant display corruption - for
example, try running Ubuntu GNOME under VirtualBox, enabling VBox's
OpenGL passthrough and watch what happens to the display.
Unity is also a 3D compositing desktop, albeit using a different
technology (and planning to change to another one soon).
There are lots of scenarios where one might wish to avoid this:
* you don't have 3D hardware
* you have 3D hardware but no suitable driver support
* you are running inside a VM & the hypervisor only offers 2D virtual graphics
* you are running inside a VM with 3D passthrough but the hypervisor's
3D support is not sufficiently compatible
* you are running inside a VM & the host doesn't have 3D hardware, so
software rendering would impose an unacceptable system load
* you are running on older hardware which doesn't do full OpenGL
* you are running on older hardware which does full OpenGL but only at
a low resolution
* you are running on older hardware & the CPU load of software OpenGL
is unacceptable
* you have 3D hardware but don't want to use it:
** you want to remotely-control your machine over the network
** you use accessibility tools to run your machine & they're incompatible
Etc. etc.
As a hint, I have personally experienced more than half of these.
My list is not comprehensive - I welcome corrections and additions.
Because of these and similar factors, there is a strong argument that
there's a place for 2D desktops which do not need or rely upon
compositing or OpenGL. Happily, there is a choice of them:
* Maté
* Xfce
* LXDE
* KDE
* ROX
* GNUstep
* Enlightenment
* Etc. etc.
Also note that for Ubuntu users, used to Gtk apps, 3 of these are
based on Gtk and so have or can have a familiar look & feel that's
consistent across the normal Ubuntu apps:
Maté, Xfce and LXDE.
And guess what? They're all based on Gtk2.
That suggests to me that for now, Gtk2 has enough users and developers
that it will stay in support for some time to come.
To write it off as dead is thus premature just yet, I think.
as something to be deprecated and avoided because it uses Gtk2 and
that is now superseded code.
I think that's a bit sweeping to denigrate all Gtk2 desktops like that.
Yes, GNOME Classic and Cinnamon both offer Windows-like desktops
now with taskbars and start menus. If you don't like Unity or GNOME
Shell, then there are "traditional" alternatives.
But the un-Windows-like nature of Unity and GNOME Shell are not the
only reasons that people use them. There are other issues than the
cosmetics to consider.
Maté is a 2D desktop that can use compositing if you have it, as is XFCE.
GNOME 3 and its variants GNOME Classic & Cinnamon are 3D compositing
desktops. They need hardware 3D to work; if you don't have it, they
fake it using software OpenGL rendering, which is CPU-intensive and
rather slow, especially on lower-end machines, single-core boxes and
VMs. This also means that if your OpenGL rendering is less than
perfect, they can experience significant display corruption - for
example, try running Ubuntu GNOME under VirtualBox, enabling VBox's
OpenGL passthrough and watch what happens to the display.
Unity is also a 3D compositing desktop, albeit using a different
technology (and planning to change to another one soon).
There are lots of scenarios where one might wish to avoid this:
* you don't have 3D hardware
* you have 3D hardware but no suitable driver support
* you are running inside a VM & the hypervisor only offers 2D virtual graphics
* you are running inside a VM with 3D passthrough but the hypervisor's
3D support is not sufficiently compatible
* you are running inside a VM & the host doesn't have 3D hardware, so
software rendering would impose an unacceptable system load
* you are running on older hardware which doesn't do full OpenGL
* you are running on older hardware which does full OpenGL but only at
a low resolution
* you are running on older hardware & the CPU load of software OpenGL
is unacceptable
* you have 3D hardware but don't want to use it:
** you want to remotely-control your machine over the network
** you use accessibility tools to run your machine & they're incompatible
Etc. etc.
As a hint, I have personally experienced more than half of these.
My list is not comprehensive - I welcome corrections and additions.
Because of these and similar factors, there is a strong argument that
there's a place for 2D desktops which do not need or rely upon
compositing or OpenGL. Happily, there is a choice of them:
* Maté
* Xfce
* LXDE
* KDE
* ROX
* GNUstep
* Enlightenment
* Etc. etc.
Also note that for Ubuntu users, used to Gtk apps, 3 of these are
based on Gtk and so have or can have a familiar look & feel that's
consistent across the normal Ubuntu apps:
Maté, Xfce and LXDE.
And guess what? They're all based on Gtk2.
That suggests to me that for now, Gtk2 has enough users and developers
that it will stay in support for some time to come.
To write it off as dead is thus premature just yet, I think.