AMD FirePro W4300 (and W5100) in Windows XP
February 12, 2019Preamble
Sure, it’s always an option to run Windows XP in a Virtual Machine, but it doesn’t really feel authentic. There is a nice peace when working directly in a dedicated Windows XP system; in particular, speed. Most applications consume less than 20MB of RAM, there is not too many services running in the background, and social media / OS tracking is not existent. But frankly, it just reminds me of better days of Quake, Slashdot, IRC, and classic WinAmp skins.
While modern computers (i.e. post ~2015) are extremely unlikely to be able to run XP (NVME and BIOS compatibility, etc.); I think the tipping point of the best Windows XP build (performance and native hardware compatibility) is around 2012 - notably with the Dell Optiplex 7010. It is available in a SFF (small form factor) and supports a crazy i7-3770k at 4-core 3.5Ghz (3.9Ghz Boost) and 32GB DDR3 of RAM. This is wild since my XP build in 2001 (20 years ago) was only single core 600Mhz with 512MB of RAM and was a crazy expensive system at the time.
Note the “k” in 3770k means it is unlocked and overclockable; however, after a lot of digging, this seems pretty much impossible on the Optiplex 7010 due to BIOS limitations - unless someone develops a custom bios for the board at some point, which is highly unlikely given the age of the system.
Up until getting a new Dell Optiplex 5080 in 2021, this Optiplex 7010 was my Windows 10 daily driver; it is wild to think this system can support an OS as old as Windows XP and continue to be a daily driver in Windows 10, with no discernable performance issues (gaming experiences aside).
AMD FirePro W4300
However, when my new Optiplex 5080 arrived, I decided to keep the Optiplex 7010 as a dedicated XP machine. The only specific issue I had was my upgraded video card which is an AMD FirePro W4300. It is a CAD workstation card, low profile, 4GB DDR5, 4 mini-DP output, and relatively good performance to this day - but alas, not exactly plug and play XP compatible. It just barely missed the timeline for retaining Windows XP support through traditional vendor supplied MSI installers.
That is until I did a lot of experimentation….
I noticed that the W4300 has a GPU named “Bonaire”, which got me curious if there was another video card with a Bonaire GPU that may have “made the cut” with Windows XP support, and maybe I could trick the system.
The website Tech Powerup has a great database of video card specs.
-
Here is a spec sheet for my AMD W4300 [Here] (https://www.techpowerup.com/gpu-specs/firepro-w4300.c2781)
-
Clicking on Bonaire reveals the other video cards with the [Bonaire GPU] (https://www.techpowerup.com/gpu-specs/amd-bonaire.g568)
I noticed the R7 260 also has a Bonaire GPU, and, luck behold, has native Windows XP support from AMD! (Note, you can also see the stronger W5100 is Bonaire architecture as well.)
Now it is just about doing some driver trickery to get it recognized.
- The last Windows XP compatible AMD Catalyst driver pack I could find is hosted on my server [here] (http://chipnetics.com/files/winxp/13-12_xp32_dd_ccc.exe) for preservation.
- Unzip the exe after downloading (do not run it). This will reveal the internals of the exe and folder structure.
- !!! Be sure to unzip to root drive C:\ and that there are no spaces in the folder structure. Seems the installer hates spaces.
- Navigate to \Packages\Drivers\Display\XP_INF in the unzipped folder.
- Open CX167026.inf in Notepad.
In Device manager, find the Vendor (VEN) and Device (DEV) ID string by selecting “Device Instance Id” from the dropdown. Naturally, Vendor is 1002 (indicating AMD), Device ID is 6649 (for the W4300, also the W5100). Mostly this is just validating your video card is indeed a FirePro W4300 or W5100…..
In the CX167026.inf look for the line with DEV_665D, this is the device ID for the R7 200 series of graphics cards, which shares the Bonaire GPU architecture. This is where we will change the DEV ID to match the W4300.
Simple change from 665D to 6649 is given below. This is all the installer checks when it comes to marrying vendor and device ID to see if a driver is compatible with the target hardware. There’s really no sophisticated “device compatibility” voodoo outside of this string-matching exercise when an installer installs a driver.
That is it! Save the file and run the Catalyst installer. If you do not want the Catalyst software suite installed, you can right click on the INF and Install the driver. Alternatively, you can do the “Update Driver” method in system settings and manually search for the INF. There are reams of INF install materials already on the internet, so not going to repeat it here. I assume most users know how to install a driver if you are even reading this to begin with.
If you are using MicroXP distribution (such as me), I ended up not using the Catalyst installer, and installed the .inf using “Have Disk”. Again, it is critical for the path to have no spaces (i.e. placed at root of C:). I then manually installed .NET 2.0 from \Packages\Apps\dotnetfx\dotnetfx\dotnetfx.exe, and then the CCC (Catalyst Control Center) by manually running \Packages\Apps\CCC\Core-Static\ccc-core-static.msi. You may be prompted to find ksuser.dll and ks.sys; manually navigate to find ksuser.dll in C:\WINDOWS\system32 and ks.sys in C:\WINDOWS\system32\drivers. I’m not positive if it matters, but I think AHCI and/or Network drivers be installed first as well - .NET seems to depend on a network driver being installed. Another handy tip, if you’re using MicroXP, driver signing check is disabled by default; which is nice, but sort of makes you unaware of things happening/failing/succeeding. You can change this to be a warning prompt with the following registry edits:
- Go to Start -> Run -> regedit.exe
- Look for: [HKEY_CURRENT_USER\Software\Policies\Microsoft\Wind ows NT\Driver Signing]
- Change the BehaviorOnFailedVerify key value to “0” for ignore, “1” for getting just warning mesage and “2” to block completely.
After the driver has been installed, your AMD FirePro W4300 (or W5100) will appear as a Radeon R7 200 Series graphics card. Catalyst will let you adjust all the settings as you normally would, and I have run into zero compatibility issues whatsoever.
You now have a 4GB DDR5 graphics card running in Windows XP! And to think, when Windows XP came out, most computers were 32MB graphics cards!