Why do I have poor gaming performance in Ubuntu?
Solution 1:
Well, it depends
It's true that Linux has made significant progress on running games. But it is difficult to notice this progress without a reference point. Comparing to Windows, Linux is still not fully ready for people who call themselves "gamers". But if you compare current state of games on Linux, with what we've had a few years ago, then you will notice a firm progress in this field.
The problem
The problem especially lies in graphics drivers. There are of course proprietary linux drivers developed by graphics cards manufacturers, buy their development is not a priority for them, as most customers uses Windows for gaming. This changes slowly and depending on your GPU, you may see diffrent overhead on Linux, associated with the development of drivers.
Also keep in mind that even today, there are technologies ready to release games native for Linux, without additional work required on developers side. But often games creators don't even consider it, because it does not pay off.
Another thing is that wine's work for implementation of windows-related libraries like directx, also takes time.
Maybe not so bad?
There are many big titles avilable on Linux that should work at this point with mid-end GPU, like CS:GO, Tomb Raider, Rise of the Tomb Raider, GRID Autosport, The Witcher 2, Wolfenstein: The Old Blood. The are just examples. Many other games also runs flawlessly with the help of Wine.
Thanks to Valve and Steam Play, it's already possible to play many games on Linux without even dealing with wine, playonlinux or lutris. In relation to previous years, the library of games ready to play on Linux has become really big.
In may 2019 Steam has reached over 5000+ games for Linux.
Performance is still an issue, but as I said, it depends on your GPU, for some games you may even have better performance that on Windows. But generally, all games that are not natively dedicated to Linux, will show less performance.
But there's already work going on to change that.
One example is Proton
Proton is a tool for use with the Steam client which allows games which are exclusive to Windows to run on the Linux operating system. It uses Wine to facilitate this.
Another is dxvk
A Vulkan-based translation layer for Direct3D 10/11 which allows running 3D applications on Linux using Wine.