Not a messenger but rather a developer who understands the passion of the community and attempts to give an explanation why it is not as simple as an if()
statement.
The Roblox client and Hyperion are decoupled. The crash uploader, which is part of the client, cannot determine why Hyperion caused the process to crash.
linux is such a small small minority
And as long as GNU/Linux based consoles such as Steam Deck, and more and more Windows users are getting annoyed and upset about Microsoft shoving their ads, telemetries, and sometimes removing useful toggles of features and customizations, Linux’s market share will keep going up, Few years ago it was only below 1%, after Valve released their Steam Deck with more influencers reviewing it, and Microsoft releasing Windows 11 with it’s own popups and requirements, it grew up closer, till nearly 2% as for today.
This seems to make sense considering Wine itself is simply an API implementation (and re-creation) rather than a full-fledged environment.
There are bound to be issues related to Wine (and in this case, in tandem with the Hyperion solution) because the client cannot run under Wine the same exact way it does under real Windows; all the implementation can do is attempt to provide the resources necessary for the program to run, let alone run well.
Wine also cannot replicate Windows 1-to-1, as some of the resources it uses are pulled from the UNIX system it runs on rather than its own collection thereof. One difference in the code implementation can make all the difference, particularly when something refuses to work properly. I would, however, still retain confidence in regard to the engineers behind the client. Acknowledging the functionality of Wine is enormous in comparison to ignoring it all together.
As for the telemetry? It doesn’t make sense to remove it since:
A) You’re not getting the information necessary, even if it would clog the feedback, and
B) information is key to solving issues regarding any program in general.
A program can’t be ghosted like this, otherwise it would be left out to dry. Feedback and/or telemetry are critical to getting a program to become stable. You’re basically requesting that it be left to the WineHQ team, which can be done but is by no means the most reliable option unless the maintainer doesn’t care.
This is exactly what seems to be the case here with the client, in my own eyes.
I do appreciate this explanation, as you are right in the fact we don’t know the whole process. I hope you didn’t take my previous thank you as sarcasm, I really did mean it considering a lot of these posts go unanswered for sometimes years due to the limited amount of resources Roblox possesses despite being such a massive community.
I do hope it is considered improving the logic of the crash uploader where it is capable of determining whether Wine is being ran or not. I don’t know exactly where the check is, but I do know the Roblox client as it stands does have the ability to determine if it is running under Wine or not.
Thank you, Blodau. You have identified the issue very well. As you suspected, one of the reasons Hyperion is not running on Wine is because we delve deeply into the internals of Windows.
There’s good telemetry solely for problem diagnosing, and there’s also bad telemetry that distributes any part of your personal data without any obvious consent, like crash dumps for example which can include personal data in it. Even if a program could automatically strip out certain regions of the dump with potentially personal data in it, Uploading crash memory dumps requires explicit consent from the user because it’s actually a violation of GDPR if a program decided to automatically upload crash memory dumps without any obvious user consent.
Of course. I would also like to see this as an option (or at least be transparent about the data sent). I personally don’t mind telemetry unless there’s nothing useful to the user that comes from it; this is the “bad” telemetry that you must be referring to. Not consenting the user or notifying them about the process is shady in of itself.
Under the GDPR, consent must be given if personal data is included in the crash dump. However, the client process dump does not contain any personal data.
Yes, this is actually a problem in the long time for ChromeOS and “WayDroid” that’s actually similar to the Apple Silicon + Rosetta thing. Power efficiency caused by CPU instructions translation.
Even then @FieryEvent you could install Houdini (for Intel CPUs) or libndk (for AMD CPUs) for running ARM binaries on Android natively, with the tradeoff as both of them are proprietary libraries if nothing else. (They are safe and contain no bad telemetries as I used them for years)
Is Hyperion a kernel-level anti cheat/tamper? If so, although I am not entirely sure, this could potentially further conflict with Wine support going forward.
Is there any potential conflict with Wine specifically? Will moderation action ever result if Wine is a cause of a detection in Hyperion?
I understand the above questions might not be answerable directly, but I do appreciate your transparency in this thread so far. This has been very enlightening for me personally.
Fortunately no. As far as I know, this is how Byfron itself has a toggle set in the compile time to enable WINE/Proton support. You still don’t have to use a Windows administrator account, while a kernel level anticheat requires it to launch.
The current version of Hyperion operates solely in user mode. This might change though.
That would be more correct to assume if Roblox was licensing it, but they own the company and the talent so the integration is completely vertical.
They could change the source code to remove these changes/optimizations or just simply not enable them, which is what I assume is happening right now (outside the “Wine is not supported” crash)
According to what the community knows, Hyperion also has various changes/optimizations with Wine in mind - will those continue to be supported as Wine support seems to be a goal (if I read the earlier replies correctly)?
Thank you for replying to my post. I appreciate the time you are putting in to answer our questions.
They bought the whole company… and to be honest they could even make the native Linux client with their resources and a bit of help from their Android team if they still deeply invested into the anti-cheat.
Don’t ever get misinformed, the marketshare for Desktop Linux will keep growing since the popularity of GNU/Linux-based consoles like Steam Deck and Microsoft still keep shoving their s*** in their OSes such as Windows 11 to keep forcing their users into their products.
Please do correct me if I’m mistaken, however, isn’t the AT used w/ RobloxPlayerBeta.dll
internally named “Krampus”…? IIRC this isn’t exactly Hyperion.
.
My brainchild A little easter egg for all the reverse engineers out there.
Since the acquisition of Byfron, we have made significant changes to Hyperion and continue to work on improving its compatibility and protection.
To summarize:
- At this point in time, Hyperion is not compatible with Wine.
- We have disabled Wine to avoid unnecessary clutter in our Telemetry.
- 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.
You, my sir, are very sneaky indeed…