How to play Roblox on Linux without Wine/Proton (No Windows Required)

In case of an update to the Windows client being not working on Wine / Proton even with patched versions of them, don’t panic. There’s still some hope to play Roblox on desktop Linux, if you’re willing to run a Roblox Android Client and this works best if you’re running a Wayland display server and also using Intel and AMD GPUs. No VT-d compatible CPU/Motherboard and more than one GPUs required.

Things that are not covered:

  • Windows / macOS VMs. Virtualizing Linux kernel is much better & faster than Windows or macOS, thanks to native KVM and virtio-gpu support. Also since Windows and macOS doesn’t have a proper virtio-gpu support (virtio-win’s PR #943 is still WIP), GPU passthrough is required and remember that Skylake/Zen or higher is required for VT-d in consumer motherboards. (Anything older requires enterprise Q-series motherboard to do so)
  • Multi-booting (dual/triple booting, etc) such as running Android x86 (or it’s distributions) on real hardware. Defeats the purpose of this post.
  • Anything about running Roblox on Cloud / remote servers. Also defeats the purpose, and it’s basically playing Roblox on another computer but done remotely.

Those methods mentioned above should have their own separate instructions.

These are 3 methods you could take to get the Roblox Client (although it’s designed for Android) back running on your desktop Linux again.

Method 1 - WayDroid (Highest Performance - Requires an AMD, Intel, Adreno, or other GPUs with compatible drivers included in upstream Mesa)

The most native way is running the android client through Waydroid, which is a compatibility layer for Android on desktop Linux. In some distributions like Arch, this requires you to use a custom kernel such as zen and xanmod. Since the Roblox’s Android client doesn’t support x86 (and x64) natively, it requires you to install a proprietary ARM64 translation layer, between libndk_translation for AMD CPUs, and libhoudini for Intel CPUs.

Installation is pretty straightforward considering there’s already a collection of scripts for Waydroid, including for the ARM64 libraries, available on GitHub by casualsnek. For the images though you can choose between GAPPS that includes core Google services, or VANILLA which doesn’t include Google services (if you’re going vanilla, you might need to install microG with adb force-queryable option to prevent the Play Services popup every time you start Roblox).

This does require you to use Wayland display server for it’s core operation, and a Mesa-compatible driver for hardware acceleration, which points to Intel, AMD, older pre-Kepler Nvidia (if nouveau works fine for you though) as another part of the requirements to run Waydroid smoothly. Weston over X11 works, but there will be issues related to input and clipboard.

These instructions related to Intel GPUs below are deprecated since recent Waydroid updates have fixed these issues and are kept here for historical purposes.

  • Check your Intel GPU generation first! If it’s Broadwell or older (ix-5xxx series or older), PLEASE READ EVERYTHING BELOW!

  • The reason is because the new Crocus driver, a replacement for the former i965 driver designed for pre-Skylake GPUs released in 2021, are included in latest Waydroid images and is currently known to be buggy. Roblox will turn into a black screen after the loading screen.

  • If you can’t use the latest Waydroid images for some reason, here’s the solution: You need to copy the i965_dri and i965_drv_video driver from a BlissOS 14.3 image and paste them into Waydroid Vendor Image. More instructions can be found in Waydroid forums due to how long the instructions would take.

  • FOR HASWELL (ix-4xxx) AND OLDER: You’re also required to disable Vulkan by commenting out the ro.hardware.vulkan section in /var/lib/waydroid/waydroid_base.prop due to buggy implementations in pre-Broadwell Vulkan drivers.

Method 2 - Android inside QEMU/KVM (Performance depends on RAM and CPU Cores, most GPUs should work including NVIDIA)

If you either don’t want to run Wayland and still choose X11, or you do have an NVIDIA GPU (especially Kepler and newer), you still have an option. You can install an Android x86 distribution such as BlissOS inside a QEMU virtual machine with KVM and virtio-gpu acceleration enabled. Make sure the distribution you want to install includes a translation layer for ARM such as libhoudini/libndk first, for better experiences it should have the latest kernel and Mesa also, and for the installations you can follow the instructions you can find around the Internet.

Performance depends on how your GPU driver works with QEMU’s virtio-gpu. Better driver means better experience.

Method 3 - The Traditional Way (Mediocre Performance & Experience)

If all the methods above didn’t work, the only ways to run Roblox on Linux is by using a so-called “Android Emulator” software, some of them which are paid (sometimes even for essential functions to run Roblox) or infected by bloatware and advertisements. Main catch is that you will no longer have a native mouse and keyboard input anymore in most emulators, and you might end up resorting to keymappers and mobile UIs instead.

You can also try a cloud service, but it’s kind of cheating since you’re basically running Roblox over a rented server. Other than that, no more ways other than straight-up dual-booting Windows, or setting up an isolated Windows VM in such complex ways.

Known Issues for running Roblox Android Client on Desktops and Laptops

  • A distribution, image, or emulator with ARM translation layer is required for non-ARM CPUs (e.g. x86)
  • You have to adapt with the Roblox mobile UI if you’re navigating through the Roblox website for day-to-day basis
  • For WayDroid, it’s currently didn’t have a proper multi-GPU support, so in most cases you can only use the integrated graphics on any dual-GPU (or so-called “hybrid graphics”) laptops or AIO PCs without a mux-switch.
  • Experiences with badly implemented “device platform checks” (e.g. only checks for TouchEnabled value. Not MouseEnabled, KeyboardEnabled, or even LastInputType) will always give you a mobile UI since Android is primarily designed for touchscreen devices.
  • Following the issue above, Experiences that encourages the use of touch-only events (e.g. TouchTap, TouchPan, TouchSwipe, etc) on mobile UIs will prevent any interactions with physical mouse cursors. For Method 1, you need to use scrcpy which will give touch events but adds some input latency. For Method 2, BlissOS already has the “force fake touchscreen events” in the settings but there’s a catch: you must turn them off for unaffected experiences, and turn them back on for affected experiences which is kinda annoying. For Method 3 however, most emulators are not affected by this issue, but you will be mostly stuck for not having native right-clicking anyway.

Conclusion

All is not lost. There are still some ways we can do to keep Roblox working on Desktop Linux. While compatibility layers or even virtual machines and emulators are required, the hope is not lost. The Desktop Linux community keeps growing. Especially while Microsoft are still doing their own things inside their Windows 11 and after major companies in the gaming market keep pushing Linux forward. Eventually the good thing will always come for us.

23 Likes

Or alternatively just buy a cheap SSD and dual boot windows :man_shrugging:

4 Likes

That wouldn’t be called “Roblox on Linux” anymore, would it?

9 Likes

As much as I love linux, Roblox has made it clear that they don’t intend to officially support it any time soon.

As someone who spends most of his time on Roblox Studio it only made sense to me to run it natively and be worry-free of bugs, performance issues and what not. Coincidentally, at the same time Roblox broke everything for Linux & vm users.

It’s definitely not Roblox on Linux but it is the only option for Roblox developers like it or not (only for now hopefully!)

2 Likes

you all are missing the point

get android on your pcs. not an emulator, but rather something like Bliss.

it was the best experience i ever had, even my laptop that runs roblox at 10fps managed to run it at 60 with it lol

(for legal reasons this is a joke)

3 Likes

well linux is much more performant than windows so invalid point

3 Likes

Certainly not more compatible with programs than Windows.

2 Likes

While you’re not intending to suggest it, in fact it’s kinda already mentioned in Method 2 by the way. But installing Android x86 distros on a real hardware has a similar requirements to Method 1 (Waydroid) which is a GPU with an upstream Mesa Driver such as AMD and Intel GPUs.

1 Like

That’s kinda true atleast for software developers intentionally blocking the Desktop Linux platform. There’s a good competitor for most of these programs already, some of which are very close to be feature-complete. (e.g. LibreOffice with MS Office, Krita/GIMP with Photoshop, Kdenlive with Premiere/Vegas, etc)

2 Likes

It ran fine using an integrated graphic chip (No GPU, only powered by the CPU which is an i3 6th gen)

2 Likes

or use Android x86 as a dual boot, my best recommendation is going to be to use Waydroid because it works great for me.

2 Likes

use Android x86

hope you’re not ever installing the “OG” android x86 due to how outdated it is now :joy:

2 Likes

Waydroid runs really bad for me even though I have a good PC. Guess it’s VMs or dual-booting for me.

2 Likes

Mostly it’s NVIDIA to blame til the open-source Nvidia Vulkan driver is released.

4 Likes