A cure to Directshow weirdness

I’d love to use nothing but Linux on all my computers… if only I could. Unfortunately I regularly work from home using Windows-only software, and Linux support for games is barely there at all — it is completely missing for the newer games, and DirectX10 will only serve to compound this issue. In short I have to use Windows more often than I’d like. And unlike with Linux Windows bugs are very tough to identify and even harder to correct. Recently I had to deal with an internal Windows system called DirectShow that was downright broken.DirectShow is the Windows subsystem that is used to do things like display videoclips in formats like WMV and DivX. What happened in my case is that when I tried to play any video that was not in a Flash-related format, I would only see a black picture, with parts of the action in the video being occasionally slightly visible in a deep blue or red tinge.

Originally I thought this was a codec problem, and spent a couple of days trying to fix the problem using that approach. I tried installing the K codec pack and toying with their troubleshooting tool, which yielded very little success; by messing with the Xvid codec I was able to get a picture which was viewable, but in reverse video and upside down (?). I then tried to remove every conceivable “codec” file by uninstalling all my multimedia-related applications, then reinstalling them. Nothing was doing.

I realized at that point that it wasn’t the codecs, nor the applications that used them, that were broken, but it was the underlying multimedia layer of the OS that wasn’t working right.

From there on it gets a bit weird, because the solution which ended up working for me should, in theory, not work at all. Despite its name DirectShow is not a part of DirectX anymore, Microsoft is quite clear about that. Nevertheless I ended up fixing my DirectShow problem by doing a “clean” reinstall of DirectX… go figure. I guess it’s possible that what got corrupted was not Directshow itself but an extension to Directshow, but frankly Microsoft makes that determination impossible to achieve by keeping the Windows internals opaque to the observer.
So, I was in a very frustrating situation, because Windows internals are something you’re not supposed to be able to fix. Even addons like DirectX are installed (by design) to be unremovable and therefore unfixable. Even if you manage to, say, remove DirectX 9 and replace it with the version that came with Windows XP (8.1), the system is designed in such a way that you will not be able to bring your computer up-to-date easily. You would theoretically have to reinstall Windows. And all your applications. And recover all the data from your home directory (assuming of course that you’ve selected to protect your private data). In short, it’s normally a royal pain in the ass to deal with this sort of problem, which is an issue because frankly the way Windows operates I just wouldn’t bet on a system remaining perfectly stable for very long. It just allows any installer to pretty much install any file it wants anywhere, and even those “protected” system files can in reality be messed with.

Still, I had decided to downgrade my DirectX installation to use the original files on my XP Pro installation CD, and then re-upgrade back to 9.0c which is required to play most Windows games nowadays. So, I went to Google and tried to find information on how to do this.

As it turns out I’m far from being the only person who needs to go ahead with this sort of downgrade. There are enough people who need to do this that there is a utility available that will do just that.

It’s called DirectX Happy Uninstall, and it’s a GUI-based scripting utility that will scan your original XP installation CD for the original DirectX files, uninstall DirectX 9.0c from your computer and replace it with the 8.1 version, and afterwards also allow you to reinstall the newer version. It’s a fairly small program written by Paul Huang at Superfoxs.com and it does the job quite well and efficiently. It’s not a free program, though, and (as its name may hint) the English used in the interface can be confuse more than help the user, but it’s a simple one-use program that shouldn’t be difficult to use for anyone.

One thing I didn’t really like is that the “trial” mode really doesn’t let you do anything. One has to wonder what use this “trial” has, if any. However since this software has only the one very specific purpose you literally need it or you don’t, so a trial isn’t necessarily all that useful. The program costs $12.95, and in my case it was definitely worth the money — I can watch videos again, and play my games.

In any case it certainly beats the MCSE-endorsed universal method of dealing with Windows problem, which is inevitably to reinstall Windows. Not that this is necessarily a viable thing to do, what with the limits that now exist with the Windows “Genuine Advantage” program…


Leave a Reply

Your email address will not be published. Required fields are marked *