games:wine:old_school_runescape_jagex_launcher_c
Table of Contents
Information
- Jagex Launcher 1)
- Old School RuneScape 2) (for RuneScape/RS3, see these notes instead)
- C++ Client
- This allows running the Jagex Launcher and the C++ OSRS clients through
wine
- Jagex Launcher can be closed after pressing
Play
and the OSRS client window appears 4)
Prerequisites
Notes
- 2023/07/23: The C++ client reacts oddly to
wmctrl
fullscreen toggling; use the in-game option for it - 2023/09/16: This works best on GNOME on Xorg on Intel UHD 630 5)
- On the first OSRS client launch, it may start an invisible game window; Close
osclient.exe
and re-launch it from Jagex Launcher 6) - 2023/09/16: Jagex Launcher doesn't respond from GNOME system tray with
gnome-shell-extension-appindicator
and requires the separate Wine system tray (see keybase/client/#25823)
Install
Initial
mkdir -p ~/'.wine' && WINEPREFIX=~/'.wine/Old School RuneScape' WINEARCH='win64' wineboot && WINEPREFIX=~/'.wine/Old School RuneScape' winetricks 'discord_game_sdk=disabled' && sync
Jagex Launcher
Google Drive
- Google Drive link to a clean
Jagex Launcher
folder with SHA256 below - Use this if at all unsure
sha256sum ~/'Downloads/20230920-Jagex-Launcher.zip' | grep 'c2005f0504fcb24a631ab60b2ead81e0e13931ef2c4651ff4a41032da631685a' > '/dev/null' && unzip -b -o -qq ~/'Downloads/20230920-Jagex-Launcher.zip' -d ~/'.wine/Old School RuneScape/drive_c/Program Files' && sync
Manual
- Expects something like
~/Downloads/20230920-Jagex-Launcher.zip
with any date
unzip -b -o -qq ~/'Downloads/'*'Jagex'*'Launcher.zip' -d ~/'.wine/Old School RuneScape/drive_c/Program Files' && sync
gio open ~/'.wine/Old School RuneScape/drive_c/Program Files'
Official Installer
2023/09/16: The installer doesn't launch a GUI and seemingly can't be silently-installed
- See Jagex Launcher Installer notes for testing
Old School RuneScape
- Update launcher if prompted, log-in, select OSRS → New Official Client → Install
mkdir -p ~/'.wine/Old School RuneScape/dxvk_shader_cache' && cd ~/'.wine/Old School RuneScape/drive_c/Program Files/Jagex Launcher' && MESA_SHADER_CACHE_DIR=~/'.wine/Old School RuneScape' DXVK_STATE_CACHE_PATH=~/'.wine/Old School RuneScape/dxvk_shader_cache' WINEPREFIX=~/'.wine/Old School RuneScape' wine ~/'.wine/Old School RuneScape/drive_c/Program Files/Jagex Launcher/JagexLauncher.exe' --disable-gpu --disable-software-rasterizer
Clean Up
rm -f ~/'Downloads/Jagex Launcher Installer.exe' ~/'Downloads/'*'Jagex Launcher.zip' && cd ~ && sync
Libraries
DXVK
- Potentially only beneficial for Jagex Launcher as the OSRS client uses OpenGL 9)
This is only required if the host distro does not provide DXVK 10)
ls ~/'Downloads/dxvk-master-'*'.zip' && rm -Rf '/tmp/dxvk-master' && mkdir -p '/tmp/dxvk-master' && unzip ~/'Downloads/dxvk-master-'*'.zip' -d '/tmp/dxvk-master/' && cp --backup '/tmp/dxvk-master/x64/'*'.dll' ~/'.wine/Old School RuneScape/drive_c/windows/system32/' && cp --backup '/tmp/dxvk-master/x32/'*'.dll' ~/'.wine/Old School RuneScape/drive_c/windows/syswow64/' && WINEPREFIX=~/'.wine/Old School RuneScape' winetricks 'd3d9=native' 'd3d10core=native' 'd3d11=native' 'dxgi=native' && mkdir -p ~/'.wine/Old School RuneScape/dxvk_shader_cache' && sync
Settings
FpsLimit
is ideal for Wayland sessions in order to prevent uncapped framerate and unnecessary power usage; set1
Hz above refresh rate
mkdir -p ~/'.wine/Old School RuneScape/drive_c/users/'$USER'/AppData/Local/Jagex/Old School Runescape' && nano ~/'.wine/Old School RuneScape/drive_c/users/'$USER'/AppData/Local/Jagex/Old School Runescape/preferences_client.dat'
DisplayBuildInfo 1
FpsLimit 75
Defaults
- 1080p fullscreen, max draw distance, MSAA x4, W416, Nearest-neighbour
- Last updated: 2023/09/23
mkdir -p ~/'.wine/Old School RuneScape/drive_c/users/'$USER'/AppData/Local/Jagex/Old School Runescape' && nano ~/'.wine/Old School RuneScape/drive_c/users/'$USER'/AppData/Local/Jagex/Old School Runescape/preferences_client.dat'
AntiAliasingSampleLevel 2 Brightness 0 DefaultWorldId 416 DisplayBuildInfo 0 DisplayFps 0 DrawDistance 90 FpsLimit 75 Fullscreen 1 HideUserName 0 LastWorldId 416 MasterVolume 100 TitleVolume 100 UIQuality 0 WindowHeight 1080 WindowMode 2 WindowTopmost 0 WindowWidth 1920
Desktop Launcher
- TODO: Kill and Cache clean-up is behind
bash -c
and presumably don't needCHANGEME
s; can be modernized likeExec
rm -f ~/'.local/share/applications/wine/Programs/OSClient.desktop' && mkdir -p ~/'.local/share/applications/wine/Programs/Jagex' && ln --symbolic --force '/dev/null' '/home/espionage724/.local/share/applications/wine/Programs/OSClient.desktop' && nano ~/'.local/share/applications/wine/Programs/Jagex/Old School RuneScape.desktop' && sed -i 's/'CHANGEME'/'$USER'/g' ~/'.local/share/applications/wine/Programs/Jagex/Old School RuneScape.desktop'
[Desktop Entry] Name=Old School RuneScape Categories=Game;AdventureGame;RolePlaying Exec='/bin/bash' -c "cd ~/'.wine/Old School RuneScape/drive_c/Program Files/Jagex Launcher' && PULSE_LATENCY_MSEC='400' MESA_SHADER_CACHE_DIR=~/'.wine/Old School RuneScape' vblank_mode='3' DXVK_STATE_CACHE_PATH=~/'.wine/Old School RuneScape/dxvk_shader_cache' WINEPREFIX=~/'.wine/Old School RuneScape' wine ~/'.wine/Old School RuneScape/drive_c/Program Files/Jagex Launcher/JagexLauncher.exe' --disable-gpu --disable-software-rasterizer" Type=Application StartupNotify=true Icon=D0C9_osclient.0 StartupWMClass=osclient.exe Actions=Zink;Cache;Kill;Notes; [Desktop Action Zink] Exec='/bin/bash' -c "cd ~/'.wine/Old School RuneScape/drive_c/Program Files/Jagex Launcher' && PULSE_LATENCY_MSEC='400' MESA_SHADER_CACHE_DIR=~/'.wine/Old School RuneScape' MESA_LOADER_DRIVER_OVERRIDE='zink' MESA_VK_WSI_PRESENT_MODE='immediate' WINEPREFIX=~/'.wine/Old School RuneScape' wine ~/'.wine/Old School RuneScape/drive_c/Program Files/Jagex Launcher/JagexLauncher.exe' --disable-gpu --disable-software-rasterizer" Name=Launch with Zink renderer [Desktop Action Cache] StartupNotify=false Exec='/bin/bash' -c "rm -Rf '/home/CHANGEME/.wine/Old School RuneScape/drive_c/users/CHANGEME/AppData/Local/Jagex/Old School Runescape/'* '/home/CHANGEME/.wine/Old School RuneScape/drive_c/'*'.log' '/home/CHANGEME/.wine/Old School RuneScape/drive_c/Program Files/Jagex Launcher/JagexLauncher.dxvk-cache' '/home/CHANGEME/.wine/Old School RuneScape/drive_c/Program Files/Jagex Launcher/Games/Old School RuneScape/Client/osclient.dxvk-cache' '/home/CHANGEME/.wine/Old School RuneScape/drive_c/users/CHANGEME/AppData/Local/Jagex Launcher/logs/'* '/home/CHANGEME/.wine/Old School RuneScape/mesa_shader_cache'* && sync && notify-send 'The Old School RuneScape cache has been cleaned.'" Name=Cache Cleanup [Desktop Action Kill] Exec='/bin/bash' -c "WINEPREFIX=~/'.wine/Old School RuneScape' wineserver --kill" Name=Force-close [Desktop Action Notes] StartupNotify=false Exec='/bin/bash' -c "gio open 'https://wiki.realmofespionage.xyz/games:wine:old_school_runescape_jagex_launcher_c'" Name=Installation Notes # End
Icon
- Requires
wrestool
mkdir -p ~/'.local/share/icons/hicolor/64x64/apps' && cd ~/'.local/share/icons/hicolor/64x64/apps' && wrestool --output='D0C9_osclient.0.png' --extract --type='14' ~/'.wine/Old School RuneScape/drive_c/Program Files/Jagex Launcher/Games/Old School RuneScape/Client/osclient.exe' && cd ~
Quick Commands
Winecfg
WINEPREFIX=~/'.wine/Old School RuneScape' winecfg
Winetricks
WINEPREFIX=~/'.wine/Old School RuneScape' winetricks
Registry Editor
WINEPREFIX=~/'.wine/Old School RuneScape' regedit
Kill
WINEPREFIX=~/'.wine/Old School RuneScape' wineserver --kill
Execute
Jagex Launcher
cd ~/'.wine/Old School RuneScape/drive_c/Program Files/Jagex Launcher' && PULSE_LATENCY_MSEC='400' MESA_SHADER_CACHE_DIR=~/'.wine/Old School RuneScape' DXVK_STATE_CACHE_PATH=~/'.wine/Old School RuneScape/dxvk_shader_cache' WINEDEBUG='' WINEPREFIX=~/'.wine/Old School RuneScape' wine ~/'.wine/Old School RuneScape/drive_c/Program Files/Jagex Launcher/JagexLauncher.exe' --disable-gpu --disable-software-rasterizer
Zink
MESA_LOADER_DRIVER_OVERRIDE=zink
MESA_VK_WSI_PRESENT_MODE=immediate
cd ~/'.wine/Old School RuneScape/drive_c/Program Files/Jagex Launcher' && MESA_LOADER_DRIVER_OVERRIDE='zink' MESA_VK_WSI_PRESENT_MODE='immediate' PULSE_LATENCY_MSEC='400' MESA_SHADER_CACHE_DIR=~/'.wine/Old School RuneScape' DXVK_STATE_CACHE_PATH=~/'.wine/Old School RuneScape/dxvk_shader_cache' WINEDEBUG='' WINEPREFIX=~/'.wine/Old School RuneScape' wine ~/'.wine/Old School RuneScape/drive_c/Program Files/Jagex Launcher/JagexLauncher.exe' --disable-gpu --disable-software-rasterizer
Troubleshooting
- Wine's virtual desktop may be necessary with certain desktop/window managers and with Wayland
explorer /desktop='Jagex-Launcher','1280x720'
File Manager
Jagex Launcher
gio open ~/'.wine/Old School RuneScape/drive_c/Program Files/Jagex Launcher/'
Old School RuneScape
gio open ~/'.wine/Old School RuneScape/drive_c/Program Files/Jagex Launcher/Games/Old School RuneScape/Client/'
3)
Frame drops seen in the video do not happen locally
4)
the log-in session carries over through world switches and even log-outs; Jagex Launcher only needs to be re-opened if you close the OSRS client window
5)
Xorg session has tearing unless Disable unredirect fullscreen windows is used; Wayland sessions have notably higher input latency with any vsync method, and requires the usage of Zink to workaround an odd 45-50 FPS cap
6)
on Windows this seems to manifests as a visible game window that doesn't appear in the taskbar; OSRS defies typical window-management logic :p presumably when it tries to define a default window position on first-launch
7)
install Jagex Launcher on a Windows machine first, and then the
Jagex Launcher
folder in Program Files
can be copied over as-is to the Wine prefix; you don't need to log-in but ideally run it once after installation for it to update to the latest version8)
need to be signed into GitHub, and select the latest
master
artifacts package9)
notes here for completeness, to cover obscure distros that don't package DXVK alongside Wine, and the
dxvk_shader_cache
folder10)
2023/09: openSUSE Tumbleweed and Fedora 38 are known to not need this
11)
required to fix audio glitches present in music even on Fedora 38 where PipeWire is used
/var/www/wiki/data/pages/games/wine/old_school_runescape_jagex_launcher_c.txt · Last modified: 2023/09/23 04:44 by Sean Rhone