Table of Contents

Information

Dependencies

sudo dnf install 'openssl1.1.x86_64' && sync

Install

Version Check

RuneScape

cd ~ && rm -Rf ~/'.runescape' ~/'Jagex/launcher' ~/'Jagex/updater' ~/'Jagex/RuneScape/GlobalSettings.jcache' ~/'Jagex/RuneScape/Settings.jcache' ~/'Jagex/RuneScape/ShaderManager.jcache' ~/'.local/share/icons/hicolor/'*'/apps/runescape.png' ~/'.local/share/applications/RuneScape.desktop' '/tmp/runescape' && mkdir -p ~/'Jagex/updater' '/tmp/runescape' && wget -O '/tmp/runescape/runescape-launcher-amd64.deb' 'https://content.runescape.com/downloads/ubuntu/pool/non-free/r/runescape-launcher/runescape-launcher_2.2.11_amd64.deb' && unar -o '/tmp/runescape' '/tmp/runescape/runescape-launcher-amd64.deb' && unar -o '/tmp/runescape' '/tmp/runescape/runescape-launcher-amd64/data.tar.xz' && cp '/tmp/runescape/data/usr/bin/runescape-launcher' '/tmp/runescape/data/usr/share/games/runescape-launcher/runescape' ~/'Jagex/updater' && cp -R '/tmp/runescape/data/usr/share/icons' ~/'.local/share' && ls ~/'Jagex/updater/runescape' ~/'Jagex/updater/runescape-launcher' > '/dev/null' && rm -Rf '/tmp/runescape' && sync

Launcher

nano ~/'Jagex/updater/runescape-launcher'
#!/bin/sh

if [ -z $1 ]; then
    configURI=http://www.runescape.com/k=5/l=\$\(Language:0\)/jav_config.ws
else
    configURI=$1
    shift
fi

export SDL_VIDEO_X11_WMCLASS="RuneScape"
export PULSE_LATENCY_MSEC='100'

# PulseAudio
#export SDL_AUDIODRIVER='pulseaudio'
#export PULSE_PROP_OVERRIDE="application.name='RuneScape' application.icon_name='runescape' media.role='game'"

# PipeWire
export SDL_AUDIODRIVER='pipewire'

# Display Server
#export SDL_VIDEODRIVER='wayland'
export SDL_VIDEODRIVER='x11'

# Custom



unset XMODIFIERS
~/Jagex/updater/runescape --configURI $configURI $@

Modern Open/Mesa Graphics

# Modern Open/Mesa Graphics
export MESA_SHADER_CACHE_DIR=~/'Jagex'
export MESA_GL_VERSION_OVERRIDE='4.6COMPAT'
export MESA_NO_ERROR='1'
export mesa_glthread='true'
export MESA_DISK_CACHE_SINGLE_FILE='1'
export MESA_DISK_CACHE_DATABASE='1'

Zink

# Zink
export MESA_SHADER_CACHE_DIR=~/'Jagex'
export MESA_LOADER_DRIVER_OVERRIDE='zink'
export GALLIUM_DRIVER='zink'

Old Intel Graphics

# Old Intel Graphics
export MESA_SHADER_CACHE_DIR=~/'Jagex'
export MESA_GLSL_VERSION_OVERRIDE='130'
export MESA_GL_VERSION_OVERRIDE='3.0'
export mesa_glthread='true'

NVIDIA Proprietary

# NVIDIA Proprietary
export __GL_SHADER_DISK_CACHE_PATH=~/'Jagex'
export __GL_THREADED_OPTIMIZATIONS='1'

Debugging

export MESA_DEBUG='1'
export LIBGL_DEBUG='verbose'

More Environment Variables

Jagex Launcher

ln --backup --symbolic --force ~/'Jagex/updater/runescape-launcher' ~/'.wine/Jagex Launcher/drive_c/Program Files/Jagex Launcher/Games/RuneScape/RuneScape.exe'

Settings

Game

Music Player

Camera

sudo dnf install 'sqlitebrowser' -y
sqlitebrowser ~/'Jagex/RuneScape/Settings.jcache'

Developer Console

GNOME Keybind

gsettings set 'org.gnome.desktop.wm.keybindings' 'switch-group' "['disabled']"

Keybind Reset

gsettings reset 'org.gnome.desktop.wm.keybindings' 'switch-group'

Commands

help
displayfps
renderer

Volume

Information

Get Index

pactl list sink-inputs | grep '#'

Set Volume

pactl set-sink-input-volume 'x' '155%'

Ping

nano '/tmp/rs3-ping.sh' && chmod +x '/tmp/rs3-ping.sh' && '/tmp/rs3-ping.sh'
for world in {1..141};
do
    res=$(ping world${world}.runescape.com -c 1 2>&0 | grep "time=" | cut -d' ' -f 8,9 | cut -d'=' -f 2) && echo World ${world}: ${res};
done

Desktop Launcher

RuneScape

nano ~/'.local/share/applications/RuneScape.desktop'
[Desktop Entry]
Name=RuneScape
Comment=A unique MMO set in the vast, fantasy world of Gielinor, brimming with diverse races, guilds and ancient gods battling for dominion. RuneScape now features more ways to play, brand new skills and over 200 gripping story-driven quests.
Categories=Game;AdventureGame;RolePlaying
Exec='/home/CHANGEME/Jagex/updater/runescape-launcher'
Type=Application
StartupNotify=false
Path=/home/CHANGEME/Jagex/updater
Icon=runescape
StartupWMClass=RuneScape
Actions=Kill;Cache;

[Desktop Action Kill]
Exec='/bin/killall' -9 'rs2client' 'runescape' 'runescape-launcher'
Name=Force-close

[Desktop Action Cache]
Exec='/bin/bash' -c "rm -Rf ~/'.runescape' ~/'Jagex/mesa_shader_cache' ~/'Jagex'/GLCache' ~/'Jagex/launcher/instance.lock' ~/'Jagex/RuneScape/ShaderManager.jcache' '/tmp/runescape' && sync && notify-send 'The RuneScape cache has been cleaned.'"
Name=Cache Clean-up
sed -i 's/'CHANGEME'/'$USER'/g' ~/'.local/share/applications/RuneScape.desktop'

Quick Commands

Execute

RuneScape

cd ~/'Jagex/updater' && ~/'Jagex/updater/runescape-launcher'

File Manager

Root

gio open ~/'Jagex'
3)
this should 404; if it doesn't then there's an updated package and the notes are referencing an older version number
4)
the launcher is changed to run runescape from it's working directory instead of in /usr/share/..
5)
PW works on F36 but not openSUSE TW
6)
it's unknown if this causes any issues or improves anything
7)
the default value as of 2022/09/27 is 4730
8)
PipeWire on Fedora 36 seems to have expected volume by-default