|Playing ancient games in Linux
||[Nov. 22nd, 2014|11:33 pm]
Wow, it's been a while since I posted here. There is no permanence in the world any more!|
Anyway, I love playing ancient games. The very best never seem to get old for me - I even loaded up Druid2 yesterday in a Commodore 64 emulator and tried to get some kind networked "joysticks" going - but it was not to be. Seems I might have to write that myself if I want it and the code doesn't look as simple as I expected it to be.
So today I had a look at installing a more modern Druid2 - Icewind Dale 2. I have the whole Forgotten Realms "deluxe edition" which is Baldur's Gate, Icewind Dale and Neverwinter nights and all their expansions and sequels. And I've never played most of them.
So this presented a challenge: run a copy protected 12 year old Windows game on a modern *Linux* machine - without a CD/DVD drive. In case you are one of the 5 people in the world wanting to do the same thing, this is how I did it:
1. First I had to get the copy protected CD's into a portable format. For this I installed cdrdao and used that to read the sub-sector information on the disk. Without this you just get read errors when copying the disks. This was the command I used for the first disk:
cdrdao read-cd --read-raw --paranoia-mode 0 --datafile icewind2_1.bin --device /dev/sg1 icewind2_1.toc
2. Next I had to mount these bin files. CDEmu to the rescue! The PPA is here: https://launchpad.net/~cdemu/+archive/ubuntu/ppa. I installed gcdemu which let me click on the tray and choose a bin file to mount. For unmounting use the files application and hit eject.
3. Next I installed Play-On-Linux which has a database of versions and configurations for the Wine windows not-emulator and quite often lets you just pick a game and install it. I chose "GOG.com Icewind Dale II Complete". Next I had to mount and unmount and remount the CD images with gcdemu as the installer processed them. Don't get the installer to run anything post-install and don't install Direct-X.
4. Now a little post-setup. These games don't seem to work in full-screen mode, perhaps because I use Gnome 3. In any case they work well enough if I turn on "emulate desktop" in Wine. In play-on-linux choose the game -> configure -> Wine -> Configure Wine. Graphics -> Emulate virtual desktop -> 1024x768. While there go to drives and connect E: to where gcdemu mounted disk 2. Mine was /media/leslie/IWD2 D2.
5. You probably also want (in play-on-linux) configure -> Miscellaneous -> Run a .exe -> (browse to the install directory) -> Config.exe. This will let you crank up all the settings to the max and also "unlock" 1024x768 resolution. If you don't know where its installed, choose "Open program's directory" and press Ctrl-L to see where it is.
6. Now you should be able to mount disk 2 with gcdemu and start the game with play-on-linux. If the installer just waits for disk 2, make sure your E: drive is mapped to the disk as I said above and perhaps unmount with files and mount again with gcdemu.
7. In the game itself scrolling is a pain because of window mode. I go to in-game settings and put keyboard scrolling speed at max. This lets me scroll with the arrow keys at a reasonable rate. Better solutions welcome!
There, so easy right? And so far it seems to run really well.
1. I noticed that no matter whether I tell Wine or Icewind Dale to use a window or full screen, it uses a full screen if I first change my screen resolution to 1024x768 using the display program. This allows for easy scrolling. Sometimes the game seems to start "behind" the desktop and I can't click on anything - then I alt-tab back to play-on-linux and close it, which closes the game too. Restarting normally starts things up properly again.
2. If I clicked on other windows during the install process, all graphical hell would break loose - so try to avoid that.
3. TCP/IP multiplayer works great - just go to play-on-linux's configure -> install components and install DirectPlay first.
4. I got Baldur's Gate II (Shadows of Amn) working similarly except that I had a DVD for that so cdrdao would not copy it. I tried ddrescue but it produced .iso files that had I/O errors when trying to read Setup.exe once the iso was mounted - I don't even know how that's possible. In the end I used k3b to copy it to a .iso that seems to have worked. I selected "ignore errors" and "no error correction". Again, multiplayer started working after DirectPlay was installed.