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.'
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.
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.
FYI: Postmortem also has an informal definition meaning "an analysis or review of a finished event".
Chances are there is no wrapper because the tuner is already supported natively by ivtv (for hardware-encoding MPEG-2 cards) or v4l (for framegrabber cards).
If your card isn't supported, blame the manufacturer and get a supported card instead. I recommend the Hauppage PVR-x50/500 series for SD and the HDHomerun for HD -- QAM or ATSC.
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.
The better behaved drivers, like mass storage and network interface drivers can be loaded in Vista just fine. Many drivers of those types that were built for Windows 2000 will run in Vista without a hitch, and can now be loaded without a reboot and a floppy diskette!
:-)
;-)
XP video drivers can load, but you lose support for desktop composition (which is what this article is about - a last minute stupid decision my Microsoft to push DirectX 10).
Sound drivers are a little hit and miss - the better written ones may work, but you're best off getting updated versions. Most of the older cards have built in drivers anyways. For the newer cards, Microsoft has started a good initative that will allow generic drivers (included with Vista, of course) to push any new sound card with basic audio, while allowing a fancy driver pack to add on special features (much like video cards, today). Linux will be able to take advantage of this as well.
Printers are a shot in the dark, and historically have been the among the most poorly written drivers for Windows (how many times have I found spoolsv.exe grinding the CPU for no damn reason?). Many still run in Vista, but if you can find new drivers, it's by far worth it.
All that remains are drivers that are highly integrated with the kernel like chipset drivers and security packages (for which abandoning backwards compatiblity is a no-brainer), and specialist devices like USB all-in-one machines and cryptographic software protection dongles that typically barely function in the environment they were built for. The situation doesn't exactly represent the destructive vampiric murderous monopoly you describe, but hey - what would Slashdot be without hyperbole?
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?
I'll tell you the logic behind what Redmond does. Used to be this dude named Bill Gates ran things. Yeah, say what you will about every OS from DOS up to Windows XP, but at least the technical decisions made sense (not to mention the business decisions made a LOT of cents, and dollars too). They maintained backwards compatibility, which means that most DOS programs from 1980 can still run in a DOS box in every Win9x-based system, and heck, I think even in the NT-based OSes up to XP, for many DOS programs. Things didn't normally break THIS badly from one OS to the next, and even with all the cruft and unnecessary junk cluttering up these OSes, at least this stuff was coherent and made sense. Then Bill Gates goes on to do other things, and it seems that everything in Redmond is slowly falling apart, and the big whack was this Vista disaster. It's like a free advertisement for Apple. People are cramming into Apple stores like there's no tomorrow because they have to upgrade from XP and the upgrade path is to get a Mac! A huge company like Microsoft can absorb this kind of fsck-up for a while, maybe even a long while, but unless something changes and some better technical decisions are made SOON, they're not going to be in the OS business for long. The solution to the immediate problem lies in doing just what a bunch of people here are saying, make up a sandbox environment that can run drivers and programs from XP as if they're actually running in XP. And to do another thing that people here aren't saying: Merge all the 6 different versions of Vista into 2 different versions: Standard and Enterprise, just like XP. Standard would basically be Vista Ultimate and Enterprise would be, well, Vista Enterprise. Get rid of the confusion. And lower the price. $99 for Vista Standard, $69 for Vista Standard Upgrade, and a sky-high price for Vista Enterprise. And, dare I say, make it easy, with one click let's say, to revert to the classic Windows 95 theme without all the graphical junk that bogs everything down. Do all this stuff, sell it for the next five years with occasional updates and patches, and use that time to solve the deeper problems that are sending so many users away at warp speed.
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