Linux users with Nvidia Optimus (hybrid graphics) hardware currently face many challenges in order to optimally utilize their system. While there are many solutions that allow both integrated and discrete GPUs to be active, it is still not yet possible to utilize video outputs from both sources concurrently through a single display server session (X11 or Wayland). Although X.org 1.20 may allow this to be possible, until then there is only one other solution: separate session for each GPU. With a bit of work, it’s possible to use the Nvidia-XRun project to accomplish this.
Despite the many advances the GNU/Linux operating system has made over the past few years, there’s one area with which I have frequently struggled: hybrid Nvidia graphics. Being the owner of a laptop computer using Nvidia Optimus technology (i.e. having both an integrated Intel GPU and a discrete Nvidia GPU), I’ve spent more time then I’d like to admit getting the best performance possible out of both cards. Unlike on Windows, where Nvidia’s drivers and software make it easy to launch applications with either GPU, accomplishing the same isn’t quite as easy on Linux. Recently, I discovered a project that can accomplish this: Nvidia-XRun.
I’ve been a Gnome 3 user pretty much since I first started using Unity on Ubuntu (RIP Unity). When I started learning about Wayland, I got very excited (granted I’m a sucker for new shiny and performance optimized things). My main hesitation with using it, even to this date, is compatibility. Although Wayland is more-or-less intended as a replacement for X11, it’s an entirely new protocol, which requires a compatibility layer in order to use older applications (AKA most applications currently). This need for compatibility sadly means there are issues, such as with gaming. I’ve been bouncing between Gnome under X.org and Wayland for a few months now, and as much as I’d like to be using it full-time, there are a few things preventing me from doing so.