Sunday March 21, 2010 6:45 PM AEST

The battle of the drivers

  • Email a Friend
  • Print Page
«  »
The battle of the drivers
By James Matson
Jan 6, 2009 | 1 Comment
Tags: The | battle | of | the | drivers
To understand and appreciate what goes into a modded GPU driver the best starting point is to have a grasp of what makes up a driver in general. In simplest terms, a driver is a chunk of software – often written in C – that gets hardware and the OS talking happily, so that requests can be made from (for example) a game that sits on top of the OS through to the device in question to cause the sweet action that happens on-screen. Device drivers are powerful little critters which operate in kernel mode rather than the more standard ‘user’ mode of an application. This means drivers get to access to all kinds of low-level functions within Windows not normally available (but obviously required for a device driver to work) and there are no restrictions to the driver being able to write and read protected areas of memory or be in direct I/O access with physical devices.

It’s this ability for drivers to cut through the higher level guff that most ordinary applications must wade through to execute code on a PC that makes them both tricky to successfully write, and potentially catastrophic when they go wrong. Ever wondered why so many BSoDs or fatal exceptions are caused by driver mismatches or incompatibility? The unrelenting low-level access to the architecture that is the nature of a software driver – GPU drivers included – is largely to blame.

Keeping things basic, two important bits of code allow a driver to function; a DRIVER_OBJECT data structure created by Windows and a DEVICE_OBJECT data structure created by the driver itself. The DRIVER_OBJECT is a block of memory allocated by Windows that describes where the driver code is loaded into memory, the name of the driver itself and the functions supported by it. The DEVICE_OBJECT structure is created by the driver itself and is used to reference a physical device like your video card, describing different characteristics of the device. The DEVICE_OBJECT becomes the target of I/O (Input / Output) requests from applications like your favourite blood-bath FPS, acting as the go-between for user-mode programs to get functionality out of actual hardware. In amongst this are functions stored in the driver’s DLL (Dynamic Link Library) files that can be exposed and used to get the magic happening on the physical device in conjunction with Microsoft’s unifying DirectX APIs.

There’s a hell of a lot more going on, but we don’t have the room to get too deeply involved there. The crux of it is that drivers are complex, clever and absolutely required to get any useful functionality out of your GPU. So, where do modded drivers come in? Surely they are super enhanced software where the guts of reference drivers from NVIDIA or ATI have been completely revamped to allow your video card to wear its underpants on the outside and be super fast? Unfortunately, the truth is a little less glamorous.


 
«  »
 
This article appeared in the December, 2008 issue of Atomic.

Want to check out the first Australian review of Final Fantasy XIII? We got in this month's Atomic!

Plus HD projectors, Napoleon: Total War, Intel's new six-core processor, PC upgrading guide, and a whole lot more.

ON SALE NOW!
1 Comment
Thoughts on this article? Add a comment below.
sm1ddy
Jan 7, 2009 6:07 AM
Well here's my situation.

My main computer is a Asus laptop that runs Nvidia Graphics.

In Nvidia's lack of wisdom they made it the job of Asus (for my particular laptop anyway) to release versions of the Nvidia driver for their laptop. As expected one driver came out and no updates were found beyond that provided by Asus.

Recently I also had issues with games that ran perfectly fine performance wise, but had graphical glitches due to the rubbish old drivers.

I attempted to install updated drivers from Nvidia's website but attempting to do this failed as the driver package would not allow it on the laptop.

Anyway I went out and hunted down some tweaked homebrew drivers that installed fine. Eventually I found the hacked drivers got a performance boost, updated, and had the graphical glitches removed.

So I can see the benefit :)
Login or register to submit a comment.
 
 
Atomic Magazine

Issue: 111 | April, 2010

Atomic is a magazine aimed squarely at computer enthusiasts, gamers, and serious PC upgraders.

Every month we bring you the latest reviews of new technology and PC components, in depth features on everything from overclocking to console hacking, and gaming previews and interviews.
 
Latest Comments
"Send your good taste to celebration by delivering our mouthwatering cakes to Dehradun and exotic ..."
by rony24 | Mar 20, 2010 4:56 PM
 
"So. Much. Awesome."
by The Manta | Mar 20, 2010 4:23 PM
 
"@sirtrancealot, BF started on the PC and BC1 only on Consoles was a kick to the PC gamers ..."
by NRUFrost | Mar 20, 2010 8:14 AM
 
"RAGE!!!"
by Hawkeye | Mar 20, 2010 1:24 AM
 
"alex - bugger all. 78mg of caffeine. About the same as a cup of instant coffee. Taurine, Gurana ..."
by tantryl | Mar 20, 2010 12:51 AM
 
1) Nokia E7147 plans 33%
2) Apple iPhone 3GS 32GB36 plans 33%
3) Apple iPhone 8GB43 plans 22%
4) HTC Magic5 plans 33%
5) Nokia N9740 plans 33%
1) iiNet32 plans 100%
2) Optus41 plans 14%
3) Vodafone7 plans 5%
4) Telstra BigPond30 plans 1%
5) Dodo34 plans 6%

Mobiles | Broadband | Credit Cards

Haymarket - Atomic MPC
Latest User Reviews
Logitech MX518 Gaming-Grade Optical Mouse
90%
Good shape, design and Ergonomics
 
Coolermaster HAF 922
100%
A case to make a statment and give your pc the Heavy Hardcore Grunt it needs.
 
Coolermaster Excalibur
50%
Atomic is under attack
 
XFX 9300 Motherboard
40%
HUGE letdown
 
CM Storm Sentinel gaming mouse
90%
Sexy and instant geek respect.