SafeDiscShim icon indicating copy to clipboard operation
SafeDiscShim copied to clipboard

Tried 3 different games, none works... without compatibility mode or affinity set to 1

Open SkullKid2000 opened this issue 1 year ago • 28 comments

Like the title says. I've tried many different things, but compatibility mode or setting affinity to 1 or 3 seems to be the only things that might get the games running. The games are Battlefield 1942 Robot Wars Arenas of Destruction Manhunt

EDIT: Manhunt used SecuROM 7, so that doesn't count.

SkullKid2000 avatar Jul 31 '24 04:07 SkullKid2000

Got Robot Wars Arenas of Destruction to work in Windows 98 / ME compatibility mode, but Battlefield 1942 still won't run, even with Alcohol 120% emulation of the disc(s) in mds/mdf format.

EDIT: Battlefield 1942 works without the disc with WinCDEmu. But ONLY when running the game in compatibility mode for Windows 98 / ME.

SkullKid2000 avatar Jul 31 '24 05:07 SkullKid2000

Also, I works almost always when running games with one core, but then if I want to run them att full power, I need to open Task Manager and set affinity back to all cores.

SkullKid2000 avatar Jul 31 '24 10:07 SkullKid2000

I can now confirm that when dual-booting with Windows 11 and Windows 10, SafeDiscShim works fine in Windows 10 without any compatibility mode, or affinity settings. Weird... something seems broken in Windows 11...

SkullKid2000 avatar Aug 02 '24 07:08 SkullKid2000

When disabling Driver Signature Enforcement in Windows 11, SafeDiscShim works every time, without setting affinity OR compatibility mode... sadly I cannot give any info about it, except maybe the logs, of course-

SkullKid2000 avatar Aug 03 '24 20:08 SkullKid2000

In my case, to get SafeDiscShim working with Robot Wars Arenas of Destruction or Battlefield 1942, I simply reboot into startup settings and select "Disable Driver Signature Enforcement" with the 7 or F7 key. But I think this should work with any SafeDisc game.

SkullKid2000 avatar Aug 05 '24 04:08 SkullKid2000

Uuh, no - please. Keep this open. I'd really like to figure out what's going on here.

The only things SDS installs are drvmgt.dll and SafeDiscShim.sdb. This one in turn applying the InjectDll shim on every "~#####.tmp" file (that is, the real executables that safedisc tries to load on execution). I can guess that if disabling DSE fixes the situation there's probably some security mechanism involved, but I wasn't aware of any one influencing dlls. Can you check the Program Telemetry logs in Microsoft/Windows/Application-Experience events? And try to disable this stuff?

mirh avatar Aug 07 '24 09:08 mirh

Alright mirh, I'll try what you said. I'll keep you updated.

SkullKid2000 avatar Aug 07 '24 14:08 SkullKid2000

Here's the Program Telemetry logs for launching Battlefield 1942. SafeDiscShim_log.zip

SkullKid2000 avatar Aug 07 '24 14:08 SkullKid2000

I had virtualization disabled in my UEFI BIOS. So that's not the issue, but the logs will hopefully provide some info about what's going on...

EDIT: This is most weird... I turned Smart App Control from evaluation to off, and now it works again, without disabling Driver Signature Enforcement.

SkullKid2000 avatar Aug 07 '24 14:08 SkullKid2000

Ultimate Solution: Disable Smart App Control by setting it to "Off".

SkullKid2000 avatar Aug 07 '24 15:08 SkullKid2000

https://learn.microsoft.com/en-us/windows/apps/develop/smart-app-control/overview I see. Though maybe this could still be considered a bug, in the sense that the super proper way to fix this would be code signing.

EDIT: I'm assuming that were the logs from the times bf 1942 worked, right? And that nothing shows up with SAC on? EDIT2: when safediscshim is blocked, are there events reported here or here?

mirh avatar Aug 07 '24 15:08 mirh

Thing is if I enable Smart App Control, I suppose I cannot disable it later. So I don't think I can test it.

EDIT: I spoke too soon. My bad. I'll try re-enabling it from the registry. I'll reply with results later. In the meantime, here's the log for when it was in Evaluation Mode. SmartAppControl_log_SafeDisc.zip

SkullKid2000 avatar Aug 08 '24 09:08 SkullKid2000

Mhh, that's not it as it complains about secdrv.sys - and it is dated to five days ago (around the time you first closed this issue). I would hope you could find somewhere in there (or perhaps in some other log) the actual complaints about SDS.

mirh avatar Aug 08 '24 10:08 mirh

I re-enabled Smart App Control from the Advanced Startup Command Prompt. I'll look into it again now.

SkullKid2000 avatar Aug 08 '24 10:08 SkullKid2000

Here's a log with the game Battlefield 1942 started in Evaluation Mode of Smart App Control, and now, of course, it won't launch. It's from the Program-Telemetry. Log.zip

SkullKid2000 avatar Aug 08 '24 11:08 SkullKid2000

That's the successful application of the sdb fix. I was instead more interested into some kind of log that explicitly told you "sorry but we couldn't load this library" or something...

I think you may try to create a custom view, that includes all registries and all events of the previous 10 minutes? And from there see which bucket raises a complaint.

mirh avatar Aug 08 '24 14:08 mirh

Alright. I'll look again.

SkullKid2000 avatar Aug 08 '24 15:08 SkullKid2000

I found this when logging everything within 30 minutes. Log.zip

SkullKid2000 avatar Aug 08 '24 15:08 SkullKid2000

Uh... It actually just seems like installer.exe calls drvmgt.dll and then crashes. Plain and simple. In this sense it doesn't seem like having anything to do with code signing. EDIT: it also explains why you don't get any of the expected notifications

Therefore windows 98 compatibility mode is working because some of the quirks it handles are the ones that are hit here. Would it be too much for you to install the compatibility administrator tool from the windows ADK, and then check which of these individual shims can do the same? immagine

mirh avatar Aug 09 '24 01:08 mirh

Maybe sometime I can look into that. For now, I'll disable Smart App Control, as I don't benefit from it. Also I'm suspicious by nature, so I'm not worried about getting fooled by an unsafe app.

SkullKid2000 avatar Aug 09 '24 04:08 SkullKid2000

Alright, I installed the Compatibility Administrator Tools (Windows 10). I'll check it now.

SkullKid2000 avatar Aug 10 '24 11:08 SkullKid2000

For Battlefield 1942, this shows up in the Compatibility Administrator: Screenshot 2024-08-10 140101

SkullKid2000 avatar Aug 10 '24 12:08 SkullKid2000

Yes, I know.. I'm saying that you try the individual shims that are forced with the win98 compatibility mode, so that we can see which of the many ones fix it. For starters you could like select every single ones of them, except for SingleProcAffinity and see if this one was already the solution or not.

mirh avatar Aug 10 '24 19:08 mirh

Alright. Have never used this tool before, so bear with me... I'll try what you said and see what happens.

SkullKid2000 avatar Aug 10 '24 19:08 SkullKid2000

When disabling the SingleProcAffinity, the game won't launch, but with it enabled it works.

EDIT: Seems to work randomly with it enabled though... I'll have to troubleshoot some more...

EDIT2: I believe it might be the SingleProcAffinity that makes it work...

EDIT3: Now ran it with SingleProcAffinity only as a fix, works also.

SkullKid2000 avatar Aug 10 '24 19:08 SkullKid2000

So, just to be clear.. if you enable all the other 75 shims simultaneously, nothing really change much - but with that single one then you see the difference?

mirh avatar Aug 11 '24 11:08 mirh

I had about 439 shims. I don't know if we did the same thing, but the single core shim seems to be it. image

SkullKid2000 avatar Aug 11 '24 11:08 SkullKid2000

I meant, the other 75 shims that makes the win98 compatibility mode (in my screenshot).

mirh avatar Aug 13 '24 11:08 mirh

I meant, the other 75 shims that makes the win98 compatibility mode (in my screenshot).

Sorry for the very belated reply, but I've come to the conclusion that I'll just keep Smart App Control disabled.

SkullKid2000 avatar Sep 09 '24 18:09 SkullKid2000