GNOME 3, KDE, and Unity3D do not run

Problem

The latest versions of the popular desktops GNOME 3, KDE 4.8, and Unity 3D heavily use OpenGL. These desktops require direct access to the graphics hardware which is not available in a traditional remote X Server.

The default desktops will fail to run when connecting remotely from a typical X Server (X-Win32, eXceed, Xming). At best, they will run in a fall back mode which results in a decreased user experience. This is due to the use of the Direct Rendering Interface

Explanation

Direct Rendering Interface (DRI) is an interface to the Graphics Hardware of the local machine. DRI gives improved graphics capabilities over the older GLX extension of the X Windows System. DRI allows programs to utilize the latest OpenGL graphics technology your Linux server’s system’s graphics card.

Xorg has switched to DRI as their default OpenGL rendering technology. This switch causes issues when connecting remotely since a remote machine does not have access to the Server Hardware.

When connecting remotely to an application that uses OpenGL, the following may occur:

  • the program will run slower as it must use Indirect Rendering in software. This negates all hardware performance increases
  • the program will switch to “fallback mode” which results in a degraded user experience
  • the program will fail to render graphics in certain locations if it uses OpenGL calls not in the GLX specification (which is now very outdated)
  • the program will fail to run at all

Solution

The solution is to use FastX. The FastX server installs directly on to the remote machine and gives full access to the graphics hardware. The server’s compression technologies will also improve performance. Download FastX Today