The new Roblox 64-bit Byfron client forbids Wine users from using it. (Most likely unintentional)

@Bitdancer Can we please have a bit more clarification on Byfron being added will FPS Unlockers be blocked such as axstins FPS Unlocker or Roblox Client Optimization that can unlock your FPS improve your ROBLOX Experience, etc.

Because many users use FPS Unlockers on ROBLOX due to ROBLOX being capped on 60 frames per second and lag spikes can occur which can drop they FPS further heck even I use Roblox Client Optimization to unlock my FPS as it is really important for users and it is overwhelming that the FPS cap hasn’t been removed yet, so we reside to using these programs or similar ones.

Probably thousands of users use these programs same as ROBLOX influencers (e.g SharkBlox) and if they get banned for it that for “cheating” wouldn’t that be considered a false ban and then they would have to get through the pain of appealing waiting for a response or just get right out denied from the terrible appeal system from ROBLOX.

2 Likes

Brinker’s reply to this topic is great and sheds further light on why Linux is not an irrelevant platform for Roblox, nevertheless, I also feel the need to point out that Linux compatibility is not incompatible and does not compete in any way with console or VR support.

Roblox engine’s is platform-agnostic. It implements several types of inputs (keyboard, mouse, touch, controller, VR) within several platforms and operating systems (Windows, MacOS, iOS, Android, Xbox).

Your complaints of Roblox’s console and VR UX are not failings at a platform level, but rather at an user input one. It’s not Roblox for Xbox that sucks, it’s Roblox with a controller that sucks.

Roblox Console is not a fun experience because Roblox with a controller is not a fun experience. Roblox VR is not a fun experience because Roblox with a VR headset is not a fun experience.

Linux is not a fun experience because Roblox provides no support whatsoever, not because its controls aren’t a fun experience. Linux users have access to the exact same controls as Windows and MacOS users, so Linux users are guaranteed to have a good experience if Roblox provides the compatibility.

If Roblox decides to ignore Linux, the supported platforms that “got the short end of the stick” won’t get any improvements or receive additional resources, because those platforms and Linux have an inherently different issue that won’t (and can’t) be solved by the same people.


The following people are required for improving console/VR support:

  • Interface & Game Mechanics Designers: Find out how to better streamline the controls for game controllers and VR headsets within Roblox’s core interface and basic character controls. Find out what kind of tools can be provided to Roblox developers to improve their ability to make their games controller-ready and VR-ready.

  • High-level Interface Programmers: Implement the new controls for Roblox’s CoreGui and main interfaces.

  • Engine API Programmers: Expose the potential necessary APIs for Roblox developers and Roblox’s own interface team.

  • Roblox developers: We must actually design our stuff around these input methods and make sure our UX is at least half-decent. Roblox can simplify this job for us, but we’re still by far the weakest link, especially as soon as we deviate from Roblox 's default tooling and mechanics.

  • Developer Relations and Product Team (Optional): Investigate how to incentive Roblox developers to invest their time into improving their experience UX for game controllers and VR headsets.

Improvements for Roblox Xbox/VR Headset are mostly at a game design level, not a fundamental technical one.
Additionally, for PlayStation/Switch support, Roblox also needs:

  • Legal Team: The storefronts of PlayStation and the Nintendo Switch do not allow other storefronts (and Roblox is considered one) within them. Roblox’s legal team would have to come to an agreement with Nintendo and/or Sony for them to approve a Roblox release.

  • Console Engineers: Compiling a version of Roblox to be ran on these consoles would require software engineers that are experienced with console targets. Nowadays all consoles mostly act the same way, so Roblox’s existing Xbox team most likely has the technical expertise and availability to maintain a PS/Switch release as well. The Switch uses an ARM SoC and acts like a mobile device, so Roblox’s mobile engineering team might also be able to provide additional help.

  • Rendering Engineers(!): Not every platform uses the same APIs for rendering graphics. The Switch supports OpenGL and Vulkan (due to its mobile hardware), which are already implemented by Roblox for Android and iOS.
    However, PlayStation uses its own libraries (GNM, for low level and GNMX, for high level) and its own shading language, PSSL. These libraries would have to be implemented from scratch into the Roblox’s rendering engine, requiring game developers that are experienced with targeting PlayStation and a high level of resources and time.

Creating a PS/Switch version of Roblox would be a huge undertaking due to the legal issues that would have to be solved first. Additionally, for PS’s case, engineering effort would need to be spent into implementing its proprietary rendering stack into the engine. All of that for an end result that just isn’t fun to play because the majority of developers simply don’t put enough effort into their game controller UX.

In fact, the Xbox version of Roblox only exists because of agreement made between Roblox and Microsoft and Xbox’s relative ease of porting from Windows. It has some equal windows APIs, DirectX and UWP (Universal Windows App), which afaik is the format of Roblox’s Xbox client.

TL;DR: Roblox’s console/VR problem is an inherent design problem with the experiences of Roblox developers. It’s not an issue that can be solved by Roblox’s engineers alone. Switch/PS5 support doesn’t exist because Roblox would need to solve legal problems with publishing and implement a whole new rendering pipeline in the engine only to offer a sub-par experience due to the limited amount of experiences that play well on a controller.


On the other hand, Linux support requires the following people:

  • Linux Engineers: Software engineers experienced with the Linux desktop stack would be required to prepare Roblox’s engine to use the correct Linux kernel syscalls and handle Linux’s “heap of libraries” (as described by a Roblox staff). Roblox’s engine already has support for Vulkan and OpenGL, so graphics wouldn’t be too problematic. Some additions might be required to implement audio and input libraries correctly if a native port is made.

  • Linux Packaging Maintainers (Optional): If Roblox decides to introduce a native port of the client and studio for the Linux desktop and not just improve compatibility under wine, then they’d need someone to package the client and studio correctly. Nowadays, thanks to the existence of Flatpak and Snap, which allow packages to ship with stable runtimes and dependencies, this job is much easier and could probably be handled part-time by a single person.

  • Roblox Studio Engineers: Roblox Studio is a frankstein’s monster of QT. Although QT is linux-native and actually often used within the Linux desktop, a few changes would probably still be required to ensure studio works perfectly within Linux.

Porting Roblox to Linux (or even just ensuring its compatibility) is by no means an easy job, but nowadays has been greatly simplified with the existence of Flatpak/Snap as packaging standards, they allow Roblox to base the engine and studio around only one runtime and distributing it across all Linux distros.

But most importantly, Linux does not require any new design considerations. Nearly all Linux users play with a mouse and a keyboard, which is well supported by practically every single Roblox experience out there. This essentially means that all of this effort would be self-contained within Roblox’s engine. All devs would instantly benefit from the (small, but growing) Linux marketshare without needing to make any changes to their experiences’ code or UX.


Roblox can’t do much else to improve the experience for Console/VR users, devs are the ones responsible for their own experiences’ controller/VR UX. Even if Roblox made flawless console controls and appeared on Switch & PS5 tomorrow, these platforms would still largely suck and get the “short end of the stick” because most developers simply don’t implement non-desktop or non-touch input methods correctly (or at all!).

Roblox is 100% responsible for Linux support/compatibility. A good Linux port (or good Wine compatibility) fundamentally means all experiences will be just as good as in Windows or MacOS, nearly every single one has good mouse&keyboard controls (or at least better than the alternatives).

All that Linux compatibility requires is engineering effort. As soon as it’s done, all games are instantly playable. The productivity of Roblox developers also improves, as some of them use Linux exclusively.

Console & VR compatibility require significant design and UX efforts that are mostly dependent on Roblox’s design team and Roblox’s developer community. Not Roblox’s engineers.
Additionally, expanding Roblox’s availability to other consoles implies major legal roadblocks (and technical ones in PS5’s case) that might not be worth investing resources into while the basic UX and controls of many experiences are still lacking.

These are two completely separate issues that need to be handled by entirely different teams over at Roblox with people that have completely different skillsets. Linux support won’t slow down console/VR support or vice-versa, because they depend on entirely different things and people. This is why I believe your argument does not apply for this situation.

21 Likes

I feel like Roblox would heavily benefit from having an official Linux port, especially with something like the Steam Deck being around.

6 Likes

Honestly, even putting it into statistics is bad because it neglects the fact that hundreds of thousands of people are being forced into using a different operating system just because Roblox wants to implement an anticheat that likely will be irrelevant in a few months considering how much of a cat and mouse game anticheat is. It’s simply catching innocent people in a crossfire.

3 Likes

Linux users are an extremely vocal minority, but there is already a formidable userbase (especially considering that there are disproportionately more developers on Linux compared to Windows and Mac).

I don’t have anything new to contribute, I just think it’s interesting how Linux support has always been Roblox developers turning a blind eye and choosing not to intentionally break Wine support, until now. I’m sure one day, guaranteed, Roblox will get official Linux support. Maybe not today, but if things keep going the way they are, with the Linux userbase only increasing…

7 Likes

You could just dual boot Linux and windows together.

This is what I do to get the best performance.

Although roblox removing Linux support is honestly outright bad.

Putting numbers to it is actually very useful. In the long term you can use these numbers to actually start building a Business Case for actual Linux support.

In the short term it is going to give you an indication of what Roblox is going to lose over this. This is a userbase that is currently using Roblox, quite comfortably might I add, on Linux. By actively blocking these people out you risk completely driving them away from the platform. So in this case that would be 7.86M USD down the drain for the coming year just because you did not consider them while planning the project.

4 Likes

Dual booting adds friction. Potentially a lot. Consider this case:

  • I am developing some sort of server application on Linux, probably using Docker, with at least 2 development environments open + 1 or 2 browser sessions open + music + Discord + Guilded. Maybe I am debugging something.
  • A high-priority bug in Innovation Inc Thermal Power Plant or another Roblox game pops up.
  • Now I need to not only pause my current development but stop it all, shut down all the applications, and reboot into Windows.
  • If Linux is my primary, who knows if my sessions for Roblox, GitHub, Guilded, and Discord are still active? Now I need to log in to at least some of those with 2FA.
  • Guilded + Discord is probably out of date. Now I need to wait for those to update.
  • Roblox Client is probably out of date. Now I need to wait for that to update.
  • Now I am finally in the game and can try to reproduce the game and fix it in Roblox Studio.
  • Roblox Studio is probably out of date. Now I need to wait for that to update. Not like I can quickly swap back to my Linux system with an active version.
  • Fix is up, but I am stuck on Windows for a bit to make sure the fix works. Otherwise, I have to do some of this again.
  • After all that, I can finally close everything, reboot back into Linux, restart all the applications from before, and then waste time trying to get back to where I was debugging.

For my actual job, I regularly switch between 5 projects. This isn’t too bad because it is just opening a new IDE session. Making any 1 of those require a different OS install would kill my productivity. Roblox would have caused this for me with my non-job if I actually switched to Linux when I planned to.

At Roblox’s scale, losing a bit less than $8M in revenue would probably be just the cost of doing business. I heard about a story at my job (card payment processing by the way) where a big feature was going to go up during a code freeze. The projected revenue for that was $1M-$2M. It going live during the freeze was rejected because that was considered nothing at our scale, despite being a life-changing sum for any of us. A potential 0.3% increase in current revenue which would require a lot of extra development time, QA, and support to be able to handle whatever Linux distro + desktop environment is thrown at them would not make the stakeholders that happen. Not when that time could be spent on another platform, like PlayStation.

9 Likes

I undertand that on a per-experience level that it is indeed the job of developers to provide the nessisary things to make their experiences play smoothly and nicely on the platform. But I’m not talking about the per-experience level, I’m talking about platform-level quality of the Xbox platform.

The UI is outdated and somehow managers to look worse than the bland and nothingburger of a UI that is provided on the website. It weirdly mashes the new avatar shop/editor ontop of it all which only makes the UI even worse. It’s also inconsistent in many other places as well. But talking about avatar shop, you couldn’t for the longest time purchase anything apart from a select few bundles provided exclusively for Xbox users. That made it increidibly easy to see if someone was playing exclusively on Xbox. Lastly UI wise it’s using many old assets like the old Roblox icons when going through the process of purchasing Robux.

There are many issues like it not clearly telling you that an experience is not available to play on console and you can’t access things like an experiences badges, profile pages, group pages, and numerous other parts of the website. The discover page is outdated missing many of the sections and categories that the website and mobile versions have. The controls section when you have a keyboard connected is incorrect stating that you can take a screenshot with the print screen key or screenrecord with the F12 key when that is straight up not possible.

I understand there are many things that make console (and vr) different from Windows, MacOS and Linux but the crux of my argument is. If they’re unwilling take the steps to make even currently supported devices better (or takes them 2000 years to start taking such steps.) Are they really going to care about a few hundred thousand people playing Roblox on Linix through an unofficial route. My opinion is that they wont care and dont care. I’m guessing if someone didn’t point this out they probably wouldn’t even had mentioned blocking WINE users from accessing the platform.

I do want to point out that the argument claiming that Wine makes identification of Linux users in telemetry difficult is moot.

Telemetry,datacenterid=370,application=Client,ostype=Win32,osname=WINE32,baseurl=.roblox.com,channel=production,appversion=0.569.3.5690486,type=counter,streamingenabled=disabled,corescriptversion=5345954812.6288 

WINE itself very explicitly identifies itself in the OSNAME.

5 Likes

@Bitdancer sorry for the ping, but is it okay if you could respond to my questions? Thank you!

PSA, do NOT run the roblox-player: link in the original post, I have been unable to join any roblox games since using it and reinstalling has not fixed it.

To answer your second question, they already do.

Edit: On top of that, Roblox Player specifically detects wine and writes it to its log.

1 Like

Thank you, I’m taking a guess that this will be temporary, I doubt this will be a forever thing.

How is this going to affect any of us doing HackerOne white-hat penetration testing on the client? If I’m trying to find a vulnerable facet of the software to report to Roblox through their certified HackerOne page, I may be risking my HWID being blocked and my account being banned.

This will only scare off the white-hat guys who are trying to do good. I’m sure the bad actors have a lot less fear for consequence than those of us looking for vulns to submit to Roblox’s HackerOne page.

I think Byfron should take a more preventative approach rather than a punitive one. Punishments don’t hit bad actors as hard as they hit those who never intended to do wrong. Bad actors anticipate bans and set up precautions such that they can be evaded (using alternate accounts, using VMs, HWID spoofing, and even writing kernel code to bypass the Byfron anticheat’s detection altogether).

All Byfron will do will stop the surface level Windows API calls to read/write process memory, load DLLs into the process, etc. It will not stop those bad actors willing to go deeper and write drivers that can’t be hooked into by Byfron. It will merely instill fear in the hearts of ethical penetration testers who only want to rid Roblox of vulnerabilities: numerous of which have been found by ethical hackers on HackerOne who have hooked into the client and talked to the server in a specific way that elicited a vulnerable response. Doing ethical work like this becomes much more daunting when there is potential for punishment.

Rather what you should do is detect when there is tampering in those APIs that you have hooked into such as the Windows Process APIs, and end the client process, preventing any more tampering WITHOUT actually banning any HWIDs or user accounts. The punitive aspect serves only as a fear that will discourage ethical hackers and have 0 effect on those who make it their business to break Roblox for personal gain with no concern for ethics in doing so.

This is actually the status quo in the anticheat industry. For example, Easy Anticheat’s website states:

The EasyAC developers seek to make it so difficult to actually cheat that it causes the player to switch their mindset entirely, while never banning them in the first place.

I don’t think it’s a good idea to embed all of these intrusive measures that will harm the good guys more than the bad guys. It’s all an arms-race, and handicapping those few individuals who are helping you look for vulnerabilities will only put you further behind those who are constantly trying to break the client for less-than-ethical reasons.

11 Likes

To summarize:

  1. At this point in time, Hyperion is not compatible with Wine.
  2. We have disabled Wine to avoid unnecessary clutter in our Telemetry.
  3. Even if we could find a way to disable Telemetry for Wine only, the client would still not run, so it doesn’t make sense to do so.

To quote myself from the above post: First and most importantly, we are not trying to punish the use of Wine.

5 Likes
3 Likes

Don’t forget, AppImage also exists so they could also do that

1 Like

In fact, there are TWO different open-source Roblox wrappers on Flatpak. One is Brinkervii’s Grapejuice with over 300,000 users, and the other is my new offering, Vinegar. Both offer standardized Wine builds and drivers, eliminating any chance for variations between distros.

On your third point, Wine does provide an existing method of filtering which is through the OSNAME (which reports WINE32) field of the Roblox telemetry packets.

I’d assume it would be trivial to filter out reports using this?

1 Like