VOGONS


First post, by Kerr Avon

User metadata
Rank Oldbie
Rank
Oldbie

My ancient Acer laptop (Window 10, 8GB RAM, Intel HD 4000 GFX) has recently decided to stop running a couplie of old games; Carmageddon (1997) and Virtual Pool 3 (2000, and yes, I know there are a thousand other 3D pool/snooker games, but I really like this one, so I want to get this working again).

I'm trying to find out why, and I suspect it might be graphics related, and dxdiag.exe shows 'DirectX Version: DirectX 12', which seems strange (to me) for Intel HD 4000 GFX hardware, I'd have thought DirectX 10 would be pushing it a bit. Am I right, and if so , how can I take the version of DirectX back down to 9 or 10?

Reply 1 of 16, by leileilol

User metadata
Rank l33t++
Rank
l33t++

you don't

Windows 10 always ships DirectX 12. The "Get dx killer!!! and install direct x 5!" crap advice won't help you here.

apsosig.png
long live PCem

Reply 2 of 16, by Dmetsys

User metadata
Rank Member
Rank
Member

As @leileilol mentioned, you don't roll back. Windows 10 came with DirectX 11.3 and 12 by default. If you want DirectX 9 or 10 support, go back to Windows 7.


NF7-S 2.0 | 2500+ @ 3200+ | 9700 Pro | Audigy2 ZS
CUV4X 1.03 | PIII-933 | MX400 | Live! Value 4670
P5A-B | K6-2 450 | TNT2 | AWE64 Value
4DPS | Am5x86-P75 | S3 Vision864 | SB16 CT2290

Reply 3 of 16, by badmojo

User metadata
Rank l33t
Rank
l33t

The backwards compatibility is solid with DX isn’t it? No advantage to using older versions?

Life? Don't talk to me about life.

Reply 4 of 16, by appiah4

User metadata
Rank l33t++
Rank
l33t++

You can always put the relevant directx dll from an older version into your executable's directory if you really need something specific..

Last edited by appiah4 on 2024-11-27, 19:25. Edited 1 time in total.

Reply 5 of 16, by Kerr Avon

User metadata
Rank Oldbie
Rank
Oldbie

OK, I was wrong, thanks everyone for the explanations.

I've just tried the (identical) Carmageddon installation which is on my desktop (Windows 10), which I installed months ago, and even though it used to work fine it too now fails. No error message, just a black screen for a few seconds, then a return to desktop with no error message. The exact same situation as on the laptop. Again, I've not altered the installation, nor manually changed anything in Windows that should effect the game, so can anyone suggest what might have changed to stop it working on both my desktop and laptop, please? Maybe a Windows update or something?

Oh, I should mention, I am using a 'special' all-in-one fix/mod pack that contains mods (fan-made levels (driving areas), vehicles, pedestrian skins, etc) and allows the game to run well on Windows 10 and Windows 11 - it makes the game run better then it overwise can on modern systems, and until now it's been brilliant. It uses 'ddraw.dll' (in the game's folder).

I've just tried the prior version of this all-in-one Carmageddon package, which ran fine before I removed it for the newer version, months ago, and back then the prior version ran fine. I reinstalled the prior version, and it too fails in the same way now.

appiah4 wrote on 2024-11-27, 06:30:

You can always put the relevand directx dll from an older version into your executable's directory if you really need something specific..

Where would I download the older .dll files from, please? Though probably the only connection between this problem and DirectX is my miss-assumption that the wrong version of Direct X had become installed.

Reply 6 of 16, by Kerr Avon

User metadata
Rank Oldbie
Rank
Oldbie
Dmetsys wrote on 2024-11-27, 01:15:

As @leileilol mentioned, you don't roll back. Windows 10 came with DirectX 11.3 and 12 by default. If you want DirectX 9 or 10 support, go back to Windows 7.

Oh, I would love to just use Windows 7, it's my favourite (or least un-favourite) version of Windows, but of course it's not an option now, for both security and program/game compatibility reasons. But both games previously ran fine in Windows 10, so presumably will again, if I can locate the problem's cause, and fix it.

badmojo wrote on 2024-11-27, 04:46:

The backwards compatibility is solid with DX isn’t it? No advantage to using older versions?

I don't know, but when it comes to Windows, I've learned to never take compatibility for granted.

Reply 7 of 16, by BEEN_Nath_58

User metadata
Rank l33t
Rank
l33t

Intel drivers are random, so this behaviour isn't something new. You may consider using a different ddraw.dll.

Old DX isn't changing anytime soon (except a few features getting deleted here and there) but nothing of a sort that stopps Carma2 from running. The base DirectDraw dll and the Direct3D dlls for the games contain all the necessary updates on it, and so the drivers are developed keeping that on mind.

previously known as Discrete_BOB_058

Reply 8 of 16, by eddman

User metadata
Rank Member
Rank
Member
Dmetsys wrote on 2024-11-27, 01:15:

As @leileilol mentioned, you don't roll back. Windows 10 came with DirectX 11.3 and 12 by default. If you want DirectX 9 or 10 support, go back to Windows 7.

Windows 10 properly supports D3D9 and 10. It even supports older ones but there are issues which would call for using a wrapper.

Kerr Avon wrote on 2024-11-27, 13:40:

Maybe a Windows update or something?

Could be, or maybe the built-in compatibility profiles have been altered.

I am using a 'special' all-in-one fix/mod pack ... It uses 'ddraw.dll' (in the game's folder).

Probably a wrapper; check if the file's properties reveal anything. Instead of that file you could try dgvoodoo2.

Reply 9 of 16, by Kerr Avon

User metadata
Rank Oldbie
Rank
Oldbie
eddman wrote on 2024-11-27, 16:11:
Dmetsys wrote on 2024-11-27, 01:15:

As @leileilol mentioned, you don't roll back. Windows 10 came with DirectX 11.3 and 12 by default. If you want DirectX 9 or 10 support, go back to Windows 7.

Windows 10 properly supports D3D9 and 10. It even supports older ones but there are issues which would call for using a wrapper.

When they worked, neither the Carmageddon special pack nor Virtual Pool 3 used an external wrapper on my laptop and desktop (by 'external' I mean a wrapper than I had to separately install). I did try both nGlide and dgVoodo quickly, to see if they made Carmageddon work again, but no joy, though admittedly I didn't know what settings to try, so I might well have missed something important.

Would it be worth trying with specific settings, do you think?

Reply 10 of 16, by eddman

User metadata
Rank Member
Rank
Member
Kerr Avon wrote on 2024-11-27, 16:30:

When they worked, neither the Carmageddon special pack nor Virtual Pool 3 used an external wrapper on my laptop and desktop (by 'external' I mean a wrapper than I had to separately install).

In case of Carmageddon, you said a mod is used which adds a "ddraw.dll", therefore you are using an external wrapper (at least an external graphics related dll). As I wrote before, check that ddraw.dll's properties, or name the mod so that I can check for myself.

I did try both nGlide and dgVoodo quickly, to see if they made Carmageddon work again, but no joy, though admittedly I didn't know what settings to try, so I might well have missed something important.

I never mentioned glide and if that mod has a ddraw.dll, then it seems the game is running in software mode, not glide. dgvoodoo2 isn't only for wrapping glide, but also DirectDraw and Direct3D. You have to copy over ddraw.dll, d3dimm.dll, dgVoodoo.conf and dgVoodooCpl.exe to where the games' exe files are. Usually there's no need to change any settings.

Maybe something has recently changed in windows that prevents them from working, who knows. Test both games with dgvoodoo2. Make sure to remove that mod's ddraw.dll first. If the entire mod relies on that file, then I guess you can't use dgvoodoo2 directly with it.

Reply 11 of 16, by Kerr Avon

User metadata
Rank Oldbie
Rank
Oldbie
eddman wrote on 2024-11-27, 20:22:

In case of Carmageddon, you said a mod is used which adds a "ddraw.dll", therefore you are using an external wrapper (at least an external graphics related dll). As I wrote before, check that ddraw.dll's properties, or name the mod so that I can check for myself.

Sorry, I thought I had mentioned it already. Here it is, it's Carmageddon, a less that totally realistic racing game where you are free to go *anywhere* on each level, and you can win the game either by winning the races (I don't think anyone ever does this, though), or by smashing up all of your opponents (everyone does it this way, and it's great!) or by running over all of the pedestrians (seriously). You pretty much want to run over any nearby pedestrians anyway, at least at the start of a race, as you get added time for run over a pedestrian, and when you run out of time it's game over. You also get added time for picking up other things, making it worthwhile exploring.

There are three downloads, v1.3, v1.4, and v1.4 + Meld Pack v1.3.5. All three worked for me originally, I've since deleted v1.3, when I replaced it with 1.4, and both 1.4 and 1.4 + Meld Pack v1.3.5 used to work but now don't. When you download and install the game, you have to edit the file 'ddraw.ini' to choose your screen resolution, etc. Then just run the game, and it *should* now run fine, but for some reason it doesn't any more.

Here's the link:

https://www.moddb.com/mods/carmageddon-special-edition

I never mentioned glide and if that mod has a ddraw.dll, then it seems the game is running in software mode, not glide. dgvoodoo2 isn't only for wrapping glide, but also DirectDraw and Direct3D. You have to copy over ddraw.dll, d3dimm.dll, dgVoodoo.conf and dgVoodooCpl.exe to where the games' exe files are. Usually there's no need to change any settings.

Maybe something has recently changed in windows that prevents them from working, who knows. Test both games with dgvoodoo2. Make sure to remove that mod's ddraw.dll first. If the entire mod relies on that file, then I guess you can't use dgvoodoo2 directly with it.

If you don't mind, I will wait until you've tried it (if you get time), as I'm not well up on wrappers or anything, so I'd value your help here, please.

Reply 12 of 16, by eddman

User metadata
Rank Member
Rank
Member

I know what that game is but I didn't intend to run it, and can't do it either. I asked to know what that ddraw.dll is, as I mentioned twice. Anyway, I checked the files' properties and it's just a wrapper, so it should be possible to replace it with dgvoodoo2.

You put a wrapper's files where the game's exe is and done; I even listed which files. If the game still doesn't work, then something's up with windows itself or maybe the video driver.

You can try DISM + SFC, re-installing the video driver, or as a last resort resetting or re-installing windows. If it still doesn't work then it might be a compatibility issue with newer windows 10 versions, meaning you might have to use an older 10 release.

Last edited by eddman on 2024-11-28, 00:17. Edited 1 time in total.

Reply 13 of 16, by Robbbert

User metadata
Rank Member
Rank
Member

If you are using 32-bit windows 10, and are trying to run 16-bit programs, there was a windows update a while back that killed off a lot of that. For example if you try to run the included EDIT.COM, it will be rejected where as it used to work. I don't know why this change was made, apart from wanting to annoy people. I imagine that various old games and whatnot won't run anymore either.

On Windows 7 I have the problem where full-screen games won't start. You can hit Ignore, but then there's just a black screen.

So, If your games are DOS games, you might have to use Dosbox.

And, as others have said, DirectX9 can be installed and will run happily on Windows 10. For example if you use MAME and want to use the HLSL feature, DX9 has to be there.

Reply 14 of 16, by Malik

User metadata
Rank l33t
Rank
l33t

Surprisingly, old Windows 9x era games which use DDraw runs better in Linux using WINE. Not in later Windows. Not all, but quite a number of them.

The best version to use for older games is Windows 7 32-bit and Windows XP. Even then, some games still have difficulty running under NT based Windows. I bought a second hand laptop which can run both XP and Windows 7 (Intel gen 3 core CPUs) just for this purpose.

So it's back to Windows 95 or the gold Windows 98SE.

Which I'm using in 86Box, VirtualBox and QEMU in my Linux.

5476332566_7480a12517_t.jpgSB Dos Drivers

Reply 15 of 16, by Kerr Avon

User metadata
Rank Oldbie
Rank
Oldbie

I've restored the laptop from a backup that's nearly a year old (dated January 2024), and both games are now working fine on it, so I'm 99% certain that some sort of update was responsible for the problems. Thanks, Microsoft.

I'll have to see if and when the problem re-appears, and what updates were applied before then.

Regarding running period appropriate operating systems for older games, I don't really want to mess about with all that, it's an old laptop with limited hard drive space, though I realise that running an older OS has charms for true connoisseurs (yes, I had to look up the spelling) of the golden age of the PC, and might be the only real defence against Microsoft's seemingly random cuts to gaming backwards compatibility.

Reply 16 of 16, by DudeFace

User metadata
Rank Member
Rank
Member

even thought you've sorted it, regarding DX9 in win10/11 you need to go to turn windows features on or off, and under the legacy option enable direct play, then i think it needs to update for DX9, a system update might have turned it off maybe.