Difference between revisions of "Overgrowth Linux"
(→Installer) |
(→64-bit systems) |
||
Line 27: | Line 27: | ||
===64-bit systems=== | ===64-bit systems=== | ||
− | The following is no longer necessary as we build and deliver a 64 bit binary package, but is still necessary if you wish to run the 32 bit version. | + | ''The following is no longer necessary as we build and deliver a 64 bit binary package, but is still necessary if you wish to run the 32 bit version.'' |
Overgrowth tries to access the 32-bit (i386) version of many libraries whose 64-bit version (amd64) might already be installed in your system. In order to install the 32-bit version of these libraries, append '':i386'' at the end of the package name when using apt-get. For example, when running Overgrowth Alpha 208 on a 64-bit Ubuntu 14.04, the following 32-bit libraries must be installed, despite its 64-bit versions already being installed: | Overgrowth tries to access the 32-bit (i386) version of many libraries whose 64-bit version (amd64) might already be installed in your system. In order to install the 32-bit version of these libraries, append '':i386'' at the end of the package name when using apt-get. For example, when running Overgrowth Alpha 208 on a 64-bit Ubuntu 14.04, the following 32-bit libraries must be installed, despite its 64-bit versions already being installed: |
Revision as of 10:49, 30 March 2017
The Linux version of Overgrowth has different dependencies which need to be fulfilled, otherwise the game won't run. Those dependencies can vary from distribution to distribution.
Installer
We currently don't ship an installer anymore, but we intend to do this in the future.
The Linux installer is a Bash script which loads a graphical installer. The shebang points to /bin/sh, but it will not work with every shell.
# readlink -f /bin/sh /bin/bash
If the installer won't load and /bin/sh doesn't point to bash try to force using bash.
# bash overgrowth-xxx-linux.sh
root rights are not necessarily required to install Overgrowth. If you only have a single user on your system (that wants to play Overgrowth) it is not a bad idea to install it to your home directory, because then you do not have to start SUMLauncher as root user.
Distributions
Debian
This also includes Ubuntu, Mint etc.
Libraries
# apt-get install libfreeimage3 # apt-get install libalut0 # apt-get install libsdl-net1.2
64-bit systems
The following is no longer necessary as we build and deliver a 64 bit binary package, but is still necessary if you wish to run the 32 bit version.
Overgrowth tries to access the 32-bit (i386) version of many libraries whose 64-bit version (amd64) might already be installed in your system. In order to install the 32-bit version of these libraries, append :i386 at the end of the package name when using apt-get. For example, when running Overgrowth Alpha 208 on a 64-bit Ubuntu 14.04, the following 32-bit libraries must be installed, despite its 64-bit versions already being installed:
sudo apt-get install libgconf2-4:i386 libnss3:i386 libgtk2.0-0:i386 libglu1-mesa:i386 libxft2:i386
Gentoo
Libraries
Overgrowth needs different libraries in order to work. This list might not be complete.
# emerge -av gnome-base/gconf # emerge -av media-libs/freeimage # emerge -av media-libs/freealut # emerge -av media-libs/libpng:1.2
Groups
If your user is not already in this groups you have to add him. Otherwise the game may not start and it is even possible that X will completely crash.
# gpasswd -a your_user audio # gpasswd -a your_user video
SUMLauncher
SUMLauncher does not work with dev-java/sun-jdk, you will need dev-java/icedtea-bin to use it.
# emerge -av dev-java/icedtea-bin # eselect java-vm list Available Java Virtual Machines: [1] icedtea-bin-6 [2] sun-jre-bin-1.6 system-vm # eselect java-vm user set 1
Arch
You can install the package overgrowth from the AUR.
Libraries
If you install the AUR package all required libraries should be pulled in automatically. If you install Overgrowth manually or using SUMLauncher you will need to acquire the dependencies manually. The following should provide a good starting point:
# pacman -S --needed freeimage freealut sdl
SUMLauncher
You can install the package sumlauncher from the AUR.
Problems and solutions
Overgrowth currently has many severe bugs and issues on Linux. Luckily, there are fixes or workarounds for most of them. The below specifically assumes a199, so please upgrade before trying the suggestions here.
Errors about GLSL appear, mentioning GLSL versions.
This is another one that happens with Intel graphics on Linux. Add #version 130 to the tops of all files that end with .vert or .frag, but not any of the files that end with .glsl, in the Overgrowth/Data/GLSL directory. If you install mods that provide new shaders you may need to fix them as well.
You can use BASH code:
# cd to your Overgrowth/Data/GLSL cd /usr/local/games/Overgrowth/Data/GLSL # adds #version 130 to files for f in $(ls *.vert *.frag); do echo -e "#version 130\n$(cat $f)" > $f; done
Textures are missing. Loading screen shows a white box and the game appears in black and white
Overgrowth requires S3TC texture support, which is not enabled by default in open source graphics drivers. If you have this issue, you need to set up S3TC texture support. You can probably find out how by googling
S3TC <your distro here>
Also, you may need to start with "LC_ALL=en_US" parameter e.g.:
LC_ALL=en_US ./Overgrowth.bin.x86_64
Could not find "Data" folder
Unlike Windows systems, Unix-based systems are mostly case-sensitive in its directory paths. This reflects when, after starting Overgrowth, the system tries to find a "Data" folder, when the folder that is provided is actually called "data", without the capital D. Changing the lowercase D to uppercase should fix this issue.
LaunchApp: failed to execvp: [...]/AwesomiumProcess
In case the game simply freezes after being started, it might be a good idea to start it through the terminal in order to read its output log:
./Overgrowth.bin.x86
You might be able to see an error message similar to this:
LaunchApp: failed to execvp:
[path to Overgrowth]/lib/AwesomiumProcess
This means that the system has no permission to run the file called AwesomiumProcess inside the lib directory. In order to grant the necessary permissions for the file, open a terminal, go to the lib folder where AwesomiumProcess is and run the following command:
chmod +x AwesomiumProcess