shtaklef Dec 12, 2021 @ 3:16pm
what happens when games install old versions of directx?
windows 10 comes with directx 12. a lot of games try to install old versions of directx like directx 9c when you install the game or run the game for the first time

i want to know what exactly happens? does the old directx version get installed or it is skipped because there is directx 12?

Something went wrong while displaying this content. Refresh

Error Reference: Community_9734361_
Loading CSS chunk 7561 failed.
(error: https://community.fastly.steamstatic.com/public/css/applications/community/communityawardsapp.css?contenthash=789dd1fbdb6c6b5c773d)
Showing 1-15 of 15 comments
Omega Dec 12, 2021 @ 3:21pm 
Like any Windows installer it violently extracts itself all over your file system overwriting anything which gets in its way. Luckily each version of DirectX has it's own .dll file, so it will only overwrite the .dll files it itself ships.

Basically it consumers a lot of time to do something which in the end makes no difference.


For clarity; When I say "DirectX version" I do not mean major versions but minor ones. d3dx10_40.dll, d3dx10_41.dll, d3dx10_42.dll etc.. this is an example of various DIrectX 10 .dlls for different versions which you might find in System32.
Last edited by Omega; Dec 12, 2021 @ 3:36pm
shtaklef Dec 12, 2021 @ 3:32pm 
Originally posted by Omega:
When I say "DirectX version" I do not only mean major versions, also minor ones. d3dx10_40.dll, d3dx10_41.dll, d3dx10_42.dll etc..

so these files get overwritten and the same files are put when the game installs directx?

also i want to ask what happens when a game tries to install an old version of .net? for example the pc has .net 4.8 and the game tries to install .net 4.2

also assume that i already have c++ 2010 redist installed and there is x86 and x64 and then the game installs a different version of the x86 so i have two versions of c++ 2010 redist installed. i can uninstall the other version that got installed and i force the game to use the current version that i have and it doesn't matter if it's newer or older than the other one that got installed?
Last edited by shtaklef; Dec 12, 2021 @ 3:46pm
_I_ Dec 12, 2021 @ 3:48pm 
most likely the old installer will see the newer version is installed and just exit silently

once i had a dx5? game reinstall over dx9 on xp
caused alot of problems until dx9 was reinstalled again

with 7 and later if that happens, you can fix it with 'sfc /scannow'
Last edited by _I_; Dec 12, 2021 @ 3:50pm
Bad 💀 Motha Dec 12, 2021 @ 7:30pm 
Runtimes are a Library of different files; the same files used for say DX9 are not the same files used for DX10, 11, 12

Just like its OK and needed to have ALL the versions of Visual C++ Runtimes on your machine. Games and Apps will use the one they were coded for.
Last edited by Bad 💀 Motha; Dec 12, 2021 @ 7:31pm
Like others said. Nothing much. All DX versions co-exist and games use the one they need, it's always been like that
Heretic Dec 12, 2021 @ 10:38pm 
If it's a redistribution then it's only there because the developers know they're required. It's basically an old way of doing it, unlike VC runtimes which you may not have installed if you've never touched an MS IDE. Redists of other kinds generally exist to get around distribution licencing, to keep it (usually DLLs) separate from the application (no static linking or derivatives).

Some of these licences can confuse people (could be intentional in some cases), so it's just safer this way unless you're a legal expert on the topic.
Bad 💀 Motha Dec 13, 2021 @ 1:27am 
Games that needs certain things tend to come with them; dot-NET Framework, DirectX Runtimes, Visual C++ Runtimes, OpenAL, XNA Runtimes; etc.

Many Devs however have, in conjunction with Valve, changed how these downloads go onto your PC though for Windows Games. Not all of them are this way, but most, where when a game is bundled with such runtimes for its needs, they are downloaded to and called upon from: C:\\Steam\SteamApps\common\Steamworks Shared\_CommonRedist

Again not all Game Devs have done this. Rockstar Games is one who doesn't use that method but instead bundles what all is needed with a CommonRedist within the game folder itself.

Many other games, use Steams own Steamworks Shared folder to get the runtimes from.

That being said, this has been helpful so that it can cut down on wasted disk space by every game you have stored on your PC, having all these same runtime files within their own CommonRedist folder; which I for one have always felt was pretty dumb and a huge waste of space. Back in the days of XP and smaller HDDs, I still even then had alot of games downloaded. I used to go to each game folder and delete all those CommonRedist stuff; cause I always knew what I needed to have installed on a Windows OS based PC anyways and so for me I never needed any of those files. However this had pros/cons of its own. Sure it helped me free up disk space. However if I ever had to verify a game for whatever reasons, then it would force those files I deleted to be redownloaded.

When you verify a game in Windows, and then you see it says (Verifying 1/2) usually this means #2 is the Steamworks folder; which will get verified during this process as well, thus you can see that such game uses various runtimes that are stored within the steam shared Steamworks folder.
Last edited by Bad 💀 Motha; Dec 13, 2021 @ 1:30am
Masque Dec 13, 2021 @ 4:35am 
Bad Motha, how much disk space do these VB and DX (etc.) redists even take up on the drive?
Last edited by Masque; Dec 13, 2021 @ 4:35am
Bad 💀 Motha Dec 13, 2021 @ 5:28am 
\Steam\Steamapps\Steamworks Shared
approx 1.18 GB
includes:
DirectX Redist June 2010
NET Framework (various versions)
Visual C++ Runtimes (various versions)
OpenAL
PhysX (various versions)
XNA Frameworks

Now that's not too bad, if every Windows OS game on steam referred to using these from this folder. However many games you download, regardless of game client, might include a CommonRedist folder within the game folder, which includes whatever API files that the Game Dev felt was needed to bundle with the game just in case the system did not already have them installed. So you figure if you had 100 games installed and each one has various API (runtimes/frameworks) files bundled with the game without using the Steamworks Shared folder; then that could easily waste quite a bit of disk space overall.
Masque Dec 13, 2021 @ 3:36pm 
Maybe twice a year I download an older game that does the whole "Installing DirectX, Installing VB, Visual C++ Runtimes" thing -- and I have (to put it in perspective) 2,000 GB of space, just on my SSDs. I really don't see why I wouldn't want literally ALL the former Redists of these things on my drives, just in case. Heck I have fonts I don't use that take up as much space.

I'm glad for this thread, though -- I always wondered about that installing 1/2 screen on older games, and always asked "WTF I thought I already HAD DirectX and all these other things."
Last edited by Masque; Dec 13, 2021 @ 3:37pm
It just works

Windows 10 (and therefor 11 because it's little more of a reskin) are fully compatible with older directX versions.
Lowest people get is directX 8 (or even 7 i think)
competetive team fortress players usuall use such ancient api's. Even tho the snow in certain maps flickers arround between black and white.

It just works
Niris May 2, 2024 @ 5:56pm 
So in conclusion, it is not bad and not a huge problem ?
Lixire May 2, 2024 @ 6:05pm 
Originally posted by Niris:
So in conclusion, it is not bad and not a huge problem ?

You got it correctly. Windows simply has different libraries to work with and it will load the needed one for the given tasks.
You can launch DirectX 5 programs on Windows 11 23H2 which has access to DX12.2 at the native level
Masque May 2, 2024 @ 9:32pm 
Niris necros threads like Windows does old Directx libraries.

HAH :steamhappy:
Bad 💀 Motha May 3, 2024 @ 4:05am 
Originally posted by Niris:
So in conclusion, it is not bad and not a huge problem ?

There is no games installing old versions of DX. It's a series of Runtimes; you need all of those and WinOS does not come out of the box with all of them. Just like Visual C++ Runtimes; you need ALL of them, not some. As various apps are coded to use a certain runtime version.
Showing 1-15 of 15 comments
Per page: 1530 50

Date Posted: Dec 12, 2021 @ 3:16pm
Posts: 15