Difference between revisions of "Getting Started on Linux (v2)"

From The Al`Kabor Project Wiki
Jump to navigation Jump to search
 
(5 intermediate revisions by the same user not shown)
Line 3: Line 3:
=== <u>tl;dr</u> ===
=== <u>tl;dr</u> ===


# [https://wiki.winehq.org/Wine_Installation_and_Configuration wine] (version 6.0 or later, WINEARCH=win32)
# [https://github.com/GloriousEggroll/proton-ge-custom GE-Proton]
# [https://github.com/Open-Wine-Components/umu-launcher umu-launcher]
# [https://en.wikipedia.org/wiki/Vulkan_(API) vulkan] (i386)
# [https://en.wikipedia.org/wiki/Vulkan_(API) vulkan] (i386)
# [https://wiki.winehq.org/Winetricks winetricks] (dinput8 cmst=on)
# [https://github.com/doitsujin/dxvk dxvk] (d3d8 -> vulkan)
# [http://dege.freeweb.hu/dgVoodoo2/ dgvoodoo] (d3d8 -> d3d11)
# [https://github.com/EQMacEmu/eqgame_dll_takp TAKP's eqgame.dll] (a.k.a. freethemouse)
# [https://github.com/doitsujin/dxvk dxvk] (d3d11 -> vulkan)
# [https://github.com/CoastalRedwood/eqw_takp TAKP's eqw.dll]
# [https://www.dropbox.com/s/zbha7dxydsr92w0/eqgame_dll%20v3.5.3%20for%20ftm.zip?dl=0 freethemouse] (3.5.3)


=== <u>Easiest way to install TAKP EQ on Linux</u> ===
=== <u>Easiest way to install TAKP EQ on Linux</u> ===


You can use [https://github.com/kai4785/takp/blob/master/launcher.sh Meriadoc's takp launcher script] to automate everything except installing wine and 32bit vulkan, since these are best done using your system's package manager.
You can use [https://github.com/kai4785/takp/blob/master/launcher.sh Meriadoc's takp launcher script] to automate everything except installing 32bit dependencies like vulkan, since that's best done using your system's package manager.


# Download the launcher
# Download the launcher
Line 19: Line 19:
# Install the client. The first time the script runs, it tells you it creates a takp_launcher.conf file. We'll get to more of that in the next steps.
# Install the client. The first time the script runs, it tells you it creates a takp_launcher.conf file. We'll get to more of that in the next steps.
## ./takp_launcher.sh install
## ./takp_launcher.sh install
# Optionally disable the dgVoodoo watermark
## ./takp_launcher.sh disable_dgVoodoo_watermark
# Configure your boxes
# Configure your boxes
## ./takp_launcher.sh play
## ./takp_launcher.sh play
Line 30: Line 28:
Feedback on this script is also welcome (especially in the form of a pull request on github).
Feedback on this script is also welcome (especially in the form of a pull request on github).


=== <u>Manual Process to install TAKP EQ on Linux</u> ===
=== <u>Example manual process to install TAKP EQ on Linux</u> ===


I would love to see this process adapted to Lutris or PlayOnLinux, but I am not familiar with scripting either of those tools. It would make it easier to setup for individuals with less familiarity with the commandline.
I would love to see this process adapted to Lutris or PlayOnLinux, but I am not familiar with scripting either of those tools. It would make it easier to setup for individuals with less familiarity with the commandline.
Line 36: Line 34:
Thanks to tragedie37, [https://www.takproject.net/forums/index.php?threads/solved-linux-playonlinux-and-wrong-gpu-detected.23511/#post-113355 he got it working on PlayOnLinux]!
Thanks to tragedie37, [https://www.takproject.net/forums/index.php?threads/solved-linux-playonlinux-and-wrong-gpu-detected.23511/#post-113355 he got it working on PlayOnLinux]!


# Install Wine.
# Install GE-Proton
## This is best done by your system's package manager ie:
## Download and extract [https://github.com/GloriousEggroll/wine-ge-custom/releases a GloriosEggroll release]
### sudo apt install wine
## Download and extract [https://github.com/Open-Wine-Components/umu-launcher/releases a umu-launcher release]
### sudo dnf install wine
# Install vulkan 32bit libraries
# Install vulkan 32bit libraries
## This is also best done by your system's package manager. Other [https://linuxconfig.org/install-and-test-vulkan-on-linux articles] do a great job explaining how. Just make sure you (also) install the 32bit (i386 or i686) packages. EQ is a 32bit application.
## This is also best done by your system's package manager. Other [https://linuxconfig.org/install-and-test-vulkan-on-linux articles] do a great job explaining how. Just make sure you (also) install the 32bit (i386 or i686) packages. EQ is a 32bit application.
# [https://drive.google.com/open?id=1X46DuXJYPl2igcwO2f5sHuX1XKX9BhVy Download the TAKP v2.0 client]. It has everything you need, and very little that you don't.
# [https://drive.google.com/open?id=1X46DuXJYPl2igcwO2f5sHuX1XKX9BhVy Download the TAKP v2.0 client]. It has everything you need, and very little that you don't.
## The EQ Client can run from any folder.
## The EQ Client can run from any folder.
# Initialize your wineprefix, and install the default TAKP client
# Run umu specifying the paths to your GE-Proton and TAKP installations
## In this tutorial we will setup an 'E:' drive in Wine, with a single TAKP folder in it.
## We only need a few environment variables to setup umu for multi-boxing
### export WINEARCH=win32 WINEPREFIX=$HOME/.takp/wineprefix/system
### export PROTONPATH=/path/to/GE-Proton
### takp_prefix=$HOME/.takp
### export PROTON_DXVK_D3D8=1
### drive_e=${takp_prefix}/drive_e
### export PROTON_VERB="run"
### takp_dir=${drive_e}/TAKP
### umu-run /path/to/eqgame.exe
### mkdir ${takp_dir} $WINEPREFIX/dosdevices
# Install TAKP DLLs
### ln -sf ${takp_dir} ${WINEPREFIX}/dosdevices
## The TAKP DLLs patch the old TAKP client to do things like release the mouse when using Alt+Tab.
### wine wineboot -u
### <nowiki>curl -L -o /path/to/TAKP/eqgame.dll https://github.com/EQMacEmu/eqgame_dll_takp/releases/download/v0.0.0.3/eqgame.dll</nowiki>
### wineserver -k -w
### <nowiki>curl -L -o /path/to/TAKP/eqw.dll https://github.com/CoastalRedwood/eqw_takp/releases/download/v1.0.1/eqw.dll</nowiki>
### unzip -d ${drive_e} <path to TAKP.zip>
# Download and run [https://linuxconfig.org/install-and-test-vulkan-on-linux winetricks] to initialize your wineprefix. The winetricks verbs you need are:
## dinput8
### This fixes wacky keyboard and mouse behavior, like keys getting stuck down, or mouse mouse look not working, even though you've hit F12.
## csmt=on
### [https://wiki.archlinux.org/index.php/wine#CSMT This may not be strictly necessary anymore], but I have not done enough testing with out it enabled. CMST is a feature of Wine to process OpenGL calls in a separate thread to improve efficiency. Not only are we on Vulkan instead of OpenGL, but it may be enabled by default anyway. I would appreciate any feedback you have on cmst.
## The resulting commands can look like this:
### <nowiki>curl -o ${takp_prefix}/winetricks https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks</nowiki>
### chmod +x ${takp_prefix}/winetricks
### ${takp_prefix}/winetricks dinput8 cmst=on
# Install freethemouse
## The freethemouse patch is a custom fix for the old TAKP client that helps the TAKP client release the mouse when using Alt+Tab. We'll rename the original dll just incase.
### <nowiki>curl -L -o ${takp_prefix}/freethemouse.zip 'https://www.dropbox.com/s/zbha7dxydsr92w0/eqgame_dll%20v3.5.3%20for%20ftm.zip?dl=0'</nowiki>
### mv ${takp_dir}/eqgame.dll ${takp_dir}/eqgame.dll.dist
### unzip -d ${takp_dir} ${takp_prefix}/freethemouse.zip eqgame.dll
# Install dgVoodoo, and tell Wine to use the local (native) version of the library.
## dgVoodoo is a sort of graphics API translator from old DirectX (in our case version 8), to the latest DirectX version (11).
### <nowiki>curl -L -o ${takp_prefix}/dgVoodoo2_73.zip "http://dege.freeweb.hu/dgVoodoo2/bin/dgVoodoo2_73.zip"</nowiki>
### unzip -d ${takp_dir} ${takp_prefix}/dgVoodoo2_73.zip "MS/x86*"
### mv ${takp_dir}/MS/x86/D3D8.dll ${takp_dir}/d3d8.dll
### mv ${takp_dir}/MS/x86/D3D9.dll ${takp_dir}/d3d9.dll
### wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v d3d8 /d native /f >/dev/null 2>&1
### wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v d3d9 /d native /f >/dev/null 2>&1
## Optionally, you can remove the dgVoodoo watermark in the bottom right hand corner with a dgVoodoo.conf
### echo -en "[DirectX]\ndgVoodooWatermark = false\n" > ${takp_dir}/dgVoodoo.conf
# Install dxvk
## dxvk is a sort of graphics API translator from DirectX 11 to vulkan.
### curl -L -o ${takp_prefix}/dxvk-1.8.1.tar.gz "https://github.com/doitsujin/dxvk/releases/download/v1.8.1/dxvk-1.8.1.tar.gz"
### tar -C ${takp_dir} -xf ${takp_prefix}/dxvk-1.8.1.tar.gz "dxvk-1.8.1/x32"
### mv ${takp_dir}/dxvk-1.8.1/x32/d3d10.dll ${takp_dir}/d3d10.dll
### mv ${takp_dir}/dxvk-1.8.1/x32/d3d11.dll ${takp_dir}/d3d11.dll
### ${wine_bin} reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v d3d10 /d native /f >/dev/null 2>&1
### ${wine_bin} reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v d3d11 /d native /f >/dev/null 2>&1


=== <u>Troubleshooting tips</u> ===
=== <u>Troubleshooting tips</u> ===


If you crash after clicking the "Enter" button, but before the loading bar appears, then dgVoodoo didn't install properly, so it's not converting d3d8 calls to d3d11.
If you crash after clicking the "Enter" button, but before the loading bar appears, then dxvk isn't engaged. Make sure you're using dxvk either with Proton's built-in version using PROTON_DXVK_D3D8=1, or by installing it yourself.
 
If you get a black screen with the loading bar that seems to progress, then dxvk didn't install properly, so it's not converting d3d11 -> vulkan.
 
If your keyboard or mouse inputs get wacky, like every key stroke acts like the button stays pressed down, or the mouse jumps around on the screen, then dinput8 is probably not installed.

Latest revision as of 23:58, 5 February 2026

This is a work in progress. Please send questions or comments to @meriadoc on TAKP discord, or the #peer_help topic.

tl;dr[edit]

  1. GE-Proton
  2. umu-launcher
  3. vulkan (i386)
  4. dxvk (d3d8 -> vulkan)
  5. TAKP's eqgame.dll (a.k.a. freethemouse)
  6. TAKP's eqw.dll

Easiest way to install TAKP EQ on Linux[edit]

You can use Meriadoc's takp launcher script to automate everything except installing 32bit dependencies like vulkan, since that's best done using your system's package manager.

  1. Download the launcher
    1. curl -o takp_launcher.sh https://raw.githubusercontent.com/kai4785/takp/master/launcher.sh
    2. chmod +x ./takp_launcher.sh
  2. Install the client. The first time the script runs, it tells you it creates a takp_launcher.conf file. We'll get to more of that in the next steps.
    1. ./takp_launcher.sh install
  3. Configure your boxes
    1. ./takp_launcher.sh play

Additionally, the launcher script can launch your 3 box for you, and automatically log into your game accounts. The first time running the script should create your $HOME/.takp_launcher.conf. Open this file in your favorite editor, and you should see an example of how your passwords can be saved. If you suffer from password re-use, just set your "accounts" and "default_password", and startup the 3boxes.

./takp_launcher.sh startup

Feedback on this script is also welcome (especially in the form of a pull request on github).

Example manual process to install TAKP EQ on Linux[edit]

I would love to see this process adapted to Lutris or PlayOnLinux, but I am not familiar with scripting either of those tools. It would make it easier to setup for individuals with less familiarity with the commandline.

Thanks to tragedie37, he got it working on PlayOnLinux!

  1. Install GE-Proton
    1. Download and extract a GloriosEggroll release
    2. Download and extract a umu-launcher release
  2. Install vulkan 32bit libraries
    1. This is also best done by your system's package manager. Other articles do a great job explaining how. Just make sure you (also) install the 32bit (i386 or i686) packages. EQ is a 32bit application.
  3. Download the TAKP v2.0 client. It has everything you need, and very little that you don't.
    1. The EQ Client can run from any folder.
  4. Run umu specifying the paths to your GE-Proton and TAKP installations
    1. We only need a few environment variables to setup umu for multi-boxing
      1. export PROTONPATH=/path/to/GE-Proton
      2. export PROTON_DXVK_D3D8=1
      3. export PROTON_VERB="run"
      4. umu-run /path/to/eqgame.exe
  5. Install TAKP DLLs
    1. The TAKP DLLs patch the old TAKP client to do things like release the mouse when using Alt+Tab.
      1. curl -L -o /path/to/TAKP/eqgame.dll https://github.com/EQMacEmu/eqgame_dll_takp/releases/download/v0.0.0.3/eqgame.dll
      2. curl -L -o /path/to/TAKP/eqw.dll https://github.com/CoastalRedwood/eqw_takp/releases/download/v1.0.1/eqw.dll

Troubleshooting tips[edit]

If you crash after clicking the "Enter" button, but before the loading bar appears, then dxvk isn't engaged. Make sure you're using dxvk either with Proton's built-in version using PROTON_DXVK_D3D8=1, or by installing it yourself.