Playing Ultima Online on modern Linux is rather simple but requires a few extra steps compared to Windows. Ultima Online is a Windows program and running it on Linux requires a tool called Wine to function which is freely available to everyone running Linux or any other supported system. You can run Ultima Online on Mac OS X with Wine but the installation steps are quite different and are not covered in this guide.
Installing Wine on different Linux distributions varies a lot. This page covers the most used distributions and assumes you have downloaded the Second Age client package. The tested Wine version is 1.4.x series which is the most widely used stable branch currently. Older Wine versions may or may not work and certainly are not recommended for smooth play.
Additionally, the latest 1.7.x development branch has been tested and it has some benefits over 1.4, most notably in UOAM housing on the map has transparent background as they should instead of black boxes.
There are no known blocking issues when playing on Linux. Tested and supported third party tools include Razor and UOAM. Ventrilo should work but might have problems with key bindings. It would be preferred and recommended to use Mumble instead as it has a Linux client in your distribution packages and is free software unlike Ventrilo.
- 1 System Requirements
- 2 Installing Wine on Debian based distribution (All Ubuntu variants, Linux Mint, CrunchBang etc.)
- 3 Installing Wine on Fedora based distribution (Red Hat Enterprise Linux, CentOS, Scientific Linux)
- 4 Preparing Wine on 64 bit systems for Razor
- 5 Preparing Wine for Razor
- 6 Razor title bar counters
- 7 Installing Ultima Online
- 8 Playing with multiple clients at the same time
- 9 Performance tips
The game runs very well on a dual core system (Core 2 Duo for example). UO graphics are not accelerated in any way as long as the GPU itself has proper drivers that accelerate drawing 2D elements. Any Intel, Nvidia or ATI/AMD should work fine with the stock open source drivers.
Using a single core CPU might cause some additional lag on Linux you wouldn't have on Windows because of the overhead and some optimization issues Wine adds.
Installing Wine on Debian based distribution (All Ubuntu variants, Linux Mint, CrunchBang etc.)
All of the tasks to install and configure Wine are to be done in a Terminal Emulator application. On Xubuntu, you can find it from your Applications Menu under Accessories.
You can use your distributions graphical package manager to install the required packages but this guide uses the cli tools as they are consistent between all variants. This guide also expects you are the system administrator which usually means you use the account which was created during installation. Xubuntu 12.10 and Linux Mint 14 were used to test this installation process.
When you use sudo command the first time, it will prompt for your password so make sure you have it before continuing.
First, install wine, winetricks and cabextract packages. Last two are essential to install Razor properly.
$ sudo apt-get install wine winetricks cabextract
Installing Wine on Fedora based distribution (Red Hat Enterprise Linux, CentOS, Scientific Linux)
Note: If you're using CentOS or other Enterprise Linux derivative, you need to enable the EPEL repository first to install Wine.
All of the tasks to install and configure Wine are to be done in a Terminal Emulator application. On latest Fedora with GNOME 3 desktop, search for "Terminal" in the Activities search box.
Change to superuser with
$ su - first. Then install Wine with
# yum install wine. winetricks is not packaged on Fedora and instead you need to download the script separately. More information on installing winetricks manually from the WineHQ wiki winetricks page.
Preparing Wine on 64 bit systems for Razor
Wine defaults to multiarch which makes it run like Windows Vista and 7 does on 64 bit systems. However, it breaks .NET 2.0 installer so it is essential you run the following command first to bootstrap your Wine installation
$ WINEARCH=win32 wine notepad
After you have a nice notepad running, you can close it and continue to next topic. That's all there is to it. If you fail to do this .NET 2.0 will not install and you won't be able to run Razor.
Preparing Wine for Razor
This is an optional step required to run Razor properly on Wine. Razor is written in C# which requires a runtime to be installed for programs written in it to work.
Open up your Terminal Emulator application again and run the following command to start the installation of "Microsoft .NET 2.0 Runtime".
$ winetricks dotnet20
When you run this command the first time, winetricks will open your web browser to a download page of dotnetfx.exe. Download the file and save it to default download location. After the download has finished, move the downloaded file to the directory that was automatically opened in your File Manager.
After you have moved the file to proper location, continue by running the first command again.
This will start the installation of the runtime. Just complete the wizard like you would on Windows.
Fixing Razor text display
There is a bug in Wine that prevents Razor from rendering labels on buttons and such correctly. To overcome this issue, you can use winetricks to install a native Windows dll.
First, you need to install cabextract package
$ sudo apt-get install cabextract
And after that the fix itself
$ winetricks gdiplus
When you run this command the first time, winetricks will open your web browser to a download page of NDP1.0sp2-KB830348.exe. Download the file and save it to default download location. After the download has finished, move the downloaded file to the directory that was automatically opened in your File Manager.
After you have moved the file to proper location, continue by running the first command again
After the installation has completed (it doesn't prompt for anything and is quite fast) Razor should work perfectly.
Razor title bar counters
By default, Wine does not draw the window borders itself and lets the window manager decide the style and shape of window borders, including title bar. This prevents Razor from drawing the counters in the game title bar.
To make Wine draw its own window borders, run
winecfg in your Terminal Emulator or search for Configure Wine in your Applications Menu. Select the Graphics tab and untick Allow the window manager to decorate the windows.
Installing Ultima Online
At this point, you should be able to just double click UOSA_Client_Setup.exe to install the game. For best results, install only the 8.3 version of UOAM.
If double clicking will just open the setup file in an archiver or does nothing, right click on it and select Open With -> Wine Windows Program Loader.
Playing with multiple clients at the same time
You can just start many clients like you would on Windows from the same installation path.
However, the most effective method to multi is to make many separate installations of Ultima Online in different Wine root directories. This completely encapsulates running UO instances so they all have their own Razor and UOAM which will never collide or attach to wrong client.
To do so, prefix all your wine or winetricks commands above with
WINEPREFIX=~/.wine2 and so on to create separate Wine installations.
Multi client installations don't work well with the Applications Menu and you need to start these from the Terminal Emulator.
WINEPREFIX=~/.wine2 wine C:\\Program\ Files\\Razor\\Razor.exe to start Razor from your second UO install.
- Disable Razor "Use smart CPU usage reduction" while you play, it causes additional lag on Wine
- Enable "Reduce display framerate" in UO settings to improve mouse responsiveness if you play in high resolution and you have any mouse lag, the only thing this affects is the framerate of dragging gumps
- Always have "Run mouse in a separate thread" enabled
To macro efficiently using the least amount of CPU resources, you can enable Razor CPU usage reduction with "Reduce display framerate" set in UO and finally resize your game window to a postage stamp and minimize it. This makes the game use less CPU cycles and on a Core 2 class CPU client.exe will use below 10% of CPU time at best.