Finally! Linux users who play AO can now
rejoice for it is possible to play the game from Linux!
Here is the screenshot that marked the
beginning of it all. Currently, the only way to run AO is to
patch Cedega CVS. The AOLinux project is the result of many weeks of
dedicated work. I hope that you will find it useful. Stop by #cedega on
irc.freenode.net and say hi. It's also not a bad place for
unofficial help with Cedega in general.
The thread on the official Anarchy Online forum is:
https://forums.anarchy-online.com/showthread.php?s=ca37658c2cc55312eec5c6e6fa7da980&threadid=321249
https://forums.anarchy-online.com/showthread.php?s=ae4970ba5a7c5de64fb436662d5879b5&threadid=320124
On the Transgaming forums:
http://transgaming.org/forum/viewtopic.php?t=640
Disclaimers: This howto including images and patches are copyright 2004
Marius Grigoriu. Not responsible for breaking your Cedega install or
other damage to your PC or data. Your mileage may vary. Certain
restrictions apply. If you wish to duplicate anything from this howto
please contact me for permission at:
marius csh rit edu
@ . .
Step 1: Download InstallAOCedega.sh
Thanks
to ElmerFudd from #cedega for making this. It is based on WineCVS.sh
and works very similar. Check out the
Cedega
CVS howto for general info about getting setup. InstallAOCedega
will grab the latest source available on CVS and automatically apply
all of the newest patches released by me. It is a great tool to stay
current with all the updates.
Always run, as root:
sh InstallAOCedega.sh upgrade
Once
InstallAOCedega has completed for the first time, you need to run
aocedega as your normal user to generate ~/.aocedega/ directory to
complete the install:
aocedega
If you don't want to use this script, you can get the
patch list
and apply them yourself. The rest of this howto will assume that Cedega
has been installed to the default location with InstallAOCedega.sh
Step 2: Install Anarchy Online
The easiest way is to just copy your AO directory from your Windows
drive into the Cedega CVS C drive. By default, this location is ~/.aocedega/c_drive/
It is beyond the scope of this howto to explain the procedure for
mounting your Windows drive and copying your data over.
The other method is to pop your game CD in and run the installer, or
use the downloader. Since Cedega CVS does not have the licensed
InstallShield components that the official binary package does, it
might not work. If you cannot copy the game off of your Windows
driver or send it over the network to yourself, your best bet is
probably to get the Cedega 4.0.1 from Transgaming to install, and copy
AO from the Transgaming_Drive to the Cedega CVS drive.
Step 3: Download and install Microsoft
Visual C Runtime Library
Note: Not all versions of
msvcrt.dll will work. This is the file that is packaged with Cedega
4.0.1. Redistributing with permission.
Download msvcrt.dll and put it in ~/.aocedega/c_drive/windows/system32
Step 4: Run Anarchy Online for the
first time and setup
Go to your new AO directory. Run the game.
aocedega anarchy.exe
ATI users: When it comes time
to select the driver, choose the T&L HAL. The
other one does not seem to work.
Windowed mode might not work for you.
The intro movie used to work, but
not now.
Step 5: Have fun!
Now you can play AO in Linux too!!
Troubleshooting:
The loading screen shows, it freezes
before into music is played!
You are probably using the ALSA sound driver. I have had much better
luck using OSS. Edit your ~/.cvscedega/config
so that it looks like this under the WinMM section:
;"Drivers" = "winealsa.drv"
"Drivers" = "wineoss.drv"
Sometimes
there is a short screech right before the game loads then nothing
happens!
See the the issue above.
After I select a character my terminal
gets flooded with fixme:msvcrt:__CxxFrameHandler... !
The
file msvcrt.dll is not installed in a location that the game can find.
Make sure the filename is correct and that its readable, etc. Its
easiest to just put the file in your AO directory right next to
anarchy.exe
Timeline
(for historic purposes):
- Pre-Jan 2004: Nothing works. Cannot even open login window or use
the downloader to get the game.
- Jan 15: Started work on AO in Linux. Submitted patch that
implements an API to enable the downloader and patcher to function.
- Jan 17: Sent a patch that fixes a problem with OCX controls in
dialog windows. Login window works, but no html rendering.
- Jan 23: Patch to mimic Microsoft weirdness that AO was strangely
dependent on. Fix allows login app to launch clientr.exe
- Jan 27: Workaround for ATI driver bug.
Able to login indoor playfields only. Ingame
objects not loaded. Example
- Break from AO
- Aug 7: Fixed incomplete API to allow ar.dll's ObjectArchive to
find the create function necessary to instantiate game objects. Indoor
playfields work perfectly.
- Aug 8: Fix to conform to a somewhat undocumented feature of
DirectDraw where a chain of mipmaps is created even if the mipmap count
is not specified. Able to zone into outdoor playfields and run around.
Massive texture corruption on all mipmap levels > 0.
- Aug 9: Fixed problem in mipmap implementation. Mipmapping works
indoors and out. AO stable enough to say Hello World from Linux. Said
hi to an ARK.
- Aug 10: Announced to official Anarchy Online forums.
- Aug 12: First AO Linux HOWTO released
- Aug 18: Fixed infinite loop in d3dgl preventing some people from
playing the game
- Aug 22: Wineserver request fix to allow ClickSaver to find AO window
Credits:
- Thanks to the Wine project
for laying the foundation for everything.
- Thanks to Transgaming
for focusing on the needs of games
- Extra special thanks to Pete H from Transgaming for answering my
noob questions about debugging wine.
- ElmerFudd for a wonderful script to handle all of the details of
applying patches and compiling