I figured out why my game was running so slowly!! The solution was to install Bumblebee.
The Bumblebee I installed is a software package that takes advantage of NVIDIA’s Optimus Technology.
Optimus is NVIDIA’s proprietary, battery conserving, “hybrid” graphics technology. It optimizes battery life by switching between 2 video processing chips: (1) an all-purpose, power-conservative chip, and (2) a dedicated, high-performance (and power-hungry) graphics chip. Optimus defaults to running programs on the all-purpose chip and disabling the high-performance chip. When higher graphics performance is needed, Optimus switches automatically to the high-performance chip.
Unfortunately, as far as I can tell, NVIDIA does not support Optimus on non-Windows operating systems (even my laptop’s BIOS setup screen said to enable Optimus only with Windows XP/7/8).
However, not to be defeated or excluded, smart Linux nerds created Bumblebee.
Bumblebee solves the performance issues with my game because it does not use the stock nvidia-libgl package. Instead, Bumblebee uses the mesa-libgl package that I described as running my game fast. Yet, it still enables fast 3D performance, using what appears to be a customized revision of the nvidia-libgl package. Bumblebee seems to address whatever issue was in NVIDIA’s own GL library files that caused slow performance in my game.
The only (minor) drawback is that Bumblebee does not support automatic switching from the Intel chip to the NVIDIA chip. To use the NVIDIA, I have to prepend a specifier in front of the command for whatever program I want to run. For example, what used to be “playgame” is now “optirun playgame.” The “optirun” specifier causes Bumblebee to work its magic and use the high-performance chip.
All things considered, that is a miniscule issue, and I don’t mind manually controlling the graphics chips. It’s part of being a badass.
Mass KonFuzion out.