The Future of Windows Graphic Technology
Ben writes 'Extremetech has an article discussing the future of Windows graphics technology. The article uses information from presentations at the recent WinHEC, and outlines the Windows Graphics Foundation and other technologies expected to make an appearance in Longhorn. Particularly interesting is the Longhorn Display Driver Model: 'With it, Microsoft is aiming for that ideal situation of 'graphics just works.' For example, if you upgrade a graphics driver today, you typically have to reboot the system. One example of the 'graphics just works' mantra is one of LDDM's goals of allowing installation of graphics drivers without needing to restart the system.'
Wow upgrading a driver without having to reboot? Amazing! This along with alpha transparency in IE7 and a full-fledged journaling file system should launch Microsoft into a new age of technology, the 90's.
Is the ability to update without rebooting a side-effect feature, or a full-effect feature? It seems like something only a consumer PC (i.e. not a server) would have to do, and infrequently. Is it really a demand that people have?
For example, if you upgrade a graphics driver today, you typically have to reboot the system. One example of the 'graphics just works' mantra is one of LDDM's goals of allowing installation of graphics drivers without needing to restart the system.
Didn't I hear the same "no rebooting" line with Win2k and with WinXP? Not that I wouldn't enjoy that, it's just that I've lost faith in these types of claims.
-Valiss
How often does the average user update the video drivers in Windows? Do they really care that it requires a reboot? I would guess that less than 0.1% of my Windows reboots are prompted by updating the video drivers.
It's nice that I won't have to reboot to upgrade my video driver. Now if they could fix the memory leaks that seem to be so rampant in Windows Server and its applications I might have an average uptime that is longer than 1 month.
I remember in my old Novell file server days that it was common to have Novell 3.12 servers with an uptime of 2 years or more. From what I understand, this is common among just about every operating system other than Windows Server (which is the primary operating system I deal with).
I'm a big tall mofo.
how often do you load a new grafics driver?
I am amazed at how many software packages still require a reboot. IMHO this is much more annoying.
love is just extroverted narcissism
Didn't BeOS do this? Don't a great deal of modern operating systems do this? I fail to see the innovation.
Burn Hollywood Burn
I'm a bit afraid if their approach to "it just works" begins at the graphics driver.
which is what made Muzak so horrifying.
Microsoft seems to be walking in the same direction.
"It is a greater offense to steal men's labor, than their clothes"
From: Bill
Subject: Re: Longhorn
Hey Steve,
Has the research team figured out why the *nix machines don't have to reboot all the time?
Bill
I pity the foo that isn't metasyntactic
There are 2 big things coming over the horizon, once Longhorn lets us have advanced 3D graphics on our desktops.
The first is that this can probably be exploited by malware/spyware to make "invisible" interfaces that sit over top of existing applications, happily monitoring everything you're doing. Or, kind of like those one-pixel GIFs that show up on the odd phishing page. No fun.
But by far the worst is going to be the end-user customization. Want transparent yellow spinning windows that change opacity based on the phase of the moon? Bet you can do that! It'll be like the old programs that let you add sounds to all the Windows events. When the average user got a hold of that, it was only a matter of seconds before their machine became the Box Of Annoyance. Thank Jeebus people finally grew out of that (mostly). But watch and see - it's coming again, only this time it's got GRAPHICS.
Now, it may open up a whole new world of "desktop modification pranks." Hmm.
Keep your friends close.
Keep your enemies in a little jar on your desk.
So when I update my display drivers for Duke Nukem Forever, I won't have to restart!
I have freaks! I did something right...
How many times have we seen breathless articles all slack-jawed over some new technology that Microsoft is getting ready to unveil
Vaporware anyone?
It's simple: I demand prosecution for torture.
Funny, however, how the rendering scheme and virtualization of graphics card memmory sounds awfully like the new, and currently shipping, graphics engine in Apple's OS X. (Quartz and Quartz Extreme.)
Any sect, cult, or religion will legislate its creed into law if it acquires the political power to do so.
Win 2K and XP do seem to manage this on some (rare) occasions. The architecture seems to be there to support it, so I wouldn't be too surprised if Longhorn does what they say.
More importantly, though... it looks like Longhorn's graphics capabilities really are set to stand out from the Linux (and even OS X) crowd. It's a pity that Linux graphic teams haven't managed to unify and focus on getting an integrated "product" out. We have Xorg, and Cairo/SVG, and maybe GTK or Qt, but not a complete, end-to-end platform with established animation APIs etc. Hopefully we'll catch up before we start to look too old.
This brings a question to mind -- does anyone know exactly why Windows still requires reboots for these kinds of things? This makes my life positively MISERABLE.
A typical experience for me... I have all of my machines set up dual boot, all with some distro of linux, and either XP Home Edition, or XP Pro. I do most of (but not all) my work on the linux side, but when I do boot over to XP inevitably it's more than just one reboot, it's almost always at least 2, and many times it's 3! (not 3 factorial, just 3 exclamation). Typically this is a result of something in my XP environment updating itself, be it Windows itself, virus protection updates, or just the vendors download of updates. Invariably a download occurs (after granting permission), and then the update, and then the dreaded popup dialog box with some such message, "For the updates to take effect you must restart your computer. Restart now?"
And some of those dialog boxes offer no clickable option other than "OK" which means reboot and you have to jump through an extra cognitive hoop and remember to click the "X" in the corner of the dialog window (to defer the reboot).
On the other side... I don't remember the last time I've had to reboot my linux for any kind of updates, and I do get updates in linux on a pretty regular basis (as many as in Windows). What gives? I don't think the architecture for XP is so arcane it can't support recognizing and using updates without a reboot. Does anyone have solid commentary on this? (Not that my life's going to get any better around this anytime soon -- but it'd be nice to know if there's some bonified (sp?) reason for this step-into-the-twentieth-century XP behavior.)
Apple brought out 10.4 about 17 months after 10.3. I wonder if 10.5 will appear on a similar interval and be out in late 2006. I can see Steve Jobs raining on Bill's parade with another OS release.
I can certainly understand refusing to reboot a server that needs to be on 24/7. Fine. But why do people get their panties in a bunch over rebooting their own personal machines? I run Fedora Core 3, yes it takes minutes for it to boot up, but when I do I usually don't sit there staring at it. When I turn my computer on in the morning I do something else while booting up, like brush my teeth. This development manager friend of mine looked at me strangely when I kept rebooting my laptop to fix networking issues. Why do you reboot your machine so much? Because I don't know how to selectively start and restart processes. Because I don't know which ones to start and restart. With names like ntpd, how would one know? If I restart processes, don't others depend on them? Won't they get hosed? Etc. Etc. Or I can waste a whole five minutes of my life not worrying about those things and just reboot the damn thing. And chat with my friends in the meanwhile.
In some ways, I think microsoft goes out of their way to find the most cumbersome and assanine way of developing their drivers.
We have a computer at work running XP that constantly hoses its USB drivers and every time I plug in my flash drive, it says it found and installed new hardware *AND* I have to reboot! I have to reboot because it had to figure out a flash drive again since the last time I rebooted it?
Why is it also that when you plug in a USB device on one port, it loads the driver and if you unplug it and plug it onto a separate USB controller it needs to install another instance of the driver? They don't automatically go away either. If the one goes away and a new one in a different spot shows up, the first one should 'just get recycled' and claimed again, regardless of what USB port it's plugged into. I can see a second one show up if you plug a second one in while the first is still plugged in, but who has two identical printers simulataneously connected? I have a parallel printer so I don't know the full intricacies of USB printers, but doesn't it show up as a second printer to applications?
I think microsoft has a very long way to go to make their drivers actually useful. At least they finally figured out how to change network settings without always having to reboot.
"The NVIDIA kernel module has a kernel interface layer which must be compiled specifically for the configuration and version of the kernel you are running. "
For the win.
Have you ever been to a turkish prison?
As it is, there is no means to hot-plug an AGP video card that I'm aware of
Aren't some video cards available in PCI, and don't some mainboards support PCI hot-plugging? And aren't there "thin client" monitors that work over Ethernet using X11, VNC, or some proprietary protocol?
so down time is required just to install that upgrade.
Not if it's from say, version 32.23 of a driver for a given card to say, version 43.45 of a driver for the same card.
I don't see rebooting for a very occasional upgrade.
With the NVIDIA or ATI graphics driver updates, you typically have to uninstall your current driver, then restart in 640x480 pixels in 16 colors, then install the driver, then restart again. Some drivers need three or more restarts.
Truly revolutionary. See what you're missing Linux and BSD users? AND I'll just bet Microsoft will add their own antivirus app to Longhorn so you can conveniently just send all of your moeny to one place. Top that, OSS hippies!
This guy is way out there
... is that maybe, just maybe, since they are able to replace a critical file and feature at run-time without rebooting means that Longhorn will finally be able to replace a file even while it's in use, like Linux does.
That would actually be really neat. Wasn't Longhorn going to break some more compatibility will older apps in order to have tighter security. Maybe that's a restriction that will be gone.
What is the difference between NTFS and a "full-fledged journaling file system?"
Is Apple's HFS+ "full-fledged?" What does that even mean?
Comment of the year
Is Norton (or others) really doing something at the kernel level
Yes. They scan before the CreateFile function even returns.
Internet Explorer (which I never intentionally use)... why would that require a reboot?
Windows doesn't let you replace in use files, it doesn't have to be something kernel level. Since explorer is really internet explorer, you either need to shut down the interface or reboot.
Desktop Window Manager
Quartz Compositor
Note this has been around since before Mac OS X 10.0 (March 2001), gaining hardware acceleration for compositing in Mac OS X 10.2 (August 2002) and most recently hardware acceleration of 2D primitives in Mac OS X 10.4 (currently available to developers only).
A very large number of parallels exist between Apple's Quartz, Quartz 2D, and Apple's OpenGL model/abstractions and stuff coming in Longhorn.
Of course I can't fault them for running with a good idea and one that is a generally logical extension of OpenGL concepts mixed with ideas from the 2D world (PDF, painters model... good old SGI guys).
By the time Longhorn ships, we'll be building interstellar space craft based on gravity drives and watching King George Bush XVI getting coronated.
The world's burning. Moped Jesus spotted on I50. Details at 11.
Good luck with that.
you had me at #!
I love the new Microsoft mantra.
Today while repeating it to coworkers (while trying to install windows (aaargh), I spouted it out in a far more accurate form.
Microsoft: it just works sometimes
The most probably culprit I can think of are file locks.
In Windows, it is impossible to replace a file in use, so when an update touches a dll that is used by whatever else process, Windows has to reboot to get rid of the lock, replace the file on reboot, and continue.
Unix, however, lets you replace any file. The old version stays still on disk as long as an application has it open, so all running applications will continue to work just fine. They will use the new file as soon as they are restarted. This way, I can replace every library in the system without having to reboot.
The Windows approach has advantages too. I could do a security upgrade on my ssl-library, and if I dont restart sshd, sshd will still use the old, insecure library, and this, till it is restarted.
Personally, I prefere the Unix way. After all, other tools can restart applications after library updates, so this shouldn't be enforced by the OS.
I have discovered a truly remarkable proof for my post which this sig is too small to contain.
I don't know what they claimed, but here's what they did, off the top of my head:
--Network changes don't need rebooting. You can change IPs, or even go from DHCP to static, etc with no rebooting.
--Non-essential drivers, like NIC drivers doesn't require a reboot, at least if the company isn't stupid. Try it with an Intel NIC someday, they install and you go, no reboot.
--USB/Firewire devices just work and need no rebooting, unless the manufacturer makes some speical driver that requires it.
--Many software installs that used to need reboots no longer require them. Things like video decoders, services, and so on are installed on the fly and made available. Many older peices of software that claim needing a reboot don't in reality.
There may be more, I haven't used 9x in years so I can't remember all the things that made it reboot. However they made significant headway with 2k/XP. Reboots are generally limited to system updates, and core driver updates. If they can get it to the point where thigns like graphics and sound drivers don't need reboots, all the better.
Attack its weak point for massive damage!
Wow upgrading a driver without having to reboot? Amazing! This along with alpha transparency in IE7 and a full-fledged journaling file system should launch Microsoft into a new age of technology, the 90's.
You linux Zealots all sing the same refrain with your vague posts:
a new age of technology, the 90's.
Try substantiating your comments with FACTS! Your post _should_ have read:
a new age of technology, the mid 90's.
Don't think that a small group of dedicated individuals can't change the world. It's the only thing that ever has.
According to this article:
Microsoft created the upgrade problem to churn the customer base. It's purely a Microsoft-created problem.
Quartz 2D has the concept of user space and device space all defined using 32 bit floating point units. The former is the coordinate space you draw in and the later is the coordinate space of the output device, say a screen at an arbitrary resolution (see resolution independent UI), a printer at an arbitrary resolution, or possibly a PDF file at an arbitrary resolution, etc.
You draw using primitives like paths which are mathematical descriptions of lines and curves that will get rendered to pixels in device space based on a mathematical transformation from user space. Based on how much the line covers a pixel determines the alpha and coloring of the pixel. To be clear the mapping done doesn't scale pixels but scales the virtual canvas and then maps those to output pixels/ink dot/etc., this gives you output at arbitrary resolutions (even in theory for devices with non-square pixels).
The Quartz 2D renderer does the conversion from user space (a 2D float field) to device space (another 2D float field). This conversion also includes things like color adjustment (concept of user and device color spaces exists).
The output from Quartz 2D (or other sources, like video from QuickTime) when targeted for display in a window on screen will live in texture that is basically mapped onto an OpenGL surface. This surface plus any others related to other windows are composited (with alpha blending) into the final screen image. The Quartz compositor does this utilizing VRAM and GPU as much as possible (VRAM is managed much like virtual memory manages RAM).
Since these are surfaces in OpenGL you can use transformations on the points/triangles that define the surface and the OpenGL hardware will map the texture over that surface. Transformations can include ones the work in all 3 dimensions.
In fact such transformations are used to achieve the multiparty conferencing you see in the latest version of iChat AV. Those are video streams mapped in realtime onto surfaces living in a 3D world. The transformation of the surface can also be done over time allowing for animations with live content.
Longhorn is gain similar capabilities and then some but Mac OS X isn't standing still either.
It is interesting that Apple has been doing an evolution of Quartz (leveraging the paradigm the put in place at the beginning) since it was introduced 4 years ago while MS appears to be trying to jump to it all at once with Longhorn.
Windows NT 4.0 dumped the security and stability of this arrangement for the dubious goal of faster graphics. Things haven't been the same since.
Perhaps this is a step back to stability? I sure would like to go back to the years of uptime I had when my main servers were NT 3.51, and the only down time was for hardware upgrades.
--Mike--
The main trick that the new Windows graphic technology will pull in order to utilise the 3d part of a video card is to use a texture for each toplevel window. Then the desktop will be like a video game: each 60 frames per second, the textures will be rendered by the 3d hardware with various effects.
/. crowd has already pointed, restaring the X-Server is almost like rebooting: all desktop apps need to be interrupted.
This trick is essentially wrong: it requires vast amounts of graphics memory for no particular reason. Just as the article says, computers will require 512 MB, even 1 GB of graphics memory. This is plain silly! in order to have a few nice 3d fx (with questionable usability), there is gonna be tremendous memory requirements.
The same effects could be easily delivered to the user by not representing each window with a texture, but by vector graphics. The modern desktop consists of a few thousand lines/fills that can be easily handled by the 3d hardware. By using vector graphics only, there are huge benefits: a) the desktop is fully scalable, b) memory requirements are minimized, c) the screen can be rotated in a split second, d) the full range of effects is possible.
As for the feature of not rebooting while upgrading the graphics driver, it's a useless feature. It has only marketing value for Microsoft: since Unix is not rebooted to upgrade the graphics driver, Windows has to follow. But as the clever