Due to the high popularity of Windows, game development products have always been created exclusively for this OS, as well as tools to run them. Here is a vivid example: the well-known DirectX is not supported by any other system. For a long time there was only one of its analog – OpenGL, but in terms of performance with DirectX he could not compare.
Now there is an improved version of OpenGL – Vulkan, and it is close enough to the leader. If a game has support for this library, it becomes much easier to port it to Linux. There are also all sorts of wrappers (for example, DXVK) – these are libraries that allow you to run DirectX through Vulkan.
Not to mention that difficulties can also appear due to individual features of the game, as in the case of “Space Rangers 2”. In fact, this game consists of two, which reduces the load on the PC, but it prevents porting and running on other operating systems.
If earlier developers had to directly apply graphics libraries, now this work is entrusted to the engine. So you only have to go into the settings and select the necessary library.
Thus, you can make a Windows game using DirectX, and then just use Vulkan to compile it in Linux. Most of the time this process takes a few clicks, but sometimes you still need to make edits to the code.
To port games to other operating systems, you need to increase your development investment quite a bit. But the result will be a significant increase in your audience.
As for creating games only for Linux, we think it’s a bad idea, because too few gamers use this system, which makes it unprofitable.