Both sides previous revisionPrevious revisionNext revision | Previous revision |
games:runescape_native [2020/03/25 17:55] – [Launcher] Sean Rhone | games:runescape_native [2024/03/24 20:52] (current) – [Jagex Launcher] Sean Rhone |
---|
* NXT ((https://runescape.wiki/w/NXT)) | * NXT ((https://runescape.wiki/w/NXT)) |
| |
====== Install ====== | ====== Dependencies ====== |
| |
===== Version Check ===== | **** |
| |
* https://github.com/flathub/com.jagex.RuneScape/blob/master/com.jagex.RuneScape.json#L56 | sudo dnf install 'openssl1.1.x86_64' && sync |
| |
* https://content.runescape.com/downloads/ubuntu/pool/non-free/r/runescape-launcher/runescape-launcher_2.2.6_amd64.deb | ====== Install ====== |
| |
===== RuneScape ===== | ===== Version Check ===== |
| |
==== Temporary ==== | * https://github.com/flathub/com.jagex.RuneScape/blob/master/com.jagex.RuneScape.json#L87 |
| |
* :!: Uses a client installer provided from a random user comment on AUR | * https://content.runescape.com/downloads/ubuntu/pool/non-free/r/runescape-launcher/runescape-launcher_2.2.12_amd64.deb ((this should ''404''; if it doesn't then there's an updated package and the notes are referencing an older version number)) |
* Workaround for the currently-broken installer provided by Jagex as of 2020-03-19 | |
| |
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://nullroute.eu.org/tmp/2020/rs20191226/runescape-launcher_2.2.6_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 | ===== RuneScape ===== |
| |
==== Actual ==== | * This extracts the necessary files out of the latest official ''runescape-launcher-amd64.deb'' package, and should work fine on most Linux distros |
| * :!: This currently expects the launcher package to be version ''2.2.11'', and may need a URL update for updated packages |
| |
* This extracts the necessary files out of the latest official ''runescape-launcher-amd64.deb'' package | * Last tested: 2023/06/07 on Fedora 38 |
* :!: This currently expects the launcher package to be version 2.2.7, and may need a URL update for updated packages | * TODO: restorecon |
| |
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.7_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 | 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 ====== | ====== Launcher ====== |
| |
* :!: Minor changes to the current ''runescape-launcher'' from ''2.2.7'' ((''MESA_GL_VERSION_OVERRIDE'' is removed, and the launcher is changed to run ''runescape'' from it's working directory instead of in ''/usr/share/..'')) | * :!: Minor changes to the current ''runescape-launcher'' from ''2.2.10'' ((the launcher is changed to run ''runescape'' from it's working directory instead of in ''/usr/share/..'')) |
| * :!: If PipeWire doesn't work, change the config to PulseAudio ((PW works on F36 but not openSUSE TW)) |
| * :!: 2023/02/22: ''SDL_VIDEODRIVER=wayland'' caused the launcher to crash on Wayland, but using ''x11'' on Wayland works fine |
| |
nano ~/'Jagex/updater/runescape-launcher' | nano ~/'Jagex/updater/runescape-launcher' |
fi | fi |
| |
export PULSE_PROP_OVERRIDE="application.name='RuneScape' application.icon_name='runescape' media.role='game'" | |
export SDL_VIDEO_X11_WMCLASS="RuneScape" | export SDL_VIDEO_X11_WMCLASS="RuneScape" |
export PULSE_LATENCY_MSEC=100 | |
| |
| |
| |
unset XMODIFIERS | |
./runescape --configURI $configURI $@</code> | |
| |
===== Generic ===== | |
| |
* :!: Add between ''SDL_VIDEO_X11_WMCLASS'' and ''unset XMODIFIERS'' | |
* ''PULSE_LATENCY_MSEC'' fixes a possible audio issue with PulseAudio, and may need adjusted | |
| |
<code> | |
# Generic | |
export PULSE_LATENCY_MSEC='100' | export PULSE_LATENCY_MSEC='100' |
export MESA_GLSL_CACHE_DIR=~/'Jagex'</code> | |
| |
===== NVIDIA Proprietary ===== | # PulseAudio |
| #export SDL_AUDIODRIVER='pulseaudio' |
| #export PULSE_PROP_OVERRIDE="application.name='RuneScape' application.icon_name='runescape' media.role='game'" |
| |
* :!: Expects use of the NVIDIA proprietary driver, and not ''nouveau'' ((if using ''nouveau'', adapt Intel or AMD environment variables)) | # PipeWire |
* :!: Add between ''SDL_VIDEO_X11_WMCLASS'' and ''unset XMODIFIERS'' | export SDL_AUDIODRIVER='pipewire' |
| |
<code> | # Display Server |
# Generic | #export SDL_VIDEODRIVER='wayland' |
export PULSE_LATENCY_MSEC='100' | export SDL_VIDEODRIVER='x11' |
| |
# NVIDIA Proprietary | # Custom |
export __GL_SHADER_DISK_CACHE_PATH=~/'Jagex' | |
export __GL_THREADED_OPTIMIZATIONS='1'</code> | |
| |
==== Optimus ==== | |
| |
* Optimus ((Intel/AMD iGPU primary + NVIDIA dGPU on-demand secondary)) | |
* :!: Expects //PRIME Render Offload//, but may work with the old //Offloading Graphics Display with RandR// method | |
* :!: Add between ''SDL_VIDEO_X11_WMCLASS'' and ''unset XMODIFIERS'' | |
| |
<code> | |
# Generic | |
export PULSE_LATENCY_MSEC='100' | |
| |
# NVIDIA Proprietary | |
export __GL_SHADER_DISK_CACHE_PATH=~/'Jagex' | |
export __GL_THREADED_OPTIMIZATIONS='1' | |
| |
# NVIDIA Proprietary Optimus | |
export __NV_PRIME_RENDER_OFFLOAD='1' | |
export __GLX_VENDOR_LIBRARY_NAME='nvidia'</code> | |
| |
=== Optimus iGPU === | |
| |
* Allows use of Intel iGPU on Optimus set-ups | |
* Creates a secondary launcher script with modern Intel-specific environment variables | |
| |
nano ~/'Jagex/updater/runescape-launcher-igpu' && chmod +x ~/'Jagex/updater/runescape-launcher-igpu' | |
| |
<code> | |
#!/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 PULSE_PROP_OVERRIDE="application.name='RuneScape' application.icon_name='runescape' media.role='game'" | |
export SDL_VIDEO_X11_WMCLASS="RuneScape" | |
| |
# Generic | |
export PULSE_LATENCY_MSEC='100' | |
export MESA_GLSL_CACHE_DIR=~/'Jagex' | |
| |
# Modern Intel Graphics | |
export MESA_GL_VERSION_OVERRIDE='4.5FC' | |
| |
unset XMODIFIERS | unset XMODIFIERS |
./runescape --configURI $configURI $@</code> | ~/Jagex/updater/runescape --configURI $configURI $@</code> |
| |
===== Modern AMD Graphics ===== | ===== Modern Open/Mesa Graphics ===== |
| |
* AMD Radeon RX 580 | * AMD Radeon RX 6600 XT |
* :!: Add between ''SDL_VIDEO_X11_WMCLASS'' and ''unset XMODIFIERS'' | * Intel UHD Graphics 630 |
| * :!: Add under ''# Custom'' but above ''unset XMODIFIERS'' |
| |
* :!: Using ''nir'' (last checked 2019/08/03) was assumed to prevent black-screen issues, but it happened once even with that option; maybe it reduces the frequency of them? | * TODO: Test ''4.6FC'' |
| |
<code> | <code> |
# Generic | # Modern Open/Mesa Graphics |
export PULSE_LATENCY_MSEC='100' | export MESA_SHADER_CACHE_DIR=~/'Jagex' |
export MESA_GLSL_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'</code> |
| |
# Modern AMD Graphics | ===== Zink ===== |
export MESA_GL_VERSION_OVERRIDE='4.5FC' | |
export AMD_DEBUG='unsafemath,nir' | |
| |
# Benchmarking | * https://docs.mesa3d.org/drivers/zink.html |
#export GALLIUM_HUD='cpu0+cpu1+cpu2+cpu3;GPU-load,requested-VRAM+VRAM-usage;fps'</code> | * :!: Add under ''# Custom'' but above ''unset XMODIFIERS'' |
| |
===== Modern Intel Graphics ===== | |
| |
* Intel Iris Graphics 5100 | |
* Intel HD Graphics 6000 | |
* :!: Add between ''SDL_VIDEO_X11_WMCLASS'' and ''unset XMODIFIERS'' | |
| |
* ''MESA_GL_VERSION_OVERRIDE'' is not required, but without it, the max OpenGL version reported is ''3.0'', even though the hardware easily supports ''4.5'' ((this allows selecting MSAA, but GPU performance for MSAA is unideal; outside of this there's no known benefit)) | |
| |
<code> | <code> |
# Generic | # Zink |
export PULSE_LATENCY_MSEC='100' | export MESA_SHADER_CACHE_DIR=~/'Jagex' |
export MESA_GLSL_CACHE_DIR=~/'Jagex' | export MESA_LOADER_DRIVER_OVERRIDE='zink' |
| export GALLIUM_DRIVER='zink'</code> |
# Modern Intel Graphics | |
export MESA_GL_VERSION_OVERRIDE='4.5FC'</code> | |
| |
===== Old Intel Graphics ===== | ===== Old Intel Graphics ===== |
| |
* Intel GMA 4500MHD | * Intel GMA 4500MHD |
* :!: Add between ''SDL_VIDEO_X11_WMCLASS'' and ''unset XMODIFIERS'' | * :!: Add under ''# Custom'' but above ''unset XMODIFIERS'' |
| |
| * :!: This hasn't been tested since 2019 |
* The graphics-related environment variables are for a Intel GMA 4500MHD GPU that barely reports OpenGL 2.0 | * The graphics-related environment variables are for a Intel GMA 4500MHD GPU that barely reports OpenGL 2.0 |
* :!: ''MESA_GLSL_VERSION_OVERRIDE'' is required, and ''130'' is the lowest NXT will allow | * :!: ''MESA_GLSL_VERSION_OVERRIDE'' is required, and ''130'' is the lowest NXT will allow |
* :!: ''MESA_GL_VERSION_OVERRIDE'' can be ''2.1'', but ''renderer'' in dev console doesn't expose GL extensions ((it's unknown if this causes any issues or improves anything)) | * :!: ''MESA_GL_VERSION_OVERRIDE'' can be ''2.1'', but ''renderer'' in dev console doesn't expose GL extensions ((it's unknown if this causes any issues or improves anything)) |
* :!: This computer requires graphics settings to be Low for any kind of playable FPS | * :!: This computer required graphics settings to be Low for any kind of playable FPS |
| |
<code> | <code> |
# Generic | |
export PULSE_LATENCY_MSEC='100' | |
export MESA_GLSL_CACHE_DIR=~/'Jagex' | |
| |
# Old Intel Graphics | # Old Intel Graphics |
| export MESA_SHADER_CACHE_DIR=~/'Jagex' |
export MESA_GLSL_VERSION_OVERRIDE='130' | export MESA_GLSL_VERSION_OVERRIDE='130' |
export MESA_GL_VERSION_OVERRIDE='3.0'</code> | export MESA_GL_VERSION_OVERRIDE='3.0' |
| export mesa_glthread='true'</code> |
| |
===== Debugging ===== | ===== NVIDIA Proprietary ===== |
| |
* :!: Append after ''PULSE_LATENCY_MSEC'' | * :!: Expects use of the NVIDIA proprietary driver, and not ''nouveau'' |
| * :!: Add under ''# Custom'' but above ''unset XMODIFIERS'' |
| |
| <code> |
| # NVIDIA Proprietary |
| export __GL_SHADER_DISK_CACHE_PATH=~/'Jagex' |
| export __GL_THREADED_OPTIMIZATIONS='1'</code> |
| |
| ===== Debugging ===== |
| |
<code>export MESA_GL_VERSION_OVERRIDE='4.5FC'</code> | * :!: Add under ''# Custom'' but above ''unset XMODIFIERS'' |
| |
<code>export MESA_DEBUG='1'</code> | <code>export MESA_DEBUG='1'</code> |
<code>export LIBGL_DEBUG='verbose'</code> | <code>export LIBGL_DEBUG='verbose'</code> |
| |
<code>export vblank_mode='0'</code> | ===== More Environment Variables ===== |
| |
<code>export __GL_SYNC_TO_VBLANK='0'</code> | * See [[notes:wine]] |
| * https://docs.mesa3d.org/envvars.html |
| |
<code>export GALLIUM_HUD='cpu0+cpu1+cpu2+cpu3;cpu4+cpu5+cpu6+cpu7;GPU-load,requested-VRAM+VRAM-usage;fps'</code> | ===== Jagex Launcher ===== |
| |
<code>export MESA_NO_ERROR='1'</code> | * See [[games:wine:jagex_launcher|Jagex Launcher]] |
| * TODO: This should probably link to [[games:wine:runescape_jagex_launcher]] instead? |
| |
<code>export NIR_VALIDATE='0'</code> | ln --backup --symbolic --force ~/'Jagex/updater/runescape-launcher' ~/'.wine/Jagex Launcher/drive_c/Program Files/Jagex Launcher/Games/RuneScape/RuneScape.exe' |
| |
====== Settings ====== | ====== Settings ====== |
| |
===== Game ===== | ===== Game ===== |
| |
| ==== Music Player ==== |
| |
| * See [[notes:runescape_music|RuneScape Music]] |
| |
==== Camera ==== | ==== Camera ==== |
| |
* https://old.reddit.com/r/runescape/comments/b5ga9y/resetdefault_camera_zoom_possible/ejdplsy/ | * https://old.reddit.com/r/runescape/comments/b5ga9y/resetdefault_camera_zoom_possible/ejdplsy/ |
| * https://sqlitebrowser.org/dl/ |
| |
* DB Browser for SQLite -> ''Settings.jcache'' | * DB Browser for SQLite -> ''Settings.jcache'' |
* Browse Data -> Table: vt-varc -> KEY 1971 -> DATA | * Browse Data -> Table: vt-varc -> KEY 1971 -> DATA |
* Set ''DATA'' for KEY ''1971'' to NULL and restart client to have default camera distance ((the default value as of 2019/12/19 is ''4730'')) | * Set ''DATA'' for KEY ''1971'' to NULL and restart client to have default camera distance ((the default value as of 2022/09/27 is ''4730'')) |
* In-game -> Settings -> Gameplay -> General -> Game Interaction -> [x] Lock zoom to prevent accidental changes | * In-game -> Settings -> Gameplay -> General -> Game Interaction -> [x] Lock zoom to prevent accidental changes |
| |
sqlitebrowser ~/'Jagex/RuneScape/Settings.jcache' | sudo dnf install 'sqlitebrowser' -y |
| |
==== Rendering Quality ==== | |
| |
* DB Browser for SQLite -> ''Settings.jcache'' | |
* Browse Data -> Table: Config -> KEY GameRenderScale -> DATA | |
* Set ''DATA'' for KEY ''GameRenderScale'' to ''33'' or above ((''100'' is native, ''200'' is double)) | |
| |
sqlitebrowser ~/'Jagex/RuneScape/Settings.jcache' | sqlitebrowser ~/'Jagex/RuneScape/Settings.jcache' |
==== Information ==== | ==== Information ==== |
| |
* For some reason, Runescape's volume is lower than average | * Runescape's volume was lower than average with PulseAudio |
* The following commands boosts RS's volume past 100% | * The following commands boosts RS's volume past 100% |
* :!: This expects PulseAudio to be used | * :!: This expects PulseAudio to be used ((PipeWire on Fedora 36 seems to have expected volume by-default)) |
| * 2023/08/24: This was required on openSUSE TW |
| |
==== Get Index ==== | ==== Get Index ==== |
| |
===== RuneScape ===== | ===== RuneScape ===== |
| |
| * :!: Should likely be using [[games:wine:jagex_launcher|Jagex Launcher]] instead |
| |
nano ~/'.local/share/applications/RuneScape.desktop' | nano ~/'.local/share/applications/RuneScape.desktop' |
Icon=runescape | Icon=runescape |
StartupWMClass=RuneScape | StartupWMClass=RuneScape |
Actions=iGPU;Kill;Cache; | Actions=Kill;Cache; |
| |
[Desktop Action iGPU] | |
Exec='/home/CHANGEME/Jagex/updater/runescape-launcher-igpu' | |
Name=Launch RuneScape on Integrated Graphics | |
| |
[Desktop Action Kill] | [Desktop Action Kill] |
| |
gio open ~/'Jagex' | gio open ~/'Jagex' |
| |