For the longest time Linux had one shortfall that was a deal breaker for most: Almost nonexistent game support. Because of this, I kept windows on the side so I could game. But as I grew tired of Windows, I started to look into the gaming ecosystem on Linux and found that it was in a much better state than I was lead to believe.
One of the biggest things helping gaming on Linux thrive is the tireless work done by Valve through the open source Proton compatibility layer. Being a fork of the Wine project, Proton acts as translation layer between Windows programs and the Linux operating system. Unlike Wine however, Proton incorporates patches and bleeding edge code from the Vulkan and Mono projects to make Windows only games run just as good, if not BETTER than if it was running on Windows. And because it is open source, forks of Proton (Namely Proton-GE) are available that use even more bleeding edge patches to further improve performance and compatibility with newer games!
There is a catch however. Since it is a compatibility layer, some games just do not work. One of the main hurdles is anti-cheat software that SOME games use, whether or not they should is topic that I will speak on later. Another issue is that with Proton being a fork of Wine some games may not work OTB, requiring manual tweaking via Protontricks or through the use of Steam launch options. Neither of which is awfully difficult, but not very user friendly to people who just want things to work.
In my experience, most games do not need tweaks applied, and those that do only need launch options. All in all, with compatibility increasing I think gaming on Linux has a bright future ahead of it!