[ Disclaimer, Create new user --- Wiki markup help, Install P99 ]
EverQuest in Linux Guide
This page needs to be rewritten as there is many old and new ideas on this page which conflict.
Contents |
Introduction
This guide, which is based on countless hours of research from numerous valiant contributors in the main forum, will walk you through the process of getting Project 1999 EverQuest working under Linux. The original version of it was compiled by forum user mgellan, and all Linux users should be grateful for his effort.
Distribution Note: Debian or Ubuntu System Recommended
While EverQuest can be run under any major Linux distribution, a Debian-based distribution is recommended for this guide. Previous contributors to this guide strongly recommended Linux Mint. This was simply because many existing Linux EQ users used Linux Mint when writing their instructions, and the commands to install new packages are Debian specific (ie. they involve the apt-get
command).
Any distribution that can install Wine can install and run EverQuest in Linux.
One of the page editors uses Arch Linux. As long as your get the required packages installed, most of the wine instructions will work.
If you are using a Red Hat based distribution instead please see the EQ under wine (Fedora LINUX 14+ 32 or 64bit) guide.
Use the general Project 1999 Guidebook as a supplement to this Linux guide https://www.project1999.com/forums/showthread.php?t=2651
Pre-Installation
Installing Drivers
There currently is an open-source driver for DirectX to Vulkcan. The package name is DXVK. This can be used in a system that also has Mesa installed for their graphics system. In order to use Mesa, you will need an open-source driver for your GPU, AMDgpu or Nouveau. Please check the Feature Matrix to see if your GPU architecture is supported.
--- Nvidia Only, Nouveau Feature Matrix Link.
--- AMD Only, AMDgpu Feature Matrix from Gentoo Wiki.
Once the graphics subsystem is installed please proceed to installing WINE and possible test your graphics to make sure it works.
Optionally there is the Closed Source drivers which you can download and install from your vendors website.
Installing WINE
WINE (Wine Is Not an Emulator) is a program which allows you to run Windows applications from within Linux. However WINE does not normally come installed with Linux distributions, so you need to install it with the following command:
---Debian based---
sudo apt update && sudo apt upgrade && sudo apt install wine
---Red Hat Based---
sudo dnf update && sudo dnf install wine
or (depending on the age of your distribution)
sudo yum update && sudo yum install wine
---Arch Based---
wine is in the multilib package database, which is enabled in /etc/pacman.conf
sudo pacman -Syu wine
wine is also in AUR, and has substantial compile time
---OpenSUSE Based---
sudo zypper refresh && sudo zypper update && sudo zypper install wine
CAUTION: If you are having issues with the installation above, see official WINE download page for more information on proper installation. Click here --> [1]
Particularly for Ubuntu/Debian you may have errors. From the official WINE downloads page it states: Although Ubuntu/Debian offers its own Wine packages, these are often several versions behind.
Optional: Configure WINE
While this shouldn't be necessary, if you wish to customize your WINE configuration you can do so with the following command:
winecfg
WINE win32 configuration
Some users report that only a win32 configuration of wine will work with Everquest Titanium. To achieve this on a 64 bit system first change your old .wine folder name to something else such as `mv .wine/ .wine64/` then set your configuration to win32 using `WINARCH=32 winecfg` which will automatically recreate your .wine folder in win32 mode. Proceed normally from here as you would with a win64 setup using the .wine folder.
MIDI configuration
This application requires the use of midi files. Some users will see this error:err:winediag:MIDIMAP_drvOpen No software synthesizer midi port found, Midi sound output probably won't work.which indicates a midi playing application is not working on your device. Some options include fluidsynth and timidity.
Installing EverQuest
This step can be performed two different ways depending on whether you have an installed EverQuest copy or just the installation media.
Using an Existing Installation
If you have access to a copy of an EverQuest installation, (eg. from a previous Windows installation) you can simply copy those files to somewhere on your computer. You can copy them into WINE's pseudo-Windows file structure.
-
/home/*yourname*/.wine/drive_c/Program Files/Sony/Everquest/)
- NOTE: The
.wine
directory will be hidden by default, but you can reveal it withCTRL + H
- NOTE: The
After that you're done.
Using the Installation Discs
Install from CDs (or ISO images of those CDs) should work fine:
- insert the first Titanium installation CD into the drive (or mount the equivalent ISO file) and it will pop up as a CD icon on the desktop
- Double-click that CD to open it
- Double-click on setup.exe to run setup (it should be run using WINE automatically).
- Proceed through the setup (see the Everquest Titanium Installation Guide) using the first CD as normal
- When you are finished with the first CD you will need to run the following command from a terminal window (
CTRL + ALT +T
to open one) to eject the disc:-
wine eject d:
- The above command is needed because LINUX tends to want to mount CDs as filesystems, and resists unmounting them if they're in use to avoid various problems. Wine eject gets around this.
-
Post-Installation
Fixing EQClient.ini
After the installation if you have trouble with the default eqclient.ini
file that is generated, and also are unable to change your options via the in-game options menu, you may wish to replace your eqclient.ini
with the Linux Reference eqclient.ini File, which has been reported to work for other users. If you cannot get past the character selection screens, or you do but Norrath is jacked up, use this file but adjust the following settings to fit your machine . If you do not and try to change them in game the screen may go black.
[VideoMode]
Width=1920
Height=1080
FullscreenRefreshRate=0
FullscreenBitsPerPixel=32
WindowedWidth=1920
WindowedHeight=1032
Patching in the Project 1999 Files
At this point you will need to patch your installation with the files provided by Project 1999, the same way you would on Windows. Download the latest patch file from [2], un-zip it, and copy/paste the files into your EverQuest installation folders. Do not copy/paste them all at once. Use the folder paths to know where to paste the individual files. If you paste entire folders you will replace entire folders, not merge them. This will cause "Error in your GUI XML files" and similar errors later when you try to play the game.
Linux file names are case sensitive, Windows file names are not. The following Project 1999 file names (V53), released 1/19/20, do not match the EverQuest Titanium installation files exactly so they must be renamed so that they will replace the installation files when you paste.
Project 1999 Files (V53) /Resources/loadscreen.jpg vs installation file /Resources/loadscreen.JPG
Project 1999 Files (V53) /dsetup.dll vs installation file /DSETUP.dll
If you log into a Project 1999 server and get an error about spell files at the character selection screen these files haven't been properly copied. Often the installation DSETUP.dll file hasn't been replaced by the Project 1999 dsetup.dll file.
The Launcher
Just as in Windows you can't run the Everquest executable directly: you need add the patchme
argument first. The Project 1999 team provided a batch file which does this for you when you patched: Launch Titanium.bat
.
However, you may need to add additional environmental variables and wrappers, in which case you will want to create a shortcut to your eqgame.exe
and then right-click on it, choose properties, and then change the "Command:" to include that extra stuff. For instance:
env WINEPREFIX="/home/*yourname*/.wine" wine C:\\Program\ Files\\Sony\\EverQuest\\eqgame patchme 2>/dev/null
(NOTE: The above command assumes you installed EverQuest inside the WINE directory structure; if you installed it elsewhere you will need to change the path in the above command to match.)
Launcher Alternative: Custom Bash Script File
Cramming commands in to the shortcut can only take you so far, and they can be difficult to read later on, so instead you may want to create a bash shell script. You can then run that script in place of the Launcher or shortcut. mgellan explained that this "also lets you do other things that I don't mention here but I do on my own system, like playing with Soundfonts and so on."
To create a bash script start a new text file, open it in gedit (or your editor of choice), and then cut and paste the following into it:
#!/bin/sh
# if you don't have the script's cwd set, you get XML errors
export WINEPREFIX=~/.wine/
cd ~/.wine/drive_c/Program\ Files/Sony/EverQuest
# The client will spew a lot of errors, especially every time
# you target a mob, hence the stdout/stderr redirect.
# You probably want to leave off the 2>/dev/null until you're satisfied
# everything is working.
wine eqgame.exe patchme 2>/dev/null
Props to Zallarenya for the above script!
Once you have the script working (it's always a good idea to try it via command line until you work out all the issues) you can create a shortcut to it, and then you should be all set.
If you are able to start EverQuest but the server list is blank/empty reference https://github.com/Zaela/p99-login-middlemand. Download and unzip the file. From within the unziped folder run the command $ make. Many errors are caused by missing libraries and can be corrected with the command $ sudo apt-get install build-essential.
A sample script with the p99-login made by Zaela
#!/bin/bash
~/p99-login-middlemand/bin/p99-login-middlemand &
echo $! >/tmp/p99middle.pid
cd "${HOME}/.wine/drive_c/Program\ Files/Sony/EverQuest"
WINEPREFIX="${HOME}/.wine" wine eqgame.exe patchme 2>/dev/null
kill -9 $(cat /tmp/p99middle.pid)
Errors when trying to run middleman
In the event you receive an error when attempting to generate the file in Zaela's middleman script that reads like the below code, it is very likely you are missing dependencies. A fresh install of Mint 21.1 threw this error initially and was solved by utilizing the following command:
sudo apt install build-essential
The text below being output through the terminal after attempting to use make
on Zaela's script is indicative of needing to install build-essential.
cc -c -o build/main.o src/main.c -O2 -Wall -Wno-strict-aliasing
In file included from src/connection.h:5,
from src/main.c:2:
src/netcode.h:10:10: fatal error: errno.h: No such file or directory
10 | #include <errno.h>
| ^~~~~~~~~
compilation terminated.
make: *** [Makefile:30: build/main.o] Error 1
Fixing page fault on write error on GameLauncherCefChildProcess
The GameLauncherCefChildProcess error was noticed on a machine running Ubuntu 21.04, wine-5.0.3, NVIDIA RTX 2060.
To fix the issue, first install winetricks.
Then run:
winetricks corefonts d3dx9 d3dx9_43 dxvk
Then launch wine EQ normally
Getting MIDI Music to Play
(No Longer Needed) *alsa or pulseaudio will play midi with winetricks directmusic*
- Install fluidsynth, a soundfont for it, and qsynth:
sudo apt install fluidsynth fluid-soundfont-gm qsynth
- Run qsynth
- Go to Setup > Audio tab and select alsa
- Go to Soundfonts tab and open the soundfont file FluidR3_GM.sf2
- qsynth has to stay open to continue playing MIDI music
Note: Might need to set sound to ALSA in wine, via winetricks sound=alsa
and select proper ALSA driver under winecfg
> Audio > output device.
Resources
This guide was originally based on the following forum thread:
The following threads may also be helpful: