Grapejuice - Easily run Roblox on Linux

I’ve done my best to try and make this work on my end so I can use both the Client and Studio daily. It seems to work well enough

But for the player, anecdotally full-screen is kind of bad sometimes depending on what window manager setup you have. But other than that if you use the DX11 renderer with DXVK and a manually compiled or precompiled Wine TKG plus some patches, there aren’t any real problems (atleast for me.) and i’ve been using it to play some games for a while. The performance is similar to windows.

As for studio; it’s really bad almost no matter what. There are tons of areas it can go wrong, i.e child window dysfunction and/or breaking studio on Vulkan and certain other configurations, really bad framerate, terrible camera panning (although, it was kind of bad to begin with regardless of OS. people with unstable framerates know what i mean), and the significant memory leaks when you playtest, among other things.

However, it has certainly come a long way and the Player is absolutely usable, studio not so much but if you need it it’s there. If you have reservations about using your existing linux with roblox, I would still try it and see how it’s progressed.

3 Likes

Seems like you can’t import meshes into studio:
image
I’ve tried this with both obj and fbx, and the files are definitely not corrupted.
I’ve also tried putting the files into the studio folder in grapejuice and importing from there, which didn’t work either

It does work very fine for the player, but if you use Studio a lot then it’s possible that you may encounter perfomance issues and degradations (I can open a experience in Studio with 60 fps on Windows but on Linux with Wine + Grapejuice it would drop max until 40 fps depending on what’s on the viewport)

2 Likes

I’m just hoping that all the Studio issues can soon be patched out, as Roblox is the only reason I haven’t fully switched to Linux yet.

2 Likes

Hello, I just wanted to say massive thanks for creating this tool! I’ve been looking to switch to Linux for a while, and Grapejuice works even better than expected.

Studio is where I spend most of my time with Roblox. The performance is not very good in Studio, but I can live with it. In other parts, it actually is even simpler to use because I don’t have to deal with Windows. Half the time, I couldn’t test servers due to blocked ports, and dealing with firewall and antivirus settings was frustrating. Haven’t had a problem with that on Linux.

Hopefully one day, Roblox makes an official Linux version. Shouldn’t the metaverse be accessible? :wink:

Edit over a week later: After using Grapejuice for Roblox Studio almost daily, it’s actually pretty great to use! Tweaking settings helped increase Studio’s framerate to near-native rates. (though my powerful computer also helps, so your mileage may vary)

6 Likes

This is a very nice tool, however I am running into an issue when using the patched Wine. I can run the Roblox player and Studio just fine with the normal Wine, but with the annoying mouse glitch. With the patched Wine installed Roblox won’t open, no matter what I do. The only thing that happens is that both Wine and Grapejuice have stuck processes running forever, until I manually kill them.

I am on Zorin OS 16.1 Core. No one at the Discord could help me, and neither could the troubleshooting guide.

If anyone knows a workaround I would appreciate it. Otherwise I guess I will have to go back to Windows for now.

Amazing tool, served me very well. Thank you!

cool software! I like it.

But i’ve come across an issue on my Manjaro VM, anytime I run grapejuice studio, I get this wine error.

image

This is my grape juice error:

Traceback (most recent call last):
  File "~/.local/lib/python3.10/site-packages/grapejuice/cli/main.py", line 182, in main
    cli()
  File "~/.local/lib/python3.10/site-packages/click/core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
  File "~/.local/lib/python3.10/site-packages/click/core.py", line 1055, in main
    rv = self.invoke(ctx)
  File "~/.local/lib/python3.10/site-packages/click/core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "~/.local/lib/python3.10/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "~/.local/lib/python3.10/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "~/.local/lib/python3.10/site-packages/grapejuice/cli/main.py", line 75, in studio
    dbus_connection().launch_studio(prefix.configuration.id)
  File "~/.local/lib/python3.10/site-packages/grapejuice_common/ipc/no_daemon_connection.py", line 28, in launch_studio
    _with_prefix_id(prefix_id, lambda prefix: prefix.roblox.run_roblox_studio())
  File "~/.local/lib/python3.10/site-packages/grapejuice_common/ipc/no_daemon_connection.py", line 19, in _with_prefix_id
    prefix.roblox.install_roblox(post_install_function=lambda: cb(prefix))
  File "~/.local/lib/python3.10/site-packages/grapejuice_common/wine/wineprefix_roblox.py", line 59, in install_roblox
    self._core_control.run_exe(
  File "~/.local/lib/python3.10/site-packages/grapejuice_common/wine/wineprefix_core_control.py", line 518, in run_exe
    return run_exe_no_daemon(
  File "~/.local/lib/python3.10/site-packages/grapejuice_common/logs/log_util.py", line 13, in wrapper
    result = func(*args, **kwargs)
  File "~/.local/lib/python3.10/site-packages/grapejuice_common/wine/wineprefix_core_control.py", line 165, in run_exe_no_daemon
    post_run_function()
  File "~/.local/lib/python3.10/site-packages/grapejuice_common/ipc/no_daemon_connection.py", line 19, in <lambda>
    prefix.roblox.install_roblox(post_install_function=lambda: cb(prefix))
  File "~/.local/lib/python3.10/site-packages/grapejuice_common/ipc/no_daemon_connection.py", line 28, in <lambda>
    _with_prefix_id(prefix_id, lambda prefix: prefix.roblox.run_roblox_studio())
  File "~/.local/lib/python3.10/site-packages/grapejuice_common/wine/wineprefix_roblox.py", line 223, in run_roblox_studio
    launcher_path = self.roblox_studio_launcher_path
  File "~/.local/lib/python3.10/site-packages/grapejuice_common/wine/wineprefix_roblox.py", line 111, in roblox_studio_launcher_path
    return self.locate_roblox_executable("RobloxStudioLauncherBeta.exe")
  File "~/.local/lib/python3.10/site-packages/grapejuice_common/wine/wineprefix_roblox.py", line 105, in locate_roblox_executable
    raise RobloxExecutableNotFound(executable_name)
grapejuice_common.errors.RobloxExecutableNotFound: Roblox executable 'RobloxStudioLauncherBeta.exe' could not be found!

It seems that studio cant be found, but when I search it on my system, I find my studio launcher:

I’ve also checked my wine version and it seems to be 7.10. Which I assume is the correct version?

image

not sure if I did something wrong in my installation.

thanks in advance! and good job on this amazing software

1 Like

fixed! Wine HttpSendRequest failed. I found the fix here

I just had to do sudo pacman -S lib32-gnutls in the terminal

1 Like

Sorry for the bump, but this actually seems like a really cool topic. I think I might try this out if I could possibly get Wine 7.0 on my Rpi4.

And I might also test this with my Ubuntu SD card I have.

But this needs to be admired more.
I still have the question: why doesn’t Roblox natively add Linux support?

I looked for answers and couldn’t find any reasonable ones.

1 Like

Here’s a bit of a suggestion. Add a setting for studio to automatically install the Vanilla icons pack.
Maybe have the setting automatically install the default icons, but you can replace the png it uses for icons to change it to a different version, or just to use any custom studio icons.

2 Likes

Something like this (as well as the numerous other suggestions) of this type are all entirely out of scope of the purposes and goals of Grapejuice. GJ is meant to be a wrapper for ROBLOX with WINE, not a do-it-all tool to provide every possible end-user modification for ROBLOX.

4 Likes

The wine error is related to Roblox’s connection to a server. You should search up the error code.

Actually, that’s not a wine error. This is a Roblox error.

So, I’ve finally bothered to install Grapejuice in a VM, more obscure than last time using CutefishOS. And it works, this is my first time managing to get it running. My performance is pretty bad due to me using it in a VM, but I’m pleased to announce it works.

This is honestly an amazing project, please keep working on it.

before anyone asks, yes I did test on an alt

1 Like

If you scroll up a few posts, you’ll realise I had trouble previously with getting it running. Requirements have since changed anyways.

Why would I sign into my main account on a VM?

1 Like

What’s the point of using grapejuice on a VM in the first place? You would want a PC for this.

1 Like

I literally don’t have any devices running Linux, I can’t run it on an old desktop due to GPU incompatibilities (obscure NVIDIA iGPU, think it has limited support even in Windows 10), and an old laptop since drivers look to be a pain to get for the network card etc

What’s wrong with just trying stuff out in a VM?

2 Likes

Trying is the keyword here and it wasn’t specified in your previous post, my apologies. I do think that for long-term use this shouldn’t be ran in a VM.

2 Likes

Is there any way I can use Steam Proton with this?

1 Like

Does grapejuice work as intended if you use a window manager, not a desktop enviornment

3 Likes