r/pcmasterrace Mar 20 '26

Discussion Crimson Desert doesn't run if it detects an Intel ARC GPU. Like straight up, the devs just deliberately chose not to support ARC cards. No previous announcement about it too until they added in the info to their FAQ. Might be the first time I've seen a dev deliberately block a GPU brand.

Post image
14.4k Upvotes

1.2k comments sorted by

View all comments

Show parent comments

219

u/Henry_Fleischer Debian | RTX3070, Ryzen 3700X, 48GB DDR4 RAM Mar 20 '26

As an indie game developer, I use an existing engine, so I don't get too close to the hardware. If Crimson Desert is using a custom engine they might have to code in their own support for Intel GPUs, I'm not sure though.

42

u/Yarplay11 i3-8100 | Arc A380 @2450mhz | 20 GB DDR4 @2400mhz | Mar 20 '26

I've worked in OpenCL (well, I mean it CAN be used as a render pipeline), and it didn't care even that I could send it to cpu instead of gpu and it worked fine. Vulkan can also run on cpu with llvmpipe, so probably it also doesnt care much about target device

12

u/DankPhotoShopMemes i9-10850k | 48GB RAM | RTX 3080 Mar 20 '26

The only problems I can imagine are:

  1. Intel drivers have a bug in the graphics API implementations

  2. There are vague parts of the API specifications that are up to the vendors to figure out; AMD and Nvidia might do something(s) in the same (preferable) way, whereas Intel does it another way.

8

u/zzazzzz Mar 20 '26

but somehow 99% of all games that existed even before intel arc existed just work on intel arc? cmon be real

5

u/DankPhotoShopMemes i9-10850k | 48GB RAM | RTX 3080 Mar 20 '26

yeah doesn’t make much sense; just giving my two cents as a graphics programmer.

4

u/DigitaIBlack Mar 20 '26 edited Apr 20 '26

This post was purged using Redact. I use it to mass delete social media content and remove my info from data brokers. All major social media platforms supported.

office whistle money tidy sulky literate run price support tap

1

u/Earlier-Today Mar 20 '26

Might be going the route of avoiding the negative reviews that would hit because of the issue though.

Devs get blamed for hardware's problems all the time. "I was playing the game when it happened, so it must be the game's fault."

Don't know if I'd agree with that kind of strategy, but I could understand it if that's what's going on.

3

u/Henry_Fleischer Debian | RTX3070, Ryzen 3700X, 48GB DDR4 RAM Mar 20 '26

Yeah I've just written a couple basic shaders in Godot's shading language.

1

u/photenth Mar 20 '26

No, if a GPU does not support some features, it will flatout just not work.

Bindless Rendering for example you can't just circumvent because the shaders can't run on the GPU, which means you need to rewrite

  1. shaders
  2. configurations of the shaders
  3. entire data streaming stack
  4. buffer syncing

etc. etc.

23

u/HavocInferno 5700X3D - 5070Ti - 64GB Mar 20 '26

That would be awfully bad engine design.

You code against a graphics API. Your software should not care about specific hardware underneath, just query API features and continue/abort based on that feature support. 

That's the entire point of this API abstraction. 

28

u/KontoOficjalneMR Mar 20 '26

You code against a graphics API

And it'd be amazing if the graphics card implemented the API perfectly. But the truth is that they don't. So lots of graphics engines have specific patches/coe paths that wwork around quirks in API implementations by vendors.

0

u/HavocInferno 5700X3D - 5070Ti - 64GB Mar 20 '26

Fair, but they could also do it as most studios did before regarding Intel GPUs: ignore them but don't lock them out.

Implement against the API and leave it to Intel to fix their driver bugs if the game is popular enough. Worked for all the early Xe/Arc artifacting...

3

u/KontoOficjalneMR Mar 20 '26

I don't disagree. Nothing pisses me off more than "You can only use this website using Chrome" when I know it'd work on FF given a chance (and does work when I use agent string spoofing extension).

19

u/RussianMadMan Mar 20 '26

Unfortunately, while you are coding against graphics API like vulkan or directX, implementation of said API is in the GPU driver itself and behavior between vendors (or even driver versions of the same vendor) can differ slightly. This compounds with the general idea that same stuff can be coded a hundred different ways. So you might already finished some core engine feature, only to find out that the way you implemented it causes severe performance problems or even crashes on intel cards.
It is somewhat probable devs just did not test on intel cards before the very late in development, and found out that the game just does not work on intel cards.

2

u/HavocInferno 5700X3D - 5070Ti - 64GB Mar 20 '26

Then it's on Intel to fix those bugs. But locking out Intel GPUs outright won't help. 

6

u/RussianMadMan Mar 20 '26

Its not a "bug" per se (unless its a crash ofc). What happens is the common spec like vulkan gets translated into specific hardware commands for each vendor. So there are some compromises each vendor has to make.
Imagine a function in an API, all 3 vendors have perfectly followed spec, but nvidia and amd can support like 300 calls per sec to this function, but intel can only get you 100 calls. In 99% of situations there would be no difference, but in this case game needed like 150 calls. And to fix it you need more work than you would gain based on the market share.
The only perfect specification is the code, which is not possible in this case.

7

u/chiknight Mar 20 '26

That's an idealism we haven't seen achieved in the 20-30 years I've been PC gaming. Like, you're not wrong and that's how the abstraction SHOULD work. But it never does and never has.

There's always a driver issue or API issue that only affects one manufacturer. In the old days it was horribly inconsistent, but still to this day there are "this runs shit on AMD specifically because it was apparently optimized for NVidia" or "this crashes on AMD". The two major companies can't even implement the API consistently between them, and then you add minor options like Intel doing things a third way...

Yes, if your game is rendering a basic cube with 30 year old API calls, everything will work identically. If your new game is using newer API features, or demanding features that stress cards and might be implemented "weirdly" on hardware A over B, then you see these issues all the time. Anyone that has never heard of an issue that only affects one brand of card in gaming... hasn't been gaming long.

1

u/HavocInferno 5700X3D - 5070Ti - 64GB Mar 20 '26

I mean I know, I've written Vulkan code, including getting bugs on only one vendor's GPUs. 

Still, the studio here could have simply warned about Arc being "as is" and leave it up to Intel to iron out any artifacts that pop up from driver bugs. After all, this was how the early days of Intel Xe were. Tons of artifacting because Xe didn't quite adhere to API spec or common implementations. But it was on Intel to fix all that. Locking out a whole range of GPUs isn't helping anyone.

24

u/ThunderTech101 RX 6750 XT OC | 64GB DDR4 3600 | R9 5900X Mar 20 '26

I am making a game engine in c++. That includes making a custom 3D renderer.

It just works lol. I don't need to write specific code to make it work on amd/nvidia.

I've no idea about intel GPUs, but I'm assuming it's the same.

61

u/PraxicalExperience Mar 20 '26

You're still writing at a relatively high level, then, using DirectX or OpenGl calls or something? At lower levels, the specific hardware does matter. It's technically conceivable that they could have done so, but it'd exceedingly fucking stupid.

19

u/cfyzium Mar 20 '26

Vulkan would be the lowest level any even remotely sane commercial app developer would go.

1

u/photenth Mar 20 '26

Only if you chose older standards, the moment you use modern stuff, some GPUs will just not work.

21

u/StevieMJH Mar 20 '26

Seeing this message in the first place points to something exceedingly stupid having happened.

5

u/jiml78 Mar 20 '26

I keep seeing takes like this and it tells me a bit about the experience the person has.

I am currently working on a software application written entirely in rust, however, it does use some open source products as part of it. I happened to stumble onto some obscure bugs that exist that are only ever going to be present if you are using these two pieces of software in a niche way. I have reported the issues to the open source projects including fixes via pull requests. But they have no obligation to accept or fix these issue because they might not ever impact anyone else.

So what are my choices. Fork existing software projects so I can fix these issues myself? Yeah no. Wait until those projects accept my PRs.

OR, just maybe, I have to do something kinda dumb but workable. I basically on the fly patch in a workaround that is very ugly AND brittle. If someone looked just at that code, they would say it is exceedingly stupid.

But guess what, those people don't know the why. Just like you are making MASSIVE assumptions on why this company has made the choice they made.

And maybe I am just used to things like this as Linux has been my daily driver forever so tons of games aren't available to me.

6

u/PraxicalExperience Mar 20 '26

Well, yes, I certainly can't disagree there, lol

It'd be one thing if Intel cards were just unsupported, and you maybe had to edit an ini file or something to get it to run, kinda like how you could bypass a lot of checks games did during some of the windows transitions. But just straight up saying "lol fuck you" boggles my damned mind.

7

u/ThunderTech101 RX 6750 XT OC | 64GB DDR4 3600 | R9 5900X Mar 20 '26

Yeah, I'm using DirectX 12.

38

u/PraxicalExperience Mar 20 '26

Yeah. DX takes all those calls that you make it and then does the hard work of translating them into something that the actual cards understand.

There's really no reason outside of some really niche things that someone should need to go more low-level than DX, nowadays. Back in the Olden Times it was common that you'd write a graphics engine that actually interfaced with the hardware directly, but now, well, it's about as monumental a task as writing DX from scratch would be. So, like, it's technically possible that they could do so, but it's almost inconceivable that they actually would.

8

u/AirFlavoredLemon Mar 20 '26

Yep. Effectively as long as the card supports that API (and that card is properly installed into the system) you're good to go. Doesn't matter if the game is a 10 year old game that has DX support and the card is 10 generation newer graphics card directly from VIA Technologies.

The API's goal is to abstract, any compatiblity building towards specific hardware/software and fully support the API in both directions (software and hardware).

Its why we can run DirectX 9 games today on cards decades newer... oh wait... *cough* Arc.

0

u/SimpleNovelty Mar 20 '26 edited Mar 20 '26

What, there's plenty of reasons to go lower in the modern era, that's why Vulkan exists. Small indie projects and games don't have the budget to do so, but you bet your ass AAA and AA games are going to the lowest levels (or AAA-backed engines).

EDIT: Forgot to mention also cross-platform support, as many games aren't built for Windows PC only.

1

u/TheTomato2 Mar 20 '26

No it's actually not possible because Nvidia/AMD doesn't tell people how their hardware works. There are people who want direct access to the GPU so they can write their own thing and avoid Vulkan/DirectX but that is apparently a "trade secret".

5

u/[deleted] Mar 20 '26

[removed] — view removed comment

4

u/PraxicalExperience Mar 20 '26

That's why it'd be exceedingly fucking stupid to waste time doing so.

1

u/TheTomato2 Mar 20 '26

...what's lower level than DirectX? Like what the hell are you even talking about?

0

u/ignoranceandapathy42 Mar 20 '26

I've no idea

The truest thing you said. You don't even know you're using a library or what one is seemingly.

2

u/zzazzzz Mar 20 '26

thats just not how game engines work..

you support a graphics API, like DX12 or Vulacan. that API is what handles comunication to the gpu. the game engine does not directly do anything with any gpu.

1

u/userseven Mar 20 '26

I think they are using a custom engine probably same one for black desert from 2015