At some point early in the 5.1 branch Linux kernel development cycle, a bug was introduced that caused crashing and graphical glitching in some passthrough systems. No workarounds are currently known without reverting to 5.0 or an LTS kernel branch.

Tracking down the bad 5.1 Kernel Commit

Consider supporting us if you value independent tech news and research. This site will always be free of ads and sponsored content.

The exact cause is still unknown, but for some time now, using the 5.1 kernels has caused issues with passthrough guest VMs, usually manifesting as graphical glitching and reduced stability under 3d loads.

Several community members have done some sleuthing and found that the latest version without this issue is kernel 5.1-rc7, but  they’re still tracking down the exact commit that caused the issue in the first place. They’ve narrowed it down to just one or two in the release cycle that seem to be related to the issue, but as yet the exact cause is still unknown.

This image demonstrates the Graphical artefacts caused by early 5.1 kernel versions

Source: reddit user /u/The_Prime_Zealot

These effects make many 3d games totally unplayable. Above is an example of  artefacts caused by moving to the 5.1 Kernel.

The bug doesn’t seem to affect any specific combination of hardware as far as we can tell, but there have been a few reports of an issue free experience on 5.1, so there may be other variables at play.

We’ve been recommending that people just switch to LTS until the problem is resolved, but, it looks like Kernel 5.1.14 might resolve this problem, at least tentatively. There’s been several reports of it fixing the issues for those affected, but the commits in the new version don’t seem to align with any specific fixes though, so there’s no telling if/when the issue resurfaces. If you have a few minutes to spare, we encourage you to test the newest mainline kernel and get back to us on our Discord about whether or not it fixes things.

Special thanks to VFIO discord users nosound and Aiber for tracking down the cause.

UPDATE: Kernel 5.1.15 re-introduces the bug that wasn’t present in 5.1.14. It’s not clear what’s changed to bring it back.

Consider Supporting us on Patreon if you like our work and want a say in what we cover and access to early content. We provide RSS feeds as well as regular updates on Twitter if you want to be the first to know about the next part in this series or other projects we’re working on.