We recently cracked the case of how to get Vulkan graphics acceleration working in Crostini. I’ve got a full guide on how to do this yourself coming up as my next article so stay tuned for that if you’d like to be able to tinker with this a bit yourself! With the power of Vulkan, we wanted to see how well this all performs inside and outside of a the virtualized Crostini environment. Spoiler alert: the first results aren’t great.
Let me first start with a disclaimer. There’s a reason Vulkan isn’t enabled for the masses: it’s not ready yet. We’re seeing a large performance drop comparing a game running in and outside of Crostini. This new graphics pass-through driver, code-named Venus, was only merged upstream a few months ago and is truly revolutionary. There could be lots of patches behind closed doors at Google that we don’t know about. We only have what is publicly available to us.
The good news is is that the Canary update channel is tracking all of the latest upstream changes. I’ve been keeping my Chromebook in that channel, but be warned about Canary: you will encounter problems. It’s not a matter of if but when. In fact, Gabriel and I both ran into Vulkan support breaking completely just last week. That was huge a scare, but thankfully everything is back to normal again on the latest daily build.
Enough back story. Onto the benchmarks! For this, I used the Vulkan mod for Quake known as vkQuake. Why such an old game? Because my Chromebook is limited to Vulkan 1.0 support. Most modern games do not support this older version. I’m doing my best with what limited hardware I have. Speaking of which, these tests were performed on my Google Chromebook Pixel 2 (2015). It has an Intel Core i7-5500U processor, Intel HD Graphics 5500 integrated graphics, 16 GB of RAM, and a SSD.
As a baseline, we had to benchmark this game outside of Crostini. The easiest and fastest way for me to do this was to boot up my own Mac Linux Gaming Stick distribution – which is based on Manjaro Linux – from a flash drive on the same Chromebook that I used to test in Crostini – the virtual machine Linux on Chrome OS. The average frames-per-second (FPS) was 196.
With that information to compare with, we can move onto the benchmarks of Vulkan in Crostini. I’m using an Arch Linux container which isn’t exactly Manjaro Linux (since it has slightly newer packages), but it’s close enough. I was very surprised to see that the average FPS was 102. That’s a performance penalty of about half. Wow. Also notice that the frame rate consistently swings between a high and low frame rate.
Before we jump to any conclusions, let me point out a few things. This is an old game. It’s also possible that there is exponentially some sort of performance issue with the game running in a virtualized environment. With newer Vulkan support it may run even better. The two different environments are slightly different and I couldn’t use Crouton on Chrome OS for custom Linux containers because Arch Linux is not supported with it. Also, this is only one game, so it’s hard to draw any concrete conclusions. We plan to do more extensive benchmarking in the near future.
- Benchmarking on Crostini (Linux for Chrome OS) with Vulkan returns unexpected results
- Check all news and articles from the latest Security news updates.