Grapejuice - Easily run Roblox on Linux

For me, the roblox player works pretty well, but roblox studio is a bit buggy. All of the dockable windows on the left keep flashing making it practically unusable. I’m running a fresh mint installation and I’ve followed all the installation steps thoroughly

Yeah, I had this too that’s usually because of the graphics settings. Go into The Grapejuice settings and click Roblox Studio or just make sure you’re in that one and you can choose bewteen a few graphics settings like openGL and vulkan or x11 or something try using vulkan or anything else besides the one you’re using at that moment some of those graphics won’t show the plugin and window tool tabs, and there’s going to be a specific one that will work. I forgot which one it was.
Lmk if it fixed it? (this does only happen in studio lol)

1 Like

I’ve tested all of the graphics options and this is how it went:
OpenGL, Mesa OpenGL - Works, but has the flashing bug
DX11 - Fully works
DXVK D3D - Black screen
Vulkan - Instant crash

Huge thanks!

1 Like

Think this is because Roblox currently doesn’t support Vulkan.

1 Like

It does support Vulkan on Windows afaik.

1 Like

Wine doesn’t have support for Vulkan child window rendering which Roblox Studio relies on to display the 3d viewport. There are some patches to fix that but they’re extremely unstable. Grapejuice sets the default renderer for Roblox Studio to DX11 for this exact reason, but it seems that a lot of people think defaults are for losers or something.

4 Likes

I am tempted to switch to Linux I have switched 2 of my devices to ubuntu my main pc remains on windows for now.

I don’t really wanna use my main pc and use grapejuice as I heard that it drops FPS and lags a little and well support isn’t really helpful or isn’t instant. You can’t contact someone directly.

With the awkward set up with no support I am not going to switch to Linux until roblox fully supports Linux and it will just work with no issues.

1 Like

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.