Comment on Pragmata surpasses 1m copies sold in just two days
realitaetsverlust@piefed.zip 1 day agoDenuvo, and in fact ALL anti-piracy countermeasures (including kernel level anti-cheat like nGuard Protect, or Vanguard) added to computer software, is cancerware. It does not do anything to prevent piracy beyond maybe a month depending on cracking scene interest.
This part I can agree with.
But it does severely negatively affect game performance. In some cases, games with Denuvo removed have seen +40 fps and more for end users with absolutely no change to game settings or hardware.
Never seen that myself so idk. However, I’ve checked youtube for “denuvo vs no denuvo fps”, and I’ve quickly skipped through around ~20 videos, and the FPS loss is in all cases either minimal or nonexistent. The only game that was seriously affected was hogwarts legacy with a ~25 FPS difference between cracked and non-cracked which is obviously huge, however, that could be due to a wrong implementation or other factors. No other game displayed that behavior, leading me to believe it’s not necessarily denuvo that’s the problem in hogwarts legacy.
Denuvo runs game functions within a VM, and uses the game license, your machine HWID, and magic numbers to make calculations so it can decrypt the partially encrypted by Denuvo game code. It does this EVERY FRAME
You make it sound like that’s a huge deal, but this is running in parallel, not in sequence. Meaning denuvo would only be a bottleneck if the game renders it’s frames faster than denuvo takes to finish it’s next step. This is unlikely as denuvo isn’t utilizing the GPU as the game mostly does, but the CPU, and the CPU is rarely ever a bottleneck in modern games. So, at worst, it consumes a few more CPU cycles and therefore a teensie tiny amount of power, which is quite frankly negligible.
Computers have become fast enough that people like you might say you dont notice the difference because your copy of the game runs at 60fps “most of the time” with dips into the 30s or 40s. But without that literal circus of cancerware your game could be running at 90+ fps with absolutely no change from you
Well, the reality shows that this isn’t the case and those numbers sound like you made them up for dramatic effect like some supplements tiktoker telling me that costco rotisserie chicken is literally poison.
Now why, exactly, does Denuvo need to do these checks with your license and HWID every single frame? Well, you silly wallet, your license might expire or be revoked inbetween frames.
Once you boot a denuvo game, it (usually) connects to a server and receives a ticket. Now, how long that ticket is, depens on the game. The ticket lifespan is configurable by the developer/publisher, it could be days, weeks or even months. Less than a day? Very unlikely. Afaik, the ticket is only checked on game startup anyways, so the license will never expire inbetween frames. Only a restart of the game could do that, in which case the game would probably request a new ticket.
I mean, did we all forget SecuROM?
SecuROM, Starforce or vanguard install themselves as an application on your system, requiring root access (or whatever the pendant on windows is. Admin?) on your system, enabling it to do all kind of things and literally being an open security risk on kernel level.
Denuvo doesn’t. It runs in userspace and doesn’t have any more privileges than the game itself. That’s why denuvo doesn’t really cause any problems on linux - because it’s a userspace process that runs in the prefix. That’s it.
I get you don’t like denuvo, but your dislike of it seems to be founded on either:
- Best case: Very outdated information
- Bad case: Wrong information
- Worst case: Information you made up for dramtic effect, as you did above
I would prefer if you’d just say: “I hate the thought of not fully owning my game” which is a perfectly legitimate claim. But making up these horror stories like “DENUVO IS LITERALLY EATING YOUR CHILDREN !!!!” is just not a good way to argue against something. It makes you unbelievable.
RightHandOfIkaros@lemmy.world 1 day ago
Ok, well you obviously don’t understand how Denuvo actually works, so let me give you the simple TLDR version. Maybe if you understand how it works, you can see why it is so bad.
When a developer compiles their game with Denuvo, Denuvo adds itself to various functions of the game (set by the developer but has defaults as well). Usually this includes at least the main game loop which runs every frame, but also to other functions in the game as well. I cannot remember if Denuvo is added to every function of the game by default or just a lot of functions of the game, but it is added in multiple places and not just one. Anyway, by doing this, Denuvo basically partially encrypts the functions it adds itself to. Then, when the game is running in Denuvos virtual machine, it uses a magic number set during development and does a math calculation using a formula with parameters that include your HWID and your game license. It then compares the math calculation result to the magic number, and if those both match then everything is good and the game can keep running. Again, it does this in every function it is added, and since it is usually at least in the main game loop that runs every frame, you often can have Denuvo checking your license multiple times each frame, which is at the very least, wasteful. This is the only actual function that Denuvo accomplishes, by the way.
Denuvo ALSO adds a bunch of other unnecessary “dead end code” to these partially encrypted functions, which either loop on themselves or do nothing, in order to throw off cracking groups. This dead end code contains calculations that the CPU actually processes. They are not just there for looks, they do take up compute power even though functionally they do nothing important. Again, wasteful. The ticket can certainly expire between frames and cause issues.
When you said you watched videos comparing cracked games and non-cracked games and saw minimal gain, this is where I knew you didn’t really know how Denuvo works, because I wasn’t even talking about cracked Denuvo games.
Cracked Denuvo games still run Denuvo. Yes, thats right.
The way that Denuvo games get cracked is simple, but it is tedious and takes time. A hacker has to sift through the game code to find every Denuvo infected function. Then, they have to find where Denuvo checks the results of the magic number and the math calculation which is not always at the end of the function. The hacker then alters the check to always pass even if the numbers don’t match. Sometimes, they can catch the function before it does the math and it just instantly passes the check, but other times it has to be done later in the function depending on what the function does in the game and where it performs the check in the code. Regardless, this is why it generally results in a negligible performance gain: its still running Denuvo. Denuvo is just modified to always say “yes, the license is correct” every time. Two games which had a less negligible difference in performance when Denuvo was altered was Rime and Syberia 3.
I was talking about games that were officially updated to remove Denuvo by the developers. NieR Automata on PC, most notably, on the 21st of June, 2021, received an update that fixed performance issues with the game:
You can verify this on SteamDB, the change is U:24088901.
The performance gain was immediate, and everyone that had the game could tell the difference. Just for reference, when the game had Denuvo, the executable was ~100MB. After Denuvo was removed, the new filesize was just ~17MB. Thats ~83MB of bloated cancerware removed. Gone. And with it, the stuttering issues that plagued the game when it launched ~5 years prior.
This isnt a made up horror story. I never said Denuvo killed any children. This isnt made up for dramatic effect. This is how Denuvo works, and why I say it is cancerware. It only harms real paying consumers and should be removed for their benefit. Businesses that sell games are forgetting that the only thing that keeps them alive is being slightly more convenient than piracy.
If you don’t like it, I don’t know what else to tell you. This is the way it is.
Atropos@lemmy.world 1 day ago
Excellent explanation, thanks for typing that all out!
realitaetsverlust@piefed.zip 1 day ago
Thanks for the explanation! Didn’t know most of that. Especially the part with the cracked games.
However, my point does still stand. GPU’s rarely have to wait for CPUs these days. So while the CPU utilization would increase with denuvo, it wouldn’t have a noticeable impact on performance.
That might be true, but I’m also gonna be very honest, 83MB is irrelevant in a timeline where we have terabytes of storage. Two assets left in the game and never removed would take up more than that. It’s more a question of bad optimization in that case. Also, filesize has nothing to do with performance (unless the filesize is really absurd).
I bought the game a few weeks after release back then and didn’t notice any performance issues, even tho I gotta admit my PC back then was top-of-the-line. So that’s probably not going to be true for everyone.
So, I did some digging regarding that because that’s honestly pretty interesting. So I’ve dug up the patch file list from steam DB for that time, which is https://steamdb.info/patchnotes/7020666/ and to me, this looks like a bunch of optimizations. The performance improvement could’ve just as well been a result of that instead of the removal of Denuvo.
I also found https://www.videogameschronicle.com/news/a-version-of-resident-evil-village-which-reportedly-removes-drm-runs-better-analysis-shows/ which claims that RE:Village runs better without denuvo, and https://www.vg247.com/resident-evil-village-patch-denuvo-drm which says that “adjustments” to how denuvo was used were made. That in turn also leads me to believe that denuvo is only a problem if it’s utilized incorrectly - something that almost any application that interfaces with a game does.
For me personally, it’s just difficult to pinpoint. The way you describe denuvo and how I read about it online doesn’t really lead me to believe that the way it works has any particular impact on performance, unless you have a VERY weird setup, like a RTX 50 series GPU but an ancient CPU. CPU bottlenecking just hasn’t been a thing for over 10 years at this point. So it’s just not that believable. However, at the same time, don’t know enough about the inner workings of denuvo to debunk what you’re saying either.
Well I obviously never claimed you did, I was just making a funsies.
I think that’s a pretty stupid stance. If there’s no businesses making games, there’s nothing to pirate. It’s a bit like the AI discussion. If Wikipedia or StackOverflow die, AI will have nothing to learn from.
dovahking@lemmy.world 8 hours ago
How a game handles denuvo and assets is entirely different. Denuvo is acting like a parasite attaching itself to the game running simultaneously and hogging resources. An asset even if it’s 100 GB won’t impact performance if it is being completely ignored by the game.
realitaetsverlust@piefed.zip 6 hours ago
An asset not used by a game consuming 100GB of my disk space would probably have a bigger impact on me and how I use my computer than denuvo.
Katana314@lemmy.world 1 day ago
I definitely recall part of the setup of Denuvo involves the developer having to call into it on many phases of the game running. But I specifically remember there was a contention where one dev decided to call it every frame, which thrashed some part of the computer, and even Denuvo engineers themselves said that’s a bad idea. It’s more likely something like a common event, something like a player getting a kill, or even loading between levels.
We’re all going to be competing on data about exactly how much Denuvo affects performance, when even common accessibility technologies and other modern game features have effects too. To me, it’s a simple question of whether it’s smooth and playable, and especially in Capcom’s case I can say performance has generally been good.
realitaetsverlust@piefed.zip 1 day ago
Absolutely, I’m not doubting that. That’s how denuvo works from what I understand. My point is that I am doubting that these calls would stall the system hard enough to cause any significant framedrops to be mad about.
If denuvo would result in like 20% performance loss, I’d be mad about it aswell, but everything I’ve seen so far points to a shitty implementation of denuvo that causes the performance loss, not denuvo itself.
timestatic@feddit.org 1 day ago
Thank you for the writeup. Even if theres downvotes piling from people (I mean I guess they think you’re in favor of DRM when you’re mostly indifferent and see its use). Between the back and forth I learned quite a bit about Denuvo and how DRMs work. And while it doesn’t make me like DRM any more its interesting to see how and why things work the way they do. I don’t see a reason why games shouldn’t just patch out DRM after the launch window. I think if you want to avoid a simple copy paste way where friends just send each other a copy of the game there can be a lot more primitive options later on. And the pirate copy is mostly already out there later on
realitaetsverlust@piefed.zip 22 hours ago
Tbf, most people probably haven’t even read my post in it’s entirety. So I don’t really care about the downvotes. Just tell me I poked into another lemmy hornets nest lol.
Sure, that’s a fine option. I think some games even did that after a while because there’s just no need for it at that point.