[orca-list] More on desktop shells, 2D vs 3D, and the future.
- From: Luke Yelavich <themuso ubuntu com>
- To: orca-list gnome org, Ubuntu Accessibility Mailing List <ubuntu-accessibility lists ubuntu com>
- Subject: [orca-list] More on desktop shells, 2D vs 3D, and the future.
- Date: Wed, 9 May 2012 15:56:26 -0700
Hi all,
I've seen much discussion recently about the various desktop shells that are available on Linux, particularly
those that are accessible, or will be accessible in the future. I think its worth outlining what shells we
have, their accessibility status, and their graphical hardware requirements.
Unity:
Till now, there have been 2 flavours of Unity, a 2D flavour built on QT, and a 3D flavour, using a custom
developed graphical widget toolkit sitting on compiz. As per my previous mail, Unity 2D development is being
discontinued. Unity 2D has more forgiving graphics hardware requirements. It doesn't perform any 3D rendering
of onscreen elements by default, and can therefore work on graphics hardware that is several years old, and
can work on video hardware that doesn't have a 3D driver present on the system, i.e proprietary NVIDIA and
AMD/ATI video drivers.
Unity 3D performs a lot of 3D graphics rendering. The launcher, the dash, and the top panel are all rendered
in real time using 3D enabled graphics hardware. For unity 3D to work, you need to have 3D drivers present,
either open source drivers for Intel/AMD and for some NVIDIA hardware, Nouveau. Unity 3D will work on all
NVIDIA hardware if you install the proprietary NVIDIA drivers.
Unity 2D accessibility is almost 100% complete, however again as per my previous mail, Unity 2D development
is being discontinued. unity 3D accessibility works partially, althogh I believe some of that is broken at
the moment. I will be workin to improve Unity 3D accessibility by the next LTS release of Ubuntu.
Unity 2D development is not only being stopped to reallocate resources. There are technical reasons why Unity
3D will be the focus from here on out. See the end of this email for my explanation.
GNOME shell:
Very similar to Unity 3D in terms of hardware requirements and rendering. It renders UI elements in 3D using
3D capable graphics hardware, and needs the same drivers to be present to work. There is no non-3D version of
GNOME shell.
As of GNOME shell 3.4, GNOME shell is quite usable with Orca. Some areas, particularly the top panel still
need work, but users are able to launch and search for applications.
GNOME classic, aka GNOME fallback:
Classic GNOME is used in GNOME distributions as a fallback for those who do not have a hardware and software
combination that allows 3D graphics rendering to work. Classic GNOME has a very similar look and feel to
GNOME 2. This environment is still just as accessible as GNOME 2 was.
I believe that GNOME classic/GNOME fallback is also going away in the longer term. My technical explanation
at the end of this email outlines why.
KDE:
KDE uses the QT widget toolkit. I believe that KDE does use 3D rendering by default, although this may be
incorrect. It also may be possible to disable 3D graphics rendering, although again I am not 100% sure.
Whilst QT accessibility is improving, more work is needed to improve KDE's accessibility, as KDE has many
custom elements that need to be enabled for accessibility. We will have accessible KDe applications before we
have the whole desktop accessible, which is still good enough, given our other desktop shell choices.
XFCE:
XFCE is a light weight desktop environment, that does not use 3D graphics rendering by default, although this
may be incorrect, and may change in the future. XFCE has a similar look and feel to Classic GNOME/GNOME 2.
XFCE is already somewhat accessible with Orca, as it uses GTK2, however much work is needed to improve
keyboard navigation and better present custom widgets to Orca.
3D desktop rendering is the future, whether we like it or not. This is being done because today's graphics
hardware can do quite powerful and complex rendering, and taking advantage of this for the desktop means less
work is put onto the CPU to show the desktop, and it is much more pleasant visually to see a window gradually
fade/slide onto the screen, rather than watch a flickery display update as the desktop is used. Windows and
Mac OS X have rendered their desktops using 3D for many years now, and all mobile devices based on Android
and IOS use 3D rendering for interface display.
So why are Unity 2D and possibly GNOME fallback/Classic going away? The short answer is that thanks to new
developments, it will be possible to use the CPu to render the same 3D effects and UI elements. Yes, this
will put more work onto the CPU, but the thinking is that this will be satisfactory for the user to then go
ahead and update/install the required drivers for their hardware, thereby offloading the 3D rendering work to
the hardware, as originally desired by the desktop shell developers. These desktops will not be requiring
very new graphics hardware just yet. In fact Unity 3D can be run on graphics hardware that is 7 to 8 years
old, maybe even earlier, depending on the amount of video memory present on the hardware in question. For a
practicle example, I have successfully run Unity 3D on a Radeon 9000 mobile GPU with 64MB of video memory,
which is from 2003-2004, give or take. it wasn't fast, but it worked and everything appeared to be rendered
without issue. I also think certain Radeon 7500 chips can also render Unity 3D, but am not 100% sure.
We can't keep supporting really old hardware forever, and compliant hardware from the last 6 years is quite
easily available now at cheap prices if you are willing to buy second hand hardware, hense the move to 3D,
and the desire to make our desktop shells more efficient in their hardware use.
I hope this helps clear a few things up for people who are wondering. Any questions, feel free to ask, and if
you have any corrections, please feel free to reply and correct me.
Luke
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]