User Tools

Site Tools



  • Old School RuneScape 1)



  • -Dsun.java2d.opengl=true enables Hardware-acceleration via OpenGL 2)
  • :!: 2020/09/24: There are no known configurations where -Dsun.java2d.opengl=true offers a performance benefit
  • :!: 2020/03/24: On macOS, using the official .dmg to install OSRS resulted in the worst possible performance due to a mix of forced GPU acceleration and Retina with Java 8; it was recommended to manually install OSRS and to use the latest OpenJDK package available instead to workaround this
  • -Dsun.java2d.uiScale at 2 and higher increases all UI scale in-game, and improves performance with lowering texture resolution
  • 2023/03/17: RuneLite with GPU plug-in at default view distance had lower FPS than CPU renderer, and GPU plug-in blurs everything. Using this standard Java client seems the best choice.
  • jagexappletviewer.jar from OldSchool.msi was used because it allows the copyright footer bar to be removed upon logging in 3) 4)
  • :!: The copyright footer was not hidden with OpenJDK 12, 13, and presumably any JRE newer than 11 if jagexappletviewer.jar comes from OldSchool.msi 5)


  • wmctrl is used to toggle between windowed and fullscreen states
  • p7zip-plugins is needed to extract jagexappletviewer.jar from OldSchool.msi later 6) 7)
  • :!: As of 2023/03/17, Java 19 didn't work on Fedora 37, but 11 is still fine
sudo dnf install java-11-openjdk wmctrl && sync

Set Default Java

sudo update-alternatives --config 'java'

Old School RuneScape

rm -Rf ~/'runescape/oldschool' '/tmp/oldschool' && mkdir -p ~/'runescape/oldschool' '/tmp/oldschool' && wget -O '/tmp/oldschool/OldSchool.msi' '' && 7z e -o'/tmp/oldschool/OldSchool-msi' -y '/tmp/oldschool/OldSchool.msi' && 7z e -o'/tmp/oldschool/rslauncher-cab' -y '/tmp/oldschool/OldSchool-msi/' && cp '/tmp/oldschool/rslauncher-cab/JagexAppletViewerJarFile'* ~/'runescape/oldschool/jagexappletviewer.jar' && cp '/tmp/oldschool/rslauncher-cab/JagexAppletViewerPngFile' ~/'runescape/oldschool/jagexappletviewer.png' && rm -Rf '/tmp/oldschool' && sync

Desktop Launcher

Old School RuneScape

  • :!: Change opengl and uiScale flags as-needed
mkdir -p ~/'.local/share/applications' && nano ~/'.local/share/applications/Old School RuneScape.desktop'
[Desktop Entry]
Name=Old School RuneScape
Comment=Relive the challenging levelling system and risk-it-all PvP of the biggest retro styled MMO. Play with millions of other players in this piece of online gaming heritage where the community controls the development so the game is truly what you want it to be!
Exec='/usr/bin/java' -Duser.home='/home/CHANGEME/runescape/oldschool' -Djava.class.path='/home/CHANGEME/runescape/oldschool/jagexappletviewer.jar' -Dcom.jagex.config='' -Djdk.tls.client.protocols='TLSv1.2' -Dhttps.protocols='TLSv1.2' -Xms'768M' -Xmx'768M' -Dsun.java2d.opengl='false' -Dsun.java2d.uiScale='1' 'jagexappletviewer' 'oldschool'

[Desktop Action Screen]
Exec='/usr/bin/wmctrl' -r 'Old School RuneScape' -b toggle,fullscreen -F
Name=Toggle Fullscreen/Windowed

[Desktop Action Cache]
Exec='/bin/bash' -c "rm -Rf '/home/CHANGEME/runescape/oldschool/jagexcache' '/home/CHANGEME/runescape/oldschool/jagexappletviewer.preferences' '/home/CHANGEME/runescape/oldschool/jagex_cl_oldschool_LIVE.dat' '/home/CHANGEME/runescape/oldschool/random.dat' '/home/CHANGEME/runescape/oldschool/'*'.log' '/home/CHANGEME/runescape/oldschool/.java' '/tmp/oldschool' && sync && notify-send 'The Old School RuneScape cache has been cleaned.'"
Name=Cache Cleanup

[Desktop Action Notes]
Exec=gio open ''
Name=Installation Notes
sed -i 's/'CHANGEME'/'$USER'/g' ~/'.local/share/applications/Old School RuneScape.desktop'


rm -Rf '/tmp/oldschool' && mkdir -p '/tmp/oldschool' && wget -O '/tmp/oldschool/OldSchool.dmg' '' && 7z e -o'/tmp/oldschool/OldSchool-dmg' -y '/tmp/oldschool/OldSchool.dmg' && cp '/tmp/oldschool/OldSchool-dmg/OSRS.icns' ~/'runescape/oldschool/OSRS.icns' && rm -Rf '/tmp/oldschool' && sync

Quick Commands

Clear Cache

rm -Rf ~/'runescape/oldschool/jagexcache' ~/'runescape/oldschool/jagexappletviewer.preferences' ~/'runescape/oldschool/jagex_cl_oldschool_LIVE.dat' ~/'runescape/oldschool/random.dat' '/tmp/oldschool' && sync


Old School RuneScape

cd ~/'runescape/oldschool' && java -Duser.home='.' -Djava.class.path='jagexappletviewer.jar' -Dcom.jagex.config='' -Dhttps.protocols='TLSv1.2' -Dsun.java2d.opengl='false' -Dsun.java2d.uiScale='1' 'jagexappletviewer' 'oldschool'
-XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+AlwaysPreTouch -Xms'512M' -Xmx'512M' -XX:-UseBiasedLocking -XX:+DisableExplicitGC

File Manager


gio open ~/'runescape/oldschool'



  • :!: jagexappletviewer.jar has varying filesizes depending on where it's sourced from, along with different functionality depending on the host operating system 8)


  • Extracts jagexappletviewer.jar from OldSchool.msi and requires 7z
  • Places it at ~/Downloads/windows-jagexappletviewer.jar
rm -Rf '/tmp/oldschool' && mkdir -p '/tmp/oldschool' && wget -O '/tmp/oldschool/OldSchool.msi' '' && 7z e -o'/tmp/oldschool/OldSchool-msi' -y '/tmp/oldschool/OldSchool.msi' && 7z e -o'/tmp/oldschool/rslauncher-cab' -y '/tmp/oldschool/OldSchool-msi/' && cp '/tmp/oldschool/rslauncher-cab/JagexAppletViewerJarFile'* ~/'Downloads/windows-jagexappletviewer.jar' && rm -Rf '/tmp/oldschool' && sync


  • Extracts jagexappletviewer.jar from OldSchool.dmg and requires 7z
  • Places it at ~/Downloads/macos-jagexappletviewer.jar
rm -Rf '/tmp/oldschool' && mkdir -p '/tmp/oldschool' && wget -O '/tmp/oldschool/OldSchool.dmg' '' && 7z e -o'/tmp/oldschool/OldSchool-dmg' -y '/tmp/oldschool/OldSchool.dmg' && cp '/tmp/oldschool/OldSchool-dmg/jagexappletviewer.jar' ~/'Downloads/macos-jagexappletviewer.jar' && rm -Rf '/tmp/oldschool' && sync


  • TODO
am start -n ''
am force-stop ''


Create Directory

  • Alternatively, use Explorer to make the runescape folder in the User folder and runescape\oldschool
if not exist %UserProfile%"\runescape\oldschool" mkdir %UserProfile%"\runescape\oldschool"
start %UserProfile%"\runescape"


  • Download the Windows .zip of the latest Java package from
  • Extract the root folder from the archive and drop it in the runescape folder
  • Folder structure should be %UserProfile%\runescape\jdk-14
  • javaw.exe should exist at %UserProfile%\runescape\jdk-14\bin\javaw.exe


  • Extract it from the macOS Oldschool.dmg installer
  • Should reside at %UserProfile%\runescape\oldschool\jagexappletviewer.jar

Batch File

  • Should reside at %UserProfile%\runescape\osrs.cmd
  • The usual command-line arguments above can be tossed in or altered as-needed
cd "jdk-"*"\bin"

start javaw.exe -Djava.system.class.loader="app.systemclassloader" -Duser.home="..\..\oldschool" -Djava.class.path="..\..\oldschool\jagexappletviewer.jar" -Dcom.jagex.config="" -Dhttps.protocols="TLSv1.2" -Xms"768M" -Xmx"768M" -Dsun.java2d.uiScale="1" "jagexappletviewer" "oldschool"


  • need macOS dmg .jar
  • Need OpenJDK 13 or something in the ~/runescape folder
  • OpenJDK 9 had GPU usage and lower FPS
  • Need -Djava.system.class.loader=app.systemclassloader
  • :!: This very likely needs refactored
rm -Rf ~/'runescape/oldschool' && mkdir -p ~/'runescape/oldschool' && curl '' -o ~/'runescape/oldschool/jagexappletviewer.jar' && curl '' -o ~/'runescape/oldschool/jagexappletviewer.png' && sync
#!/usr/bin/env zsh

cd ~/'runescape/oldschool'
~/'runescape/jdk-13.0.1.jdk/Contents/Home/bin/java' -Djava.system.class.loader='app.systemclassloader' -Duser.home='.' -Djava.class.path='jagexappletviewer.jar' -Dcom.jagex.config='' -Dhttps.protocols='TLSv1.2' -Xms'768M' -Xmx'768M' -Dsun.java2d.opengl='false' -Dsun.java2d.uiScale='1' 'jagexappletviewer' 'oldschool'
This is known to be broken with Intel graphics on multiple computers as it does some weird tiling thing and is unplayable
the previously used direct-link jagexappletviewer.jar can be found here
last tested 2019/10/22
only 7z can do this properly and not 7za, cabextract, nor unar
this is expected to already be installed from the Fedora prerequisite
/var/www/wiki/data/pages/games/old_school_runescape.txt · Last modified: 2023/03/18 21:19 by Sean Rhone

Except where otherwise noted, content on this wiki is licensed under the following license: CC0 1.0 Universal
CC0 1.0 Universal Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki