Difference between revisions of "Linux"
m (→Solution: *rewritten;) |
THEMUNROVER (talk | contribs) m (Fixed lots of grammatical errors.) |
||
Line 3: | Line 3: | ||
== Running on non-English localized systems == | == Running on non-English localized systems == | ||
===Source of the problem=== | ===Source of the problem=== | ||
− | KSP doesn't work on some localization, because | + | KSP doesn't work on some localization, because English uses decimal fractions with a decimal point (<code>3.1415</code>), and other languages use a comma (<code>3,1415</code>). As a result of this, the Unity engine is attempting to use one method for writing and another method to read. |
[[File:Ksp steam command.jpeg|thumbnail|Command line on Steam]] | [[File:Ksp steam command.jpeg|thumbnail|Command line on Steam]] | ||
− | For starting in English localization use this command line: | + | For starting [[KSP]] in English localization use this command line: |
<code>LC_ALL=C ./KSP.x86</code> | <code>LC_ALL=C ./KSP.x86</code> | ||
Line 14: | Line 14: | ||
<code>LC_ALL=C ./KSP.x86_64</code> | <code>LC_ALL=C ./KSP.x86_64</code> | ||
− | The command lines can be used in console, placed in shell file | + | The command lines can be used in console, placed in shell file, in the command or in the command line of menus. For the '''Steam''' version the file name has to be replaced with the <code>%command%: |
<code>LC_ALL=C %command%</code> | <code>LC_ALL=C %command%</code> | ||
Line 24: | Line 24: | ||
''(See the picture on the right)'' | ''(See the picture on the right)'' | ||
− | == Text is missing in | + | == Text is missing in menus in the game == |
=== Source of the problem === | === Source of the problem === | ||
− | The game needs Arial and Arial Black fonts | + | The game needs Arial and Arial Black fonts to be installed. |
=== Solution === | === Solution === | ||
− | In case of Debian based systems (Ubuntu, Mint) install the "Microsoft TrueType core fonts" package (or something | + | In case of Debian based systems (Ubuntu, Mint) install the "Microsoft TrueType core fonts" package (or something similar), in case of AchLinux "ttf-ms-fonts" package, and so in case of other distros too. |
== Mods == | == Mods == | ||
===Source of the problem=== | ===Source of the problem=== | ||
− | There are no problems. | + | There are no problems. Mods are usually compatible with each other, and you do not have to pay special attention of compatibility of {{color|darkgreen|mod}}.dll files. |
== 64-bit version == | == 64-bit version == | ||
===Source of the problem=== | ===Source of the problem=== | ||
− | + | [[KSP]] can sometimes run out of memory, especially if you use many mods; the 32-bit application cannot handle memory over 4GB, and the 64-bit Linux version has a small bug, which can be fixed before use. | |
===Solution=== | ===Solution=== | ||
− | {{Box|type=warning|This solution modifies the KSP.x86_64 executable. Make a backup of it | + | {{Box|type=warning|This solution modifies the KSP.x86_64 executable. Make a backup of it first, because if not applied correctly this can cause various errors and break the executable.}} |
This works only on a 64-bit system. The command <code>uname --hardware-platform</code> replies <code>x86_64</code> on 64 bit systems. | This works only on a 64-bit system. The command <code>uname --hardware-platform</code> replies <code>x86_64</code> on 64 bit systems. | ||
− | In the [[root directory]] is the executable named <code>KSP.x86_64</code> | + | In the [[root directory]] is the executable named <code>KSP.x86_64</code> which needs to be patched. First you need to change to the directory using [[w:cd (command)|cd]] depending on your installed directory. Two bytes need to be set to 0, depending on the installed version: |
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
Line 63: | Line 63: | ||
==== Automatic script ==== | ==== Automatic script ==== | ||
− | Alternatively based on [https://github.com/Voidi/proprietary_installer/blob/master/ksp_installer ksp_installer] by Voidi the following script will automatically search for the erroneous position and fix it. It'll also backup the original file as <code>KSP.x86_64.unpatched</code> if anything has gone wrong. | + | Alternatively based on [https://github.com/Voidi/proprietary_installer/blob/master/ksp_installer ksp_installer] by Voidi, the following script will automatically search for the erroneous position and fix it. It'll also backup the original file as <code>KSP.x86_64.unpatched</code> if anything has gone wrong. |
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
#!/bin/sh | #!/bin/sh | ||
Line 81: | Line 81: | ||
==Joystick== | ==Joystick== | ||
− | The joystick has to work by default. If your joystick is not available for the game, check the availability for Linux: <code>ls -l /dev/input/js* /dev/js*</code>. If the command is not replied with any file, that means there is | + | The joystick has to work by default. If your joystick is not available for the game, check the availability for Linux: <code>ls -l /dev/input/js* /dev/js*</code>. If the command is not replied with any file, that means there is no driver installed. If you have the driver install it, for example in case of Fedora install <code>kernel-modules-extra</code> package. If the driver is installed, plug in the joystick, and try again! |
==External Links== | ==External Links== |
Revision as of 15:51, 6 December 2014
This section contains information about Kerbal Space Program on operation systems based on GNU/Linux.
Contents
Running on non-English localized systems
Source of the problem
KSP doesn't work on some localization, because English uses decimal fractions with a decimal point (3.1415
), and other languages use a comma (3,1415
). As a result of this, the Unity engine is attempting to use one method for writing and another method to read.
For starting KSP in English localization use this command line:
LC_ALL=C ./KSP.x86
- for the 64-bit version:
LC_ALL=C ./KSP.x86_64
The command lines can be used in console, placed in shell file, in the command or in the command line of menus. For the Steam version the file name has to be replaced with the %command%:
<code>LC_ALL=C %command%
- for the 64-bit version:
LC_ALL=C %command%_64
(See the picture on the right)
Source of the problem
The game needs Arial and Arial Black fonts to be installed.
Solution
In case of Debian based systems (Ubuntu, Mint) install the "Microsoft TrueType core fonts" package (or something similar), in case of AchLinux "ttf-ms-fonts" package, and so in case of other distros too.
Mods
Source of the problem
There are no problems. Mods are usually compatible with each other, and you do not have to pay special attention of compatibility of mod.dll files.
64-bit version
Source of the problem
KSP can sometimes run out of memory, especially if you use many mods; the 32-bit application cannot handle memory over 4GB, and the 64-bit Linux version has a small bug, which can be fixed before use.
Solution
This works only on a 64-bit system. The command uname --hardware-platform
replies x86_64
on 64 bit systems.
In the root directory is the executable named KSP.x86_64
which needs to be patched. First you need to change to the directory using cd depending on your installed directory. Two bytes need to be set to 0, depending on the installed version:
Version | Positions |
---|---|
0.24 — 0.24.2 | 0099f587 and 0099f58c
|
0.23.5 | 090f377 and 090f37c
|
0.23 | 838077 and 83807c
|
For example for version 0.24.2 it looks like:
echo "0099f587: 00" | xxd -r - KSP.x86_64 echo "0099f58c: 00" | xxd -r - KSP.x86_64
Automatic script
Alternatively based on ksp_installer by Voidi, the following script will automatically search for the erroneous position and fix it. It'll also backup the original file as KSP.x86_64.unpatched
if anything has gone wrong.
#!/bin/sh position1=$(echo "obase=16; $(perl -n0777e 'print pos()-1,"\n" while /\x01\x00\x00\x00\xB8\x01\x00\x00\x00\xC3\x41\x56\x41\x55\x49/g' "./KSP.x86_64") - E" | bc) if [ $position1 != "-E" ] then echo "Patching Segfault out of the Rockets ..." cp -n "./KSP.x86_64" "./KSP.x86_64.unpatched" position2=$(echo "obase=16;ibase=16; $position1 + 5" | bc) echo "$position1: 00" | xxd -r - "./KSP.x86_64" echo "$position2: 00" | xxd -r - "./KSP.x86_64" else echo "This seems to be not a vanilla KSP executable" fi
From now, only your hardware limits the usable memory. Install as many mods as you wish.
Joystick
The joystick has to work by default. If your joystick is not available for the game, check the availability for Linux: ls -l /dev/input/js* /dev/js*
. If the command is not replied with any file, that means there is no driver installed. If you have the driver install it, for example in case of Fedora install kernel-modules-extra
package. If the driver is installed, plug in the joystick, and try again!
External Links
https://wiki.archlinux.org/index.php/Kerbal_Space_Program - KSP on Archwiki