Wednesday, July 3, 2013

Video card drivers~

In BSOD analysis, something you see often is a video driver being a culprit or being in a stack, kind of just hanging out. The same thing goes for DirectX and its kernel, etc. Generally, DirectX and its kernel, and the video driver itself are not the true culprit, however something goes wrong between DirectX kernel making calls, etc, whatever it may be... so we are left with DirectX's kernel holding the murder weapon.

When I am personally analyzing, if I am dealing with a case in which I am seeing video driver culprits (AMD or nVidia) or dxgmms1.sys / dxgkrnl.sys (DirectX), something I always mention is to update to the latest video card drivers as it's very important to always be up to date on any of your drivers, but absolutely important to be on the latest video card drivers. However, if you ARE on the latest drivers already, uninstall and go back a previous version, or maybe 1-2 more versions behind the latest just in case the latest drivers are causing issues.

In most cases I would never recommend beta drivers as they are BETA DRIVERS for a reason, however, in this case, it was a great idea to just say (hey, what the heck, let's try the beta drivers... they're a different version than the latest).

Something I never really thought about until a professor of mine mentioned it, is that your video card is practically a computer itself. It has its own dedicated memory, its own BIOS, its own cooler, its own processing unit, etc. Take all of that and imagine it has to work with an OS, other hardware, drivers to communicate, etc. This is an extremely complex process, which I am currently reading and learning more about calls, IRQL's, and all of that neat stuff everyday.

With that said, the slightest issue in a driver installation, or the slightest issue in a certain driver version is really sometimes all it takes to cause issues. I have been a firm believer of this, but never really understood it fully until I started learning more and more. I'm sure even further in my analysis I will understand it much more.

With all of this said,if you are ever dealing with a case in which the user in question is having video driver culprits or DirectX culprits, it never hurts to recommend the user to update to the latest drivers, OR to uninstall and go back to a previous version or so to eliminate driver issues. Same goes for you users, not just analysts! If you are having issues, before running other diagnostics, always work with the software first.