David Pitkin blogged a few months back that the Valve Steam client is coming to Ubuntu. More recently, Valve announced on their blog a private external beta is coming in October. John Pugh mentioned back in June that the Unity 4 game engine will support Ubuntu. Even Electronic Arts has taken interest in Ubuntu as a platform for gamers. And of course the Humble Indie Bundle has been working closely with Ubuntu for quite some time. The lack of commercial games has long been a notable wart, so these companies are bringing welcomed contributions into the Ubuntu ecosystem.
In support of all of this, several of us at Canonical (and more at NVIDIA and Intel) have been working behind the scenes to make porting games to Ubuntu 12.04 more feasible and make gaming a bit easier in general.
High end commercial games will often need bleeding edge driver support to get necessary fixes and features. But in Ubuntu we have to be very careful rolling out driver changes to users to avoid causing regressions, so this cutting edge support needs to be opt-in. With Valve’s guidance and advice, we’ve put together some solutions which will address the game requirements yet still be end-user accessible.
For NVIDIA, we will be introducing new nvidia experimental packages that you can install via the Additional Hardware configuration dialog. We have an example driver in precise-proposed if you’re curious; this is nvidia-experimental-304, which is just a copy of the current stable driver. The first real beta driver will be packaged in nvidia-experimental-310. We will introduce other nvidia-experimental-NNN drivers as NVIDIA produces new betas. These experimental driver packages will track all the beta releases from start to stable for one major driver series each. We’ll be making these experimental driver packages available both on the LTS and the current development release. When you upgrade to a new Ubuntu release, you’ll be moved to the nvidia-current for that new release, so we can ensure your upgrade will go smoothly. We probably won’t ship every single beta driver that gets released, but we’ll at least try to get the key ones that specific games need. I can’t say when the next beta driver will appear, but our goal is to have it available to you within 3 days of NVIDIA’s public beta announcement.
For AMD’s FGLRX beta driver packaging we plan to do something similar, although we’ve not scratched the surface of that yet.
On the Intel side we’re using a bit different approach to achieve the same thing. Instead of using the Additional Hardware dialog, we’ll be providing the 12.04 updates through our regular x-updates PPA. We’ve used this in the past for providing updates to DDX drivers and for fglrx and nvidia, so many folks may already be familiar with this source. However, to support a full-stack upgrade of Intel graphics requires not only the DDX driver but also mesa, the kernel driver, and some dependencies. Intel’s developers have been instrumental in identifying and packaging these components, and they’re currently being staged by Intel for testing in the intel-graphics-updates. When we merge that into x-updates we’ll also update and rebuild -nouveau and -ati so that everything is functionally consistent and safe to use across all the supported graphics hardware.
Aside from the graphics driver stack updates, there have been some bits and pieces we’ve already updated in the distro directly for Intel (since with FOSS drivers we can pull individual patches and verify correctness directly). We SRU’d a kernel fix to enable Open GL 3.0 for Ivy Bridge. We’ve brought in a patent-free S3 texture compression library for mesa required by Valve and the Humble Indy Bundle, to be installed on user systems by default starting with quantal (and precise via PPAs). And we’re working on getting mesa 8.0.4 SRU’d into precise (not required by Valve, but brings numerous fixes other games and 3D apps need).
All of the above is geared for leading edge adopters, as we want to help you get up and running on 12.04 with these games as soon as possible after release. For those wanting to wait a bit, in few months from now we’ll be rolling out a broader update for 12.04.2, which should include all the above updates plus some. But my hope is that going forward we’re going to see more and more commercial games come to Linux, and will be able to exercise (and improve) these new driver update mechanisms.