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

-- 
Ubuntu-accessibility mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-accessibility

Reply via email to