Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Why can DRM crash some games on 12th gen Intel core processors? (intel.com)
105 points by octagons on Nov 6, 2021 | hide | past | favorite | 85 comments


DRM strikes again. Is there any DRM system in use that isn't broken within a few weeks of the game's release? It's an honest question, I don't follow the piracy scene any more, but it used to be a pretty rapid turn around on cracks. If that's still the case, then DRM is still just hostile toward paying customers and a speedbump to pirates.


> Is there any DRM system in use that isn't broken within a few weeks of the game's release?

They wished, most DRM gets cracked in a few days with a few infamous ones being broken on the day of release or before release. (Plus, you get better performance by cracking legit copies you own and now having to get cracks to play most non-recent DRM'd games at all)


It is always anticipated that DRM will be cracked quickly. The point is that it steers most customers away from piracy, because that option is more complicated than buying it legitimately, or simply not yet available.

https://askagamedev.tumblr.com/post/88725419221/why-do-publi...

It doesn't need to last forever. For most games, most of its revenue comes in the first few months after its release. Mitigating piracy during that window is the name of the game.

https://askagamedev.tumblr.com/post/179082079276/when-it-com...

Which isn't to say that Denuvo in particular isn't an absolutely awful, terribly implementation of DRM. But DRM in general works.

https://askagamedev.tumblr.com/post/155630338791/a-question-...


There's a lot of words, but no data in these posts. The only argument is that sales are expected to decline very fast, so stopping piracy there is very efficient. I would argue it is quite dishonest to pretend Steam is popular because it is a DRM solution, it is popular with consumers because is is a convenient marketplace. It seems like confounding publisher and consumer mindset.

Conveniently, there isn't a single downside mentioned! Some games have stutter at launch or take a 20% performance hit, so there must be an impact on sales. Adding DRM is also far from free, it is always a good idea if you don't talk about the cost.

I would expect the picture to be quite different depending on the type of games/market. But these posts only show that there's a belief that it works.


The publishers absolutely do have the data, but they sit on it. You can see that they actively try out variations on DRM in games from time to time as test balloon. Look for the odd titles without DRM or DRM implementations different from the usual ones. These are their experiments. If DRM wasn't worth it, they would drop it (it costs money after all - licensing, customer support etc.).


That's absolutely possible but I would add another. The tendency in large corporations for someone to get some software or thing for the whole company because they've got bamboozled by the marketing and now inertia has stuck with it.

It's an easy enough one to sell to management, "stop lost sales!", Oh crikey we can't have that, this software company says all the right things and sounds professional, I'll buy it!


Good links, thanks. I'd say that just points to the need for very basic DRM instead. If a game isn't distribute by steam or some other DRM'ed platform, a simple activation code should be a sufficient hurdle for opportunistic pirates. Not these complex systems that run alongside the game and sometimes do all sorts of other system monitoring too. (Excluding anti-cheat systems-- they're half a root kit, but somewhat of a necessary evil for competitive games)


The point of most DRM is not to prevent piracy, it is to prevent a secondary market.


The existence of Steam has pretty much eliminated the secondary market.


Yes, which sucks. But I also wonder how much of the resurrection of PC gaming came from increased sales due to the lack of a secondary market and convenience of digital distribution.

Loss of that market segment could be a local minima for customers while the market as a whole improved to their benefit: more games, more conveniently.

Nonetheless I don't like that I don't quite actually own my games. While GOG doesn't allow transferring games to another user, you at least own it and can save a backup if the installer. In theory that means you could even go on the "honor system" and loan or give the game to someone else and not use it yourself anymore.


Last I heard it was a crap shoot, with some in weeks and others years.


This is what I heard too. When I brought up GP's exact point a while back, apparently it's quite common now for big releases to have DRM that lasts for 6+ months before being cracked.

It's not like the "good ol' days" any more.


Handball 17 is 5 Years


Which, to be fair, isn't exactly a high profile game a lot of pirates are clamouring for.


Denuvo is very hard to crack. Amusingly, there were quite a few instances where the developers messed up opsec or implementation and you could do things like fetch a pre release steamdepot without denuvo or the case of DOOM Eternal where the devs shipped an unprotected exe along with the protected one.


"messed up"


I'm not pro-DRM don't get me wrong. If you are saying that some DOOM Eternal developer leaked the DRM free version on purpose, It's not impossible but we will never know for sure.


Yeah I meant they mess it up deliberately! I've definitely seen DRM implementations where the game's .exe is not protected at all, but started by a protected (and mostly unnecessary) launcher.


That's exactly what most publishers care about, the first weeks.


I buy my games DRM-free as much as possible. It means I'm mostly buying old games, but that's alright for me.


I think Google Widevine's security is fairly tight. It got cracked before, but the extracted keys promptly got revoked.


Widevine is completely broken. The Nvidia Tegra Boot ROM flaw exposed the Widevine private keys of all Tegra-based devices. Google can't revoke those en masse without breaking Netflix et al on a ton of tablets and other devices. And those keys are for the highest level, since it's supposed to be handled in TrustZone. It's been game over for Widevine since 2018.


Why is there no open implementation yet then?


There's code for the L3, but it doesn't work since end of may because the new RSA keys aren't public

https://github.com/tomer8007/widevine-l3-decryptor

Find the code in the forks, since it was DMCA'd

There's none for L1 and L2 though


There’s code for L1 floating around, if you know where to look. Nobody bothers with L2, only L1 or L3.


"Code in the forks"? Is the Open Source community really in such a bad shape, compared to DeCSS times?


Yeah idk on what grounds it would receive DMCA. Perhaps because it contained the keys?

Probably not worth the headache of dealing with Googles lawyers, for some independent researcher.


the DMCA


Additionally, people still have keys for a lot of devices, either via exploits (like shofel2 as marcan said), or via the manufacturers exposing them on some open server or similar. The pirates are always going to be winning this battle, to be honest. They’ll always be a step ahead of Google et al.


Denuvo was unbroken for years


This fix is absolutely ridiculous, it should be in the publishers interest to remove the DRM on such games. And they also fully deserve to get bombarded with negative reviews until they do so

Shipping a broken product to a paying customer should be absolutely unacceptable regardless of the industry


It's more in the publisher's interest to prevent someone from creating a torrent with the files and anyone being able to use them to play the game without paying. The nature of DRM and this sentiment is exactly why online games are so lucrative - no DRM, besides anti-cheat, and microtransactions end up making way more money over the long-run if it's successful.


Except that enough studies have shown already that piracy doesn't hurt sales. And I'd add my point myself - it's the decisions of companies that do hurt them - whether is releasing a broken product, limiting something to a particular country or TV channel (like the olympics) etc.

Piracy is not at fault, it's just that you provide inferiour product (or straight up no product at all)


In its current state, sure, piracy doesn’t detract from sales; but if copying was legitimately as simple as sharing the game files, and there was a website that hosted all these games, then consumers would have the choice of “pay on day one” or “get the game free on day one”/“split the cost of the game 15 ways between your friend group” and i can assure you we’d see a steep decline in sales for single-player games.

It should be noted that the primary goal of game studios isn’t to create a great product, nor to create a product that everyone can play - its to achieve the highest return on capital investment, and that usually involves only supporting the biggest OS (windows) and not appealing to players looking specifically for DRM-free games.


Most games these days still use Steam DRM which is cracked on the first day, and games like cyberpunk were downloadable just like you said.

And while I don't have the data to back it up, I don't think cyberpunk sales were hurt by being able to copy game files, but by producing unfinished game. If you hear reviews saying how the game's glitchy and unfinished - would you still waste your time on it? Singleplayer usually age like fine wine anyway, so playing it 1 year later could just be worth it more


Can anyone speculate what in the world is even tripping Denuvo up in this scenario? Is there a realistic threat model they add to their garbageware that tries to detect... multiple physical distinct CPUs on one system as an indicator that the game is pirated? What a weird check.


From PCMag story:

"The errors occur because Denuvo’s DRM software will mistakenly think the so-called "Performance-cores" and "Efficiency-cores" (P-cores and E-cores) on the chip belong to two separate PCs, when in reality the two types of processing cores are running on the same Alder Lake processor. (This P-core/E-core design is a new trait of Intel's chips with Alder Lake.)

“Once it detects that some portion of the load has been split between the P- and E-cores, it sees the new cores as a new license holder (a separate system), and force-quits the game to prevent what it believes is two PCs trying to play one game on the same key,” wrote PCMag reviewer Chris Stobing."


LOL

Imagining an alternate timeline where they intentionally make you buy a separate license per-core


Windows on early multi-cpu machines did, I think they still do for multiple physical cpus.


Afaik, Windows "Home" is limited to 1, "Professional" to 2 and "Pro for Workstations" to 4 CPUs.

Can be nicely tested with virtualization (e.g. KVM). Just assign multiple CPUs with one core each and Windows will only use the amount of "CPUs" that the license allows. A single CPU with a bazillion cores is no problem, though.

I only know this because I ran into that exact pitfall several times already.


Yes wasn't this an issue when the early benchmarks of the threadrippers came out? I think there was some kind of thread limit.


Apparently there was, and probably still is (process groups): https://www.anandtech.com/show/15483/amd-threadripper-3990x-...

And here's a table about hardware restrictions for Windows 10: https://en.wikipedia.org/wiki/Windows_10_editions#Comparison...

Looks like Windows 10 Pro is limited to 128 cores / threads per CPU. Guess I was a bit off with my "bazillion" remark above, but who with access to that kind of hardware would ever want to waste it on Windows anyway?


Seems so arbitrary and petty. But thankfully I like another OS that doesn't do this! :)


The process group thing isn't pettiness, it's an implementation flaw.


if Oracle made games


Typical licensing on server software.


that's exactly how is sold... Windows server had that model, and Windows for workstations too. it just bundled them in so you can't buy exactly 1:1


Does part of this involve the DRM "phoning home"? It gets confused and the central server says the game is being played on two PCs?


How is this implemented? With Intel Speedstep being a thing, why would the processor speed ever be an input to any anti-piracy machine signature? Or is there some unique processor identifier?


I assume it's CPUID not frequency.


Are you saying the standard CPUJID registers are different between the two types of cores? I'd imagine that that would break a lot more software.


For example, you can read the cache configuration from CPUID and the different cores have different cache sizes. You can also detect hyperthreading using CPUID.


This is most certainly a check against either virtualization or the presence of a debugger observing the process. If the maximum performance of the core you're running on varies significantly over time, chances are that your process isn't running on its own in an OS running on bare metal and the extra layers give an attacker a chance to observe and reverse engineer the checks.


Title is misleading, Intel is offering a fix that allows the user to disable E-cores on the fly by using their scroll-lock key. They're only offering a reference implementation though, it's up to the motherboard vendors to ship a BIOS update with this workaround.


So Scroll Lock is the new Turbo button eh? Hello my old friend.


We've changed the title to the article title now. Submitted title was 'Enabling scroll lock at boot fixes crashes caused by DRM on Intel 12th gen CPUs".

"Please use the original title, unless it is misleading or linkbait; don't editorialize."

https://news.ycombinator.com/newsguidelines.html


I wonder how it does this - does it check for the USB input, or does it check for scroll lock to be turned on (ie. LED 0x03)? If it were the latter, I could see a program turning on scroll lock for the user so it could be sure new threads are immediately put on p-cores and ensuring AVX512 is available[0].

0: https://www.anandtech.com/show/17047/the-intel-12th-gen-core...


It's almost certainly a hack based on system management mode. Not sure how it does it, but SMM is even used to emulate the PS/2 keyboard interface (at I/O ports 0x60/0x61) when all you have is a USB keyboard. So it's likely that the chipset has some kind of "backdoor" to the USB controller that can be accessed from SMM.


You’re right - I misread the article by missing the part mentioning the adjustment needed in BIOS before enabling scroll lock. I’m glad the title was updated to keep the discussion going without editorializing. My mistake!


How is the title misleading?

It links directly to intel and tells you that you can use the scroll lock to stop the crashes.

If the title said "Enable scroll lock to disable e-cores" that doesn't tell you why you would need to do that.


It's misleading in that, if you had an Alder Lake CPU right now, enabling scroll lock wouldn't do anything since no/very few MOBO vendors have shipped this BIOS update. Plus, it doesn't "fix" the crash, it's a workaround that hurts your CPU performance for that game (since, now, new background tasks will be scheduled on your p-cores).

It's usually best not to editorialize titles anyways, and the title would still reference DRM systems if it were "Why Can Digital Rights Management (DRM) Crash Some Games on 12th Gen Intel Core Processors?"


that's not what it says.

it says that while you wait for the software patch to filter through ordinary distribution channels, you can enable a feature that's already in your BIOS which (after you reboot) will allow you to use the scroll lock key.


The editorialized title is purposely vague, making it sound like this is an unexpected bug, when it is, in fact, not a bug at all.

That's clickbait.

A more honest title would be "Fix DRM crashes on Intel 12th: Enable 'Legacy Game Compatibility Mode' and turn Scroll Lock on"

edit: the title at the time of writing this comment was "Enabling scroll lock at boot fixes crashes caused by DRM on Intel 12th gen CPUs "


Scroll Lock is just a special toggle for the Legacy Game Compatibility Mode - you need to turn it on in BIOS. Then you can control E-cores using Scroll Lock.



Okay, so that's actually less insane than the title suggested. They're using scroll lock to specifically toggle a compatibility mode, after enabling an option to make it do that.


DRM aside, a bios update to fix a software bug feels backwards to me.


I'd say it's less of a "BIOS update to fix a software bug" and more of a "BIOS update to provide control to the user to perform a workaround for a software bug whose fix requires at least two, but probably more, parties to rollout".


The fix requires only one party to act: the publisher removing DRM which affects performance and compatibility without providing any benefit at all.


The DRM doesn’t provide any benefit… to you. It does benefit the developers and publishers.

Often you can find out what (if any) DRM is used before you purchase. Check out GOG.com if you want to avoid DRM entirely.


> Check out GOG.com if you want to avoid DRM entirely.

I already avoid most DRMs since they don't normally run on Wine/Proton.

(As mentioned, cracks are available and are legal to use for compatibility and archival; though developing nor sharing them is, go figure. Recent document about such circumvention exemptions: https://www.govinfo.gov/content/pkg/FR-2021-10-28/pdf/2021-2...)

The other thing is that I use mostly FOSS stuff so I don't normally have to worry about DRM breaking things or causing me issues.


>The DRM doesn’t provide any benefit… to you. It does benefit the developers and publishers.

That's cool. I don't run software on my machines, using my power, using my bandwidth, and hw resources to make publisher's/developer's lives easier. They want it? They can keep it.


You are right. The games need updates. This is just intel presenting a non-solution (scroll-lock, come on) to a problem they have no control over.


Scroll lock is the new turbo.


"after BIOS/firmware update, scroll lock can be used as a special enabler key to disable DRM" -which is a completely different thing: this reads as if all current PC owners simply have to do ScrollLock, on boot, right now, unmodified BIOS


It doesn't disable DRM, it changes the core scheduling algorithm.


Fine. About that specific bit, I was wrong. The point of substance was that a bios update has to be applied. The headline as written is misleading by omission


How many games are we talking about here? Wouldn't it be easier to fix the bug in the DRM?


Yes, some games are being updated. But some games might no longer be getting updates.

> A software fix has been identified by the vendor of the affected DRM software and is being rolled out.

> Workaround steps for end-users to enable Legacy Game Compatibility Mode with affected games that have not received a software fix:



Lot of hacker news is blaming Denuvo. I disagree.

This just goes to show how Intel has failed at pre-grade school level of implementation and testing of processor design.


Ah yes, fond memories from preschool: on the playground, hop scotch, instruction pipelines, plenty of physical registers to go around. Those were the days.


And the Squid Game screenwriters perk up and start taking notes...


When it comes to heterogeneous cores there are no "right" answers. If all the cores returned identical CPUID information Denuvo would probably work... but the cores are not identical so that would be kind of lying. (Given Intel's historic attention to backwards compatibility I'm a little surprised they don't have a lowest common denominator CPUID spoofing mode.) But if the cores return accurate CPUID then Denuvo can see that the cores aren't the same.


On the other hand, even with CPUID spoofing, if a DRM wants to check that it's running environment is sane, it would not surprise me to see timing consistency checks (if huge spikes occur at some point of time, it may indicate the process is being tampered with. Or that the process got descheduled or there are big loads on the computer, but we're talking about softwares that tend to take the assumption tempering is going on when in doubt so...)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: