This is a wiki for a reason. Anyone can contribute. If you see something that is inaccurate or can be improved, don't ask that it be fixed--just improve it.
[ Disclaimer, Create new user --- Wiki markup help, Install P99 ]

EverQuest in Linux Guide

From Project 1999 Wiki
Jump to: navigation, search

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 come pre-installed with most Linux distributions, so you may need to install it.

Instructions on how to do this will vary by distribution. See Wine HQ - Getting WINE.

Optional: Configure WINE

While this usually won't be necessary, if you wish to customize your WINE configuration you can do so with the following command:

winecfg

One of the most useful tabs for EverQuest is the "Graphics" tab, where you can:

  • (potentially) fix problems with the game not running at all by emulating a virtual desktop (or not, if you were previously)
  • control the size of the game window (if you are emulating a virtual desktop; if you're not, you can resize the window normally)
  • control how the game "captures" your mouse when you click into the game window

Wine CFG - Graphics Screenshot.png

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 with CTRL + H

After that you're done.

Using the Installation Discs

Install from CDs (or ISO images of those CDs) should work fine:

  1. 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
  2. Double-click that CD to open it
  3. Double-click on setup.exe to run setup (it should be run using WINE automatically).
  4. Proceed through the setup (see the Everquest Titanium Installation Guide) using the first CD as normal
  5. 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

Use Lutris

Some users have found success using the WINE-helper library Lutris can get additional wine helpful wine fixes. To use it ...

  1. Install Lutris using your system's package manager
  2. Click the "+" button in the upper-left
    Lutris.jpg
  3. A new windows will pop up:
    Lutris2.jpg
  4. Pick a name (eg. "Project 1999, then click the "Game Options" tab
    Lutris3.jpg
  5. On this screen ...
    • Select the "Executable" to point to your "/Launch Titanium.bat" file (in your EverQuest installation folder)
    • Your Wine prefix (ie. the folder where the configuration files for this version of wine are installed, often a ".wine*" directory in your home folder)
      • The original author of this guide, on Lubuntu, wrote:
        On Wine Prefix point a location different from where the client is installed, in my case I installed the client to /Games/MMOS/EQ/P99, so I pointed the wine prefix (the location for the virtual windows directory emulator) to /Games/MMOS/EQ/P99WINEPREFIX, which is a way to create a particular wine prefix different from all other games in wine I have already installed.
        This is a good way to keep all your wine prefixes separated as each game needs special tweaks, dlls and packs and helps with troubleshooting. If you think I am speaking in Blackburrow Gnollish, then just focus on pointing lutris to a different location like I said before.
  6. Next, switch to the "Runner options" tab
    Lutris4.jpg
  7. On this tab, enable the WINDOWED Version and a bit below set the resolution you want. This will force the game to run within a windowed environment.
    • As you can see as my resolution is widescreen 2560x1080 I set it to that, but you should change it to whatever your monitor's resolution is currently.

Originally based on [1]

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*
  1. Install fluidsynth, a soundfont for it, and qsynth: sudo apt install fluidsynth fluid-soundfont-gm qsynth
  2. Run qsynth
  3. Go to Setup > Audio tab and select alsa
  4. Go to Soundfonts tab and open the soundfont file FluidR3_GM.sf2
  5. 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: