Gaming on Linux, thanks to the Wine project and Steam are now easier than ever. To install Linux on a laptop is just a simple case of writing the OS onto a thumb drive, turning off the accursed Secure Boot in the BIOS and then rebooting from the USB stick.... A desktop appears with "Install Linux" at the top left. One click, and it's a simple wizard... Three minutes later, take out USB, reboot and hey presto, you have a Linux laptop.
But there are still a couple of steps to go to make it a gaming laptop. Linux is freeware, and everything that ships with it has to be freeware for them to be able to distribute it freely... That includes drivers. Sadly, NVidia have always been cagey about their drivers and refused to release API details.... until recently... A few years ago, they did an about-face and released some information that allowed some developers to create the "NouVeau" drivers (I capitalised the N and V cos that's why they picked that word.. the drivers are "new" and for "NVidia".. It's taken a good few years, but you CAN actually do gaming on the Nouveau drivers now! They're good enough that when I installed the laptop I was able to install all my usual games and play them without a single further step!
BUT, if you want to use all the CUDA goodness, and want higher framerates, GSync and other NVidia things you need to install the NVidia drivers. This is where I kept bumping my head.
You see, NVidia's drivers (called 'proprietary') are loaded up at Boot time and for some reason they're not digitally "signed"... All the other Linux drivers are, but those aren't, and that causes Secure Boot, a hatefully irritating BIOS feature whose only purpose appears to get in the way blocks you booting... So that's why you have to turn it off.
If you stick with the Nouveau drivers, you can leave Secure Boot on, and you'll have a great normal desktop experience and can play pretty much any games you like. But if you want to push the gfx to the edge and play cutting edge games, then off goes Secure Boot, and in go the proprietary Nvidia drivers. My distro of choice is Linux Mint which has a lovely "Driver Manager" app that does all the downloading, uninstalling and reinstalling for me.. .So it's two clicks to choose the new driver version and then install it. One more click to reboot and I'm now on the latest version.
BUT, I've been having a terrible time actually getting them to work. I've been stuck on driver release 535. Every time I try to update to 550, 570, 575 or now 580, the laptop works, but alt-tabbing produces black screens, the secondary monitor freezes and (worst of all) the laptop periodically hangs.
I've seen many posts where people have one or more of these issues, and the instructions are usually extremely helpful. There's one person on the Linux Mint forums, SMG, who seems to have endless patience asking and re-asking for the "inxi" output, and helping to point people the right way. But even SMG was stumped by my issues.
Eventually, someone suggested I just reinstall. Luckily I always put my system on one disk and my home on another. This makes for a pretty seamless reinstallation process. Just repeat the install as above, but this time tell it to re-mount the secondary disk as /home and NOT to format it. It will duly reinstall, leave your home folder alone, and hey presto! you're back at a clean desktop.
So I did it, and sure enough, all the problems vanished.
How? Why? I have no idea. My best guess is that the NVidia drivers, when they're installed, leave some config cruft kicking about in the file structure somewhere, and the uninstall doesn't properly clean it up. Perhaps it's like when you uninstall a windows program and the program has created something, that will be left along with the folder, although all the program files have been deleted?
I dunno... But the moral of the story (for me) is that whenever there's a substantial improvement in the nVidia drivers (say three or four major versions - which is about once every 18 months or so), I'm going to completely reinstall the OS, because just upgrading the Linux version and the NVidia drivers seems to just cause problems.
So, I'm now on the latest drivers (580), I've alt-tabbed in and out of Two Point Hospital (which is getting 102fps at 2560x1440) and the laptop hasn't hung all morning.... So I'm going to take it as a win.
I do love Linux, and it's an amazing OS for gaming on, but NVidia are just pooping all over the party with their awful driver experience! Hurrah for the Nouveau driver people! I look forward to the day when we can just leave it on the Nouveau drivers and never need to install crappy proprietary drivers ever again!