Playing in Linux: Difference between revisions

From OniGalore
Jump to navigation Jump to search
m (link fix; looks like Sun's site is finally being absorbed into Oracle's)
(fixing names of sections; added Troubleshooting section with a sound problem tip)
Line 11: Line 11:
: The maximum compatible version is '''7u65'''. Unfortunately, the [https://www.oracle.com/java/technologies/javase/javase7-archive-downloads.html official Oracle download page] requires a subscription in order to download legacy versions of JRE. An obscure link through the legacy website of Sun Microsystems (former developer of the Java platform) was found. The link ([https://javadl.oracle.com/webapps/download/AutoDL?BundleId=78825 click here]) can be used to download a JRE 7u25 offline installer.
: The maximum compatible version is '''7u65'''. Unfortunately, the [https://www.oracle.com/java/technologies/javase/javase7-archive-downloads.html official Oracle download page] requires a subscription in order to download legacy versions of JRE. An obscure link through the legacy website of Sun Microsystems (former developer of the Java platform) was found. The link ([https://javadl.oracle.com/webapps/download/AutoDL?BundleId=78825 click here]) can be used to download a JRE 7u25 offline installer.


==How to prepare the Wine prefix==
==Preparing the Wine prefix==
# Open a Linux terminal and create a new Wine prefix (an instance of the Wine compatibility environment) by executing the following sequence of commands:
# Open a Linux terminal and create a new Wine prefix (an instance of the Wine compatibility environment) by executing the following sequence of commands:
#: <code> export WINEARCH=win32 </code>
#: <code> export WINEARCH=win32 </code>
Line 24: Line 24:
# The "Oni" Wine prefix is now ready. Remember, that in order to run either Oni or the AE Installer, the path to this prefix file must be specified (exported). If it is not specified, then the Wine session will use a default prefix file, one which is probably set to represent 64-bit Windows 7 or 64-bit Windows 10 (which is quite sensible for most applications, but unfortunately not good enough for Oni).
# The "Oni" Wine prefix is now ready. Remember, that in order to run either Oni or the AE Installer, the path to this prefix file must be specified (exported). If it is not specified, then the Wine session will use a default prefix file, one which is probably set to represent 64-bit Windows 7 or 64-bit Windows 10 (which is quite sensible for most applications, but unfortunately not good enough for Oni).


==How to install Oni==
==Installing Oni==
# Insert your Oni CD-ROM into the disc drive (if installing from the CD, 2001-style ^_^).
# Insert your Oni CD-ROM into the disc drive (if installing from the CD, 2001-style ^_^).
# Open a Linux terminal, export the "Oni" prefix file, navigate to the folder with the contents of the mounted CD, and initiate the installation process.
# Open a Linux terminal, export the "Oni" prefix file, navigate to the folder with the contents of the mounted CD, and initiate the installation process.
Line 34: Line 34:
# DO NOT RUN THE GAME YET!!! An attempt to run an unpatched copy of Oni on a modern system is almost guaranteed to fail. The game needs to be patched via the AE Installer.
# DO NOT RUN THE GAME YET!!! An attempt to run an unpatched copy of Oni on a modern system is almost guaranteed to fail. The game needs to be patched via the AE Installer.


==How to install AE Installer==
==Installing AE Installer==
This is a rather straightforward process.
This is a rather straightforward process.
# Download the latest Windows version of the AE Installer from the Oni Mod Depot ([http://mods.oni2.net/node/79 click here]).
# Download the latest Windows version of the AE Installer from the Oni Mod Depot ([http://mods.oni2.net/node/79 click here]).
Line 44: Line 44:
# At the end of the installation, the AE Installer will be automatically executed and will attempt to fetch updates. During the fetching process, it may appear that the AE Installer has hanged. That is not true, it just does not indicate that there is work being done in the background. Be patient.
# At the end of the installation, the AE Installer will be automatically executed and will attempt to fetch updates. During the fetching process, it may appear that the AE Installer has hanged. That is not true, it just does not indicate that there is work being done in the background. Be patient.


==How to launch AE Installer==
==Launching AE Installer==
The AE Installer will be automatically launched after it is installed. However, any other time you want to launch the AE Installer, open a Linux terminal, export the "Oni" prefix, navigate to the folder with the '''AEInstaller2Updater.jar''' file, and launch the .jar file through Wine Java Runtime Environment:
The AE Installer will be automatically launched after it is installed. However, any other time you want to launch the AE Installer, open a Linux terminal, export the "Oni" prefix, navigate to the folder with the '''AEInstaller2Updater.jar''' file, and launch the .jar file through Wine Java Runtime Environment:
: <code> export WINEPREFIX=/full_path_to_the_folder_where_Oni_prefix_is_located </code>
: <code> export WINEPREFIX=/full_path_to_the_folder_where_Oni_prefix_is_located </code>
Line 50: Line 50:
: <code> wine start /ProgIDOpen jarfile AEInstaller2Updater.jar </code>
: <code> wine start /ProgIDOpen jarfile AEInstaller2Updater.jar </code>


==How to patch Oni via AE Installer==
==Patching/modding Oni via AE Installer==
Simply let the AE Installer do its magic. ^_^
Simply let the AE Installer do its magic. ^_^


==How to launch patched Oni==
==Launching patched Oni==
There are two possible ways to launch Oni:<br>
There are two possible ways to launch Oni:<br>
A. Launch the game through the AE Installer application.<br>
A. Launch the game through the AE Installer application.<br>
Line 60: Line 60:
: <code> cd /full_path_to_the_patched_Oni.exe </code>
: <code> cd /full_path_to_the_patched_Oni.exe </code>
: <code> wine Oni.exe </code>
: <code> wine Oni.exe </code>
==Troubleshooting==
Some users experience a large drop in frame rate when certain actions occur such as firing a gun. According to [[User:Noneatme|Oxy]]:
{{Quotebox|quote=It has something to do with the sound. When you fire the pistol, every shot a new sound gets created, and this causes lag for some reason.
Try installing and uninstalling various sound packages from the winetricks GUI, I have to check sometime what exactly is causing this, but I remember either:<br>
- an invalid Wine version<br>
- invalid dxSound packages}}


[[Category:Oni Support]]
[[Category:Oni Support]]

Revision as of 18:34, 1 December 2020

There is no official support for Oni in the Linux family of OSes. Nevertheless, it is still possible to run the game on Linux. The Anniversary Edition Installer can be made to run as well.

Requirements

Wine
An application used as a compatibility layer in order to run Windows applications on a Linux machine. For maximum convenience, it is recommended to install Wine directly from an official repository of the given Linux distribution (it is natively supported by a wide array of distros). Wine 5.5 was found to be capable of flawlessly running Oni and the AE Installer.
Winetricks
Helper script for configuring various parts of Wine-created compatibility environments. In some distros, Winetricks is installed alongside Wine itself. In other distros, it needs to be installed as a separate package.
A legacy Java Runtime Environment offline installer for the 32-bit (AKA x86) version of Windows XP.
The maximum compatible version is 7u65. Unfortunately, the official Oracle download page requires a subscription in order to download legacy versions of JRE. An obscure link through the legacy website of Sun Microsystems (former developer of the Java platform) was found. The link (click here) can be used to download a JRE 7u25 offline installer.

Preparing the Wine prefix

  1. Open a Linux terminal and create a new Wine prefix (an instance of the Wine compatibility environment) by executing the following sequence of commands:
    export WINEARCH=win32
    export WINEPREFIX=/full_path_to_the_folder_where_this_Wine_prefix_will_be_located
    winecfg
  2. The sequence of commands from step 1 creates a new 32-bit Wine prefix in the requested folder and opens a "Wine configuration" GUI tool. In the GUI tool, under the "Applications" tab, change the target Windows version to "Windows XP". Then click on the OK button.
  3. Still in the same terminal (with all the export symbols defined), run Winetricks script to execute the necessary configuration changes:
    winetricks corefonts msacm32
  4. Still in the same terminal (with all the export symbols defined), use the cd command to navigate to the folder with the Java Runtime offline installer (let's assume the installer is named "jre-7u25-windows-i586.exe"). Install the JRE into the given Wine prefix:
    cd /full_path_to_the_JRE_offline_installer
    wine jre-7u25-windows-i586.exe
  5. The "Oni" Wine prefix is now ready. Remember, that in order to run either Oni or the AE Installer, the path to this prefix file must be specified (exported). If it is not specified, then the Wine session will use a default prefix file, one which is probably set to represent 64-bit Windows 7 or 64-bit Windows 10 (which is quite sensible for most applications, but unfortunately not good enough for Oni).

Installing Oni

  1. Insert your Oni CD-ROM into the disc drive (if installing from the CD, 2001-style ^_^).
  2. Open a Linux terminal, export the "Oni" prefix file, navigate to the folder with the contents of the mounted CD, and initiate the installation process.
    export WINEPREFIX=/full_path_to_the_folder_where_Oni_prefix_is_located
    cd /full_path_to_the_contents_of_the_Oni_installation_medium
    wine OniSetup.exe
  3. During the installation process, it is recommended to NOT place the game inside the prefix file's compatibility environment folder (do not place it anywhere on the faux "C:\" drive). Instead, choose an appropriate place somewhere in your Linux machine's directory tree. The computer's native directory tree should be mapped by default as a different faux drive (usually "Z:\").
  4. The game should install without problems. Ignore the warning regarding DirectX 7, it is harmless.
  5. DO NOT RUN THE GAME YET!!! An attempt to run an unpatched copy of Oni on a modern system is almost guaranteed to fail. The game needs to be patched via the AE Installer.

Installing AE Installer

This is a rather straightforward process.

  1. Download the latest Windows version of the AE Installer from the Oni Mod Depot (click here).
  2. Open a Linux terminal, export the "Oni" prefix, navigate to the folder with the AE Installer, and initiate the installation process.
    export WINEPREFIX=/full_path_to_the_folder_where_Oni_prefix_is_located
    cd /full_path_to_the_AE_Installer
    wine Anniversary-Edition-Setup-vXX.YY_ZZ.exe
  3. During the AE Installer installation, there will be a prompt to provide Oni's installation directory. Navigate to the appropriate directory. Your Linux system's directory tree should be mapped to "/".
  4. At the end of the installation, the AE Installer will be automatically executed and will attempt to fetch updates. During the fetching process, it may appear that the AE Installer has hanged. That is not true, it just does not indicate that there is work being done in the background. Be patient.

Launching AE Installer

The AE Installer will be automatically launched after it is installed. However, any other time you want to launch the AE Installer, open a Linux terminal, export the "Oni" prefix, navigate to the folder with the AEInstaller2Updater.jar file, and launch the .jar file through Wine Java Runtime Environment:

export WINEPREFIX=/full_path_to_the_folder_where_Oni_prefix_is_located
cd /full_path_to_the_AEInstaller2Updater.jar
wine start /ProgIDOpen jarfile AEInstaller2Updater.jar

Patching/modding Oni via AE Installer

Simply let the AE Installer do its magic. ^_^

Launching patched Oni

There are two possible ways to launch Oni:
A. Launch the game through the AE Installer application.
B. Open a Linux terminal, export the "Oni" prefix, navigate to the folder with the patched Oni.exe file, and launch it via Wine.

export WINEPREFIX=/full_path_to_the_folder_where_Oni_WINEPREFIX_is_located
cd /full_path_to_the_patched_Oni.exe
wine Oni.exe

Troubleshooting

Some users experience a large drop in frame rate when certain actions occur such as firing a gun. According to Oxy:

It has something to do with the sound. When you fire the pistol, every shot a new sound gets created, and this causes lag for some reason. Try installing and uninstalling various sound packages from the winetricks GUI, I have to check sometime what exactly is causing this, but I remember either:
- an invalid Wine version
- invalid dxSound packages