Giana sisters - twisted dreams on Ubuntu 20.04
Synopsis
I loved playing Giana Sisters on the C64 and I absolutely wanted to play the successor on my new Linux laptop.
System Info
Hardware
OS
Prerequisites
Protontricks / winetricks
sudo apt-get install python3.8-venv
pipx install protontricks
Wine
Setting up a 32bit prefix
Lutris alread had set up a prefix64 directory, so I decided to put a prefix32 next to it:
WINEARCH=win32 WINEPREFIX=$HOME/.local/share/lutris/runners/winesteam/prefix32 winecfg
( See https://wiki.winehq.org/FAQ#32_bit_wineprefix for complete instructions)
Installing WMP10
Using the wine 32 bit prefix from the previous step:
WINEPREFIX=$HOME/.local/share/lutris/runners/winesteam/prefix32 winetricks wmp10
(see https://appdb.winehq.org/appview.php?iVersionId=3212 )
Installing the game
Configure Lutris
- Start Lutris
- open the config for Giana Sisters ** On the game options tab, set the Prefix to the one used in the WMP10 installation ** runner options: un-check esync
MISC
Did some experimenting with this today to see what is needed to get it working. It turns out that it works perfectly in Proton but requires quite a lot of extra work to get it going. The main cause of the crash is due to the lack with windows media player support. To get around this we have to install wmp10 from winetricks (or protontricks). This is where the nightmare begins. You can only install wmp10 (or 9) in a 32bit prefix that proton does not support. I manually created a 32bit prefix, installed wmp10 and ran the game in dx11 mode, and it crashed??? So after doing some digging, it turns out that the proton python script is programmed to put the 64bit d3d***.dll files into system32 which is correct for a 64 bit prefix but wrong for 32bit. I tried manually changing the files to the 32bit versions but they keep being deleted. Again looking at the python script, it replaces the dll files every time you launch the game. Finally modifying the script to stop the automatic replacement and the game launches without problems and plays perfectly. Unfortunately, the proton dev team are waiting until wmp support is fixed upstream so this may not work officially for a very long time which is a shame given how well it works.