Dell Documents Reveal Microsoft's Pre-launch Vista Errors
twitter writes "The New York Times has a piercing analysis of documents from the Vista capable lawsuit. The documents show that Microsoft seems to have put a wrench in Vista's driver situation only at the last minute. 'Late OS code changes broke drivers and applications, forcing key commodities to miss launch or limp out with issues,' said one slide in a Dell presentation dated March 25, 2007, about two months after Vista's launch at retail and availability on new PCs.' We have all heard the lazy vendors don't believe Vista will launch excuses but few of us have heard Steven Sinofsky, chief of Windows development, second and third opinions. 'Massive changes in the underpinnings for video and audio really led to a poor experience at RTM,' he said. 'This change led to incompatibilities. For example, you don't get Aero with an XP driver, but your card might not (ever) have a Vista driver.' Finally, said Sinofsky, other changes in Vista blocked Windows XP drivers altogether. 'This is across the board for printers, scanners, WAN, accessories and so on. Many of the associated applets don't run within the constraints of the security model or the new video/audio driver models.'
Par for the course for Microsoft I think. If my memory serves me well.
I am wondering what went wrong to force Microsoft to change kernel and break drivers at the last minute. Because of a design flaw that compromised security? Or DRM?
Many of the associated applets don't run within the constraints of the security model or the new video/audio driver models.
When rebuilding a system from the ground up for security, these issues need to be hashed out first. The fact that the security and driver models were changing significantly shortly before launch is a sign of bad design. Or at the very least horrible project management. If Vista was in the works for over 5 years, and it was designed properly from the start, 3rd parties should have had plenty of time (years) to conform to new models.
Developers: We can use your help.
The driver models for audio and video in Vista are drastically different than they were in XP. Microsoft is trying to push towards a more microkernel-ish model where these drivers are intended to exist in user-mode. The entire Vista audio stack is user-mode and the video stack is divided into two portions where a good 90% exists in user mode and the rest remains in kernel mode for performance reasons. Microsoft is also trying to force hardware scheduling to prevent a single accelerated application from hosing an accelerated desktop, which is currently a problem in all accelerated desktops, Compiz and OSX included.
The driver situation wasn't any better when XP was launched. If anything it was much worse because all of a sudden consumer-grade hardware vendors had to jump to supporting the NT kernel rather than the 9x kernel, which finally locked down the memory isolation so that a user-mode app could not access kernel resources. It took years for the big companies like Creative Labs, nVidia or ATI to get half-decent drivers out for XP. The situation for Vista is already much better than it was for XP.
All the more reason to avoid release dates. Whether it's completely arbitrary, or it's an estimate given by a developer, release dates only result in two things: Making people rush, and making products late or not as advertised.
I can understand a statement such as "We hope for our product to be ready by [date]" or "We're aiming for a possible launch window of [date]", but to say "Our product will be available on this date" only puts pressure on those lower down the totem pole, and can result in a lot of lost features or quality assurance.
Conversely, this should not be used to infer the Duke Nukem Forever will be an awesome game if it is ever released.
Those who believe the Internet is private,
find their privates are on the Internet.
If ndiswrapper can run XP drivers in Linux, then surely MS could have run XP drivers with no problems at all.
Engineering is the art of compromise.
Perhaps, one day, when competition re-emerges in the OS marketplace, microsoft will have to clean up their act. Until that day, and as long as people keep giving microsoft their money, nothing will change.
/. are the people who laugh at those who do ...
It is too bad that so many people who would benefit from reading
From TFA:
According to the e-mails made public this week, Microsoft will apply the lessons it learned with Vista the next time around. "There is really nothing we can do in the short term," noted Joan Kalkman, the general manager of OEM and embedded worldwide marketing, in a message written a week after Sinofsky's. "In the long term we have worked hard to establish and have committed to an OEM Theme for Win[dows] 7 planning.
"This was rejected for Vista. Having this theme puts accountability and early thinking on programs like Capable/Ready so that we make the right decisions early on."
The crippling of Vista isn't something that they will fix, given that they are already working on Windows 7. So take the experience of how not to develop and launch a multiyear/multibillion dollar project and hope not to do the same again next time.
If you can't beat them, embrace and extend them.
The quotes in the summary explain why Windows XP drivers would not work; they do not state that driver model changes were made right before RTM.
Dell and the like could just keep shipping systems that they know can't run aero with windows XP and don't use the Vista capable stickers on them?
This is the part that bugs me about this. It might be true that MS considers vista without aero to be fine when they shouldn't. However no one is forcing dell to use the stickers, Dell and the like used them on computers they knew couldn't run vista fully. They do it because they knew people would buy the computer thinking it would run vista.
When it turned out vista was crippled on the machine insted of Dell going "Ooops sorry, heres some store credit" (or whatever) they went "Don't look at us, MS made us do it! blame them!" As if MS was the one who built the computer.
I just looked through the article. DRM and "digital rights" searches both turned up nothing. What the hell are you talking about?
FYI: Postmortem also has an informal definition meaning "an analysis or review of a finished event".
Nice idea, too bad it would not have worked. There are thousands of poorly written but business critical apps that run under win32 / MFC / ActiveX / Com and whatever else has dribbled out of Microsoft's faucets over the years.
Trying to support all of that nonsense in a VM would be a nightmare for smaller shops and on more marginal equipment. This isn't somebody just running an old version of Parchesi on a three year old laptop. It's business installations with dozens to thousands of PCs and some pretty dodgy apps.
They would just stay at XP.
Wait ...
Faster! Faster! Faster would be better!
This user had a particularly clever way handling the driver compatibility issues of his "Vista ready" system.
http://youtube.com/watch?v=FVbf9tOGwno
The NYT coverage and their analysis are both news from the Vista capable dissaster. With a jerk around like that, it's no wonder that the whole industry has revolted and it's nice to see the word getting out to a wider audience via papers like the NYT. Their analysis is also interesting, though I'd love to see where "Otter" beat them to the punch. Didn't happen did it?
Here are some older examples of the same kinds of behavior:
The list goes on and on. On the chopping block today are ODF, Linux distros, AV makers and a host of competitors that just won't die like iPod, Play Station and Mozilla. The only way out is to avoid Windows and stay away from M$ and other non free software vendors. The further away you are, the better off you are.
Friends don't help friends install M$ junk.
Cash... free software? Where do I sign up?
Uh, there is a third kind, which VISTA is in. It is the "Released, but never should have been".
Microsoft really screwed the pooch on this one. If they were going to break Windows, they should have broken it completely, and wrote a new OS that resembled Windows, but didn't have a single thing in common. IBM had a similar situation in OS/2 (and PS/2) and screwed it up completely, by marketing OS/2 completely wrong (Windows on Roids).
If I had 100 Million Dollars startup, I'd have a complete OS and New HW platform to run it on, without any legacy code bloat, ready (beta or RC) in 3 years max. I'd design everything from scratch having HW and SW teams working together to design tight integration of both WITH planned expandability and adaptability.
Year 1, mapping out what is needed, early designs
Year 2, Early Implementation and Refinement of Design.
Year 3, Standaridized APIs and Programming / Developer Tools, bug squashing.
I'd have three levels for licensing of all the products and specs.
1)Open Source Open HW (free to all)
2)Shared Source, Open HW (Cost for people who'd like to sell their source, to run on any HW)
3)Closed Source, Closed HW (BIG COST for people to have their own version of Source and Proprietary HW)
I'd sell tools and services as a core business model once the products are released. I'd also have planned and phased obsolescence for both HW and SW, meaning that after a set period of time (5-10 years) NEW releases won't have backward compatibility so that as the system evolve, that newer versions of SW (and HW) don't have to retain backwards compatibility. Major Version numbers would indicate a certain set (Final OS 1.0) such that each version would NOT be backwards compatible (BC).
Why not plan obsolescence?
Agent K: A *person* is smart. People are dumb, stupid, panicky animals, and you know it.
that they had thought this through more carefully. XP was stable and working, if they needed to release an OS, why did they change so much that almost nothing is decent backwards compatible.
:P
Or maybe I'm just whiny.
-Aegis Runestone-
yeah wow thats why it's not launched yet, shocking.
If you mod me down, I will become more powerful than you can imagine....
They fiddled with several key underpinnings of the OS. For example, rebuilt the network stack? Why? Why do that and add more features when the features you want to implement are reliant on running on a stable feature complete OS in the first place?
Dogfood or not, this really seems like a case of the left hand not knowing what the ride hand was doing. Or they overshot. Or they tried too hard and failed to copy OS X. Or they just need to start over. IMHO Sandbox XP->98 apps and start fresh with a whole new OS. They HAVE to do that sometime, why not now?
If you wanna get rich, you know that payback is a bitch
Nice strawman there.
What has been said, is that stability and security should not be compromised to provide backwards compatibility. Drivers are not usually at the high end of security risks (that's for charming things like ActiveX).
With the fast hardware and cheap RAM we have now a days, there's no reason to start moving to a VM model, allowing for compatibility *and* security. But Microsoft and its unholy OEM alliance with manufacturers are not interested in that, but rather in forcing upgrades of both OS and hardware. Microsoft and the manufacturers don't give a shit about the customer, but only about the bottom line, and Vista is an example of that self-serving attitude finally catching up with them.
The world's burning. Moped Jesus spotted on I50. Details at 11.
I've been running Vista since the early beta days and it's my main desktop system and also powers my mediacenter. The only XP drivers that definitely wont work are video drivers, drivers for things like NIC, disk controllers etc all work fine. On my main system, Only HP and Microtek (prinet and scanner respectively) have yet to provide fulle Vista drivers for my system, and the XP drivers work just fine.
Has it occured to you that probably the ultimate motive of moving drivers from kernel space to user space is STILL DRM?
Namely, to prevents developers from creating unauthorized audio/video drivers that can create analog outputs to all media.
what a joke. I don't think I've seen a story like this about lacking/bad drivers since the OS/2 days.
good thing "no one on the Internet knows your running Windows NT"
cause they be laughing
Late OS code changes broke drivers...
This reminds me of the painful driver development from NT4 to Windows 2000. A few years before release MS was pushing us to port NT4 drivers to Win2K. We jumped on it quickly and had working drivers, but as the years rolled by changes would be made that broke the earlier work. This rinse and repeat continued to the *very* end. Years of wasted time and resources for no reason.
What I learned from that is to start looking at new Windows driver documentation a few months before release and then wait until the actual release before changing or writing any code. You just don't know what fundamental changes will occur until the discs are on retail shelves.
You sure as hell can't trust what MS tells you as a developer about interface changes and release dates.
Open source drivers get updated as the kernel gets updated, and old hardware continues to work long after the original manufacturer can no longer be bothered to support it. The notion that open source OSes don't support old hardware, or software, is completely and demonstrably false.
Ita erat quando hic adveni.
If they hadn't been saying that very same thing for the past decade it might actually be believable.
The extra engineering might pay off. People with older (or even current) machines with XP drivers might have bought Visa. hardware vendors would have had an easier job and the whole anti-Vista wave might not have happened.
Engineering is the art of compromise.
No it's not. It's just more Microsoft marketing-speak. For example:
The new video and audio drivers have nothing to do with DRM.
Reasons include moving as much software out of kernel mode as possible thereby minimizing bug checks (in layman's terms "BSODs"), developing an architecture to make debugging audio problems in applications easier, and supporting a whole new generation of Digital Rights Management (http://www.microsoft.com/whdc/device/stream/output_protect.mspx) Vista is not 10%-50% slower. Of course, none of this bodes well for Vista, which is now more than 2x slower than the most current builds of its older sibling. Either Microsoft supports it, or Microsoft can kiss all high-def media good-bye.No, if Microsoft doesn't support it, we can ALL kiss DRM'd high-def media good-bye, and good riddance. Microsoft had been a key supporter and booster of computer DRM despite their customers' distaste for it. Don't try to pretend they are anything but complicit partners with the studios in this.
"I've got more toys than Teruhisa Kitahara."
Microsoft hashed the release of Vista, but the Linux community of all people has no right to talk about new releases making drivers incompatible. Backwards compatibility doesn't exist in the linux world.
Examples please. All my devices work the same or better under SuSE or Ubuntu.
All my purchased Linux (Loki) games still work.
I can't say that for my $300 Microsoft Office 6.0 purchase under Windows. I can't say that either for the Windows games I've purchased over the years.
Enjoy,
It's just the normal noises in here.
The one where somebody can be labeled a "Microsoft shill" for criticizing Slashdot. Not supporting Microsoft, not bashing Linux, just criticizing the conduct of Slashdot's editors and top contributors. Or have you declared Slashdot perfect, complete, and incorruptible?
From http://www.ibiblio.org/pub/linux/docs/HOWTO/Advocacy
People say the same things about Ubuntu, it's not Microsoft specific. If MS can't handle complaints that all OS developers get then maybe they should get out of the business.
This one is quite simple - it's digital signature checking. Before UAC shows that dialog box, it does a digital signature check of the installer .exe file. Well, that file is 400 megabytes. This digital signature lets it warn you if you're trying to invoke an unsigned program with high privilege.
The reason it takes so long is that it maps the entire file linearly into memory to hash it. Such a large mapping gets demand-loaded, which for a linear scan is very slow.
The workaround is actually quite simple. Run Command Prompt as Administrator, then run the installer from there. The signature check will be on cmd.exe instead of a 400 meg file.
"Screw Sun, cross-platform will never work. Let's move on and steal the Java language." - Visual J++ Product Manager
Microsoft actually remade a critical system call, NtCreateProcess(), explicitly because of DRM. Translated to the UNIX world, this would be like redesigning fork() from scratch just to protect VLC from being debugged.
.exe file and ntdll.dll. No initial stack, no main thread. The parent process actually uses the debugging API to inject them into the new process. Even the the environment and current directory are injected this way.
Prior to Vista, NT had a "create process" mechanism differing in design from most other operating systems. NtCreateProcess() creates an empty process with nothing in it other than the new
This worked well until Vista. In Vista, their DRM system had a problem: they didn't want anyone to be able to debug audiodg.exe, but the parent process had to be able to debug it in order to start it. The solution? Redesign the entire process creation system such that the kernel does all the initial process creation procedures so that the parent does not have control over the child if it is a "protected process". Hence, NtCreateUserProcess() was born.
For those that don't believe that this change was for DRM, I offer proof in the form of a Microsoft kernel developer on video explaining it.
"Screw Sun, cross-platform will never work. Let's move on and steal the Java language." - Visual J++ Product Manager
This is just blatantly not true.
I use Linux BECAUSE of its backwards compatibility. I recycle old machines into computers for schools, etc. and if Linux weren't backwards compatible none of them would even boot. As it is, you can still run Linux on a 386 with ISA cards (is MCA still supported, I can't remember?), the same can't be said about Windows which blatantly removes old architectures in order to force upgrades (ISA support disappeared in XP, even though you can still hack it a bit to make it work perfectly). I'm not saying there's not a justification for not supporting ancient systems but the fact is that Linux does it for as long as ANYBODY with coding experience cares, not just the Microsoft pencil-pushers.
Not only is Linux backwards-compatible, but it supports things I've never even heard of, and things I absolutely no need for, everything from ten-year-old watchdog timers to the latest and greatest datacentre interconnects. It's also sideways-compatible in that, if you're feeling sadistic, you can run Windows NDIS drivers on it without modification.
Linux has always been backwards compatible in virtually all senses of the word. I can still load ext2 filesystems, a filesystem over fourteen years old, and that's not even the weirdest or oldest FS that I can use! I can still use ancient hardware for which drivers don't exist past DOS or Windows 3.1. I can still use programs that were written for Linux 1.0, so long as I have the right libraries in place.
Now OVERALL compatibility may be slightly worse than Windows (I don't believe it, given the things that Linux supports that Windows couldn't do in a million years) in that it can't use EVERY scanner, printer, etc. because of rubbishy, propreitry protocols from companies where nobody even remembers how they work any more, let alone document them or write a driver for them. But to say Linux isn't backwards compatible is like saying that your average Windows driver from a £10 scanner is stable.
I've gotta agree with (the oddly named) Adolf saying that Microsoft did this ultimately for DRM seems odd considering the similar move in Linux. I think moving drivers out of the kernel, especially drivers that are less reliable, is good for reliability. I've had video drivers crash a few times on Vista. All that happens is the screen goes black for less than a second, then displays exactly as before with a small notification on the bottom right saying something about the video drivers crashing (not those words). Did Microsoft do this in part because it made DRM "better" in their minds? Absolutely. But to say it was the ultimate reason without any explicit confirmation seems like a stretch.
Is it that hard to seek to frame offset at 1% and if its not 90% white or black use the thumbnail. How about some time based smart code that says
If this operation is taking >200ms, fricking give up and pick a random frame 2% to 5% in thats a keyframe. Friggin store it in filename_thmb.png or something or cache it.
Sounds like too many OO layers with out any smarts of knowing what the user is doing, just lots of automatic operations that assume will happen in 0ms.
Liberty freedom are no1, not dicks in suits.
No QA contracter reported this as a bug because it meant more cash in their wallets each time testing.
Common MS coders, get a clue, store a sig for the first 10meg at least, so if that FAILS, the whole stupid ass thing will too.
Note to MS, hire people with a clue, or that at least used computers before 1990, not these post ps2 gameboy jocks.
Liberty freedom are no1, not dicks in suits.
It's the fault of CPU designers. Current ISAs do not provide in-process modules, and therefore O/S designers are forced to work around the problem in various ways.
I've posted a related comment in the recent discussion on Microkernels.
I also sent an email to Tanenbaum asking him to put a request for CPU designers to provide in-process modules (which can be done without sacrificing flat address spaces). He replied that the cost would be prohibitive...I strongly disagree: all that it requires is another cache of translations of memory addresses to modules...
And, they had the chance to improve this kind of stability in Windows 2000, where it was a major redesign and it was obvious that putting drivers in user space is a safer practice. Well guess what, they didn't do that.
So why all of a sudden in Vista? A video driver is a video driver - I HAVE written a video driver for Windows, fact is, even if the driver is in user space, it's still possible for you to write a driver to totally F* up the machine to a point that a reboot is _almost_ inevitable - without the driver/kernel even crashing - thus undetected by Vista.
By saying _almost_ I mean you could connect and may be able to restart the video driver remotely (yes even under Windows it's a possible setup) but how many consumer machines are set up this way, you have an idea. Screwed-up video driver usually == reboot, regardless whether the driver is in Ring 1/2 or Ring 3.
So given that putting video drivers (the usual cause of BSOD in XP) in Ring 3 usually does not decrease the need to reboot, you have to question the ultimate motive in spending the amount of resource to make the change.
The main reason to take the drivers out of the kernel was stability. Read the MS mailing lists if you don't believe me. Or are all the MS developers engaged in an elaborate deception to push DRM?
Yes in the open source world you can fix things that get out of date, but there is absolutely no concern as to what will go out of date or what impact that will have on things.
Kernels change dramatically. New drivers won't run on old kernels, old drivers won't run on new kernels. Software which depends on kernels is exactly the same way.
/dev/dsp for sound back in 1999? The newer 2.6.x kernels still provide access to /dev/dsp. Only the underlying implementation has changed.
Without getting to technical,
I think your having problems distinguishing between user and kernel space. Applications (games) run in user space. They call libraries that wrap the calls to the kernel so thats its transparent to the programs. Guess what? That Linux 2.2.x kernel that provided an application access to
Thats also how your Windows 3.x games still work in Windows 9.x Its also how (most) of your windows 9x games/programs work under NT (2000/XP etc).
Enjoy,
It's just the normal noises in here.
You may note that I mentioned drivers and software which depends on kernels(which is what the software which Microsoft has broken is). This doesn't affect userland, but none of the apps on this list are userland.