VOGONS


First post, by OopyDoopy

User metadata
Rank Newbie
Rank
Newbie

I encountered a very unique issue today! I was helping someone troubleshoot a game, Phantasy Star Universe, and the problem ultimately ended up being that the game was incapable of enumerating greater than 32 threads (it's their workstation and they use a Ryzen 3970x). After a good bit of googling, I've been unable to find a good solution for this (other than physically disabling cores/SMT, which of course does solve the problem). Setting affinity does not work either, so I believe the only solution is to make the game think there are less physical threads. I imagine this is a problem that other games will have as well and there just aren't enough people with absurdly powerful CPUs to unearth them yet.

So, if it's possible for dgvoodoo to also spoof a CPU, that would be a great workaround.

Reply 3 of 8, by cyclone3d

User metadata
Rank l33t++
Rank
l33t++

Can't you set HT on/off in the motherboard BIOS?

Yamaha modified setupds and drivers
Yamaha XG repository
YMF7x4 Guide
Aopen AW744L II SB-LINK

Reply 4 of 8, by ZellSF

User metadata
Rank l33t
Rank
l33t

dgVoodoo isn't a general compatibility tool. It's a DirectDraw/Direct3D wrapper.

If it was a general compatibility tool there's a mile long list of things that are more important than supporting 64-thread CPUs.

Reply 5 of 8, by Dege

User metadata
Rank l33t
Rank
l33t

I think it'd be easier to patch the game itself. The problem is, dgVoodoo's dll may not even be loaded by the game when it queries the number of processors, so it couldn't even hook the call.
Btw, what Win32 call it uses to query that?

Reply 6 of 8, by OopyDoopy

User metadata
Rank Newbie
Rank
Newbie

Forgot about this post, randomly popped in my head again!

ZellSF wrote on 2020-11-21, 15:54:

dgVoodoo isn't a general compatibility tool. It's a DirectDraw/Direct3D wrapper.

If it was a general compatibility tool there's a mile long list of things that are more important than supporting 64-thread CPUs.

I'm struggling to think of another reason to use a wrapper if not for compatibility. What exactly do you mean by this? I've only seen this tool used specifically for compatibility reasons.

Dege wrote on 2020-11-23, 18:57:

I think it'd be easier to patch the game itself. The problem is, dgVoodoo's dll may not even be loaded by the game when it queries the number of processors, so it couldn't even hook the call.
Btw, what Win32 call it uses to query that?

Valid point. Thought it was worth putting out there just in case it was doable. Also I'm not sure how I'd even check what call it uses.

Reply 7 of 8, by ZellSF

User metadata
Rank l33t
Rank
l33t
OopyDoopy wrote on 2020-12-14, 09:26:

Forgot about this post, randomly popped in my head again!

ZellSF wrote on 2020-11-21, 15:54:

dgVoodoo isn't a general compatibility tool. It's a DirectDraw/Direct3D wrapper.

If it was a general compatibility tool there's a mile long list of things that are more important than supporting 64-thread CPUs.

I'm struggling to think of another reason to use a wrapper if not for compatibility. What exactly do you mean by this? I've only seen this tool used specifically for compatibility reasons.

DirectDraw/Direct3D are rendering APIs, they are what is used to drawn things to the screen. dgVoodoo only handles functions that relate to drawing things on the screen, not other game logic.

If it did, there would be a long list of compatibility problems that are more important to solve than 64-thread CPUs.