Skip Navigation

InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)MU
Posts
11
Comments
383
Joined
4 mo. ago

  • Short answer: yes and no

    Longer answer: remember my red square example earlier? Software is typically written for an operating system rather than a specific machine. Each operating system can do similar things but they do those things in different ways. So my red square program for windows would be different that on for Linux or Mac.

    When your write software, it calls out of other things in the operating system to do work on its behalf so it’s written with the expectation that what it’s talking to will already understand the things it’s going to say the way it’s already programmed to say them. But when you try to run a windows game on something other than windows, it doesn’t work. It’s like trying to talk to someone when they speak a different language. You can’t understand eachother.

    Enter WINE. WINE translates windows instructions into Linux instructions on the fly. It is able to intercept instructions a program sends out to the OS, then translate them to whatever equivalent Linux has.

    This works…ish. Because Linux and windows and built entirely differently, there isn’t always a direct equivalent for what a program might ask the OS to do. So WINE has to get clever. WINE has been taught over the years what is close enough to expected behavior for most programs to generally run fine with it. But because there is so much difference between expected behavior and what we are able to fake, it can’t create a solution that works 100% of the time so some apps might work while others don’t. You’ll have to try it to be sure.

    But you asked about games and games are a bit more tricky. Games have extra things in them that most other apps don’t have. The biggest concern with games are DRM and anti-cheat code.

    DRM (digital rights management) basically tries to keep people from making illegal copies of their games. There are many different methods of DRM but they all expect the environment they are run in to work in a very specific way, so if they see something unexpected, even if it’s technically right, it will fail. The DRM will assume the game is an illegal copy and won’t run. WINE isn’t great with DRM but sometimes it can work anyway.

    The other issue is anti-cheat and this has a similar issue to some forms of DRM. With anti-cheat, a game is designed to notice if someone is peeking at its working memory and possibly writing changes that the game didn’t want. So some of these install very low-level drivers in the system that tell the game what is spying on its memory. Some DRM systems work this way too.

    WINE is super clever, but remember that it is only able to fake an environment and translate commands on the fly. It needs equivalents to exist in Linux or at least something close enough it can make up the difference. These anti-cheat drivers are basically malware because they don’t follow the rules that normal software does. They don’t behave like normal software does. They need to install at the kernel level and mess with things that deeply. Linux kernel modules DO exist but they work entirely differently from windows kernel modules and there’s no way to translate something that low level in real time. There’s also no interest in creating such a technology as even Microsoft has admitted it was a terrible idea and are now kicking third parties out of its kernel thanks to the crowdstrike incident.

    So if a game calls out for that anti-cheat software or DRM driver saying “hey you’ve got my back, right?” There’s nothing there to answer it. So the game won’t run.

    There is some good news though. For many reasons, there has been massive blowback against DRM over the years and many vendors are paying attention and selling games without invasive DRM and anticheat measures. GOG has lots of DRM-free games and there are plenty of cracked games out there that had these obnoxious bits of code yanked out if you know where to look. There’s also plenty of small, indie games that never had DRM or kernel-level anti-cheat code in the first place and those have a much higher success rate of running under WINE. Some of them even have native Linux versions. (If you install zandronum on Linux natively, no wine, you can run all zandronum games, like doom or megaman 8-bit deathmatch)

  • This is true. Even projects with good reputations get caught up in shit like the XZ back door in Linux.

    If you haven’t read up on that fiasco, you really should look into it. It got way too far before being caught all because people suck and ruin things for others.

  • Selfhosted @lemmy.world

    Jellyfin troubles - phone cannot reach

    Asklemmy @lemmy.ml

    What laws, is any, does this break?

    Asklemmy @lemmy.ml

    Do all banks just work this way?

    Selfhosted @lemmy.world

    pinchflat + jellyfin useres - how do you sort your youtube audio rips?

    Linux @lemmy.ml

    pinchflat install not going my way

    3DPrinting @lemmy.world

    shearing on outer walls with PETG in a bambu p1p

    3DPrinting @lemmy.world

    cannot get an even first layer with a voron trident

    Linux @lemmy.ml

    creating a USB gadget

    Linux @lemmy.ml

    You think windows updates are bad?

    Linux @lemmy.ml

    alpine linux bootlog for nanopi r4s failed boot - Pastebin.com

    Canada @lemmy.ca

    looking to flee the red states below you