Fans of Star Wars Knights of the Old Republic (KOTOR for short) will know: getting this game working on a modern PC is a pain in the ass.
Ever since the first game came out in 2003, KOTOR has been plagued by technical issues on all platforms, and its sequel was even more problematic. This post from a frustrated user in 2005 pretty much sums up the whole situation:
The same problems reported by users in 2003 (especially ATI users) can still be found today on KOTOR's Steam and GOG forums, and over the years, I've seen absolutely every problem imaginable: random crashes, artifacting, game not launching, poor performance, corrupted saves; you name a technical issue and KOTOR is guaranteed to have it.
Despite these issues, KOTOR is a fantastic game: it's one of the best RPGs of all time and without a doubt the best Star Wars game ever made (and ironically enough, there are almost no bugs in the game itself, only the engine is flawed). For this reason, the idea of building a PC specifically for KOTOR has been on my mind over the last few years.
I won't delve too deep into the technical issues that KOTOR has on different hardware combinations because that would require several articles to explain, but I will list my requirements for the game to be considered playable:
In this article I will be referring to KOTOR and the 2005 version of KOTOR 2 (the 2015 Steam re-release removes several graphical effects and EAX so it's inferior to the original). In other words, I will be talking about the version of KOTOR and KOTOR 2 that you can currently buy from GOG as of February 2020.
Now that this lengthy introduction is over...
My first idea for the KOTOR Machine was to build something like the PC that I had around 2006-2007: an Intel Core 2 Quad Q6600 with an nVidia 8800GTX, an Audigy 2 sound card, Windows XP and a mechanical hard drive (seriously, don't use SSDs on such old systems). I already had the graphics card, the sound card and the hard drive so I ordered an ASUS P5B motherboard, a Q6600, and 4GB of DDR2 memory from ebay, for 45 euros.
While I was waiting for everything to be delivered, I took apart the 8800GTX to give it a thorough cleaning and apply new thermal paste. Once everything was delivered, I quickly put together the system in a cheap case and installed the OS to test it.
Sure enough, KOTOR worked and was very playable, except for one thing: the system was very loud, and hot, with temperatures up to 85-90c while playing. Now I remember why I watercooled my PC in 2007. This was not optimal, and most importantly, it subjected 14 year old hardware to thermal stress. The search continued.
A few days later, in a surprising turn of events, while I was going for a walk, I found a desktop PC abandoned on the side of a road, complete with mouse and keyboard. My first thought was "what kind of terrone leaves a PC on the side of the road when you can have it recycled for free?", but as I got closer to it, I saw the stickers: "Olidata", "Designed for Windows XP", "AMD Athlon 64". The Force was with me.
I brought the poor PC at home and opened it to see if it was wet or visibly damaged, and apart from being very dirty and having a spider nest behind the front USB cover, it was fine. Luckily, the spider was long gone.
I decided to turn on the machine to see if it worked, and it did, but most importantly, the previous owner did not wipe the hard drive before illegally dumping the PC on the side of a road, so all of her data was still there and I was able to get an idea of the history of this PC: it was purchased from Olidata in October 2006 to control some kind of industrial equipment (a serial port was added on the back of the PC), and was used until around 2017, when someone who worked in that company picked it up and used it at home. On the hard drive I found information about her, pictures of her family and her 2 daughters, their homework, credentials for several websites, and more. Alessia, if you're reading this, next time you should learn to wipe your data from your devices before illegally disposing of them, because I have reported what you did to the local police department, and there were cameras in the area to prove it, and you're about to pay for that officer's 2080ti.
This is what was inside the exile:
With the exception of the graphics card, this seemed to be the perfect PC for KOTOR: 2005 hardware, single core, fairly powerful, runs XP, and has expansion slots for our graphics card and sound card.
The GeForce 6150 isn't really fit for anything newer than Quake 2 so we need to add something decent. The motherboard has a PCI express slot and with nVidia still supporting KOTOR to this day, we can install any nVidia card that supports XP and is powerful enough to run KOTOR.
My first choice was an GeForce 9600GT from 2009: I've had this card for ages and I use it to test PCs. While the game works perfectly on it, it was really pushing it to its limits and with its TDP of 105W without external power connectors, I didn't want to damage the motherboard by drawing too much current.
I went to a garage sale and picked up an GeForce GT640 from 2012, the Zotac Zone Edition with 2GB of GDDR3 memory, passively cooled for 39 euros (not the best deal, I know). It was a bit beat up but after some cleaning and repasting, it was as good as new.
To be fair, this card is like 5 times faster than what KOTOR needs, which is perfect because the TDP is already low (65W), and with the GPU usage also low, it's going to draw very little power and extend the lifetime of the entire system. Also, this allows us to play with HD mods without losing performance, since we're going to be bottlenecked only by the CPU.
I then added a Creative Audigy 2 sound card from 2002 in one of the PCI slots, which supports up to EAX4. I was quite surprised by how good this thing sounds, it's noticeably better than my desktop's onboard sound despite being 17 years older. They really don't make them like they used to *sips monster ultra*.
It was time to replace that hard drive. The Maxtor DiamondMax 6 isn't exactly known for being reliable, so I replaced it with a 2014 250GB WD Re that I salvaged from a server. Note that I did not put an SSD in it, and there's a reason why I did not: there's a limit to how many times you can rewrite the same cell on an SSD, and SSD controllers rely on a technology called TRIM to know which cells are used and which ones are free, so they can run some sophisticated wear leveling algorithms when you write to the same logical sector multiple times. The problem is that TRIM was added in SATA3 and this is a SATA2 motherboard, and without TRIM, the drive can't do wear leveling, and modern SSDs have really shit TLC memory that dies if you rewrite the same cell 1000 times, and KOTOR extracts and deletes a bunch of temporary files to the hard drive at every area transition, which means that KOTOR would kill the SSD in 1 or maybe 2 playthroughs.
Finally, that disgusting case had to go. My first idea was to get something from around 2005, but there really wasn't much on ebay, and the few cases that were in good condition would cost me more than a new case. Fortunately, since the motherboard is Micro ATX, which is still a common form factor today, we have plenty of modern cases to choose from. I settled for a Cooler Master Q300L, not the best case but pretty good for the price of around 40 euros, good looking and easy to install. I definitely recommend this case for a budget build. I also had to buy a USB3 to USB2 adapter for 3 euros though, to get the front USB working. Unfortunately, the case has the power supply mounted at the bottom, and the cables from the original power supply were too short to reach the 4-pin connector near the CPU, so I had to use a modern PSU, a Corsair VS550; not the best PSU but considering that this system draws 100w under full load, it's good enough. Another 40 euros.
And this is what the finished build looks like:
The system worked perfectly fine, but there were some issues that I wanted to fix:
After doing some research, I discovered that the ASUS A8N-VM/PVG is Olidata's custom version of the ASUS A8N-VM/CSM, so I downloaded the original BIOS, saved the Olidata one just in case, and tried to flash the new one with AFUDOS. Unfortunately, it did not want to cooperate, saying that this was the wrong motherboard. After force persuading AFUDOS with a disassembler, the BIOS was flashed, the system rebooted, and we now have the original BIOS with all the settings unlocked, including overclocking.
If you happen to have one of these motherboards and you want to upgrade the BIOS, here is the modified AFUDOS and the latest BIOS for it. You're doing this at your own risk, of course.
With the unlocked BIOS, I decided to try overclocking the CPU to see how much free performance we could get out of it. The only setting that we can change is the FSB, which can be set to anything between 200 and 240MHz; the multiplier is locked at 11x. The highest stable FSB clock was 225MHz, which gives us a nice 12.5% boost in performance without increasing the voltage and risking damage to the old hardware.
So now our CPU went from 2.2GHz to 2.5GHz, and our RAM went from 400MHz to 450MHz. This noticeably improved performance in KOTOR.
The OS I chose to install was, of course, Windows XP. The version I installed is based on Windows XP Professional SP3, with all the POSReady updates (in case you didn't know, Microsoft quitely supported XP until April 2019). After installing the OS and the drivers, I stripped down the OS as much as I could and now it uses less than 100MB of RAM while idle. This slightly improved the performance of KOTOR.
I then decided to put this thing online just to see how it handles the modern web. The only browser that still supports XP and isn't absolute botnet is MyPal, which is a fork of Pale Moon, which is a fork of Firefox. With this browser I was surprised to see that this machine was still perfectly usable for web browsing, and thanks to the GT640's hardware decoder for h264, I was even able to play 1080p video without problems. The only bad thing I can say about this browser is that the font rendering is disgusting.
Note that it is generally a bad idea to use XP machines online, since you're exposed to all sorts of exploits, but as long as you stay away from sketchy websites, you'll be fine.
For media playback, I installed MPC-HC, my favorite media player for Windows. The last version that supports XP is 1.7.13, which is almost 3 years old now, but still plays all the modern formats. The modern fork of MPC-HC requires Windows 7.
I did not bother with LibreOffice, since it's very heavy for this machine and XP support was dropped a while back. I don't need an office suite on it anyway.
Yes it can, and it's very playable and enjoyable. I played through both games on this machine.
On the machine I have 3 installs of each game:
I don't use mods that alter the game's look and feel, only bug fixes, and play in 1280x1024 resolution.
For KOTOR 1:
For KOTOR 2:
This is my friend Sergio playing KOTOR for the first time:
Performance in both games was overall good, with both games running at 40-60 FPS most of the time, but dropping to around 20-40 FPS in areas with a lot of NPCs. The worst area by far is the Jekk Jekk Tar in KOTOR 2, where it can drop below 20 FPS.
KOTOR, and especially KOTOR 2 are extremely CPU bottlenecked. The develoeprs say that the minimum CPU for this game is a 1GHz Pentium 3, but there is no way in hell this game would be playable. Maybe some day I will test this. For reference, the CPU in this machine cost around 350$ when KOTOR 2 came out.
All modern benchmarks don't work on XP so I had to go back a few years and use Cinebench R11.5 to get some numbers and compare it to a modern machine.
Yes, the old Athlon 64 gets humiliated by a modern CPU (no surprise here), but this old machine can run XP, while the 9900k can barely run Windows 7.
As for thermals, thanks to the nice aftermarket cooler that Olidata installed on this machine, temperatures remained well under control. This is a very cool machine.
Note that this machine is very CPU bottlenecked so this GPU might get hotter on a newer system,
I have no way to measure the noise levels, but I can say that the machine is definitely audible, but not loud: you can't hear it while playing.
Finally, power consumption:
Overall, the machine was very stable and cool even while overclocked, and I'm quite happy with it.
And no, it can't run Crysis, no matter how much you overclock it.
I had a lot of fun bringing this PC back to life and giving it a new purpose, and of course I enjoyed playing KOTOR for the billionth time to test it.
If you haven't played KOTOR, do it before it becomes completely impossible to play it, it really is a great game and possibly the best thing that ever came out of Star Wars. I will share this machine with my friends so they can play it too.
If you're curious about Olidata, it's an Italian company that started out as a software house in the 80s, made a fortune selling computers in the 90s, and was bought out by Acer in 2010. Today, their brand is slapped on cheap laptops and is not exactly doing any favor to the reputation of "Made in Italy".