Running Windows package on Linux

From PSwiki
Jump to navigation Jump to search

NOTE: This guide is for PSUnreal and not PSLegacy.

Install Steam

  1. Create an account with Steam if you do not already have one
  2. Follow the instructions at Steam's website for installing Steam on Linux: https://store.steampowered.com/about/

Enable Compatibility for Windows Applications

  1. Open Steam and Log In
  2. In the Steam Menu, select Settings
  3. In the left side of the window click on "Steam Play"
  4. Make sure that "Enable Steam Play for supported titles" is checked and make sure that "Enable steam play for all other titles" is checked
  5. Click OK in the settings window
  6. Click Library in the Main Steam Window
  7. Where it says Games, click it and check "Tools"
  8. Scroll down to the latest version of Proton (currently is 6.3)
  9. Click Install in the Main window (if it says Launch instead you already have it installed).

Creating the environment

  1. Create the directory ~/bin (if it's not already created ignore this step)
  2. Open directory ~/bin
  3. Create a script file named steam_nonsteam.sh in ~/bin and grant it executable permission by either going to the properties of the file or in a terminal for the path typing in chmod +x ~/bin/steam_nonsteam.sh)
  4. install any small non-steam game using the windows installer path as the argument to steam_nonsteam.sh in a terminal window
  5. your environment should be prepared at this point

steam_nonsteam.sh script contents

#!/bin/bash
PROTON_VERSION="6.3"
PROTON_DIR=$HOME/.steam/steam/steamapps/common/Proton\ $PROTON_VERSION
RUNNING="$1"
 
if [ ! -f "$PROTON_DIR/proton" ] ; then
    echo "Proton version $PROTON_VERSION not found!";
    exit
fi
 
if [ ! -f "$RUNNING" ] ; then
    echo "$RUNNING does not exist!";
    exit
fi
 
printf "Proton (\033[32m$PROTON_VERSION\033[0m) script found at\n  \033[32m$PROTON_DIR/proton\033[0m\n\n"
printf "Now running\n  \033[32m$PWD/$RUNNING\033[0m\n"
 
export STEAM_COMPAT_DATA_PATH="$HOME/.steam/steam/steamapps/compatdata"
export MOUNT_PATH="/media/d4/01D434E8CBD0E8F0"
 
PROTON_USE_WINED3D11=1 \
#PROTON_NO_D3D11=0 \
PROTON_NO_ESYNC=1 \
$HOME/.steam/steam/steamapps/common/Proton\ $PROTON_VERSION/proton \
run $RUNNING \
&> /dev/null
 
exit 0
 

steam_non_steam.sh usage

steam_nonsteam.sh path/to/installer.exe

Install Glorious Eggroll version of Proton

The built-in Proton versions so far have some issues with some titles so the customized version 'Glorious Eggroll' is a possible solution

  1. Download Glorious Eggroll version of Proton from: https://github.com/GloriousEggroll/proton-ge-custom/releases
  2. Extract the tarball to the directory: ~/.steam/root/compatibilitytools.d/ (note: may need to create the directories)
  3. Close and restart steam

Place to put the non-steam game for ease of execution

Proton should work like WINE,but as a precaution, rather than place the executable contents anywhere, it would be better to place in ~/.steam/steam/steamapps/compatdata/pfx/drive_c/<your choice here>

To get the game to show up in Steam

The only games that automatically show up in steam are those that are from the Steam Store, however, adding non-steam games to the library is possible. Games that include a desktop entry can be added to the steam library. The launcher item only needs to be created for pslauncher, as psclient loads from pslauncher.

  1. Open a menu editor like menulibre
  2. Add a new launcher by clicking the + button in MenuLibre
  3. Search for the Windows Executable.
  4. Place the file path (minus the executable) in the "working directory" and the executable in the "command"
  5. in the box that says "New Launcher" click and type a new name (this is what you will be looking for in steam)
  6. Select an Icon, enter a description, select a category (optional)
  7. Save the launcher entry and close menulibre
  8. In steam, go to the library and click "add a game"
  9. Select "add a non-steam game"
  10. Click browse
  11. Navigate to your home folder then ".local/share/applications"
  12. The desktop entry will most likely start with menulibre-xxxx where xxxx is the name of the launcher
  13. Click "open"
  14. Click "add selected programs"
  15. Right click the menu item choice that matches the name of the launcher and select properties
  16. Can rename the item and choose an icon here. This unfortunately does not copy the data from the desktop entry. (maybe a dummy desktop entry would have been sufficient)
  17. Click browse to find the executable
  18. Click "compatibility"
  19. Check "Force the use of a specific Steam Play compatibility tool"
  20. Select Proton-6.14-GE2 (or whatever version of Glorious Eggroll that was installed in compatibilitytools.d)
  21. Close the properties window