Motherboards Memory Storage Cases/Cooling/PSUs IT Computing Displays Mobile Mac CPUs & Chipsets Video Digital Cameras Linux Gadgets Systems Trade Shows Guides Home Increase Font Size Decrease Font Size Change Page Size
So What’s In A 100MB Driver, Anyhow?
So What’s In A 100MB Driver, Anyhow?
Date: February 26th, 2009
Author: Ryan Smith
Buy the HP ELITE DDR3 1TB Premium 64-bit Home
Blank
 Newegg $859.99
 
 

Last week I got an interesting email the day after NVIDIA dropped their 182.06 GeForce drivers to coincide with the launch of FEAR 2. To sum up the relevant bits of the email, the question was “Why are NVIDIA’s drivers so big?”

Although the most immediate answer to that is not particularly interesting – they’re as big as they need to be because they must be – this made for a great excuse to do some exploratory dissection. The latest GeForce Windows Vista 64 drivers weigh in at 100MB, which is not necessarily huge given that broadband is (mostly) plenty and disk space is cheap, but none the less it’s a bit of an infamous mark to hit if only because it wasn’t that long ago that 100MB was the size of an entire operating system. Just to be clear we’re not knocking NVIDIA here (we’ll get to why everything is so big in a moment) but the size of their drivers does make for an interesting discussion. What’s in a 100MB driver?


NVIDIA 182.06

We’re not going to list every single file (there are 59 of them, most of which are small files we don’t care about) but we’ll hit the highlights. Right off the bat, we run in to the matter of redundancy. Anyone who has seen the structure of Vista 64 has seen that there are a number of seemingly redundant applications and libraries. The reason for this being that Vista 64 needs both 64bit and 32bit versions of most libraries so that it can run native 64bit applications and run 32bit applications through WoW64. This kind of redundancy sneaks in to video drivers too due to the way the OS is structured. All told the Vista 64 driver package is 18MB larger than the Vista 32 package due to the need for a separate 64bit OpenGL driver (nvoglv64), a separate 64bit Direct3D driver (nvd3dumx), and finally due to general binary bloat (64bit binaries are slightly larger due to the larger instructions).

Next on the list we have the NVIDIA control panel, which is spread amongst several files. We’ll call it 15MB, but it’s probably a bit larger than that. We’ll follow that up with the Vista kernel driver (nvlddmkm) at nearly 5MB, the 32bit OpenGL driver (nvoglv32) at 4.5MB, the display server (nvDispS) at 3.5MB, and the CUDA driver (nvcuda) is well down the list at 1.2MB. There are a few other files bigger than this, and many more smaller than this, but it quickly adds up.

The single biggest file however is PhysX_9.09.0203_SystemSoftware, which as the name implies is the PhysX installer. The PhysX software is for all intents and purposes its own beast; it’s a CUDA application that doubles as its own drivers and libraries. Of the 100MB for the entire GeForce driver package, 40MB of that is just for PhysX. As for why it’s so big, most of this is due to the structure of the PhysX drivers as inherited by NVIDIA upon their purchase of AGEIA last year. Every version of the PhysX middleware requires its own version of the PhysX core library (PhysXCore) along with some object code for the still-supported AGEIA PCI and PCIe PPUs. There are 25 versions of the middleware included in NVIDIA’s PhysX drivers at this moment, which is what leads to large size of the PhysX installer.

Finally, there is the matter of the compressed and installed size of NVIDIA’s drivers. So far we’ve been quoting the compressed size of everything since that’s how the driver is downloaded, but it’s worth mentioning the installed (uncompressed) size of the drivers too. This isn’t quite as easy to track and add up as with the compressed drivers, but we’d estimate the total size is in the ballpark of 250MB. This is roughly split evenly between the GPU drivers and the PhysX drivers. Also keep in mind that this doesn’t include NVIDIA’s optional System Tools software needed for GPU overclocking, GPU monitoring, etc. That’s another 82MB compressed.

We also took a quick look at some previous GeForce driver packages for Vista 64, to get an idea of how much the drivers have grown over the past couple of years. Drivers are like any other software: more computing power and more space eventually leads to everything getting a bit bigger, so there’s no real surprise here that they grew in size.


NVIDIA 163.75


NVIDIA GeForce Driver Installer Size (Vista 64)
Version
PhysX Installer
Total Size
163.75 N/A 43MB
175.19 N/A 50MB
178.13 50MB 103MB
180.48 35MB 91MB
182.06 40MB 100MB


The 163 drivers are from November of 2007, so this covers roughly a 1.25 year time span. The big leap in size with the 178 drivers is when NVIDIA started including the PhysX installer with the GeForce drivers, which actually made those drivers slightly bigger at 103MB (due in large part to a 50MB PhysX installer). Excluding the PhysX installer, there’s no specific pattern in growth - between 163 and 182 virtually every driver file got bigger. The control panel and OpenGL drivers are the biggest culprits here due to their large size in the first place. As for the PhysX installer, the aforementioned need for it to include several versions of the PhysX libraries makes it an outlier. NVIDIA did beat 15MB out of it for the 180 drivers (down to 35MB) only for it to jump up to 40MB for 182. While we only have a short window of time to judge from, so far it’s the single biggest reason that NVIDIA’s GeForce drivers are growing as much as they are, and it looks like that will be continuing in to the future.

Not to be left out, we also cracked open ATI’s latest Catalyst 9.2 drivers to take a look at their size. The 62MB driver package is a bit bigger on the driver side than the control panel side (40MB/22MB or so) and we’d estimate the total installed size is around 140MB, although it’s even harder to gauge than NVIDIA’s drivers. This makes them roughly as big as NVIDIA’s own GPU drivers and control panel; the difference between the two comes down to the PhysX software.

And for those of you curious about platform differences, the latest NVIDIA GeForce drivers for Linux x64 (180.29) are 20MB.


ATI Catalyst 9.2


31 Comments
Username:
Password:
no surprise by icebox, 348 days ago
Considering that a realtek sound driver weights around 40 mb these days nothing surprises me. Thinking that a driver is something loaded with the system and always "on" and running you'd think that more optimization is required. But hey in a 12 GB Vista install it fits :)

Reply
Simple by brausekopf, 348 days ago
They have two different code paths for the cards before the 8000 breed and one for the newer cards. In some places they have several code paths depending on the host CPU. Sometimes they use differing optimizations based on the benchmark/game that uses the driver. They support DirectX, OpenGL and CUDA. They bring just-in-time compilers for the shader languages cg (Nvidia) and HDSL (Microsoft). They bring Vendor-specific patches for Laptops. They brng PhysiX. Common, in former times a whole OS was simpler...

Reply
Driver size by Jaguar36, 348 days ago
The dissection was great, but what I don't understand is why the actual driver is so big. Assuming there are no graphics in there, 18mb is an awful lot of code. What all is it doing that makes the code so big?

Reply
RE: Driver size by Targon, 348 days ago
When it comes to the total size of the driver package, you have to figure that both AMD and NVIDIA are including drivers for not just YOUR video card, but also for all devices in the family.

The ATI driver package includes drivers for the Radeon 9500-9800 family, the X300-X800, the X1300-X1800, and all cards going forward from there. Each of these product families need their own drivers, even though the interface to those drivers may be the same(Catalyst Control Center).

In addition to this, AMD also includes the chipset and AVIVO drivers in their driver packages, which adds to how large each release is.

The idea behind these huge driver releases is that most consumers have no idea what sort of video card or GPU they have in their system, so AMD and NVIDIA make just one big package that has all the drivers included. Since there are SLI and Crossfire optimizations in the drivers as well, all of that extra stuff gets included in the same drivers.

Finally, while the drivers themselves are important, the connection between the control application and the drivers also requires a bit of code. So, AMD just putting support for Catalyst Control Center into their drivers will increase the size. Being able to adjust the performance v. quality slider, or force AA in the drivers rather than making the application turn it on or off is a part of this. If all of that extra functionality were cut out, drivers would probably be a lot smaller than they are today.


Reply
RE: Driver size by Matt Campbell, 348 days ago
I was just pondering this a few days ago. Thanks, neat breakdown Ryan.

Reply
RE: Driver size by 7Enigma, 348 days ago
Individual game/program "optimizations" to beat the Orb and the competition? :) I kid, I kid.....kind of.

Reply
RE: Driver size by LinkedKube, 345 days ago
Its making your video card run?

Reply
Nvidia bloatware by Mr Roboto, 348 days ago
Why include PhysX in their standard driver package? It has support for what, five games in the last 3 years? Also the PDSetup.exe for AutoCAD isn't needed either. Both of those drivers should be downloaded separately as far as I'm concerned.

Also if you want to use a CUDA application you have to download a special driver package from Nvidia "usually beta drivers". My point being soon they will add a useless CUDA driver to that 100MB download too.

I've really only owned Nvidia cards in my life but I'm really starting to hate Nvidia with a passion. Everything they do lately seems to rub me the wrong way. From their card and chipset renaming spree and deceptive marketing to UMAP and the whole "Nvidia invented the GPU" egomaniac type behavior.

I hope someone knocks them down a couple of notches, or better yet the GPU really does move to the CPU so they will go the way of 3DFX. I know that's not good for competition and for us consumers but that's the way they've got me feeling lately.

Reply
RE: Nvidia bloatware by TA152H, 348 days ago
You don't think Nvidia's been knocked down to their knees already?

Show me someone that owns Nvidia stock, and I'll show you an idiot. With Intel about to enter the GPU fray, their life is going to get a lot more difficult, and soon. More than that Intel despises them, for their obnoxious advertising and is going after them pretty aggressively now. They were much better off staying under their radar.

The reality is, with the processors getting more and more built into them (memory interface, for example, and soon the GPU), what can be added outside of it becomes less, and that's where Nvidia survives. Since ATI makes a very competitive, if not generally better, GPU right now, it's even worse for them.

Once Intel enters the scene, it's going to be ugly. They are an EXTREMELY formidable company when they make up their minds to compete in a market, not only because their design resources dwarf what is available to their competitors, but also because their manufacturing technology is much better than anything Nvidia or AMD can even approach. Couple that with their software prowess (greatly underestimated), and their greater ability to support their products, and induce other companies to use them with cash incentives, and you're whistling past the graveyard when they have you in their cross-hairs.

I'm not saying Larrabee is going to be the greatest thing since Cheddar Cheese, but that's the whole point. It doesn't have to be. They are so much better with the things that surround it, that the design gets a lot of help. On top of this, even if it's not, the fact that Intel has entered the market very aggressively, and is taking it much more seriously means that whether this product is good or not, they will keep working on it, and they'll almost certainly get it right.

On top of this, Nvidia's reputation has taken a beating with their faulty/defective products lately.

Because AMD already makes CPUs, they can match Intel with regards to synergy between the two (for example, moving them on die), but Nvidia is out in the cold. I wouldn't use their stock to wrap fish with. But, I've always hated the company for the same reasons you do, and only once bought a card based on their technology (and was irritated by it, and will never buy another again).


Reply
RE: Nvidia bloatware by garydale, 348 days ago
Intel entered the graphics arena a long time ago but have yet to do anything significant. Basically, Intel graphics run a couple of generations behind what NVidia and ATI put out, even comparing apples to apples on the integrated GPU front.

Can Intel catch up? Possibly, but its not a given. Let's face it, developing a top-notch GPU is difficult. I for one welcome their efforts because having a third major player has got to make for even fiercer competition. However, I think it'll be a while before they get out of the basement and between now and then business plans can change.

Reply
RE: Nvidia bloatware by aj28, 348 days ago
I would go so far as to doubt that Intel's presence in the GPU market will even increase competition in the mainstream. Larrabee is an entirely different beast than cards on the market right now, and will undoubtedly cater to a niche market. Personally the only chunk of the graphics pie I can see Intel even having a chance at is high-end workstations, where their name alone will turn the heads of large corporations regardless of performance, and X86 technology might just be seriously adopted.

Reply
RE: Nvidia bloatware by TA152H, 348 days ago
Thanks for your response, now I understand why people still own Nvidia stock, but I'll tell you why I disagree with it.

Intel never entered the high performance graphics market, even after they ate up Real3D and came out with the i740. The point of these GPUs was to help make the platform better, and to leave the high end stuff to Nvidia, 3DFX, ATI, etc... Clearly, they saw the need to at least offer chipsets with 3D accelerators, and have dominated the market ever since. Clearly, the market they targetted they were very successful in, and for that reason I wouldn't use their history as an indictment against their success, but an example of it.

Now their target is a different market, and a market they had left alone. It's not a second attempt at this market, after a failure, it's a first. And, maybe it will miss the mark. Maybe it will not meet expectations. Maybe it will be late and by the time it comes out, be obsolete when compared to its competitors. Even in these cases, it won't be the last word on it. They'll come out with another one, and another, and they do have a lot of smart people there, that do learn. With all their advantages, particularly with manufacturing, it's so difficult to imagine them never being able to compete with a weak company like Nvidia, that doesn't even make a processor. A single die GPU/Processor has some nice advantages, not the least of which is communication between the two is much faster, and splitting instructions should be a lot more efficient. It's just not something Nvidia has the option to do, but both AMD and Intel clearly feel there's a lot of good in it.

As far as the Larrabee being a niche product, since when does Intel target niches? I don't think they'd spend so much time and money developing it for a niche market. Of course, not everything goes as planned, so it's possible, but it's clearly not what they're targeting, and should it fall into this role, that certainly doesn't mean the successor will. It's not like the Itanium, where you have to rewrite a program, or operating system to run on it to give it support. If the product is good, and Intel gets the drivers right, it's going to sell well. They've got everything covered extraordinarily well.

Bet against Intel at your own peril. They do make mistakes, but, invariably, they recover from them. If you think it's a good idea to assume they'll always screw up, you should apply to AMD for a job. But, can they afford to hire anymore? Hmmm, I wonder why not? It's not JUST the economy.

Reply
RE: Nvidia bloatware by nycromes, 348 days ago
This is the age old question of which came first the chicken or the egg? Or the question about using different fuels for vehicles, how do we get stations to carry the new fuel type when little to no cars use the fuel and how do we get people to buy the cars when they can't get fuel for it in most locations?


NVIDIA is spreading the code out through their platform automatically so that developers can start using it on a mass scale. Otherwise it would be hard to get developers to code for it and it would flop. In other words, they are building the infrastructure that will enable the success of their system/platform.

Reply
One thing to note by Lonyo, 348 days ago
One of the nice things about ATI (for those with slower connections), is that they offer drivers in individual packages (driver only, CCC only etc), as well as through a full bundle. While it may not seem like anything special to most people, it is nice when on a slower connection, as it means you can save a little time on downloading an update.

Reply
RE: One thing to note by Griswold, 347 days ago
Its also a trouble saver for me. Ever since I stopped using the CCC package, I've had far fewer problems and itches with their product. Recently I thought, what the hell, give it a try.

And Yesterday my trusty 3870 died. Ok, I'm not blaming CCC directly for that. I dont even know what exactly went wrong. The thing wasnt overclocked. But the fan behaved weird with CCC installed so I dumped it again and then it died (only garbage on screen at boot). ;)

But other than that, CCC while doing fine what it does, always gave me a minor headache. The system boots slower, the desktop isnt ready right after logon etc. Its just a tad bit too unoptimized or bloated - and I can live without that and the CCC functionality.

So, I'm grateful for the separate packages, indeed.

Reply
should check out HP's drivers... by notposting, 348 days ago
I was just wondering the same thing a few days ago about my HP AIO drivers. Granted it has fax, scanner, memory card reader, and printer functionality, but it was getting installed off the Vista specific driver disc (also had 2000/XP, and Mac discs which I also used) and needed 600MB (!!!) on the hard drive (and that was the required driver package, not extra software)! Hell of an optimization effort there...of course the last motherboard I got uses a DVD for everything it has.

Reply
Time to Upgrade by hechacker1, 348 days ago
They could do better just by changing their compression. I downloaded the x64 182.06 and extracted it. Then I simply compressed it using 7-zip latest stable.

7-zip lzma compression, "Maximum" compression level:
93.7MB
Nvidia with crappy installshield:
100MB

And that is just compressing already poorly compressed files! Their driver contains .cab files, And the PhysX installer is a .msi.

I never understood why people continue to use outdated compression. Especially a big company where bandwidth = $$$

Reply
RE: Time to Upgrade by The0ne, 348 days ago
Because 7zip is not as widely known as your Winzip programs. Heck, I'm still using WinRAR since it's conception. Yea, I can use 7zip but it isn't that important to me to save a few Kilo, Mega of size for the longer processing duration (often times).

Reply
RE: Time to Upgrade by ZoZo, 348 days ago
It's not about the .7z files, it's about the compression algorithm.
Installshield could implement that compression algorithm for their package installer.
Besides, 7zip can produce auto-extracting exe files: no need for 7zip on the destination computer.

Reply
RE: Time to Upgrade by The0ne, 347 days ago
Not to extend this semi-pointless discussion but that same thing can be said of other compression programs. Why a company doesn't "choose" the best algorithm, parts, PCs, or what have you could be due to many things. If people aren't aware of the program that started the algorithm they are STILL not going to know nor care. My co-worker here, a very intelligent design engineer among other things, don't even know about RAR. So how can he easily choose or say he like to use the 7zip algorithm for his files? Basically, he can't without more research.

Now you take Winzip and older compression programs out there and he's already aware of them and he'll use them because it's convenient and easy to get going with. That's all there is to my point. History has shown us various types of good compression algorithms in the past with had little use because they were just not popular. Look at the pirated software world, still using RAR compression for their releases.

Reply
RE: Time to Upgrade by Rigan, 348 days ago
First, 6% is not overly impressive.

Second, the lzma algorithm is weighted towards higher compression ratios at the expense of compression time. What zip (the algorithm not the tool) can do in 1 or 2 seconds often takes lzma 20 or 30. It's the trade off. There are much better compressors than even lzma, but they can takes hours to do what zip does in minutes.

Reply
RE: Time to Upgrade by mariush, 346 days ago
The problem is the 7-zip LZMA compression on maximum probably requires about 300MB of continous memory to decompress, which is a lot compared to cab's 100KB-1MB requirement.

Some computers still have nVidia cards and only 512MB of memory and the installer would just crash on those computers as the OS would not be able to allocate so much memory.

For 7MB of download less, it's not worth getting thousands of support requests about this.

Also, keep in mind cabs are standardized and the installer used by nVidia, Installshield ,uses them.

Installshield is a service inside Windows which is pretty large, lots of MB.

The setup file that you download only has a small 200-500 KB small executable which decompresses the large 100MB exe file into several CAB files and scripts and then a script is passed to the Installshield service on the user's computer and then the whole 100 MB setup is processed by the service on the user's computer.

Reply
RE: Time to Upgrade by UNHchabo, 344 days ago
Not just memory usage: using "maximum" compression would also mean FAR more CPU time used to decompress the file.

Personally, whenever I compress files, I do fairly light compression, so that any easily-compressed file gets compressed, and it saves huge amounts of CPU time on the customer's end.

Reply
Lies, Damn Lies, and Graphics card Control Panels. by nubie, 348 days ago
"Also keep in mind that this doesn’t include NVIDIA’s optional System Tools software needed for GPU overclocking, GPU monitoring, etc. That’s another 82MB compressed."

Riiight, I guess I will continue to add a coolbits and sedonadisable registry key and continue using the "Classic Control Panel" complete with hardware monitoring and overclocking options.

I was very pissed when the new control panel came out and the tagline was always "enabling greater control with more options in an easy to use manner". I thought it was Bullshit. But I also thought they would fix it in due course, well 4 years later I am still waiting.

Greater Control - BS - I have yet to see as many options on any new control panel.

More Options - BS - Features are consistently missing, such as LCD digital control.

Easy to Use - BS - Please help me understand how it is easier to use, maybe because it has less functionality? After all, simple things are by definition simpler.

Bad nVidia, there was a time when your control panel and drivers were the envy of ATi, just because they are retarded enough to require .NET framework 2.0 for their "flash and awe" control panel doesn't mean you need to drop your quality control on functional drivers.

Reply
RE: Lies, Damn Lies, and Graphics card Control Panels. by Mr Roboto, 344 days ago
I hate the new control panel. I'd much rather use the older one but in Vista you have no choice. It's awful, clunky and ugly as hell. I hate the "Windows" look and it was an especially rude awaking when I first saw it.

Anyways back on topic, System Tools With ESA, CUDA, PhysX and nTune all suck and are nothing but gimmicks. Pointless software.

Reply
What? by cosmotic, 348 days ago
nVidia dropped the single driver model a long time ago. Saying it includes drivers for other cards are lies. You MUST click the model on your card on their website to get the driver.

I agree with nubie. The old tab UI was bad, but the new window is WAY WAY worse.

I agree with Jaguar36, that's a LOT of code. Hes not saying they wrote a lot of code and that's why its huge, hes saying there's a ton of garbage and unoptimized crap in there.

Regarding compression, using install shield is a mistake to begin with. They could easily pack that stuff in a NSIS installer and save 4MB right there.

And even if they really are storing code for all the different hardware in one file, it's still ridiculous. That means 10 copies of the same thing in memory. Great.

There are no excuses. The only two reasons these drivers are huge are the developers are amateur/inexperienced/uneducated/stupid and lazy.

Reply
RE: What? by Gannon, 347 days ago
"Saying it includes drivers for other cards are lies."

Go to nvidia.com --> drivers, then select the the lowest gpu, then do it for the highest one... notice how they all link to the same damn file.

Reply
HP Laser Printer driver: 650 Mb by hellcats, 348 days ago
I bought an HP laser printer. Its "device driver" weighed in at 650 Mb (an entire CD). Of course it wasn't really just a device driver. It was like 10 Mb of device driver and 640 Mb of shovel-ware. But even the "minimal" install took like 320 Mb and over 30 minutes to install. Unbelievable. I remember "Hello World" on the original Mac 128 taking like 4800 bytes (including the stdio runtime). Heck, the entire original Mac, floppy drives and all would fit inside the Core 2's secondary cache. Fastest MacWrite on the planet!

Reply
Intel entering high-end GPU market? by Zak, 348 days ago
I think it's about time. Since all the innovating competition is gone ATI and Nvidia are just playing catch up games with each other. Little innovation really. Even though I'm happy with my dual 285s I don't like where this is going: more, bigger and hotter GPUs. Maybe Intel will enter with a big bang and raise the bar and force both ATI and Nvidia to start innovate again. More competition is good for us. I think it's hard to talk about competition when we have just two companies locked in a ring with each other.

Z.

Reply
DiNovo Drivers by devilxc, 347 days ago
Have you ever used the DiNovo Keyboard / Mouse combination from Logitech? The drivers are a massive 107Mb! For a mouse and keyboard that can be detected by windows.

Incidently they are s*** drivers. They cause an unreponsive and laggy mouse.

Thank god we're not using 56k dial up!

Reply
Don't forget Creative Labs! by lamga, 338 days ago
Creative Labs had the dubious honour of gigantic SoundBlaster drivers back in 2000. I remember they refused to host the full Audigy driver suite on their website because it was so large - they only offered patch files which you had to apply to an existing install derived from your driver CD.

Reply
Comments Page 1 of 1





AnandTech.com Blog Categories
All categories
Anand's Macdates
Anand's Theater Construction
Anand's Updates
Cases and Power Supplies
CeBIT 2008
CES 2008
Computex 2009
Derek Decanted
Eddie's Got Game
Gary's First Looks
IT Computing general
Jarred's Musings
Kris's Corner
Raja's Ramblings
Rob's Experiences...
Ryan's Ramblings
Virtualization
What's New with Wes
Blank
Blank

Blank

Latest news by
DailyTech

 February 9, 2010

Blank
Blank
Blank
Blank
Blank
Blank
Blank
Blank
Blank
Blank
Blank
Blank
Blank
Blank
Blank
Blank

 February 8, 2010

Blank


more Blogs Discussions



pipeboost
Copyright © 1997-2010 AnandTech, Inc. All rights reserved. Terms, Conditions and Privacy Information.
Click Here for Advertising Information