As a ROBLOX developer using Linux as their main operating system, it is currently cumbersome to develop and play on ROBLOX. Doing so either requires running ROBLOX in a virtual machine, which leads to sub-par performance in ROBLOX, or having to reboot every time the user wants to develop and play on ROBLOX.
As we all know, Linux’ market share is not as significant as that of Windows-based systems (2-5% based on what website you check, similar to MacOS’s market share). However, there are a few reasons I want to address why I think supporting Linux is important and feasible.
Developing for ROBLOX on Linux, in the current state
Currently there are three major ways of running studio. From most reliable to least reliable: Rebooting your machine into Windows or MacOS, running ROBLOX inside of a virtual machine or running ROBLOX under WINE.
All of the mentioned methods have some sort of downside when your main operating system is Linux. Booting your machine into MacOS or Windows rips you right out a comfortable working environment. Running ROBLOX in a virtual machine leads to sub-bar performance in ROBLOX and running ROBLOX under WINE basically crashes by only looking at it.
Linux support in Steam’s library
Other platforms are catching up with support for Linux, a good example of this is Steam. 3764 of the 16944 games released on Steam currently support Linux. This translates to roughly 22% of the games on Steam. That’s already a nice ramp up compared to a few years ago, but it’s maybe not quite impressive. However, similar to ROBLOX games, the top games are the ones that are more cross-platform than the others. When we look at the top games, we get this picture:
The games highlighted with yellow are the games that support Linux.
Current driver support
In the past, Linux was notorious for its driver support. Nowadays, you can pretty much install Linux on any random machine and expect it to work, given you’re installing a decently recent version. In the graphics department, AMD hardware works nicely with the open source stack provided in the kernel. At time of writing, this stack is maintained by both AMD themselves and VALVe. AMD does provide a proprietary driver that can be installed, in general, users seem not to complain about the drivers. On the other hand, nVidia drivers are still troublesome. The open source drivers work, but it is a must to install their proprietary drivers to get any decent performance on nVidia hardware.
Application distribution and supported APIs
Since games often rely on fixed versions of certain software libraries, it has in the past been troublesome to distribute games due to incorrect libraries being provided by the installation running on a user’s machine. Recent developments in the form of Snappy, Flatpak and AppImage have made it easy to distribute software that rely on very specific libraries.
Other than that, there are two major graphics libraries supported on Linux. OpenGL and Vulkan.
Support in Visual Studio 2017
Since the release of Visual Studio 2017, Visual Studio officially supports building to a Linux target. This works as you would expect from Visual Studio, debugger support that is on par with regular local Windows builds and all the other bells and whistles that come with Visual Studio.