They're here! More Muvipix.com Guides by Steve Grisetti!
The Muvipix.com Guides to Premiere & Photoshop Elements 2024
As well as The Muvipix.com Guide to CyberLink PowerDirector 21
Because there are stories to tell
muvipix.com

The Chicken Or The Egg?

Talk about anything here.

The Chicken Or The Egg?

Postby Dave McElderry » Tue Dec 08, 2009 5:09 am

I've been following with great interest the unfolding tale of PrEl 8 and the NVIDIA drivers. The importance of keeping drivers updated is well known to me, but lately I've been wondering about the underlying processes. It would appear that the manufacturers of certain hardware are faced with having to constantly update drivers so that their products work with new software or revised versions of older software. Where did this responsibility come from? Do these manufacturers have to play catch-up to hundreds (thousands?) of software publishers each doing their own thing, or is there a common denominator to software changes that require driver updates? I can imagine a scenerio in which changes in programming languages or protocols would require these updates, but I don't know if that's the case or not. The only programming experience I've had has been brief introductory stints in tech school.

Could any of our high tech wizards (and I do mean that in the most complimentary way) shed some light on the processes behind driver updates?
Be yourself; everyone else is taken.

Asus X570-E motherboard; AMD Ryzen 9 3900X 3.8 GHz; 64GB DDR4; GeForce RTX 2060 6GB; 1TB Samsung 970 Pro M.2 SSD
User avatar
Dave McElderry
Moderator
Moderator
 
Posts: 4757
Joined: Fri Feb 23, 2007 10:18 am
Location: Lost In Middle America

Re: The Chicken Or The Egg?

Postby Bobby » Tue Dec 08, 2009 7:31 am

Hi Dave.

At least in the Microsoft end of the business, MS really does have a tight hold on driver updates and testing. Look at this reference

http://en.wikipedia.org/wiki/WHQL

about MS driver testing and qualification. Having once taking a product through this process, I can tell you that it is pretty tough.

So, one might ask, why do MS products (especially the late, not lamented Vista) have such driver problems? There are just so many combinations and permutations of OS, drivers, application software, etc. etc. that it has just become impossible to effectively test anything and still ship it at a reasonable price.

I believe that some manufacturers do the best they can, given the limits of pricing and time to market. And some manufacturers do less than the best job they can. And we have to live with it.
Bobby (Bob Seidel)
User avatar
Bobby
Super Contributor
Super Contributor
 
Posts: 3183
Joined: Tue Feb 20, 2007 10:41 pm
Location: At the beach in NC

Re: The Chicken Or The Egg?

Postby Dave McElderry » Tue Dec 08, 2009 10:53 am

Thanks for the reply Bobby. I did read the article you referenced and found it enlightening. I also appreciated your comments. However, I think my questions originate at a different level than this. Here's what has me confused. If a driver was working for a particular video card, for example, for most users for most combinations such as you describe, what drives (spurs) the updating of a driver to a new version? Would a NVIDIA driver get updated just because people are having a problem with PrEl 8 that they weren't having with PrEl 7? At what point is it determined to be a driver problem, not a programming problem with the software? Thus the chicken and the egg analogy.

I really don't believe that the video card manufacturer has to keep on top of all of this (it sounds like an impossible task), so obviously I don't understand how it works. Microsoft tests and certifies drivers to work under a particular OS, but where does the specific application, like PrEl 8, come into play in all of this. I'm not understanding the responsibility relationship between driver, application, & OS, who is responsible for determining where a problem truly originates, and why, for example, a driver gets updated as opposed to program code being rewritten.

Take for example the scenerio which we just saw play out. A new version of PrEl is released. People have numerous problems with it. At some point it's discovered that a new video driver version is available which solves one or more of these problems. Why was the driver update released? Was it because NVIDIA found out that problems with PrEl 8 were the fault of the driver, or was there some other factor on a much larger scale which caused NVIDIA to release the update, and it just happened to also fix the PrEl problem? These are the kinds of questions I'm trying to ask.
Be yourself; everyone else is taken.

Asus X570-E motherboard; AMD Ryzen 9 3900X 3.8 GHz; 64GB DDR4; GeForce RTX 2060 6GB; 1TB Samsung 970 Pro M.2 SSD
User avatar
Dave McElderry
Moderator
Moderator
 
Posts: 4757
Joined: Fri Feb 23, 2007 10:18 am
Location: Lost In Middle America

Re: The Chicken Or The Egg?

Postby Bobby » Tue Dec 08, 2009 11:14 am

Well, there is certainly no formal structure that I know of!

Just to add some info, I believe that one of the major issues is whether a company has an in-house programming staff or not. Of course, most of the big ones do but there are companies out there who do not see software as their primary product and take the sub-contract route to get it.

Normally when a company subs out to another company for software it is a one-shot deal - the sub delivers the software and washes their hands of it. They may educate some of the purchasing company's in-house staff for support purposes, but that support is usually limited to how to install and use it, rather than detecting problems. Because it costs the company money, they are reluctant to go back to the sub for fixes and updates.

On the other hand, a well-run company with a competent support staff will accumulate statistics and obvious problems and refer them back to the development department. And a good development department would keep that link to support active and vital.

But that is why I am not managing software development any longer. The bean counters didn't like the way I did business!
Bobby (Bob Seidel)
User avatar
Bobby
Super Contributor
Super Contributor
 
Posts: 3183
Joined: Tue Feb 20, 2007 10:41 pm
Location: At the beach in NC

Re: The Chicken Or The Egg?

Postby Bob » Tue Dec 08, 2009 3:57 pm

I'm going to split this into two posts.

There are multiple reasons why a new driver may be released. Here are a few (in no particular order):

1. To support changes in the hardware. The same driver may need to support multiple cards or multiple revisions of the same card.

2. To support changes in the OS. The way drivers interface with the OS varies with the OS. Windows XP uses a different driver model than Windows Vista, for example. 64-bit systems have different requirements than 32-bit systems, etc.. Some drivers take advantage of loopholes in the interface and take shortcuts. If a system update closes the loophole, those drivers will be broken.

3. To support changes in the functionality. The manufacturer may provide access to capabilties in the card that weren't surfaced in earlier drivers. Or, provide a new or changed programming interface for applications to access the capabilities. For example, OpenGL support or CUDA support.

4. To fix bugs in the driver or card. Writing drivers is very complex and difficult. Bugs happen. You can even have bugs in the design and operation of the hardware.
User avatar
Bob
Moderator
Moderator
 
Posts: 5925
Joined: Wed Feb 21, 2007 4:49 am
Location: Southern California, USA

Re: The Chicken Or The Egg?

Postby Bob » Tue Dec 08, 2009 4:13 pm

Part 2:

Number 1 is driven entirely by the card manufacturer.

Number 2 is driven mainly by the OS vendor. Microsoft provides a Windows Driver Development Kit for vendors to use and publishes the specifications for the driver models. They also have a certification program.

Number 3 is driven from internal company directions, industry directions, standards bodies, vendor competition, and functionality requirements (including requests for functionality from gaming, graphics, and scientific applications companies).

Number 4 is messy. There is quite often finger pointing between the video card company, the OS vendor, and the application developers. Often, it takes quite a bit of detective work to definitively locate where the problem lies. Once this is sorted out and the cause is determined to lie in the video card's camp, a driver can be updated.
User avatar
Bob
Moderator
Moderator
 
Posts: 5925
Joined: Wed Feb 21, 2007 4:49 am
Location: Southern California, USA

Re: The Chicken Or The Egg?

Postby Chris B » Tue Dec 08, 2009 5:01 pm

Most Video drivers are very complicated beasts. Driver manufacturers will actually write specific optimisations for certain games/applications into their drivers to make them perform better on their cards. If you rename executables then they actually perform worse as the optimisations are not applied.

Additionally Nvidia and ATI (as was) actually have "partner programs" where they help with the development of certain games so that they run beter on one card or another. The release of a new major game often comes with a driver release along side it to make it work as well as possible. The other company then needs to play "catch up" to make their cards work as well as possible. In return the game will display one of the company logos at startup (You may have seen "the way it's meant to be played" logos from Nvidia for example).

I'm not sure that this has made it's way into applications (but I do note CUDA being promoted for Premiere Pro elsewhere on the board) so it may yet come!
Intel Core i7 8700 - 32GB DDR4 - 500GB Evo 970 SSD - 3+2 TB HDD - GTX 1080- MSI Z370 Pro - Win10 64 bit - Cannon HV30 (PAL) - Sony A6000 - GoPro 3 Black
User avatar
Chris B
Moderator
Moderator
 
Posts: 819
Joined: Tue Apr 24, 2007 6:04 pm
Location: UK

Re: The Chicken Or The Egg?

Postby Dave McElderry » Tue Dec 08, 2009 6:23 pm

Some great information there. Thanks for taking the time to explain. It's a wonder the system works at all! Much appreciated.
Be yourself; everyone else is taken.

Asus X570-E motherboard; AMD Ryzen 9 3900X 3.8 GHz; 64GB DDR4; GeForce RTX 2060 6GB; 1TB Samsung 970 Pro M.2 SSD
User avatar
Dave McElderry
Moderator
Moderator
 
Posts: 4757
Joined: Fri Feb 23, 2007 10:18 am
Location: Lost In Middle America


Return to Water Cooler 


Similar topics


Who is online

Users browsing this forum: No registered users and 15 guests