DirectX problem, how I loathe thee

Sometimes, your computer decides that you're not allowed to get any work done, or have any fun, today.

The new bane of my existence.

Mine did it to me today, by suddenly deciding (according to the DirectX Diagnostic Tool, dxdiag) that my graphics card had no memory and was not capable of DirectX acceleration of any kind.

Yes, as per Microsoft support document 191660, "The DirectDraw option or the Direct3D option is unavailable when you start Microsoft games for Windows".

The "Adapter" page in Display Properties (I'm running Windows XP) lists the right specs for my GeForce 7800 GT, but dxdiag believes there are "n/a" megabytes of memory on it.

This doesn't cripple Windows in general, but it means I'm not going to be playing any 3D games to speak of (OpenGL games still work fine, but most Windows 3D is Direct3D), or watching much video. Small-dimensioned video files play OK as long as they don't have to be scaled to a higher resolution; scale 'em up and the frame rate dives as the CPU begs for mercy.

I've had this problem once before. Then, I just had to run dxdiag, turn off whichever DirectX Features were still available in the Display tab, then close dxdiag and run it again, and turn all of the now-available-again features back on. Totally opaque for the everyday user, but a doddle when you know how.

Now, though, DirectDraw Acceleration, Direct3D Acceleration and AGP Texture Acceleration are all Not Available, and the enable/disable buttons for them are greyed out, no matter what I do.

(Needless to say, the DirectX Files tab in dxdiag says "No problems found"!)

And this is the way it is apparently going to bloody well stay, because I've been banging my head against it for more than six hours now, making no progress whatsoever.

I can get work done while the computer has this problem. If anything, it makes it easier to work, because I sure as hell can't play. But I have a hard time doing anything, including sleeping, if there's an unresolved problem like this dancing around in the back of my brain.

There's quite a lot of info on the Web about this problem, including some pretty freaky suggestions, most of which are mentioned on the Microsoft page.

Herewith, the list of Things I've Tried:

I've reinstalled the graphics and motherboard drivers, and the latest version of DirectX 9, multiple times. Yea, multitudinous have been the reboots.

I've cleaned out the old Nvidia drivers with Driver Cleaner Pro (previously mentioned here) before reinstalling them.

(Oh, and yes, "Hardware acceleration" in Display Properties is set to "Full". I've tried setting it to None and then back to Full, too.)

I've tried the weird-sounding suggestion to enable, then disable, Remote Desktop Sharing in Microsoft NetMeeting, because the sharing feature apparently blocks Direct3D, and cycling through it can perhaps cancel some other application's similar block.

I've disabled the Terminal Services service, which I don't need anyway.

I've uninstalled my monitor in Device Manager and rebooted, even though this particular piece of voodoo is only at all likely to work if you're removing phantom monitors from an extra graphics adapter, like an integrated motherboard adapter that you're not using.

I've reinstalled Windows over the top of itself.

(Actually, the first time I did that I accidentally told Windows the wrong drive, picking the other one in the system that's the same size as the actual boot drive. So I created a shiny fresh copy of Windows that I didn't want. That was thirty minutes I'll never get back - though I didn't bother installing graphics drivers in the new Windows. I suspect that DirectX would then have worked, but who knows?)

I've restarted the computer with a "clean boot procedure", by using the System Configuration Utility, msconfig, to skip all startup items and non-Microsoft services.

(This, entertainingly, showed me that msconfig does not consider Windows Defender to be a "Microsoft service".)

I've turned off "Enable Write Combining" in Display Properties and rebooted. And then turned it back on again. And rebooted.

And, the last option on the Microsoft page: I created a new user account.

The Microsoft page doesn't tell the hapless troubleshooter what to do with the new account, mind you. It just tells you to make it, and... wait for its healing energy to permeate your computer's chakras?

I presumed that I was actually meant to restart and log in as the new user, so I did that. But it of course did not help.

Next, the Microsoft support page points you to another Microsoft support page, "How to troubleshoot display issues in Microsoft games". But that contains nothing helpful, either.

(I love how Microsoft's pages always mention "Microsoft games" in particular. That's not really a good PR message - it suggests that other DirectX games might work fine, but ones from companies owned by Microsoft wouldn't.)

I've even visited the More Help tab in dxdiag and then clicked the DirectX Troubleshooter button, with the mad hope that this might be the first instance in human history of a Microsoft Troubleshooter actually shooting some trouble.

How Windows troubleshooting wizards always end.

So much for that.

All of this screwing around has messed my Windows installation up a little more than it was before. There was one incredibly bizarre problem, now resolved, that I'll leave for another post, and all of my icons are of course bunched up on one side of the screen because layout.dll has forgotten where they were.

Oh, and ACDSee now has a great error:

Groovy error.

But the problem remains.

If Web pages about this are anything to go by, this problem can be a bit like lower back pain; it makes you suffer for a while, then just goes away as mysteriously as it came, when you reboot for some other reason. I've made a frickin' hobby of rebooting today, though, and the problem ain't gone away yet.

The only option left, as far as I can see, is a proper nuke-from-orbit Windows reinstall from scratch. (I suppose I should have kept the accidental install on the other drive, instead of deleting that Windows directory when I got back to booting from the proper drive. Oh well.)

That'll mean losing most of the system setup stuff I've done over the last year and a half of largely trouble-free computing, which is not that big a deal, of course.

But it's ludicrous to have to do that just because Windows has arbitrarily decided not to let the graphics card accelerate anything any more. It's like having to reinstall Windows because it's decided to not let you use anything above 640 by 480, or because the audio "mute" box is permanently checked. It feels like buying a new car because the horn doesn't work in your old one.

(And yes, I have been tempted to use this as an excuse to get a whole new computer. Mmmm, quad core...)

I've swapped e-mail with a fellow who works at Nvidia; I'll drop him a line and see if he's got any ideas. I also invite you all to contribute your own hare-brained schemes in the comments.

I will, of course, also update this post when the problem's fixed, whether by diplomacy or the nuclear option.

[UPDATE: Yeah, I reinstalled Windows. Latecomers haven't missed all of the fun and games, though; check out the comments!]

STOP PRESS: Underpaid computer store workers are not very trustworthy!

This Consumerist piece about Why Geeks Steal Porn From Your Computer (When They're Meant To Be Fixing It, If They Get A Chance), is both informative and entertaining.

Let me tell you right now that if I were 21 again and working in some dead-end computer store McJob, I too would be rifling through the files of any user who needed our help to install iTunes. Anybody who is even marginally surprised about this would probably be horrified to see the contents of the back-room bulletin board of the average one-hour-photo place before the advent of the affordable digital camera.

There are some good tips in the Consumerist piece, but I disagree with the assertion that "drive encryption on your home computer is worthless". There are many easy-to-use encryption systems which provide data security that'll probably defeat the National Security Agency, never mind some dude in a pot-leaf T-shirt. If you just use Windows EFS and hand your password to the computer store along with the PC then they can of course access your data (and ordinary users who use EFS often lose all of their data as a result...), but there are other very fine options for people who just want to encrypt their accounting data, passwords and pr0n.

Hell, just putting that stuff in a Zip file with a ten character password'll probably do the job. Standard Zip encryption isn't very secure compared with many other schemes, but it's still often not practically attackable from any normal human's point of view. If the password's moderately long and not a dictionary word, and the attacker doesn't already have a copy of some of the data in the archive (giving the option of a "known plaintext" attack, which is the major weakness of standard Zip encryption), then a brute force attack is likely to take a very long time indeed. Even refined brute force attacks are likely to take centuries on current hardware.

Learning how to use encryption software is a good step towards learning how to use the rest of your computer like a "pro" as well. Before you know it, you won't have to hand your computer over to Super Excellent Computer Store's Data Commandoes just because you can't get rid of some crapware.

Little outboard screen update

When I reviewed the Pertelian X2040 external display doohickey, I mentioned that cheap Windows SideShow devices from big manufacturers would completely eat the lunch of little manufacturers like Pertelian.

It would appear (via) that SideShow devices with full colour 320-by-240-ish screens...

Ricavision SideShow electronics module

...based on electronics modules like this will indeed be available for as little as $US80.

Well, at least according to the Winbond propaganda that led me to the Ricavision site, where you can see their only-renders-as-yet examples of wireless Bluetooth external displays with and without keyboards, not to mention an e-book reader thing that'd presumably be less excitingly priced, since the display is most of the expense for e-books.

If these devices aren't pie in the sky, then Pertelian, and even Logitech, are definitely going to have to get with that program or be run over.

There's still some attraction to low-tech LCDs like the Pertelian, and not just because they don't make you upgrade to Vista in order to use the artificially-limited-to-Vista SideShow technology. I like that I can have the X2040's simple four-line display sitting there announcing what MP3's playing at the moment without its backlight on, so the glow doesn't distract me. You could probably do much the same thing with a colour Sideshow display, though - use a greenscreen colour scheme and wind the brightness down.

Minions! Attack!

I don't know about you, but I like games in which you're the bad guy.

Games like Black And White in which you can choose to be bad (I know there are a bunch of excellent computer RPGs that're better examples) are decent, but games where your character is required to eviscerate at least eight toddlers in the process of preparing his breakfast are better.

The trap for this genre is just doing the Bizarro World thing, where there's nothing really mechanically different from a conventional you're-the-hero game, but everything has different wallpaper. Good is bad, clean is dirty, nice is nasty. You can tell a game's going to do this when it presents you with a gnarled little advisor who, unprompted, expresses his utter disgust for fuzzy puppies and clear babbling brooks.

That is exactly what happens at the start of the demo of Overlord. Your advisor's a cross between Yoda and the Brain Gremlin, and he has that standard Antimatter Mary Poppins attitude to the world.

This did not fill me with confidence, but the game itself actually looks pretty decent, from what I could tell from the none-too-long demo. Check the demo out, if you've got a reasonably current Windows PC and can stomach the one-gigabyte download.

Overlord seems to have a similar overall sense of humour to Fable and the Dungeon Keeper games (Dungeon Keeper is obviously a strong influence on Overlord's design). And Overlord's version of third-person action, in which you send your crowd of psychotic Minions to do most tasks, is appealing. See something nice, wave your gauntleted hand at it, watch it get Gremlined to death. Mmmmm.

(The camera went a bit wrong when I was trying to fight the big guy at the end of the demo, but, y'know, I suppose that's why they're not going to be selling Overlord until next month. And the game sort of wimps out on the truly-evil side of things, since your Quest is to kill the seven Great Heroes who have over the years themselves become corrupt. But I'm OK with that as long as I get to burn a lot of halflings to death on the way.)

Oh, and for the benefit of those of you in the cheap seats, or who just can't get enough of slapping chickens to death: You can download the original Dungeon Keeper for free.

[Update: I just downloaded Dungeon Keeper, for old times' sake... and discovered that the Home Of The Underdogs version of the game appears to be missing the sound files. Although it does still have the below-mentioned excellent level commentary. If you're not profoundly deaf, though, you might still want to get it from somewhere else.]

Welcome to Vista. Now buy new hardware.

Aaah, this takes me back.

Install new version of Windows, discover that now some of the hardware for which you paid good money does not work any more, and will not ever be fixed. Buy new stuff, sucker. Thank you for playing.

Actually, one of the problems listed in the PC Perspective piece is exactly the same as it was back in the Win98-to-Win2000 days. Apparently positional audio won't work in many games in Vista, ever.

The same thing happened when people with Aureal Vortex-2-chipset sound cards upgraded from Win98. The sound card still worked, but only in stereo mode, and that was the end of it, no matter how hard you tried.

The Vortex 2 had much better sounding positional audio, then, than any alternative. It still sounds good today. But you've got to run Win98 to hear it.

(There might have been Win2000 drivers eventually, except that Aureal went bankrupt around the time Win2000 was coming out, after a legal battle with... Creative. Their assets were then bought by... Creative, who had no particular interest in the Vortex chips. And now, the wheel turns...)

To be fair, the parallel's not really a perfect one. Games that supported the Aureal 3D sound API and also the newer and crappier Creative one could be returned to proper functionality, back in 2000, if you bought a Creative sound card to replace your Vortex 2. Today, games that support both Creative's now-mature but still-somewhat-crappy API and the newer OpenAL standard should Just Work on your existing Creative card. Regrettably, though, the grand total of commercial games that support OpenAL at all appears to be 77, including some big names but excluding many others. Those others will have 3D sound on Vista only if they're patched to support OpenAL, which is Not Bloody Likely for nearly all of them, but is I suppose a bit more likely than it was back in 2000.

Ryan's complaint about his print server now being a paperweight reminds me of what Win2000 (and every other NT-series Windows version) did to ATA CD changers like this one. They were and are very cool pieces of hardware - six discs in barely more space than a standard single-disc drive! - but they were killed dead by WinNT and later. Win2000 expected you to manually mount and unmount the discs, rather than just switching 'em automatically like Win98 did. It was much faster to use a single disc drive and carry the rest of your CDs around in a wallet.

Microsoft have a Vista version of their Hardware Compatibility List ("currently only compatible with Internet Explorer 6 and above"), and an Upgrade Advisor you can run to see if there's stuff in your PC that's explicitly non-Vista-compatible. Anybody who is for some unfathomable reason thinking about getting Vista at this early date (what, you want to be absolutely totally tip-top ready for DirectX 10 games the very day they come out?) should, at least, run the Advisor.

On drilling down into the HCL to see what Creative sound cards are listed, I note that the answer appears to be "none". There's a small list of chipsets, not one of which is from Creative. So I suppose you should be grateful that your Creative card makes a noise at all.

The Advisor will also not save you if the insoluble problem that's waiting for you is that the print server on the other side of your house will never work with Vista. And it won't say a thing about software, including your non-OpenAL games.

Disk space needed: %#$@ megabytes

(This post was originally titled "Disk space needed: ¶Å§œ‡ megabytes", but that HTML entity code brilliance caused it to bork a couple of my RSS feeds.)

I'm rehabilitating a non-savvy friend's old computer. It's not nearly as disgusting as I feared it would be, but it still has Stuff Doesn't Work Disease. Everything you try to do - scan for malware, update virus definitions, et cetera - just... doesn't work, in one way or another.

I'll dig through it in due course, but the installation window for the latest version of Spybot sums it up.

Munged Spybot install window

(PrevX kinda worked, and kinda didn't, possibly because of the antique version of Norton Antivirus that I just uninstalled because it can't be updated...)

(Previously.)

The Blue Screen of Worse Than Death

That'll learn me.

My current main computer has a couple of gigabytes of fancy Corsair "XMS3200" memory in it. The really fancy kind, with the almost useless dancing LED bar graphs on top.

RAM running

It would appear that the useful life of one of those two modules, in almost constant use, running within spec at unremarkable temperatures, is about one year.

Ending... now.

There I was, peacefully composing an e-mail, when I was confronted with a blue screen. But a much worse one than usual. This one was dark blue, in big-scanlines text mode, and there was nothing on it. Not a thing.

Just blue, on both monitors.

Restart computer, get long repeated beeps. Which my kung fu tells me means a memory error.

Remove fancy RAM (taking opportunity to Rocket-Air a chinchilla or three worth of dust out). Leave boring RAM. Computer boots again.

(The boring RAM is the Geil stuff from this old review. It hasn't been used for nearly as many hours as the Corsair modules were, though.)

I'm down to a gig now. A gig, man. Jeez, man, I'm hurting here.

Actually, the silly LED graphs may actually have a function in this situation. Perhaps it's the module that has one amber LED flickering on power-up that's died. I'll do a bit more module-shuffling to identify the dud one - dual channel mode still works with one 512Mb and one 1Gb module (identical modules are not necessary, just recommended).

[I've done that now, and so am back up to 1.5 lopsided gigabytes of dual channel RAM, with one 512Mb Geil module plus the one remaining Corsair. With only one Corsair module at a time, the LEDs didn't do anything different on the bad module.]

M'verygoodfriends at Aus PC Market have an instant swap lifetime super-warranty for Corsair RAM that's been purchased from... just about exactly when I purchased this RAM, as it happens... but they don't stock these exact modules any more, so I may be waiting a bit for a replacement. No donations should be needed, however.

[Regrettably, it turns out that you can't return just one module from one of these Corsair pair-packs for a warranty replacement - it has to be both. I suppose that makes sense for all of the overclocking kids who at least think they need perfectly matched RAM, but I still think it's kind of stupid to have to return a perfectly good memory module. I wonder if I'll get something faster back?]

Incidentally, if you find yourself in a similar situation, it's important to make sure your new module - whether you're getting it under warranty or not - is good old "standard density" RAM, not the newer off-brand "high density" stuff that's sneaked into the 1Gb-and-bigger DDR module market, at a considerably lower price.

High density is cheaper, essentially, because it's crap. It breaks JEDEC specs to save a few bucks, and it won't work with a long list of motherboards, including pretty much anything made by Asus or Dell.

(Hey! A Dell-incompatibility problem that isn't their fault! Call the papers!)

UPDATE: I found another couple of 512Mb modules kicking around the place which gave me a decent-enough 2Gb, and so I took ages to get around to sending the RAM in for a warranty replacement. And, technically, it was a couple of months too old to qualify for the warranty here in Australia. But I still got a replacement (and without any do-you-know-who-I-am review-site customer service enhancement, either).

The replacement RAM took a month to arrive, though, presumably because the Australian distributor bounced the RAM back to the States for replacement. Still, I can't complain.

My replacement RAM is the same as the old stuff - XMS3200-with-LEDs. So the packaging has lots of "Best RAM of 2003!" awards printed on the back of it.

Way to make me feel old, guys.

Dialogs That Inspire Confidence

If you've got your font sizes set larger than normal (in this case, because your 17 inch screen has 2304000 pixels), and you accept Microsoft's strong recommendation that you install IE7 (yes, Firefox is the default browser), the why-you-should-install dialog will not look the way Microsoft intended it to.

It will look like this.

Mangled dialog

I think the mangulation is in a particularly apposite spot. I don't know about you, but I've always thought IE had a very Overstruck text look.