Running Rogue Legacy on Linux

linuxrogue-legacy

I was able to install Rogue Legacy 1.1.12c on Ubuntu 13.04 with Wine 1.4.1, but running it fails:

$ wine ~/.wine/drive_c/Program\ Files/Rogue\ Legacy/RogueLegacy.exe
wine: Install Mono 2.8 or greater for Windows to run .NET 4.0 applications.

I managed to install Mono and .NET:

  1. Removed Wine installation:

    $ rm -rf ~/.wine
    
  2. Downloaded gacutil-net40.tar.bz2 and prepared it for installing .NET 4.0:

    $ mkdir -p ~/.cache/winetricks/dotnet40
    $ mv ~/Downloads/gacutil-net40.tar.bz2 ~/.cache/winetricks/dotnet40
    
  3. Installed .NET 4.0:

    $ winetricks dotnet40
    
  4. Figured out which Mono version I could install with Wine:

    $ winetricks dlls list | grep -o '^mono[0-9]*'
    mono210
    
  5. Installed the Mono version I found above:

    $ winetricks mono210
    

Now I get the following result:

$ wine ~/.wine/drive_c/Program\ Files\ \(x86\)/Rogue\ Legacy/RogueLegacy.exe 

Unhandled Exception: System.TypeLoadException: Could not load type 'RogueCastle.Game' from assembly 'RogueLegacy, Version=1.0.12.0, Culture=neutral, PublicKeyToken=null'.
[ERROR] FATAL UNHANDLED EXCEPTION: System.TypeLoadException: Could not load type 'RogueCastle.Game' from assembly 'RogueLegacy, Version=1.0.12.0, Culture=neutral, PublicKeyToken=null'.

PS: Yes, I'm too impatient to wait for the Linux port. This game looks too awesome!

Best Answer

Please follow the guide provided in AskUbuntu to Correctly Configure and Install Wine which I made for cases like this.

After doing so then you can see in the Wine AppDB for Rogue Legacy the components needed for it which I also worked on. There is no additional steps apart from using the correct updated/configured Wine version and installing the needed components which, as you mentioned are the .NET Framework and/or Mono 2.10.

After running winetricks (The gui window) should show you that you have mono installed (And any other additional components. You can see which you need in the askubuntu answer I provided).

Additionally, and aside from the above mentioned, when running a Windows executable app with Wine, you should know 3 things:

  1. Some apps DO NOT execute if the executable file is not in the same folder where you are actually executing wine. For example:

    wine ~/.wine/drive_c/Program\ Files\ \(x86\)/Rogue\ Legacy/RogueLegacy.exe 
    

    Will NOT WORK but

    cd ~/.wine/drive_c/Program\ Files\ \(x86\)/Rogue\ Legacy
    wine RogueLegacy.exe 
    

    WILL WORK.

  2. When adding the location of a Windows executable and it contains names with spaces in them, it is always better to double quote the location than it is to simply assume it will work. For example the above can work better like this:

    wine ~/.wine/drive_c/"Program Files (x86)/Rogue Legacy"/RogueLegacy.exe
    
  3. Some games do not play well on a 64 bit environment. Since I see you have "Program Files (x86) with you, this just means you have Ubuntu 64 bit and simply installed Wine which by default takes the ARCH type of the Host system, in your case 64 bit. Please see the guide for Wine which talks about this.

So with this 3 points in mind and the guides, you should have a nice play of, not only this game but many MANY others.