Coordinating work around newer upstream Nvidia drivers for users

... or, how I wanted to kill Orcs all weekend, but instead I was wrestling with my operating system. So, Shadow of Mordor was recently released on Linux so I happened to have some spare parts, rebuilt a computer, and then ended up not playing because our Nvidia driver story in Trusty isn't ideal. It's not terrible, it worked, but I think we can do better. After some googling I found two people who are doing amazing work: The first is Michael Marley: https://launchpad.net/~mamarley/+archive/ubuntu/nvidia And the 2nd is Jason DeRose from system-76: https://launchpad.net/~system76-dev/+archive/ubuntu/stable So, I approached both Will Cooke and Alberto Milone on how we could do a better job of getting all this goodness to users with the least amount of breakage. Will responded with "Talk to the right people, get some +1's and tell me how I can help". That's this email. :) Alberto responded with "We spend a bunch of time testing drivers, which is why we look slow, as long as we don't break that..." I just got off the phone with Michael and Jason, and I'd like to start this discussion. First off: ## Why? - The amount of Linux games being released is ever increasing; the demand for fresh drivers in a fast developing market is becoming hard to ignore, users are going to want the latest upstream has to offer, and historically that's why we're here; we should strive to deliver the best experience. - With Windows 10 Nvidia is now directly publishing their drivers into Windows update. That means they can deliver a kickass experience with almost no effort from the user. Until we can convince Nvidia to do the same with Ubuntu we're going to have to pick up the slack. ## What I propose Jason and Michael have done a ton of work to deliver these goodies in PPAs, here's where I think we should go: - Let's not break distro, SRUs and existing distro policies exist for a reason; breaking my dad's computer isn't worth it, so .... - Let's do a "blessed" PPA with the latest drivers, so that people can just get those drivers without resorting to xorg-edgers and bleeding. - This PPA can have a "give be the latest bling" section, which is basically automated builds of the latest drivers; and a "stable" section that is basically a few days behind for people who want the latest, but don't want to be beta testers. - Lets work to ensure that there's a nice way to get back to the stable drivers in distro and that for users opting in won't be stuck in a weird broken state. - Lets add a hook to the graphical driver installer for "Pure upstream nvidia driver", which would enable this PPA. (Actually the entire wording of the drivers in that capplet is horrible, but let's save that for another day). - We should ensure that there is an understanding of support; we're going to give you the latest driver from Nvidia, and if it breaks, you get to keep both pieces. :) Last thing we want is people reporting bugs on binary drivers that we can't fix. - I would like to dip into the community fund to provide Michael and Jason with hardware for development and testing. Carl Richell told me that they have no problems sourcing hardware for testing for Jason, but I'd like to ensure that Michael is sorted. I was thinking of a first gen Maxwell card (750TI), and a 2nd gen Maxwell (970) to round out his existing hardware. - I've asked David Planella if we can get a bit of support communicating this to places where gamers are, like Liam @ gamingonlinux and Michael @ phoronix. This would help us getting data early on how well this works with plenty of time for the LTS. Once we have a semi-official place it will also allow other people to contribute if they'd like to. - The intent here is very much like umake; we recognize that people want the latest bling, and no matter what they're going to do it, so we might as well put a framework around it so people can get what they want without breaking their computer. On a semi-related note, Marc Deslauriers has been maintaining a PPA with the latest SteamOS stuff, the dedicated session, xpad controller fixes, and the compositor, once we get the baseline set with the drivers I would love to see someone grab these bits and get them into the distro proper. The xpad stuff has already been submitted to the upstream kernel, but if someone wants to help get the other parts into the distro, that would be amazing. Let's hunt some orc: https://youtu.be/XD-PfIdGIBE?t=1m25s Thoughts? -- Jorge Castro Canonical Ltd. http://juju.ubuntu.com/ - Automate your Cloud Infrastructure