Where can I learn about Wine internals like these? I would love to debug why applications don't run well in wine, but all I ever find is an out of date wiki page and no clear explanation for how to start debugging these situations.
Maybe I'm not so good at finding the right resources?
Yes, unless a game is going with a "proper"/kernel-level anti cheat it likely only does a cursory check. One of my best examples is, years ago, if you had Cheat Engine (and I think OllyDbg) open when launching WoW it would shut down. You could bypass that by editing the window title of CE to something else. Or just launch CE after WoW had loaded.
NVIDIA has/had a hypervisor detection in their drivers to prevent you from using GPU passthrough. It is based on searching for a specific hypervisor ID [1], easily bypassed, I just used "expletiveNvidia" and it worked fine. Also TIL AMD does the same...
In the end most companies are just playing whack-a-mole with simple indicators something "fishy" is going on.
Then someone has to investigate it, and make a specific wrapper for this behavior, or, as natives call it, “crack”. Of course, if you have a crack, you won't have the problem (and the developers will also be happy because they won't need to support you).
this is a game that Wine cannot win simply by virtue of the fact that one can do checksums to validate that Microsoft's non-free code isn't present in the Wine environment.
> Purely functional things used for compatibility lock outs are generally not copyrightable
I'd appreciate a citation on that.
Just because I make "a copy of the lord of the rings, ripped in 1080p" a requirement to launch the game I make doesn't make a lord of the rings rip legally distributable.
Roblox can certainly require access to a complete copy of a copyrighted file in a windows installation (i.e. by requiring sending bytes from random offsets in it to their server, which could only be faked by having the whole file anyway), and I don't see how that can actually make that file anything but illegal to distribute.
If that did work, well, than I'd like to declare all copyright void since I require uploading an arbitrary copyrighted work to my site to login, so anyone with a copyrighted work can just claim it's for compatibility with my website and thus "not copyrightable".
>, which could only be faked by having the whole file anyway)
that presumption is wrong.
if one was so inclined, and perhaps had a lawyer friend on-call, then one could scatter the copyright material over many files -- none of which constitute the entire copyrighted work -- for the sake of challenge response.
Driver copyright shenanigans have done such things in the past.
I require uploading an arbitrary copyrighted work to my site to login
The keyword that makes all the difference is "arbitrary".
Roblox can certainly require access to a complete copy of a copyrighted file in a windows installation (i.e. by requiring sending bytes from random offsets in it to their server, which could only be faked by having the whole file anyway)
Ironically, Microsoft offers the copyrighted files available in a Windows installation for free download, both in the form of complete ISOs and Windows Updates.
When my oldest kid was young, I was on Linux. I tried a few times to get it to work so I could play with him but never could get it to run quite right. Because I couldn't play with him, Roblox itself became a constant source of arguments. Hours-long shouting and crying kind of arguments. All discussion was around Robux and the ridiculous money-grabs everywhere in the ecosystem. For years, I absolutely hated Roblox because of it.
When my youngest started playing, my older kid immediately got through to him to forget about Robux and just play the games. By then, I was back on Windows and was able to play with him. We have tons of fun as a nightly routine and he's even using Roblox Studio to build cool stuff and even does a little bit of programming. I absolutely love it.
Everything on Roblox is gamified to suck as much money out of kids as possible.
When my kid was using Roblox several years ago, all the games were made by kids. Nowadays all of the game developers moved from phone apps to Roblox. There’s no way I’m letting my kid get addicted to their tactics which are very effective, especially on kids.
"As of August 2020, Roblox had over 164 million monthly active users, including more than half of all American children under 16" (wikipedia)
Some also say, that those parents who cut off their kids from their friends are bad parents.
Parenting is about compromises and pure and clean solution only rarely exists. So yes, roblox is bad, as is facebook, tiktok and co. but banning it all and isolating your children is maybe not the perfect solution either.
My kids are not yet in the age of that crap, but soon there will surely be tough decisions to be made.
So maybe be careful with judging someone as a "bad parent", before being in that position yourself.
Did you actually watch both of those videos in their entirety before posting that?
If you haven't yet, you may want to delete your comment out of shame after you do. Unless you have as little shame as a parent or care for your own children as do all the pedos and white supremacists and scammers operating on that platform.
Nope, I did not. But read aweful stuff before about roblox and I think I said clearly that I think the plattform is crap and not that I have any intentions of hooking up my kids to it. My point was about moralist "judgement".
"Unless you have as little shame as a parent or care for your own children's wellbeing as do all the pedos and white supremacists and scammers operating on that platform."
So what about the rest of the internet and the real world? It is not exactly that they are free of those people.
Absolute protection means absolute isolation. So still my question: do you think it is good for kids, if all their friends meet on roblox and only they are not allowed and become isolated? Parenting in reality means compromises. So I do not know, how I will decide if I would come into that situation, but I know that it is always easier to judge from the outside. Or do you have kids in roblox age?
When you have a kid of Roblox age (I assume you don't) you will feel the pressure from all other kids already playing. Your kid may even get a robux card at a birthday without your consent. If you pushback you will be the annoying parent and your kids social life will suffer. Then you will likely readjust your position.
Wow. Thank you for posting those links. I just watched those two videos in their entirety, which Roblox wishes were taken down.
They raise MUCH BIGGER issues than "intentionally blocking Linux with Wine", which is actually a GOOD thing insofar as it helps protect Linux users from being exploited.
It would be even better for society if Roblox blocked all Windows and Mac users.
Apparently, this has been done because they're trying to collect telemetry on the use of the 64-bit client, and they want "pure" telemetry from the target OS, not the target OS and instances on other operating systems emulating the target OS (https://devforum.roblox.com/t/the-new-roblox-64-bit-byfron-c...).
I can see what they're trying to do here, but (a) I've never, personally, been of the opinion that this kind of shaping has the desired effect (if anything, I've seen users try harder to break the system when such an arbitrary block is put in place, which makes the resulting telemetry noisier) and (b) cutting your customer base to get "cleaner" numbers smells very shortsighted.
If that’s the real reason, can they not hook up whatever method is being used to identify and block Wine as a signal in their telemetry system so they can filter that data in their query? This explanation sounds like either incompetence or an excuse.
Which is the equivalent amount of engineering work to just bypassing sending telemetry on WINE if WINE is detected. Instead, they go out of their way to detect WINE, but then intentional block it, rather than just bypassing telemetry upon detection. Someone at Roblox has an axe to grind.
This is a really gross reason to just unilaterally cut off all of its Linux user customers. I'm sure WINE has bread crumbs of its own that they can check for when sending telemetry...
I wonder what's the core issue. Probably not it, but I've found that no Event Tracing support is there in wine (maybe I'm wrong) - so no .etw data from neither of the 3 or was it 4 apis to emit these. Just pointing out that sometimes missing one feature, not critical for games specifically, might be critical for another new system, and without it it might not function correctly. Again pure hypothesis. I'm curious though what it is...
Missing from the headline: This appears to be a temporary measure in their new beta client during testing of said client. It appears that they'll unblock wine when the client is out of beta.
Actions speak infinitely louder than promises. And this is even more true when those actions are unpopular. Their claim doesn't even make any sense. If you don't want the telemetry of WINE users then you don't block them, you simply don't collect their telemetry, or you discard it.
Or better yet: you include it, and actually evaluate it as part of the mix of expected clients. Deliberately excluding certain classes of datapoints doesn't strike me as something that'll produce a maximally-useful dataset.
At least going by the two quoted posts, that seems pretty unlikely - I mean, if that would be the intention, they would have probably mentioned it to calm things down? Instead, they write "I cannot provide a specific timeline for this support".
47 comments
[ 2.9 ms ] story [ 78.8 ms ] threadhttps://github.com/Winetricks/winetricks/blob/b46dd63e024a16...
Maybe I'm not so good at finding the right resources?
These mechanisms are looking for certain environmental conditions, not the entire system state.
NVIDIA has/had a hypervisor detection in their drivers to prevent you from using GPU passthrough. It is based on searching for a specific hypervisor ID [1], easily bypassed, I just used "expletiveNvidia" and it worked fine. Also TIL AMD does the same...
In the end most companies are just playing whack-a-mole with simple indicators something "fishy" is going on.
[1] https://wiki.archlinux.org/title/PCI_passthrough_via_OVMF#Vi...
Things like this will only make WINE's own compatibility and indistinguishability from Windows increase, so it's not all bad.
Purely functional things used for compatibility lock outs are generally not copyrightable, so this might not even be copyright infringement.
I'd appreciate a citation on that.
Just because I make "a copy of the lord of the rings, ripped in 1080p" a requirement to launch the game I make doesn't make a lord of the rings rip legally distributable.
Roblox can certainly require access to a complete copy of a copyrighted file in a windows installation (i.e. by requiring sending bytes from random offsets in it to their server, which could only be faked by having the whole file anyway), and I don't see how that can actually make that file anything but illegal to distribute.
If that did work, well, than I'd like to declare all copyright void since I require uploading an arbitrary copyrighted work to my site to login, so anyone with a copyrighted work can just claim it's for compatibility with my website and thus "not copyrightable".
that presumption is wrong.
if one was so inclined, and perhaps had a lawyer friend on-call, then one could scatter the copyright material over many files -- none of which constitute the entire copyrighted work -- for the sake of challenge response.
Driver copyright shenanigans have done such things in the past.
https://en.wikipedia.org/wiki/Sega_v._Accolade
https://en.wikipedia.org/wiki/Lexmark_International,_Inc._v.....
I require uploading an arbitrary copyrighted work to my site to login
The keyword that makes all the difference is "arbitrary".
Roblox can certainly require access to a complete copy of a copyrighted file in a windows installation (i.e. by requiring sending bytes from random offsets in it to their server, which could only be faked by having the whole file anyway)
Ironically, Microsoft offers the copyrighted files available in a Windows installation for free download, both in the form of complete ISOs and Windows Updates.
Use of the Sega logo, which is protected under both copyright and trademark, was found to be fair use when used for interface compatibility.
https://m.openjurist.org/977/f2d/1510
When my youngest started playing, my older kid immediately got through to him to forget about Robux and just play the games. By then, I was back on Windows and was able to play with him. We have tons of fun as a nightly routine and he's even using Roblox Studio to build cool stuff and even does a little bit of programming. I absolutely love it.
When my kid was using Roblox several years ago, all the games were made by kids. Nowadays all of the game developers moved from phone apps to Roblox. There’s no way I’m letting my kid get addicted to their tactics which are very effective, especially on kids.
I would suggest a (re)watch of this pair of videos from People Make Games:
Investigation: How Roblox Is Exploiting Young Game Developers - https://youtu.be/_gXlauRB1EQ
Roblox Pressured Us to Delete Our Video. So We Dug Deeper. - https://youtu.be/vTMF6xEiAaY
Some also say, that those parents who cut off their kids from their friends are bad parents.
Parenting is about compromises and pure and clean solution only rarely exists. So yes, roblox is bad, as is facebook, tiktok and co. but banning it all and isolating your children is maybe not the perfect solution either.
My kids are not yet in the age of that crap, but soon there will surely be tough decisions to be made.
So maybe be careful with judging someone as a "bad parent", before being in that position yourself.
If you haven't yet, you may want to delete your comment out of shame after you do. Unless you have as little shame as a parent or care for your own children as do all the pedos and white supremacists and scammers operating on that platform.
You be you, but I'm sorry for your kids.
"Unless you have as little shame as a parent or care for your own children's wellbeing as do all the pedos and white supremacists and scammers operating on that platform."
So what about the rest of the internet and the real world? It is not exactly that they are free of those people.
Absolute protection means absolute isolation. So still my question: do you think it is good for kids, if all their friends meet on roblox and only they are not allowed and become isolated? Parenting in reality means compromises. So I do not know, how I will decide if I would come into that situation, but I know that it is always easier to judge from the outside. Or do you have kids in roblox age?
They raise MUCH BIGGER issues than "intentionally blocking Linux with Wine", which is actually a GOOD thing insofar as it helps protect Linux users from being exploited.
It would be even better for society if Roblox blocked all Windows and Mac users.
> First and most importantly, we are not trying to punish the use of Wine.
Not punishing, but certainly showing a callous disregard for them.
You did this deliberately, and they had to come to the forums to find out?
I don't get why people often feel the need to sugar-coat this.
I can see what they're trying to do here, but (a) I've never, personally, been of the opinion that this kind of shaping has the desired effect (if anything, I've seen users try harder to break the system when such an arbitrary block is put in place, which makes the resulting telemetry noisier) and (b) cutting your customer base to get "cleaner" numbers smells very shortsighted.
Since they have, where they essentially have sys.exit in Python terms, it could be updating a telemetry-controlling global instead
The 'protect our data' thing is suspicious in my mind
If they can detect the usage of Wine, they can add that to the telemetry and filter on it.