Ubuntu as a gaming platform: graphics support

Registered by David Planella

Graphics in general must work extremely well in Ubuntu (OpenGL specifically)

Blueprint information

Jason Warner
Bryce Harrington
Bryce Harrington
Series goal:
Accepted for raring
Milestone target:
Started by
Bryce Harrington
Completed by
Bryce Harrington

Related branches



Goal is to ensure consistent experience between linux and windows/osx for graphics/opengl.

Valve is engaged with the hardware vendors on their linux drivers (close source drivers)
Will have a check for non-latest closed drivers or lacking drivers but will be overcomable.
Valve can launch the hardware dialog directly via calling `jockey-gtk` in precise (Quantal doesn't have it anymore and you must call software center sources instead).

Mesa 8 (precise) supports up to OpenGL 3.0

Mesa 9 supports up to OpenGL 3.1

properitary drivers currently support OpenGL 4.x

Games are expected to check OpenGL functionality themselves, so if different drivers they have to deal with it. Steam doesn't know that a game has version x of opengl and therefore needs something else, for instance.

Hybrid graphics: mlankhorst has a plan! Next X release or possibly one after will have an important piece. May be on timetable for 13.04.

Tests found in launchpad:
AMD fglrx driver

We can recomend for new software to use OpenGL 2 and ES2 overlapping functionality for broader hardware accelerated support across devices.
JogAmp provide this functionality for Java

mlankhorst know about a similar library for c / c++ users, have to lookup the name.

For Wayland support, may be as little as getting libsdl ported, and updating the Steam client.

Temporary resolution change?
 - Unity engine folks just avoid resolution changing and do gpu scaling
 - proposed solutions:
  - resolution manager
  - extension to the fullscreen window manager hint proposed on GNOME WM list.

2013-01-23 mlankhorst, mesa is provided through a separate ppa instead, and can be installed with the entire xserver stack from quantal. Providing mesa9 separately is not needed as switching is simple.


Work Items

Work items:
[mlankhorst] Look into providing mesa9 (and requirements) as a renamed package for precise: DONE
[canonical-x] Put the piglet tests as automated autopkg test against the packages: POSTPONED
[nuclearbob] Ensure QA has the piglet tests running on the appropriate hardware in the lab: POSTPONED
[popey] Find someone to submit Unity autopkg tests for not breaking on resolution change (eg barfing the title bars wrong, being unusable after a resolution changing app crashes): TODO