Modding the latest ATI/NVIDIA/Intel drivers for laptops
Posted: Sun Jan 24, 2010 1:44 pm
(As you may have guessed already, this thread is only for Windows laptops, because this only works with XP, Vista and Windows 7. Possibly now also Windows 8, though I haven't tested this.)
Most people who've been hanging around the Oolite Forums for a while are familiar with the problems caused by old ATI or NVIDIA drivers, usually seen in plaintive messages posted by newcomers to Oolite.
For the un-initiated, here is a screenshot of what they are greeted with; when, eagerly and with much anticipation, they fire up Oolite for the first time. Talk about that sinking feeling in the pit of your stomach...
Often, the cure for this can be implemented quite easily, either by updating to the latest drivers or implementing the "-nosplash" switch when starting Oolite. However, if the nosplash option doesn't work, the only solution is to update your graphics drivers, but for laptop owners with ATI graphics chips, this is much easier said than done.
You see, most laptop manufacturers don't allow AMD (who now own what was ATI) to include drivers for their graphics in the Catalyst Mobility drivers installer. They prefer that their customers only use drivers officially released by themselves. The problem is, because the graphics are "good enough" for most applications, updates to their graphics drivers are few and far between, (if they can be bothered at all) and always lag a long way behind those released by AMD.
Unfortunately, attempts to install the AMD drivers in place of the manufacturers ones always fail. However, it turns out to be possible to modify current AMD (or nvidia) drivers, so that they will successfully install to a laptop.
Here is how I got the latest AMD drivers to work with my new (ok, it's 1 year old, but it's new for me) ASUS Pro31J laptop which uses the rare and somewhat orphaned X2300 GPU.
In my case, even on official sites I found few or no references to my GPU. Some research and reading around the web turned up the fact that this was because it's a special version of the X1300, and is functionally the same as an X1300. Despite this, however, I could not get X1300 drivers to install.
Eventually, I discovered the Hardware Heaven Mobility Modder, which absolutely gets my vote for Utility of the Year.
(Though I am concentrating on ATI here, I gather a similar situation applies to laptops with NVIDIA graphics, as there is a tool similar to the one I will describe available for modding NVIDIA drivers.)
For laptops with Intel GPU's, see post #10 by Capt. Murphy.
So, having gotten my long-winded introduction out the way, and given you the links to the tools, let's get to business...
Right after this warning.
Now.. on with the show.
The first thing to do is download the modtool, of course. Before installing it, you will need to install the Microsoft .net framework, if you don't already have it. You may also, if you are using XP and have an ATI chip, need to install MSXML 6.0 from Microsoft. (The .net framework and MSXML 6.0 are already built in to Vista and Windows 7) The page at the Mobility Modder website has the link. When the prerequisites are done, install the modtool.
In passing, I'd like to add that the instructions provided at the website are clear and concise, and really are all you need. I'm mostly writing this to make people aware of this very useful tool and show how simple it is to use.
For Vista (and, I presume, Windows 7, though this is not mentioned specifically) it is necessary to disable the User Account Control system before attempting to modify the drivers. Failure to do so will prevent successful modification. Four methods are given by which to do this, but for my money, using MSCONFIG is the simplest.
Click on Start>Run then type msconfig into the text-box, before clicking OK or hitting the 'Enter' key. When msconfig starts, click on the 'Tools' tab and scroll down to the 'Disable UAC' command. Select it, then click the 'Lauch' button. A console window will appear. When the command reports that it is finished, close the console window and msconfig, then reboot your laptop for the change to take effect. If you wish, you can re-enable UAC later the same way, as it's only necessary for it to be disabled during the modification process.
Now you will need drivers. You can get them either from the Hardware Heaven site, or you can go to AMD or NVIDIA's driver download site. The ones from the manufacturers may be a little more up to date, but HH are generally pretty good at having current drivers available.
Now the fun part.
Run the driver installer. The first step the installer takes is to extract/unpack itself, which is all we need at this stage. Pay attention to the folder it extracts to, because we need this info for the next step. When extraction is complete, the installer will display the installation window, waiting for you to continue. Instead, cancel the installation, because we're gonna make some modifications first...
Run the modtool, and browse to the driver extraction folder. Click on the 'Modify' button and let the tool do its thing. It will probably take a few minutes. When it's finished, close the tool and, using an Explorer window, browse to the extraction folder. Run the Setup.exe to begin installation of the modified drivers. You may get a 'Driver is not WHQL certified' message, (this is a side effect of the modification) just ignore it and proceed with the installation.
The end result, (after switching shaders to full instead of simple and using a Griff cobby to show off the shaders), looks like this:
A list (current as of 24 Jan 2010) of supported GPU's for ATI and NVIDIA follows:
Most people who've been hanging around the Oolite Forums for a while are familiar with the problems caused by old ATI or NVIDIA drivers, usually seen in plaintive messages posted by newcomers to Oolite.
For the un-initiated, here is a screenshot of what they are greeted with; when, eagerly and with much anticipation, they fire up Oolite for the first time. Talk about that sinking feeling in the pit of your stomach...
Often, the cure for this can be implemented quite easily, either by updating to the latest drivers or implementing the "-nosplash" switch when starting Oolite. However, if the nosplash option doesn't work, the only solution is to update your graphics drivers, but for laptop owners with ATI graphics chips, this is much easier said than done.
You see, most laptop manufacturers don't allow AMD (who now own what was ATI) to include drivers for their graphics in the Catalyst Mobility drivers installer. They prefer that their customers only use drivers officially released by themselves. The problem is, because the graphics are "good enough" for most applications, updates to their graphics drivers are few and far between, (if they can be bothered at all) and always lag a long way behind those released by AMD.
Unfortunately, attempts to install the AMD drivers in place of the manufacturers ones always fail. However, it turns out to be possible to modify current AMD (or nvidia) drivers, so that they will successfully install to a laptop.
Here is how I got the latest AMD drivers to work with my new (ok, it's 1 year old, but it's new for me) ASUS Pro31J laptop which uses the rare and somewhat orphaned X2300 GPU.
In my case, even on official sites I found few or no references to my GPU. Some research and reading around the web turned up the fact that this was because it's a special version of the X1300, and is functionally the same as an X1300. Despite this, however, I could not get X1300 drivers to install.
Eventually, I discovered the Hardware Heaven Mobility Modder, which absolutely gets my vote for Utility of the Year.
(Though I am concentrating on ATI here, I gather a similar situation applies to laptops with NVIDIA graphics, as there is a tool similar to the one I will describe available for modding NVIDIA drivers.)
For laptops with Intel GPU's, see post #10 by Capt. Murphy.
So, having gotten my long-winded introduction out the way, and given you the links to the tools, let's get to business...
Right after this warning.
Now, in fairness, in the 2.5 years this thread has been up, this is the first mention on this board of such problems, (the burned GPU mentioned above did not occur as a result of reading this thread) and nobody who's followed the instructions to date has reported any problems. My own Asus laptop mentioned above is still happily running Oolite. However.. now you are aware of the possibility, and the final decision and responsibility is yours. If your GPU melts, you lose all your data, or your cat becomes pregnant, you have been warned.Sammi79 wrote:One thing I will add in reply to the thread on modding the driver installs to install newer drivers than are recommended by the driver suppliers (in my case AMD/ATI) - Laptop video cards are invariably compromised relative to their desktop counterparts for obvious reasons - mainly physical space and cooling. In many cases some functions considered non-essential are either simplified, slowed down or removed. There is an inherent risk if I were to force the install of the latest standard Radeon HD5xxx driver instead of the recommended Mobility Radeon HD5xxx driver that certain functions would be able to push the GPU beyond its safe operating temperature.
Now obviously you should still get drivers from the card manufacturer not the laptop manufacturer - for instance ACER are pretty slack when it comes to testing newer drivers from ATI so I might get an update once a year if lucky, and probably never will again since my laptop is now more than 3 years old. Luckily AMD/ATI do provide current and tested drivers on their site even for these custom laptop versions of their cards so for me now this is not a problem.
I only mention this as I have burned a GPU on an older Nvidia card in exactly this way. I had DirectX 11 working on it, all my games had between 30-60% performance increase - but 2 weeks later I needed to replace my laptops main board (as the GPU was hard soldered) so just beware that the reason your current official driver might be a couple of points behind the desktop version may well be that in preliminary tests it causes heat or other operating issues, and will need functionally modifying before it can be officially supported/supplied.
Now.. on with the show.
The first thing to do is download the modtool, of course. Before installing it, you will need to install the Microsoft .net framework, if you don't already have it. You may also, if you are using XP and have an ATI chip, need to install MSXML 6.0 from Microsoft. (The .net framework and MSXML 6.0 are already built in to Vista and Windows 7) The page at the Mobility Modder website has the link. When the prerequisites are done, install the modtool.
In passing, I'd like to add that the instructions provided at the website are clear and concise, and really are all you need. I'm mostly writing this to make people aware of this very useful tool and show how simple it is to use.
For Vista (and, I presume, Windows 7, though this is not mentioned specifically) it is necessary to disable the User Account Control system before attempting to modify the drivers. Failure to do so will prevent successful modification. Four methods are given by which to do this, but for my money, using MSCONFIG is the simplest.
Click on Start>Run then type msconfig into the text-box, before clicking OK or hitting the 'Enter' key. When msconfig starts, click on the 'Tools' tab and scroll down to the 'Disable UAC' command. Select it, then click the 'Lauch' button. A console window will appear. When the command reports that it is finished, close the console window and msconfig, then reboot your laptop for the change to take effect. If you wish, you can re-enable UAC later the same way, as it's only necessary for it to be disabled during the modification process.
Now you will need drivers. You can get them either from the Hardware Heaven site, or you can go to AMD or NVIDIA's driver download site. The ones from the manufacturers may be a little more up to date, but HH are generally pretty good at having current drivers available.
- A tip: if you choose Mobility Radeon or notebook drivers at the AMD site, you will get a message telling you to go to your laptop manufacturer for drivers. To get the drivers you need, instead choose the plain Radeon option, and simply get the drivers which are the closest equivalent for your GPU.
Now the fun part.
Run the driver installer. The first step the installer takes is to extract/unpack itself, which is all we need at this stage. Pay attention to the folder it extracts to, because we need this info for the next step. When extraction is complete, the installer will display the installation window, waiting for you to continue. Instead, cancel the installation, because we're gonna make some modifications first...
Run the modtool, and browse to the driver extraction folder. Click on the 'Modify' button and let the tool do its thing. It will probably take a few minutes. When it's finished, close the tool and, using an Explorer window, browse to the extraction folder. Run the Setup.exe to begin installation of the modified drivers. You may get a 'Driver is not WHQL certified' message, (this is a side effect of the modification) just ignore it and proceed with the installation.
The end result, (after switching shaders to full instead of simple and using a Griff cobby to show off the shaders), looks like this:
A list (current as of 24 Jan 2010) of supported GPU's for ATI and NVIDIA follows: