Ever tried Gaming on a Linux system? Even though Linux exists since more than 30 years now, it is still hard to play a Game on it. Most Games don’t even publish a release for Linux. That’s why projects like Wine exist (Wine provides a compatibility layer so that Linux Users can play Windows Games)

Why is it like that?

For that, we need to understand how a Game works and how a Game Developer thinks. Game Developer need to earn money so that they can buy e.g. food. For that, targeting a big Group of Customers is important.

When a Game Developer writes a Game, he doesn’t want to write separate Code for every GPU / CPU. In the early days of computing (e.g. the C64 and Atari days), this was the case. Back then, developer wrote code for every different GPU and CPU. This is very time-consuming and if Companies would still act like that, we would have to wait even longer for the e.g. next GTA 6 Game or the next Elder Scrolls.

Then Companies like Microsoft and Silicon Graphics came. These companies did something really great for all Game Developers. They provided APIs which can be accessed by one Interface and which handle the different GPUs for you. This means, a Game Developer only has to write the code once and these APIs handle the rest. Now publishing a Game for different computers is easier.

This APIs are named DirectX (from Microsoft) and OpenGL. Because DirectX is from Microsoft, the API was only available for Windows. OpenGL on the other hand is available for a wide range of Operating Systems. OpenGL is also Open Source which means every developer can take a look at the code.

Now, if you can think logical, you already found the reason why Linux Gaming is so limited. The question about the Availability of Games is a Question about which API is more successful.

Most people use Windows. Microsoft provides DirectX for Game Development, so most Game Developers choose DirectX as API platform because they can reach most of the people by that.

If OpenGL would be more successful, then we would have more Games for Linux because OpenGL is compatible with Linux.

The Future

In the past, Game Developers used OpenGL because they could target Windows, Linux and macOS. Apple however, decided to deprecate OpenGL APIs on all of their platforms because they now have their own proprietary “Metal” API.

Many features (like Ray tracing) are only available in these proprietary APIs.

So probably many developers will still choose proprietary APIs like DirectX or Metal in the future because they provide better features which result in better Games.

The reason behind this is that companies like Microsoft and Apple want that. They earn way more money that way. Developers have to pay fees and if they use a Windows-only or Apple-only API, then this will result into exclusive titles which are only available on one platform and customers will choose the platform with the better exclusive titles.