https://wiki.archlinux.org/api.php?action=feedcontributions&user=Ssl&feedformat=atomArchWiki - User contributions [en]2024-03-28T16:30:46ZUser contributionsMediaWiki 1.41.0https://wiki.archlinux.org/index.php?title=Install_Arch_Linux_from_existing_Linux&diff=436805Install Arch Linux from existing Linux2016-05-31T08:36:16Z<p>Ssl: /* Method A: Using the bootstrap image (recommended) */ …and the tar parameter</p>
<hr />
<div>[[Category:Getting and installing Arch]]<br />
[[es:Install from existing Linux]]<br />
[[fr:Install chroot]]<br />
[[it:Install from existing Linux]]<br />
[[ja:既存の Linux からインストール]]<br />
[[pt:Install from existing Linux]]<br />
[[ru:Install from existing Linux]]<br />
[[uk:Install from existing Linux]]<br />
[[zh-cn:Install from existing Linux]]<br />
[[zh-tw:Install from existing Linux]]<br />
{{Related articles start}}<br />
{{Related|Install from SSH}}<br />
{{Related articles end}}<br />
<br />
This document describes the bootstrapping process required to install Arch Linux from a running Linux host system.<br />
After bootstrapping, the installation proceeds as described in the [[Installation guide]].<br />
<br />
Installing Arch Linux from a running Linux is useful for:<br />
<br />
* remotely installing Arch Linux, e.g. a (virtual) root server<br />
* replacing an existing Linux without a LiveCD (see [[#Replacing the existing system without a LiveCD]])<br />
* creating a new Linux distribution or LiveCD based on Arch Linux<br />
* creating an Arch Linux chroot environment, e.g. for a Docker base container<br />
* [[Diskless_network_boot_NFS_root|rootfs-over-NFS for diskless machines]]<br />
<br />
The goal of the bootstrapping procedure is to setup an environment from which the scripts from {{Pkg|arch-install-scripts}} (such as {{ic|pacstrap}} and {{ic|arch-chroot}}) can be run.<br />
<br />
If the host system runs Arch Linux, this can be achieved by simply installing {{Pkg|arch-install-scripts}}. If the host system runs another Linux distribution, you will first need to set up an Arch Linux-based chroot.<br />
<br />
{{Note|This guide requires that the existing host system be able to execute the new target Arch Linux architecture programs. In the case of an x86_64 host, it is possible to use i686-pacman to build a 32-bit chroot environment. See [[Arch64 Install bundled 32bit system]]. However it is not so easy to build a 64-bit environment when the host only supports running 32-bit programs.}}<br />
<br />
{{Warning|Please make sure you understand each step before proceeding. It is easy to destroy your system or to lose critical data, and your service provider will likely charge a lot to help you recover. }}<br />
<br />
==Backup and Preparation==<br />
Backup all your data including mails, webservers, etc. Have all information at your fingertips. Preserve all your server configurations, hostnames, etc.<br />
<br />
Here is a list of data you will likely need:<br />
* IP address<br />
* hostname(s), (note: rootserver are mostly also part of the providers domain, check or save your {{ic|/etc/hosts}} before you delete)<br />
* DNS server (check {{ic|/etc/resolv.conf}})<br />
* SSH keys (if other people work on your server, they will have to accept new keys otherwise. This includes keys from your Apache, your mail servers, your SSH server and others.)<br />
* Hardware info (network card, etc. Refer to your pre-installed {{ic|/etc/modules.conf}} )<br />
* Grub configuration files.<br />
<br />
In general, it is a good idea to have a local copy of your original {{ic|/etc}} directory on your local hard drive.<br />
<br />
== From a host running Arch Linux ==<br />
<br />
Install the {{Pkg|arch-install-scripts}} package.<br />
<br />
Follow [[Installation guide#Mount the partitions]]. If you already use the {{ic|/mnt}} directory for something else, just create another directory such as {{ic|/mnt/install}}, and use that instead.<br />
<br />
Then follow [[Installation guide#Installation]]. You can skip [[Installation guide#Select the mirrors]], since the host should already have a correct mirrorlist.<br />
<br />
{{Tip|In order to avoid redownloading all the packages, consider following [[Pacman/Tips and tricks#Network shared pacman cache]] or using ''pacstrap'''s {{ic|-c}} option.}}<br />
<br />
{{Merge|Moving_an_existing_install_into_(or_out_of)_a_virtual_machine#Moving_into_a_VM|Same approach.}}<br />
<br />
{{Note|If you only want to create an exact copy of an existing Arch installation, it is also possible to just copy the filesystem to the new partition. With this method, you will still need to<br />
<br />
* Create [[Beginners'_guide#Generate_an_fstab|{{ic|/etc/fstab}}]] and edit {{ic|/etc/hostname}}<br />
* Delete {{ic|/etc/machine-id}} so that a new, unique, one will be regenerated on boot<br />
* Make any other changes appropriate to the installation medium<br />
* Install the bootloader<br />
<br />
When copying the filesystem root, use something like {{ic|cp -ax}} or {{ic|rsync -axX}}. This avoids copying contents of mountpoints ({{ic|-x}}), and preserves the [[capabilities]] attributes of some system binaries ({{ic|rsync -X}}).<br />
}}<br />
<br />
== From a host running another Linux distribution ==<br />
<br />
There are multiple tools which automate a large part of the steps described in the following subsections. See their respective homepages for detailed instructions.<br />
<br />
* [https://github.com/tokland/arch-bootstrap arch-bootstrap] (Bash)<br />
* [https://github.com/hartwork/image-bootstrap image-bootstrap] (Python)<br />
* [https://github.com/drizzt/vps2arch vps2arch] (Bash)<br />
* [https://github.com/m4rienf/ArchCX archcx] (Bash, from Hetzner CX Rescue System)<br />
<br />
The manual way is presented in the following subsections. The idea is to run an Arch system inside the host system, with the actual installation being executed from the Arch system. The nested system is contained inside a chroot.<br />
<br />
=== Creating the chroot ===<br />
<br />
Two methods to setup and enter the chroot are presented below, from the easiest to the most complicated. Select only one of the two methods. Then, continue at [[#Using the chroot environment]].<br />
<br />
==== Method A: Using the bootstrap image (recommended) ====<br />
<br />
Download the bootstrap image from a [https://www.archlinux.org/download mirror]:<br />
$ curl -O https://mirrors.kernel.org/archlinux/iso/2016.05.01/archlinux-bootstrap-2016.05.01-x86_64.tar.gz<br />
<br />
You can also download the signature (same URL with {{ic|.sig}} added) and [[GnuPG#Verify_a_signature|verify it with GnuPG]].<br />
<br />
Extract the tarball:<br />
# cd /tmp<br />
# tar xzf <path-to-bootstrap-image>/archlinux-bootstrap-2016.05.01-x86_64.tar.gz<br />
<br />
Select a repository server by editing {{ic|/tmp/root.x86_64/etc/pacman.d/mirrorlist}}.<br />
<br />
{{Note|If bootstrapping an i686 image from an x86_64 host system, also edit {{Ic|/tmp/root.i686/etc/pacman.conf}} and explicitly define {{Ic|1=Architecture = i686}} in order for pacman to pull the proper i686 packages.}}<br />
<br />
Enter the chroot<br />
<br />
* If bash 4 or later is installed, and unshare supports the --fork and --pid options:<br />
# /tmp/root.x86_64/bin/arch-chroot /tmp/root.x86_64/<br />
* Otherwise, run the following commands:<br />
# mount --bind /tmp/root.x86_64 /tmp/root.x86_64<br />
# cd /tmp/root.x86_64<br />
# cp /etc/resolv.conf etc<br />
# mount -t proc /proc proc<br />
# mount --rbind /sys sys<br />
# mount --rbind /dev dev<br />
# mount --rbind /run run # (assuming /run exists on the system)<br />
# chroot /tmp/root.x86_64 /bin/bash<br />
<br />
==== Method B: Using the LiveCD image ====<br />
<br />
It is possible to mount the root image of the latest Arch Linux installation media and then chroot into it. This method has the advantage of providing a working Arch Linux installation right within the host system without the need to prepare it by installing specific packages.<br />
<br />
{{Note|Before proceeding, make sure the latest version of [http://squashfs.sourceforge.net/ squashfs] is installed on the host system. Otherwise, errors like the following are to be expected: {{ic|FATAL ERROR aborting: uncompress_inode_table: failed to read block}}.}}<br />
<br />
* The root image can be found on one of the [https://www.archlinux.org/download mirrors] under either arch/x86_64/ or arch/i686/, depending on the desired architecture. The squashfs format is not editable, so we unsquash the root image and mount it.<br />
<br />
*To unsquash the root image, run<br />
{{bc|# unsquashfs airootfs.sfs}}<br />
<br />
* Before [[Change root|chrooting]] to it, we need to set up some mount points and copy the resolv.conf for networking.<br />
{{bc|<br />
# mount --bind squashfs-root squashfs-root<br />
# mount -t proc none squashfs-root/proc<br />
# mount -t sysfs none squashfs-root/sys<br />
# mount -o bind /dev squashfs-root/dev<br />
# mount -o bind /dev/pts squashfs-root/dev/pts ## important for pacman (for signature check)<br />
# cp -L /etc/resolv.conf squashfs-root/etc ## this is needed to use networking within the chroot<br />
}}<br />
<br />
* Now, everything is prepared to chroot into the newly installed Arch environment<br />
{{bc|# chroot squashfs-root bash}}<br />
<br />
=== Using the chroot environment ===<br />
<br />
The bootstrap environment is really barebones (no {{ic|nano}}, no {{ic|ping}}, no {{ic|cryptsetup}}, no {{ic|lvm}}). Therefore, we need to set up [[pacman]] in order to download the rest of the {{ic|base}} and, if needed, {{ic|base-devel}}.<br />
<br />
==== Initializing pacman keyring ====<br />
<br />
Before starting the installation, pacman keys need to be setup. Before running the following two commands, read [[pacman-key#Initializing the keyring]] to understand the entropy requirements:<br />
{{bc|<br />
# pacman-key --init<br />
# pacman-key --populate archlinux<br />
}}<br />
<br />
{{Tip|Installing and running {{Pkg|haveged}} must be done on the host system, since it is not possible to install packages before initializing pacman keyring and because ''systemd'' will detect it is running in a chroot and [https://superuser.com/questions/688733/start-a-systemd-service-inside-chroot ignore activation request].<br />
<br />
If you go with doing {{ic|ls -Ra /}} in another console (TTY, terminal, SSH session...), do not be afraid of running it in a loop a few times: five or six runs from the host proved sufficient to generate enough entropy on a remote headless server.}}<br />
<br />
==== Selecting a mirror and downloading basic tools ====<br />
<br />
After [[Mirrors#Enabling_a_specific_mirror|selecting a mirror]], [[Mirrors#Force_pacman_to_refresh_the_package_lists|refresh the package lists]] and [[install]] what you need: {{Grp|base}}, {{Grp|base-devel}}, {{Pkg|parted}} etc.<br />
<br />
=== Installation tips ===<br />
<br />
You can now proceed to [[Beginners' guide#Prepare the storage devices|preparing the storage devices]] and follow the rest of the [[Installation guide#Installation|installation procedure]].<br />
<br />
Some host systems or configurations may require certain extra steps. See the sections below for tips.<br />
<br />
===== Debian-based host =====<br />
<br />
====== /dev/shm ======<br />
<br />
On some Debian-based host systems, {{ic|pacstrap}} may produce the following error:<br />
<br />
{{hc|# pacstrap /mnt base|<br />
==> Creating install root at /mnt<br />
mount: mount point /mnt/dev/shm is a symbolic link to nowhere<br />
==> ERROR: failed to setup API filesystems in new root<br />
}}<br />
<br />
This is because in some versions of Debian, {{ic|/dev/shm}} points to {{ic|/run/shm}} while in the Arch-based chroot, {{ic|/run/shm}} does not exist and the link is broken. To correct this error, create a directory {{ic|/run/shm}}:<br />
# mkdir /run/shm<br />
<br />
====== /dev/pts ======<br />
<br />
While installing {{ic|archlinux-2015.07.01-x86_64}} from a Debian 7 host, the following error prevented both [https://projects.archlinux.org/arch-install-scripts.git/tree/pacstrap.in pacstrap] and [[Change_root#Using_arch-chroot|arch-chroot]] from working:<br />
<br />
{{hc|# pacstrap -i /mnt|<br />
mount: mount point /mnt/dev/pts does not exist<br />
==> ERROR: failed to setup chroot /mnt<br />
}}<br />
<br />
Apparently, this is because these two scripts use a common function. {{ic|chroot_setup()}}[https://projects.archlinux.org/arch-install-scripts.git/tree/common#n76] relies on newer features of {{Pkg|util-linux}}, which are incompatible with Debian 7 userland (see {{Bug|45737}}).<br />
<br />
The solution for ''pacstrap'' is to manually execute its [https://projects.archlinux.org/arch-install-scripts.git/tree/pacstrap.in#n77 various tasks], but use the [[Change_root#Using_chroot|regular procedure]] to mount the kernel filesystems on the target directory ({{ic|"$newroot"}}):<br />
<br />
{{bc|1=<br />
# newroot=/mnt<br />
# mkdir -m 0755 -p "$newroot"/var/{cache/pacman/pkg,lib/pacman,log} "$newroot"/{dev,run,etc}<br />
# mkdir -m 1777 -p "$newroot"/tmp<br />
# mkdir -m 0555 -p "$newroot"/{sys,proc}<br />
# mount --bind "$newroot" "$newroot"<br />
# mount -t proc /proc "$newroot/proc"<br />
# mount --rbind /sys "$newroot/sys"<br />
# mount --rbind /run "$newroot/run"<br />
# mount --rbind /dev "$newroot/dev"<br />
# pacman -r "$newroot" --cachedir="$newroot/var/cache/pacman/pkg" -Sy base base-devel ... ## add the packages you want<br />
# cp -a /etc/pacman.d/gnupg "$newroot/etc/pacman.d/" ## copy keyring<br />
# cp -a /etc/pacman.d/mirrorlist "$newroot/etc/pacman.d/" ## copy mirrorlist<br />
}}<br />
<br />
Instead of using {{ic|arch-chroot}} for [[Beginners' guide#Chroot and configure the base system|configuring the base system]], simply use {{ic|chroot "$newroot"}}.<br />
<br />
====== lvmetad ======<br />
<br />
Trying to create [[LVM]] [[LVM#Logical_volumes|logical volumes]] from an {{ic|archlinux-bootstrap-2015.07.01-x86_64}} environment on a Debian 7 host resulted in the following error:<br />
<br />
{{hc|# lvcreate -L 20G lvm -n root|<br />
/run/lvm/lvmetad.socket: connect failed: No such file or directory<br />
WARNING: Failed to connect to lvmetad. Falling back to internal scanning.<br />
/dev/lvm/root: not found: device not cleared<br />
Aborting. Failed to wipe start of new LV.}}<br />
<br />
(Physical volume and volume group creation worked despite {{ic|/run/lvm/lvmetad.socket: connect failed: No such file or directory}} being displayed.)<br />
<br />
This could be easily worked around by creating the logical volumes outside the chroot (from the Debian host). They are then available once chrooted again.<br />
<br />
{{Accuracy|This problem did not arise when installing from a Debian 7 host without lvmetad enabled. The recommended messaround with {{ic|/etc/lvm/lvm.conf}} looks rather error prone (2015-07-26).}}<br />
{{Style|Language and formatting are lacking, links to relevant articles in the wiki as well.}}<br />
<br />
Also, if the system you are using has lvm, you might have the following output:<br />
<br />
{{hc|1=# grub-install --target=i386-pc --recheck /dev/mapper/main-archroot|2=<br />
Installing for i386-pc platform.<br />
/run/lvm/lvmetad.socket: connect failed: No such file or directory<br />
WARNING: Failed to connect to lvmetad. Falling back to internal scanning.<br />
/run/lvm/lvmetad.socket: connect failed: No such file or directory<br />
WARNING: Failed to connect to lvmetad. Falling back to internal scanning.<br />
/run/lvm/lvmetad.socket: connect failed: No such file or directory<br />
WARNING: Failed to connect to lvmetad. Falling back to internal scanning.<br />
/run/lvm/lvmetad.socket: connect failed: No such file or directory<br />
WARNING: Failed to connect to lvmetad. Falling back to internal scanning.<br />
/run/lvm/lvmetad.socket: connect failed: No such file or directory<br />
WARNING: Failed to connect to lvmetad. Falling back to internal scanning.<br />
}}<br />
<br />
This is because debian does not use lvmetad by default. You need to edit {{ic|/etc/lvm/lvm.conf}} and set {{ic|use_lvmetad}} to {{ic|0}}:<br />
<br />
use_lvmetad = 0<br />
<br />
This will trigger later an error on boot in the initrd stage. Therefore, you have to change it back after the grub generation. In a software RAID + LVM, steps would be the following:<br />
<br />
* After installing all the system, when you have to do all the initramfs (mkinitcpio) and grub thing.<br />
* Change /etc/mdadm.conf to reflect your RAID config (if any)<br />
* Change HOOKS and MODULES according to lvm and raid requirements: {{ic|1=MODULES="dm_mod" HOOKS="base udev '''mdadm_udev''' ... block '''lvm2''' filesystems ..."}}<br />
* Generate initrd images with mkinitcpio<br />
* Change /etc/lvm/lvm.conf to put use_lvmetad = 0<br />
* Generate grub config (grub-mkconfig)<br />
* Change /etc/lvm/lvm.conf to put use_lvmetad = 1<br />
<br />
===== Fedora-based host =====<br />
<br />
On Fedora based hosts and live USBs you may encounter problems when using {{ic|genfstab}} to generate your [[fstab]]. Remove duplicate entries and the "seclabel" option where it appears, as this is Fedora-specific and will keep your system from booting normally.<br />
<br />
== Things to check before you reboot==<br />
<br />
Before rebooting, chroot into the newly-installed system.<br />
<br />
Set a root password so that you can log in with ssh later:<br />
# passwd<br />
<br />
Install [[ssh]] and [[enable]] it to start automatically at boot.<br />
<br />
Configure the [[network]] connection to start automatically at boot.<br />
<br />
Set up a [[boot loader]] and configure it to use the swap partition you appropriated earlier as the root partition. You might want to configure your bootloader to be able to boot into your old system; it is helpful to re-use the server's existing /boot partition in the new system for this purpose.<br />
<br />
== Replacing the existing system without a LiveCD ==<br />
<br />
Find ~700MB of free space somewhere on the disk, e.g. by partitioning a swap partition. You can disable the swap partition and set up your system there. <br />
<br />
===Set old swap partition as new root partition===<br />
<br />
Check {{ic|cfdisk}}, {{ic|/proc/swaps}} or {{ic|/etc/fstab}} to find your swap partition. Assuming your hard drive is located on sdaX (X will be a number). <br />
<br />
Do the following:<br />
<br />
Disable the swap space:<br />
# swapoff /dev/sdaX<br />
<br />
Create a filesystem on it<br />
# fdisk /dev/sda<br />
(set /dev/sdaX ID field to "Linux" - Hex 83)<br />
# mke2fs -j /dev/sdaX<br />
<br />
Create a directory to mount it in<br />
# mkdir /mnt/newsys<br />
<br />
Finally, mount the new directory for installing the intermediate system.<br />
# mount -t ext4 /dev/sdaX /mnt/newsys<br />
<br />
=== Installation ===<br />
If less than 700MB are available, examine the packages in the group base, and select only those required to get a system with internet connection up and running in the temporary partition. This will mean explicitly specifying individual packages to pacstrap, as well as passing it the -c option, to get packages downloaded to the host system to avoid filling up valuable space.<br />
<br />
Once the new Arch Linux system is installed, reboot into the newly created system, and [[Full system backup with rsync#With_a_single_command|rsync the entire system]] to the primary partition.<br />
Fix the bootloader configuration before rebooting.</div>Sslhttps://wiki.archlinux.org/index.php?title=Install_Arch_Linux_from_existing_Linux&diff=436804Install Arch Linux from existing Linux2016-05-31T08:35:24Z<p>Ssl: /* Method A: Using the bootstrap image (recommended) */ new bootstrap package</p>
<hr />
<div>[[Category:Getting and installing Arch]]<br />
[[es:Install from existing Linux]]<br />
[[fr:Install chroot]]<br />
[[it:Install from existing Linux]]<br />
[[ja:既存の Linux からインストール]]<br />
[[pt:Install from existing Linux]]<br />
[[ru:Install from existing Linux]]<br />
[[uk:Install from existing Linux]]<br />
[[zh-cn:Install from existing Linux]]<br />
[[zh-tw:Install from existing Linux]]<br />
{{Related articles start}}<br />
{{Related|Install from SSH}}<br />
{{Related articles end}}<br />
<br />
This document describes the bootstrapping process required to install Arch Linux from a running Linux host system.<br />
After bootstrapping, the installation proceeds as described in the [[Installation guide]].<br />
<br />
Installing Arch Linux from a running Linux is useful for:<br />
<br />
* remotely installing Arch Linux, e.g. a (virtual) root server<br />
* replacing an existing Linux without a LiveCD (see [[#Replacing the existing system without a LiveCD]])<br />
* creating a new Linux distribution or LiveCD based on Arch Linux<br />
* creating an Arch Linux chroot environment, e.g. for a Docker base container<br />
* [[Diskless_network_boot_NFS_root|rootfs-over-NFS for diskless machines]]<br />
<br />
The goal of the bootstrapping procedure is to setup an environment from which the scripts from {{Pkg|arch-install-scripts}} (such as {{ic|pacstrap}} and {{ic|arch-chroot}}) can be run.<br />
<br />
If the host system runs Arch Linux, this can be achieved by simply installing {{Pkg|arch-install-scripts}}. If the host system runs another Linux distribution, you will first need to set up an Arch Linux-based chroot.<br />
<br />
{{Note|This guide requires that the existing host system be able to execute the new target Arch Linux architecture programs. In the case of an x86_64 host, it is possible to use i686-pacman to build a 32-bit chroot environment. See [[Arch64 Install bundled 32bit system]]. However it is not so easy to build a 64-bit environment when the host only supports running 32-bit programs.}}<br />
<br />
{{Warning|Please make sure you understand each step before proceeding. It is easy to destroy your system or to lose critical data, and your service provider will likely charge a lot to help you recover. }}<br />
<br />
==Backup and Preparation==<br />
Backup all your data including mails, webservers, etc. Have all information at your fingertips. Preserve all your server configurations, hostnames, etc.<br />
<br />
Here is a list of data you will likely need:<br />
* IP address<br />
* hostname(s), (note: rootserver are mostly also part of the providers domain, check or save your {{ic|/etc/hosts}} before you delete)<br />
* DNS server (check {{ic|/etc/resolv.conf}})<br />
* SSH keys (if other people work on your server, they will have to accept new keys otherwise. This includes keys from your Apache, your mail servers, your SSH server and others.)<br />
* Hardware info (network card, etc. Refer to your pre-installed {{ic|/etc/modules.conf}} )<br />
* Grub configuration files.<br />
<br />
In general, it is a good idea to have a local copy of your original {{ic|/etc}} directory on your local hard drive.<br />
<br />
== From a host running Arch Linux ==<br />
<br />
Install the {{Pkg|arch-install-scripts}} package.<br />
<br />
Follow [[Installation guide#Mount the partitions]]. If you already use the {{ic|/mnt}} directory for something else, just create another directory such as {{ic|/mnt/install}}, and use that instead.<br />
<br />
Then follow [[Installation guide#Installation]]. You can skip [[Installation guide#Select the mirrors]], since the host should already have a correct mirrorlist.<br />
<br />
{{Tip|In order to avoid redownloading all the packages, consider following [[Pacman/Tips and tricks#Network shared pacman cache]] or using ''pacstrap'''s {{ic|-c}} option.}}<br />
<br />
{{Merge|Moving_an_existing_install_into_(or_out_of)_a_virtual_machine#Moving_into_a_VM|Same approach.}}<br />
<br />
{{Note|If you only want to create an exact copy of an existing Arch installation, it is also possible to just copy the filesystem to the new partition. With this method, you will still need to<br />
<br />
* Create [[Beginners'_guide#Generate_an_fstab|{{ic|/etc/fstab}}]] and edit {{ic|/etc/hostname}}<br />
* Delete {{ic|/etc/machine-id}} so that a new, unique, one will be regenerated on boot<br />
* Make any other changes appropriate to the installation medium<br />
* Install the bootloader<br />
<br />
When copying the filesystem root, use something like {{ic|cp -ax}} or {{ic|rsync -axX}}. This avoids copying contents of mountpoints ({{ic|-x}}), and preserves the [[capabilities]] attributes of some system binaries ({{ic|rsync -X}}).<br />
}}<br />
<br />
== From a host running another Linux distribution ==<br />
<br />
There are multiple tools which automate a large part of the steps described in the following subsections. See their respective homepages for detailed instructions.<br />
<br />
* [https://github.com/tokland/arch-bootstrap arch-bootstrap] (Bash)<br />
* [https://github.com/hartwork/image-bootstrap image-bootstrap] (Python)<br />
* [https://github.com/drizzt/vps2arch vps2arch] (Bash)<br />
* [https://github.com/m4rienf/ArchCX archcx] (Bash, from Hetzner CX Rescue System)<br />
<br />
The manual way is presented in the following subsections. The idea is to run an Arch system inside the host system, with the actual installation being executed from the Arch system. The nested system is contained inside a chroot.<br />
<br />
=== Creating the chroot ===<br />
<br />
Two methods to setup and enter the chroot are presented below, from the easiest to the most complicated. Select only one of the two methods. Then, continue at [[#Using the chroot environment]].<br />
<br />
==== Method A: Using the bootstrap image (recommended) ====<br />
<br />
Download the bootstrap image from a [https://www.archlinux.org/download mirror]:<br />
$ curl -O https://mirrors.kernel.org/archlinux/iso/2016.05.01/archlinux-bootstrap-2016.05.01-x86_64.tar.gz<br />
<br />
You can also download the signature (same URL with {{ic|.sig}} added) and [[GnuPG#Verify_a_signature|verify it with GnuPG]].<br />
<br />
Extract the tarball:<br />
# cd /tmp<br />
# tar xzf <path-to-bootstrap-image>/archlinux-bootstrap-2016.04.01-x86_64.tar.gz<br />
<br />
Select a repository server by editing {{ic|/tmp/root.x86_64/etc/pacman.d/mirrorlist}}.<br />
<br />
{{Note|If bootstrapping an i686 image from an x86_64 host system, also edit {{Ic|/tmp/root.i686/etc/pacman.conf}} and explicitly define {{Ic|1=Architecture = i686}} in order for pacman to pull the proper i686 packages.}}<br />
<br />
Enter the chroot<br />
<br />
* If bash 4 or later is installed, and unshare supports the --fork and --pid options:<br />
# /tmp/root.x86_64/bin/arch-chroot /tmp/root.x86_64/<br />
* Otherwise, run the following commands:<br />
# mount --bind /tmp/root.x86_64 /tmp/root.x86_64<br />
# cd /tmp/root.x86_64<br />
# cp /etc/resolv.conf etc<br />
# mount -t proc /proc proc<br />
# mount --rbind /sys sys<br />
# mount --rbind /dev dev<br />
# mount --rbind /run run # (assuming /run exists on the system)<br />
# chroot /tmp/root.x86_64 /bin/bash<br />
<br />
==== Method B: Using the LiveCD image ====<br />
<br />
It is possible to mount the root image of the latest Arch Linux installation media and then chroot into it. This method has the advantage of providing a working Arch Linux installation right within the host system without the need to prepare it by installing specific packages.<br />
<br />
{{Note|Before proceeding, make sure the latest version of [http://squashfs.sourceforge.net/ squashfs] is installed on the host system. Otherwise, errors like the following are to be expected: {{ic|FATAL ERROR aborting: uncompress_inode_table: failed to read block}}.}}<br />
<br />
* The root image can be found on one of the [https://www.archlinux.org/download mirrors] under either arch/x86_64/ or arch/i686/, depending on the desired architecture. The squashfs format is not editable, so we unsquash the root image and mount it.<br />
<br />
*To unsquash the root image, run<br />
{{bc|# unsquashfs airootfs.sfs}}<br />
<br />
* Before [[Change root|chrooting]] to it, we need to set up some mount points and copy the resolv.conf for networking.<br />
{{bc|<br />
# mount --bind squashfs-root squashfs-root<br />
# mount -t proc none squashfs-root/proc<br />
# mount -t sysfs none squashfs-root/sys<br />
# mount -o bind /dev squashfs-root/dev<br />
# mount -o bind /dev/pts squashfs-root/dev/pts ## important for pacman (for signature check)<br />
# cp -L /etc/resolv.conf squashfs-root/etc ## this is needed to use networking within the chroot<br />
}}<br />
<br />
* Now, everything is prepared to chroot into the newly installed Arch environment<br />
{{bc|# chroot squashfs-root bash}}<br />
<br />
=== Using the chroot environment ===<br />
<br />
The bootstrap environment is really barebones (no {{ic|nano}}, no {{ic|ping}}, no {{ic|cryptsetup}}, no {{ic|lvm}}). Therefore, we need to set up [[pacman]] in order to download the rest of the {{ic|base}} and, if needed, {{ic|base-devel}}.<br />
<br />
==== Initializing pacman keyring ====<br />
<br />
Before starting the installation, pacman keys need to be setup. Before running the following two commands, read [[pacman-key#Initializing the keyring]] to understand the entropy requirements:<br />
{{bc|<br />
# pacman-key --init<br />
# pacman-key --populate archlinux<br />
}}<br />
<br />
{{Tip|Installing and running {{Pkg|haveged}} must be done on the host system, since it is not possible to install packages before initializing pacman keyring and because ''systemd'' will detect it is running in a chroot and [https://superuser.com/questions/688733/start-a-systemd-service-inside-chroot ignore activation request].<br />
<br />
If you go with doing {{ic|ls -Ra /}} in another console (TTY, terminal, SSH session...), do not be afraid of running it in a loop a few times: five or six runs from the host proved sufficient to generate enough entropy on a remote headless server.}}<br />
<br />
==== Selecting a mirror and downloading basic tools ====<br />
<br />
After [[Mirrors#Enabling_a_specific_mirror|selecting a mirror]], [[Mirrors#Force_pacman_to_refresh_the_package_lists|refresh the package lists]] and [[install]] what you need: {{Grp|base}}, {{Grp|base-devel}}, {{Pkg|parted}} etc.<br />
<br />
=== Installation tips ===<br />
<br />
You can now proceed to [[Beginners' guide#Prepare the storage devices|preparing the storage devices]] and follow the rest of the [[Installation guide#Installation|installation procedure]].<br />
<br />
Some host systems or configurations may require certain extra steps. See the sections below for tips.<br />
<br />
===== Debian-based host =====<br />
<br />
====== /dev/shm ======<br />
<br />
On some Debian-based host systems, {{ic|pacstrap}} may produce the following error:<br />
<br />
{{hc|# pacstrap /mnt base|<br />
==> Creating install root at /mnt<br />
mount: mount point /mnt/dev/shm is a symbolic link to nowhere<br />
==> ERROR: failed to setup API filesystems in new root<br />
}}<br />
<br />
This is because in some versions of Debian, {{ic|/dev/shm}} points to {{ic|/run/shm}} while in the Arch-based chroot, {{ic|/run/shm}} does not exist and the link is broken. To correct this error, create a directory {{ic|/run/shm}}:<br />
# mkdir /run/shm<br />
<br />
====== /dev/pts ======<br />
<br />
While installing {{ic|archlinux-2015.07.01-x86_64}} from a Debian 7 host, the following error prevented both [https://projects.archlinux.org/arch-install-scripts.git/tree/pacstrap.in pacstrap] and [[Change_root#Using_arch-chroot|arch-chroot]] from working:<br />
<br />
{{hc|# pacstrap -i /mnt|<br />
mount: mount point /mnt/dev/pts does not exist<br />
==> ERROR: failed to setup chroot /mnt<br />
}}<br />
<br />
Apparently, this is because these two scripts use a common function. {{ic|chroot_setup()}}[https://projects.archlinux.org/arch-install-scripts.git/tree/common#n76] relies on newer features of {{Pkg|util-linux}}, which are incompatible with Debian 7 userland (see {{Bug|45737}}).<br />
<br />
The solution for ''pacstrap'' is to manually execute its [https://projects.archlinux.org/arch-install-scripts.git/tree/pacstrap.in#n77 various tasks], but use the [[Change_root#Using_chroot|regular procedure]] to mount the kernel filesystems on the target directory ({{ic|"$newroot"}}):<br />
<br />
{{bc|1=<br />
# newroot=/mnt<br />
# mkdir -m 0755 -p "$newroot"/var/{cache/pacman/pkg,lib/pacman,log} "$newroot"/{dev,run,etc}<br />
# mkdir -m 1777 -p "$newroot"/tmp<br />
# mkdir -m 0555 -p "$newroot"/{sys,proc}<br />
# mount --bind "$newroot" "$newroot"<br />
# mount -t proc /proc "$newroot/proc"<br />
# mount --rbind /sys "$newroot/sys"<br />
# mount --rbind /run "$newroot/run"<br />
# mount --rbind /dev "$newroot/dev"<br />
# pacman -r "$newroot" --cachedir="$newroot/var/cache/pacman/pkg" -Sy base base-devel ... ## add the packages you want<br />
# cp -a /etc/pacman.d/gnupg "$newroot/etc/pacman.d/" ## copy keyring<br />
# cp -a /etc/pacman.d/mirrorlist "$newroot/etc/pacman.d/" ## copy mirrorlist<br />
}}<br />
<br />
Instead of using {{ic|arch-chroot}} for [[Beginners' guide#Chroot and configure the base system|configuring the base system]], simply use {{ic|chroot "$newroot"}}.<br />
<br />
====== lvmetad ======<br />
<br />
Trying to create [[LVM]] [[LVM#Logical_volumes|logical volumes]] from an {{ic|archlinux-bootstrap-2015.07.01-x86_64}} environment on a Debian 7 host resulted in the following error:<br />
<br />
{{hc|# lvcreate -L 20G lvm -n root|<br />
/run/lvm/lvmetad.socket: connect failed: No such file or directory<br />
WARNING: Failed to connect to lvmetad. Falling back to internal scanning.<br />
/dev/lvm/root: not found: device not cleared<br />
Aborting. Failed to wipe start of new LV.}}<br />
<br />
(Physical volume and volume group creation worked despite {{ic|/run/lvm/lvmetad.socket: connect failed: No such file or directory}} being displayed.)<br />
<br />
This could be easily worked around by creating the logical volumes outside the chroot (from the Debian host). They are then available once chrooted again.<br />
<br />
{{Accuracy|This problem did not arise when installing from a Debian 7 host without lvmetad enabled. The recommended messaround with {{ic|/etc/lvm/lvm.conf}} looks rather error prone (2015-07-26).}}<br />
{{Style|Language and formatting are lacking, links to relevant articles in the wiki as well.}}<br />
<br />
Also, if the system you are using has lvm, you might have the following output:<br />
<br />
{{hc|1=# grub-install --target=i386-pc --recheck /dev/mapper/main-archroot|2=<br />
Installing for i386-pc platform.<br />
/run/lvm/lvmetad.socket: connect failed: No such file or directory<br />
WARNING: Failed to connect to lvmetad. Falling back to internal scanning.<br />
/run/lvm/lvmetad.socket: connect failed: No such file or directory<br />
WARNING: Failed to connect to lvmetad. Falling back to internal scanning.<br />
/run/lvm/lvmetad.socket: connect failed: No such file or directory<br />
WARNING: Failed to connect to lvmetad. Falling back to internal scanning.<br />
/run/lvm/lvmetad.socket: connect failed: No such file or directory<br />
WARNING: Failed to connect to lvmetad. Falling back to internal scanning.<br />
/run/lvm/lvmetad.socket: connect failed: No such file or directory<br />
WARNING: Failed to connect to lvmetad. Falling back to internal scanning.<br />
}}<br />
<br />
This is because debian does not use lvmetad by default. You need to edit {{ic|/etc/lvm/lvm.conf}} and set {{ic|use_lvmetad}} to {{ic|0}}:<br />
<br />
use_lvmetad = 0<br />
<br />
This will trigger later an error on boot in the initrd stage. Therefore, you have to change it back after the grub generation. In a software RAID + LVM, steps would be the following:<br />
<br />
* After installing all the system, when you have to do all the initramfs (mkinitcpio) and grub thing.<br />
* Change /etc/mdadm.conf to reflect your RAID config (if any)<br />
* Change HOOKS and MODULES according to lvm and raid requirements: {{ic|1=MODULES="dm_mod" HOOKS="base udev '''mdadm_udev''' ... block '''lvm2''' filesystems ..."}}<br />
* Generate initrd images with mkinitcpio<br />
* Change /etc/lvm/lvm.conf to put use_lvmetad = 0<br />
* Generate grub config (grub-mkconfig)<br />
* Change /etc/lvm/lvm.conf to put use_lvmetad = 1<br />
<br />
===== Fedora-based host =====<br />
<br />
On Fedora based hosts and live USBs you may encounter problems when using {{ic|genfstab}} to generate your [[fstab]]. Remove duplicate entries and the "seclabel" option where it appears, as this is Fedora-specific and will keep your system from booting normally.<br />
<br />
== Things to check before you reboot==<br />
<br />
Before rebooting, chroot into the newly-installed system.<br />
<br />
Set a root password so that you can log in with ssh later:<br />
# passwd<br />
<br />
Install [[ssh]] and [[enable]] it to start automatically at boot.<br />
<br />
Configure the [[network]] connection to start automatically at boot.<br />
<br />
Set up a [[boot loader]] and configure it to use the swap partition you appropriated earlier as the root partition. You might want to configure your bootloader to be able to boot into your old system; it is helpful to re-use the server's existing /boot partition in the new system for this purpose.<br />
<br />
== Replacing the existing system without a LiveCD ==<br />
<br />
Find ~700MB of free space somewhere on the disk, e.g. by partitioning a swap partition. You can disable the swap partition and set up your system there. <br />
<br />
===Set old swap partition as new root partition===<br />
<br />
Check {{ic|cfdisk}}, {{ic|/proc/swaps}} or {{ic|/etc/fstab}} to find your swap partition. Assuming your hard drive is located on sdaX (X will be a number). <br />
<br />
Do the following:<br />
<br />
Disable the swap space:<br />
# swapoff /dev/sdaX<br />
<br />
Create a filesystem on it<br />
# fdisk /dev/sda<br />
(set /dev/sdaX ID field to "Linux" - Hex 83)<br />
# mke2fs -j /dev/sdaX<br />
<br />
Create a directory to mount it in<br />
# mkdir /mnt/newsys<br />
<br />
Finally, mount the new directory for installing the intermediate system.<br />
# mount -t ext4 /dev/sdaX /mnt/newsys<br />
<br />
=== Installation ===<br />
If less than 700MB are available, examine the packages in the group base, and select only those required to get a system with internet connection up and running in the temporary partition. This will mean explicitly specifying individual packages to pacstrap, as well as passing it the -c option, to get packages downloaded to the host system to avoid filling up valuable space.<br />
<br />
Once the new Arch Linux system is installed, reboot into the newly created system, and [[Full system backup with rsync#With_a_single_command|rsync the entire system]] to the primary partition.<br />
Fix the bootloader configuration before rebooting.</div>Sslhttps://wiki.archlinux.org/index.php?title=Steam/Game-specific_troubleshooting&diff=410177Steam/Game-specific troubleshooting2015-11-26T10:14:59Z<p>Ssl: add transistor tips</p>
<hr />
<div>[[Category:Gaming]]<br />
[[ja:Steam/ゲーム別のトラブルシューティング]]<br />
{{Poor writing|Lots of content duplication, highly dubious "solutions"}}<br />
{{Note|[[Steam]] installs library dependencies of a game to a library directory, but some are missing at the moment. Report bugs involving missing libraries on Valve's bug tracker on their [https://github.com/ValveSoftware/steam-for-linux GitHub page] before adding workarounds here, and then provide a link to the bug so it can be removed as the problems are fixed.}}<br />
{{Tip|If a game fails to start, a possible reason is that it is missing required libraries. You can find out what libraries it requests by running {{ic|ldd ''game_executable''}}. {{ic|''game_executable''}} is likely located somewhere in {{ic|~/.steam/root/SteamApps/common/}}. Please note that most of these "missing" libraries are actually already included with Steam, and do not need to be installed globally.}}<br />
<br />
==Air Brawl==<br />
===Dependencies===<br />
* {{pkg|gnu-free-fonts}}<br />
<br />
===Menus are missing text/blacked out===<br />
Air Brawl seems to require some fonts that are missing, installing the package {{pkg|gnu-free-fonts}} may fix it.<br />
<br />
==Amnesia: The Dark Descent==<br />
===Dependencies===<br />
* {{AUR|lib32-freealut}}<br />
* {{pkg|lib32-glu}}<br />
* {{pkg|lib32-libxmu}}<br />
* {{pkg|lib32-sdl_ttf}}<br />
<br />
==And Yet It Moves==<br />
===Dependencies===<br />
* {{AUR|lib32-libtheora}}<br />
* {{AUR|lib32-libjpeg6}}{{Broken package link|{{aur-mirror|lib32-libjpeg6}}}}<br />
* {{AUR|lib32-libtiff4}}<br />
* {{AUR|lib32-libpng12}}<br />
<br />
===Compatibility===<br />
Game refuses to launch and one of the following messages can be observed on console<br />
readlink: extra operand ‘Yet’<br />
Try 'readlink --help' for more information.<br />
OR<br />
This script must be run as a user with write priviledges to game directory<br />
To fix this, use:<br />
{{hc|~/.steam/root/SteamApps/common/And Yet It Moves/AndYetItMovesSteam.sh|<nowiki><br />
#ayim_dir="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"<br />
ayim_dir="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"<br />
</nowiki>}}<br />
<br />
==Anodyne==<br />
===Dependencies===<br />
* {{AUR|adobe-air-sdk}}<br />
* {{pkg|xterm}} (probably not actually required)<br />
<br />
===Compatibility===<br />
Follow the same steps as [[#Defender.27s_Quest:_Valley_of_the_Forgotten|Defender's Quest]]<br />
<br />
==Aquaria==<br />
<br />
=== Mouse pointer gets stuck in one direction ===<br />
If the mouse pointer gets stuck in any one direction, the game becomes unplayable. You may try:<br />
{{hc|~/.local/share/Steam/SteamApps/common/Aquaria/usersettings.xml|<nowiki><br />
#<JoystickEnabled on=”1″ /><br />
<JoystickEnabled on=”0″ /></nowiki>}}<br />
<br />
If that does not fix the issue, unplug any joystick or joystick adapter devices you may have plugged in.<br />
<br />
==Binding of Isaac: Rebirth==<br />
===Troubleshooting===<br />
====No sound====<br />
Right click on {{ic|Binding of Isaac: Rebirth}} on your game list, click on {{ic|Properties}}, click on {{ic|SET LAUNCH OPTIONS}}, then add this: <br />
LD_LIBRARY_PATH="/usr/lib:$LD_LIBRARY_PATH" %command%<br />
<br />
In the game, go to the options and set all audio to the proper volume.<br />
<br />
==Borderlands 2==<br />
<br />
===Syncing save games===<br />
<br />
Steam Cloud syncing does not (intentionally) work between platforms. With that said gave save files can be manually moved between systems. Save locations can be found here: http://pcgamingwiki.com/wiki/Borderlands_2#Game_data. Once backed up to a FAT32 or other cross-compatible file-system thumbdrive (or the cloud), move the saved files to your GNU/Linux system, locate your saved file location, and move into the 17-digit long numeric file name. If previous saves on your GNU/Linux system can be deleted you can do so now. The key fix that I found was a need to change the ownership, group, and permissions. I used {{ic|chown steam:steam *}} and then {{ic|chmod 0660 *}} to get my moved saved files to work.<br />
<br />
===Using Ctrl Key===<br />
Borderlands 2 does not allow the Ctrl key to be used by default. The game seems to be accessing keycodes and not keysyms, therefore xmodmap has no affect. A workaround is using ''setkeycodes'' to map the Ctrl-scancode to some other key, as described in [[Map scancodes to keycodes#Using setkeycodes]]. I use {{ic|setkeycodes 0x1d 56}} (as root) to map Ctrl to Alt before starting the game and {{ic|setkeycodes 0x1d 29}} to restore the default.<br />
<br />
===Logging into SHiFT===<br />
The Linux version of Borderlands 2 expects to be run on Ubuntu, as that is the "officially" supported distro for Steam. As a result of this, when attempting to log in to SHiFT, it will fail, claiming the server is not available. Using strace, it can be seen that it fails to connect to the server because it cannot load SSL certificates from /usr/lib/ssl, which is the Ubuntu filesystem spec. Arch uses /etc/ssl. This can be fixed by symlinking /etc/ssl to /usr/lib/ssl, like so: <br />
# ln -s /etc/ssl /usr/lib/ssl<br />
You will now be able to log into SHiFT to redeem SHiFT codes.<br />
<br />
==Borderlands the Pre-Sequel==<br />
Borderlands the Pre-Sequle (and maybe Borderlands 2) might not be able to connect to the Gearbox SHIFT-service, this is related to a wrong path to the available SSL certificates. This can be solved by creating a symbolic link from {{ic|/etc/ssl}} to {{ic|/usr/lib/ssl}}. See [http://steamcommunity.com/app/49520/discussions/0/616189742722687689/#c616189742811551908 this comment on the steam dissuscion forum].<br />
<br />
==Cities in Motion 2==<br />
<br />
=== Dialog boxes fail to display properly ===<br />
<br />
You will not be able to read or see anything, and you will have this in your logs:<br />
Fontconfig error: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 69: non-double matrix element<br />
Fontconfig error: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 69: wrong number of matrix elements<br />
<br />
Workaround for the bug {{Bug|35039}} is available [http://bpaste.net/show/167019/ here] (replace {{ic|/etc/fonts/conf.d/10-scale-bitmap-fonts.conf}}).<br />
<br />
==Cities Skylines==<br />
<br />
===Textures not rendering properly===<br />
<br />
In Steam client set launch properties for game:<br />
<br />
UNITY_DISABLE_GRAPHICS_DRIVER_WORKAROUNDS=yes %command%<br />
<br />
== Civilization V==<br />
<br />
=== Stuttering sound with PulseAudio ===<br />
<br />
See [[PulseAudio/Troubleshooting#Laggy sound]].<br />
<br />
== Counter-Strike: Global Offensive (CS:GO) ==<br />
<br />
=== Game runs on the wrong screen ===<br />
<br />
[https://github.com/ValveSoftware/Counter-Strike-Global-Offensive/issues/60 GitHub Counter-Strike: Global Offensive issue #60]<br />
<br />
If it happens, you can fix it by going into fullscreen windowed or windowed mode and then dragging the game onto the correct monitor. After you go back in fullscreen, the game should be on the correct monitor.<br />
<br />
=== Audio is not synced ===<br />
<br />
[https://github.com/ValveSoftware/Counter-Strike-Global-Offensive/issues/45 GitHub Counter-Strike: Global Offensive issue #45]<br />
<br />
See [[PulseAudio/Troubleshooting#Laggy sound]] for a possible solution.<br />
<br />
=== Unable to aim when in game ===<br />
<br />
Unable to aim when in game. However, the mouse cursor does works in GUI such as main menu, game menu, etc.<br />
Add this line to your {{ic|.bash_profile}} and relogin:<br />
<br />
export SDL_VIDEO_X11_DGAMOUSE=0<br />
<br />
See also [https://bbs.archlinux.org/viewtopic.php?id=184905].<br />
<br />
=== Mouse Deadzone ===<br />
Small mouse movements (less than under 5 pixels per second) does not register on X or an OpenGL games. <br />
<br />
Solution[https://bbs.archlinux.org/viewtopic.php?pid=1519944#p1519944]:<br />
<br />
sudo pacman -R x86-input-libinput libinput<br />
<br />
=== Low Performance on AMD card using Catalyst proprietary driver ( <= 15.7 ) ===<br />
Solution[http://www.phoronix.com/scan.php?page=article&item=amd-csgo-workaround&num=1]:<br />
<br />
cd ~/.steam/steam/steamapps/common/Counter-Strike\ Global\ Offensive<br />
mv csgo_linux hl2_linux<br />
<br />
Now edit csgo.sh<br />
<br />
nano csgo.sh<br />
<br />
and change<br />
<br />
GAMEEXE=csgo_linux<br />
<br />
to <br />
<br />
GAMEEXE=hl2_linux<br />
<br />
=== Brightness slider not working ===<br />
<br />
First, find out your current display output name (connected one):<br />
<br />
xrandr | grep -v disconnected | grep connected<br />
<br />
In my case, it's<br />
<br />
'''DFP9''' connected<br />
<br />
Edit csgo.sh<br />
<br />
nano ~/.steam/steam/steamapps/common/Counter-Strike\ Global\ Offensive/csgo.sh<br />
<br />
and add the following lines (change the OUTPUT_NAME to one you found with xrandr)<br />
<br />
'''# gamma correction'''<br />
'''xrandr --output <OUTPUT_NAME> --gamma 1.6:1.6:1.6 # play with values if required'''<br />
STATUS=42<br />
while [ $STATUS -eq 42 ]; do<br />
...<br />
done<br />
'''# restore gamma'''<br />
'''xrandr --output <OUTPUT_NAME> --gamma 1:1:1'''<br />
exit $STATUS<br />
<br />
==Crusader Kings II==<br />
Game is installed into {{ic|$HOME/Steam/SteamApps/common/Crusader Kings II}}.<br />
Game can be started directly, without need of running Steam on background, using command {{ic|$HOME/Steam/SteamApps/common/Crusader Kings II/ck2}}.<br />
<br />
Saves are stored in {{ic|$HOME/Documents/Paradox Interactive/Crusader Kings II/save games/}}.<br />
In the newest version (2.03), save-game files seem to be stored to {{ic|$HOME/.paradoxinteractive/Crusader Kings II/}}. If your documents folder is empty, try looking there.<br />
<br />
===Troubleshooting===<br />
====No audio====<br />
The default audio driver used by Crusader Kings 2 is for [[PulseAudio]], so an override is necessary:<br />
<br />
{{hc|~/.pam_environment|2=SDL_AUDIODRIVER=alsa}}<br />
====Odd Sized Starting Window====<br />
Enable full screen mode as the default. In {{ic|~/.paradoxinteractive/Crusader Kings II/settings.txt}} change fullscreen=no to fullscreen=yes.<br />
<br />
==Defender's Quest: Valley of the Forgotten==<br />
===Dependencies===<br />
* {{AUR|adobe-air-sdk}}<br />
* {{pkg|xterm}}<br />
* {{pkg|lib32-libcanberra}}<br />
<br />
===Troubleshooting===<br />
====Game does not start====<br />
* Package {{AUR|adobe-air-sdk}} installs Adobe Air not in the place where the game expects it to be, fix this by creating a symlink (requires root permissions):<br />
{{bc|$ ln -s /opt/adobe-air-sdk/runtimes/air/linux/Adobe\ AIR /opt/Adobe\ AIR}}<br />
<br />
* Adobe AIR will want to check whether the EULA was accepeted and fail in doing so. To fix it, issue the following commands (from under your user, not under root):<br />
{{bc|$ mkdir -p ~/.appdata/Adobe/AIR<br />
$ echo 2 > ~/.appdata/Adobe/AIR/eulaAccepted}}<br />
{{Note|By issuing these commands you're accepting Adobe Air's EULA.}}<br />
<br />
==Don't Starve==<br />
===Dependencies (x86_64)===<br />
* {{pkg|lib32-flashplugin}}<br />
* {{pkg|lib32-alsa-plugins}} (Looks like it fixes sound in some cases. See [https://github.com/ValveSoftware/steam-for-linux/issues/2968 this github issue] for details)<br />
* {{AUR|lib32-libcurl-compat}} (Requires further commands after installation as described [http://steamcommunity.com/app/219740/discussions/2/620700960796078576/#c611704730329482542 here])<br />
<br />
===Troubleshooting===<br />
====No sound====<br />
Right click on Don't Starve on your game list, click on Properties, click on SET LAUNCH OPTIONS, then add this: <br />
LD_LIBRARY_PATH="/usr/lib:$LD_LIBRARY_PATH" %command%<br />
<br />
On the game, go to the option and set all audio to the proper volume.<br />
<br />
==Dota 2==<br />
===Dependencies (x86_64)===<br />
* {{pkg|lib32-openal}}<br />
* {{pkg|lib32-libpulse}} (if you use PulseAudio)<br />
* {{pkg|lib32-fontconfig}}<br />
<br />
===Dependencies (Dota 2 reborn)===<br />
* {{AUR|libudev0}} or {{AUR|libudev.so.0}}<br />
<br />
===Troubleshooting===<br />
====In-game font is unreadable====<br />
Start Steam (or Dota 2) with the environment variable:<br />
MESA_GL_VERSION_OVERRIDE=2.1<br />
<br />
====Everything seems OK but the game doesn't start====<br />
If you run the game from the terminal and, although no error is shown, the '''disabling''': ''Steam > Settings > In-Game > Enable Steam Community In-Game''.<br />
Apparently the game [[#The Book of Unwritten Tales|The Book of Unwritten Tales]] has the same problem. It also describes a workaround that is untested in Dota 2.<br />
<br />
====Game runs on the wrong screen====<br />
:[https://github.com/ValveSoftware/Dota-2/issues/11 GitHub Dota 2 issue #11]<br />
<br />
==== Game does not start with libxcb-dri3 error message ====<br />
After a recent Mesa update, Dota 2 stopped working. The error message is:<br />
SDL_GL_LoadLibrary(NULL) failed: Failed loading libGL.so.1: /usr/lib32/libxcb-dri3.so.0: undefined symbol: xcb_send_fd<br />
Simply remove the bundled libxcb to force Steam to use the system-wide version. Restart Steam to apply.<br />
$ find ~/.local/share/Steam -name 'libxcb*' -type f | grep -v installed | xargs rm<br />
:[https://github.com/ValveSoftware/steam-for-linux/issues/3204 GitHub Steam issue #3204]<br />
<br />
==== Steam overlay ====<br />
Steam distributes a copy of libxcb which is incompatible with the latest xorg libxcb. If you're having issues with steam overlay and on recent xorg try removing the bundled lib.<br />
mv ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libxcb.so.1 /tmp/libxcb.so.1.bak<br />
See more information here:<br />
:[https://github.com/ValveSoftware/steam-for-linux/issues/3199]<br />
:[https://github.com/ValveSoftware/steam-for-linux/issues/3093]<br />
<br />
====Chinese Tips and player's name display problem====<br />
The Chinese characters in the Tips and player's name display block character.<br />
<br />
The problem caused by some fonts package. It is known that the 'ttf-dejave', 'ttf-liberation' and 'ttf-ms-fonts' will cause the prolem, and the 'wqy-*', 'ttf-ubuntu-font-family', 'ttf-arphic-uming', 'ttf-linux-libertine' are safe. The other fonts family are not checked.<br />
:[https://github.com/ValveSoftware/Dota-2/issues/1688 GitHub Steam issue #1688]<br />
<br />
====Chinese input method problem====<br />
Dota2 is not compatible with CJK IME(Input Method Editor/Enhancer), such as Ibus and Fcitx.<br />
Chinese characters can't be typed in Dota2.[https://github.com/ValveSoftware/Dota-2/issues/493 GitHub Steam issue 493]<br />
<br />
The possible solution<br />
<br />
Compile the `libSDL` with fcitx or ibus support, then replace `Game Folder/dota 2 beta/bin/libSDL2-2.0.so.0` with your version.<br />
:[http://forum.ubuntu.org.cn/viewtopic.php?f=34&t=460195 LibSDL+Ibus]<br />
:[http://forum.ubuntu.org.cn/viewtopic.php?f=34&t=466879&sid=1664abac47d8f639ed9b7f3abf94c675 LibSDL+Fcitx]<br />
:[https://github.com/timxx/SDL-fcitx LibSDL+Fcitx Source]<br />
:[https://github.com/ValveSoftware/Dota-2/issues/1650 The solutions issues]<br />
<br />
==Dwarfs F2P==<br />
===Dependencies===<br />
* {{AUR|lib32-libgdiplus}}{{Broken package link|{{aur-mirror|lib32-libgdiplus}}}}<br />
<br />
===Troubleshooting===<br />
====Game does not start====<br />
There was a bug that stopped Steam from fetching all the needed files. It should be resolved, if you still bump into this problem, try verifying integrity of game cache from game properties, local files tab.<br />
<br />
If the game still crashes at startup, edit {{ic|~/.local/share/Steam/SteamApps/common/Dwarfs - F2P/Run.sh}} and change<br />
export LD_LIBRARY_PATH=.:${LD_LIBRARY_PATH}<br />
to<br />
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:.<br />
{{Note|This file may be overwritten by updates or by verifying integrity of game cache. You may need to modify it again.}}<br />
<br />
If these do not help, you may have outdated libraries in the game installation folder that are crashing the game on startup. Try moving/removing the following files out of {{ic|~/.local/share/Steam/SteamApps/common/Dwarfs - F2P/}} to fix it:<br />
<br />
libX11.so.6, libsteam.so libtier0_s.so, libvstdlib_s.so, steamclient.so<br />
<br />
====Game crashes====<br />
In some cases, the game crashes about 2 minutes before the end of every arcade. This bug has been reported, but there's no known solution to it.<br />
<br />
==Dynamite Jack==<br />
===Dependencies===<br />
* {{pkg|lib32-sdl}}<br />
<br />
===Troubleshooting===<br />
====Sound Issues====<br />
When running on 64-bit Arch Linux, there may be "pops and hisses" when running Dynamite Jack. This could be caused by not having {{ic|1=STEAM_RUNTIME=0}} set. (However, even with {{ic|1=STEAM_RUNTIME=0}} set, the game may still sometimes start with this issue. Exiting and restarting the game seems to make the problem go away.)<br />
<br />
====Game does not start====<br />
If running steam with the {{ic|1=STEAM_RUNTIME=0}}, Dynamite Jack may have a problem starting. Check the steam error messages for this message:<br />
/home/<USER>/.local/share/Steam/SteamApps/common/Dynamite Jack/bin/main: error while loading shared libraries: libSDL-1.2.so.0: cannot open shared object file: No such file or directory<br />
Install {{pkg|lib32-sdl}} from [[multilib]] and Dynamite Jack should start up.<br />
<br />
==Football Manager 2014==<br />
This game will not run when installed on an XFS or reiserfs filesystem. Workaround is to install on an ext4 filesystem.<br />
<br />
==FORCED==<br />
This game has 32-bit and 64-bit binaries. For unknown reason, steam will launch the 32-bit binary even on 64-bit Arch Linux.<br />
When manually launching the 64-bit binary, the game starts, but cannot connect to Steam account, so you cannot play.<br />
So install 32-bits dependencies, and launch the game from Steam.<br />
<br />
===Dependencies===<br />
* {{pkg|lib32-alsa-plugins}}<br />
* {{pkg|lib32-glu}}<br />
<br />
==FTL: Faster than Light==<br />
===Dependencies===<br />
Libraries are downloaded and and placed in the game's data directory for both architectures. As long as you run FTL by the launcher script (or via the shortcut in Steam) you should not need to download any further libraries.<br />
<br />
===Compatibility===<br />
After installation, FTL may fail to run due to a 'Text file busy' error (characterised in Steam by your portrait border going green then blue again). The easiest way to mend this is to just reboot your system. Upon logging back in FTL should run.<br />
<br />
The Steam overlay in FTL does not function as it is not a 3D accelerated game. Because of this the desktop notifications will be visible. If playing in fullscreen, therefore, these notifications in some systems may steal focus and revert you back to windowed mode with no way of going back to fullscreen without relaunching. The binaries for FTL on Steam have no DRM and it is possible to run the game ''without'' Steam running, so in some cases that may be optimum - just ensure that you launch FTL via the launcher script in {{ic|~/.steam/root/SteamApps/common/FTL Faster than Light/data/}} rather than the FTL binary in the $arch directory.<br />
<br />
===Problems with open-source video driver===<br />
FTL may fail to run if you are using an opensource driver for your video card. There are two solutions: install a proprietary video driver or delete (rename if you are unsure) the library "libstdc++.so.6" inside {{ic|~/.steam/root/SteamApps/common/FTL\ Faster\ Than\ Light/data/amd64/lib}}. This is if you are using a 64bit system. In case you are using a 32bit system you have to remove (rename) the same library located into {{ic|~/.steam/root/SteamApps/common/FTL\ Faster\ Than\ Light/data/x86/lib}}.<br />
<br />
==Game Dev Tycoon==<br />
===Troubleshooting===<br />
====Game does not start====<br />
Error about missing libudev.so.0 might appear, solution:<br />
# ln -s /lib/libudev.so /lib/libudev.so.0<br />
<br />
==Garry's Mod==<br />
===Troubleshooting===<br />
====Game does not start====<br />
Error about missing client.so might appear, solution:<br />
cd SteamLibrary/SteamApps/common/GarrysMod/bin/<br />
ln -s libawesomium-1-7.so.0 libawesomium-1-7.so.2<br />
ln -s ../garrysmod/bin/client.so ./<br />
====Opening some menus causes the game to crash====<br />
Most menus work fine, but ones with checkboxes (LAN multiplayer, mounted games list) do not work at all. This is a bug in the menu code.<br />
<br />
If you prefer the default menu style and do not mind a hacky solution: [https://github.com/Facepunch/garrysmod-issues/issues/86#issuecomment-30935491 Simon311] has written code with instructions to fix it.<br />
<br />
If you do not care for the default menu style and want a more stable but feature-incomplete solution, Facepunch developer [https://github.com/robotboy655/gmod-lua-menu robotboy655] has written a new menu.<br />
<br />
===Game crashes after attempting to join server===<br />
While in the process of joining a server, downloading resources, etc, the game seems to hang and after a while, perhaps during the "sending client info" portion the game crashes, usually without any error messages. Error does not give much information, however, the process for Garry's mod is killed.<br />
<br />
This issue arises more often when joining servers with many addons like DarkRP servers specifically.<br />
<br />
The Problem seems to correlate with a weak GPU and the game is timing out from the server, so if the GPU is the problem, lowering the graphics settings to minimum fixes the problem until you can upgrade ;).<br />
<br />
==Half-Life 2 & episodes==<br />
===Cyrillic fonts problem===<br />
This problem can be solved by deleting "Helvetica" font.<br />
<br />
==Hammerwatch==<br />
===Troubleshooting===<br />
====The game not starting from Steam GUI====<br />
Right click on Hammerwatch on your game list, click on Properties, click on SET LAUNCH OPTIONS, then add this: <br />
LD_LIBRARY_PATH="/usr/lib:$LD_LIBRARY_PATH" %command%<br />
====No sound====<br />
Hammerwatch opens with a popup: "Sound Error" -- "Could not initialize OpenAL, no sounds will be played. Try updating your OpenAL drivers."<br />
<br />
OpenAL, which Hammerwatch uses, defaults to PulseAudio. To change that, add the following line to {{ic|/etc/openal/alsoft.conf}}:<br />
<br />
drivers=alsa,pulse<br />
<br />
This way, Hammerwatch will use ALSA. This solution was found [https://stackoverflow.com/questions/9547396/what-does-al-lib-pulseaudio-c612-context-did-not-connect-access-denied-me here].<br />
<br />
==Harvest: Massive Encounter==<br />
===Dependencies===<br />
* {{pkg|lib32-gtk2}}<br />
* {{pkg|lib32-libvorbis}}<br />
* {{pkg|lib32-openal}}<br />
* {{Pkg|lib32-nvidia-cg-toolkit}}<br />
* {{AUR|lib32-libjpeg6}}{{Broken package link|{{aur-mirror|lib32-libjpeg6}}}}<br />
* {{AUR|lib32-sfml}}<br />
<br />
===Compatibility===<br />
Game refuses to launch and throws you to library installer loop. Just edit {{ic| ~/.steam/root/SteamApps/common/Harvest Massive Encounter/run_harvest}} and remove everything but<br />
#!/bin/bash<br />
exec ./Harvest<br />
<br />
==Hatoful Boyfriend==<br />
===Japanese text invisible===<br />
Install {{pkg|wqy-microhei}} and {{pkg|wqy-microhei-lite}}.<br />
<br />
==The inner world==<br />
===Bringing up the inventory or main menu===<br />
Hold the <tab> key.<br />
<br />
===Dependencies===<br />
<br />
====Sound support====<br />
Install [https://aur.archlinux.org/packages/java-commons-codec java-commons-codec] from the [[AUR]] to get sound support.<br />
<br />
====Cutscenes====<br />
The game has cutscenes. It starts directly with a cutscene before you start the actual game in the backyard. To see these cutscenes you need to use Oracle's Java instead of the openjdk.<br />
<br />
Install [https://aur.archlinux.org/packages/jre/ jre] from the [[AUR]] and run<br />
<br />
archlinux-java set java-8-jre/jre<br />
<br />
as root. Furthermore you need the package ffmpeg-compat. Currently this package is in the community repository.<br />
<br />
There seem to be problems with Steam Overlay. Try to run the game directly with ~/Steam/SteamApps/common/TheInnerWorld/TIW_start.sh<br />
<br />
<br />
Note that cutscenes open in a new window. So pay attention to that and switch to the new window to enjoy the movies.<br />
<br />
<br />
See the [http://steamcommunity.com/app/251430/discussions/0/611701360817206606/#c611701360827509770 Steam Forums] for details.<br />
<br />
==Invisible Apartment==<br />
===Dependencies===<br />
* {{pkg|qt5-multimedia}}<br />
<br />
===Game does not run===<br />
Game does not run if you try to launch it via Steam, but you can run it directly if you run the following in terminal<br />
/home/<username>/.steam/steam/SteamApps/common/Invisible\ Apartment/ia1<br />
where for <username> you put your Linux username.<br />
<br />
==Joe Danger 2: The Movie==<br />
===Dependencies===<br />
* {{pkg|lib32-libpulse}}<br />
* {{pkg|lib32-alsa-plugins}}<br />
<br />
===Compatibility===<br />
Game only worked after obtaining from the [https://www.humblebundle.com/ Humble Bundle] directly and {{pkg|lib32-libpulse}} was installed.<br />
<br />
==[[Kerbal Space Program]]==<br />
===Troubleshooting===<br />
=== Game never progresses past initial loading ===<br />
To fix this, set:<br />
LC_ALL=C<br />
<br />
=== No text display ===<br />
The game requires Arial and Arial Black fonts, provided by the {{AUR|ttf-ms-fonts}} package.<br />
<br />
Another alternative is to try to install the {{Pkg|ttf-freefont}} package. This worked using KSP 0.90.0 on x86_64 Arch Linux.<br />
<br />
=== Graphics flickering when using primusrun ===<br />
Run with PRIMUS_SYNC=2 (but you will get reduced frame rate this way)<br />
<br />
=== Game crashes when accessing settings or saves on 64 bit systems on Steam ===<br />
In the properties for Kerbal Space program, set a launch option of:<br />
LC_ALL=C %command%_64<br />
<br />
=== Locale settings ===<br />
See https://bugs.kerbalspaceprogram.com/issues/504 if you have troubles with building Ships.<br />
<br />
=== No audio on 64-bit systems ===<br />
<br />
Run the 64-bit executable.<br />
<br />
Steam launches the KSP.x86 executable vs. the KSP.x86_64 executable. <br />
Navigate to:<br />
/home/$USER/.local/share/Steam/SteamApps/common/Kerbal\ Space\ Program/ <br />
Launch with:<br />
./KSP.x86_64<br />
<br />
Or you can simply right click on "Kerbal Space Program" in your game list, click ''Properties'', click ''SET LAUNCH OPTIONS'', then add this: <br />
LD_LIBRARY_PATH="/usr/lib:$LD_LIBRARY_PATH" LC_ALL=C %command%_64<br />
<br />
=== Black ingame textures ===<br />
<br />
Disable "Edge Highlighting (PPFX)" in graphics settings ingame.<br />
<br />
=== See also ===<br />
* [[Kerbal Space Program]]<br />
* http://forum.kerbalspaceprogram.com/showthread.php/24529-The-Linux-compatibility-thread!<br />
<br />
==Killing Floor==<br />
===Troubleshooting===<br />
====Screen resolution====<br />
Killing Floor runs pretty much from scratch, although you might have to change in-game resolution screen as the default one is '''800x600''' and a '''4:3''' screen format.<br />
If you try to modify screen resolution in-game, it might crash your desktop enviroment.<br />
To fix this, please set the desired resolution screen size by modifing your {{ic|~/.killingfloor/System/KillingFloor.ini}} with your prefered editor.<br />
{{hc|~/.killingfloor/System/KillingFloor.ini|<nowiki><br />
...<br />
<br />
[WinDrv.WindowsClient]<br />
WindowedViewportX=????<br />
WindowedViewportY=????<br />
FullscreenViewportX=????<br />
FullscreenViewportY=????<br />
MenuViewportX=???<br />
MenuViewportY=???<br />
<br />
...<br />
<br />
[SDLDrv.SDLClient]<br />
WindowedViewportX=????<br />
WindowedViewportY=????<br />
FullscreenViewportX=????<br />
FullscreenViewportY=????<br />
MenuViewportX=????<br />
MenuViewportY=????<br />
<br />
...<br />
</nowiki>}}<br />
{{Note|Replace all the {{ic|????}} with the corresponding numbers according the desired resolution. If you have an 1366x768 screen and want to use it at it's fullest, change all the Viewport fields to something like {{ic|ViewportX&#61;1366}} and {{ic|ViewportY&#61;768}} in the corresponding areas.}}<br />
{{Note| The dots in the middle indicate that there are more fields in that .ini file. But for screen resolution troubleshooting, you do not need to modify anything else.}}<br />
<br />
Save the file and restart the game, it should work now.<br />
<br />
====Windowed mode====<br />
Uncheck fullscreen in the options menu, and use {{ic|Ctrl+g}} to stop mouse capturing (that was non-obvious to discover..). This way you can easily minimize it and do other other things..and let your WM handle things.<br />
<br />
====Stuttering Sound====<br />
KillingFloor comes with its own libopenal.so (called openal.so). To use system lib instead install {{pkg|openal}} or {{pkg|lib32-openal }} (if using 64bit system).<br />
Then go to {{ic|$HOME/Steam/SteamApps/common/KillingFloor/System}}. and rename openal.so to openal.so.bak<br />
Then create symlink to /usr/lib32/libopenal.so.1 or /usr/lib/libopenal.so.1 called openal.so<br />
<br />
==Metro: Last Light==<br />
This game is not allowing to change its resolution on a multimonitor setup on GNOME with Catalyst drivers. <br />
===Attempted fixes===<br />
Various changes to the games config file was tried without success.<br />
{{ic|wmctrl}} was not able to force the games resolution.<br />
<br />
===Hacky solution===<br />
Disabled the side monitors.<br />
<br />
===Possible solutions===<br />
Jason over at [http://unencumberedbyfacts.com/2013/11/20/multiple-monitor-gaming-on-linux/ unencumbered by fact] is using Nvidia drivers on his multimonitor setup. However he notes he is using a single display server setup. This is being explored.<br />
<br />
==Multiwinia==<br />
===Dependencies===<br />
* {{pkg|lib32-openal}}<br />
<br />
==Natural Selection 2==<br />
Game mostly works out of the box.<br />
===No Sound===<br />
If there is no sound in-game. Try installing {{pkg|lib32-sdl}}, {{AUR|lib32-sdl2}}, and {{pkg|lib32-alsa-plugins}}<br />
<br />
If this fails, try setting the game's launch options in Steam to:<br />
LD_LIBRARY_PATH="/usr/lib32:$LD_LIBRARY_PATH" %command%<br />
<br />
==Penumbra: Overture==<br />
===Dependencies===<br />
(Taken from {{AUR|penumbra-collection}}{{Broken package link|{{aur-mirror|penumbra-collection}}}} and {{AUR|penumbra-overture-ep1-demo}}{{Broken package link|{{aur-mirror|penumbra-overture-ep1-demo}}}})<br />
* {{pkg|lib32-glu}}<br />
* {{pkg|lib32-libxft}}<br />
* {{pkg|lib32-libvorbis}}<br />
* {{pkg|lib32-openal}}<br />
* {{pkg|lib32-sdl_ttf}}<br />
* {{pkg|lib32-sdl_image}}<br />
<br />
===Troubleshooting===<br />
====Windowed mode====<br />
There is no in-game option to change to the windowed mode, you will have to edit {{ic|~/.frictionalgames/Penumbra/Overture/settings.cfg}} to activate it.<br />
Find {{ic|FullScreen&#61;"true"}} and change it to {{ic|FullScreen&#61;"false"}}, after this the game should start in windowed mode.<br />
<br />
==Portal 2==<br />
===Troubleshooting===<br />
====Game does not start====<br />
Several OpenGL-related errors (such as {{ic|PROBLEM: You appear to have OpenGL 1.4.0, but we need at least 2.0.0!}} or {{ic|libGL error: driver pointer missing}}) are caused by Portal&nbsp;2 bundling an old libstdc++ file. This error is especially common with open source Radeon drivers ({{ic|radeonsi}}).<br />
<br />
<br />
To remedy this, make Portal&nbsp;2 use the system-wide file by setting the launch options to {{ic|1=LD_PRELOAD='/usr/$LIB/libstdc++.so.6' %command%}}.<br />
<br />
More details and background info available [https://wirejungle.wordpress.com/2015/01/09/how-to-fix-broken-steam-linux-client-with-radeon-graphics-driver-workaround/ here.]<br />
<br />
==Prison Architect==<br />
===Troubleshooting===<br />
====ALSA error when using PulseAudio====<br />
The error:<br />
{{ic|ALSA lib pcm_dmix.c:1018:(snd_pcm_dmix_open) unable to open slave}}<br />
was resolved by installing:<br />
* {{pkg|pulseaudio-alsa}} <br />
* {{pkg|lib32-alsa-plugins}}<br />
* {{pkg|lib32-libpulse}}<br />
per [[PulseAudio#ALSA]]<br />
<br />
==Project Zomboid==<br />
===Dependencies===<br />
* {{pkg|jre7-openjdk}}<br />
<br />
==Redshirt==<br />
===Dependencies (x86_64)===<br />
* {{pkg|lib32-libpulse}} (if you use PulseAudio)<br />
<br />
==Revenge of the Titans==<br />
===Dependencies===<br />
* {{pkg|libxtst}} and {{pkg|lib32-libxtst}}<br />
<br />
==Rock Boshers DX: Directors Cut==<br />
===Dependencies===<br />
* {{AUR|lib32-libcaca}}<br />
<br />
==Serious Sam 3: BFE==<br />
===Dependencies===<br />
* {{pkg|lib32-alsa-plugins}}<br />
<br />
===Troubleshooting===<br />
====No audio====<br />
Try running:<br />
# mkdir -p /usr/lib/i386-linux-gnu/alsa-lib/<br />
# ln -s /usr/lib32/alsa-lib/libasound_module_pcm_pulse.so /usr/lib/i386-linux-gnu/alsa-lib/<br />
<br />
If that does not work, try tweaking {{ic|~/.alsoftrc}} as proposed by the [http://steamcommunity.com/app/221410/discussions/3/846940248238406974/ Steam community] (Serious Sam 3: BFE uses OpenAL to output sound). If you are not using Pulse Audio, you may want to write the following configuration:<br />
<br />
{{hc|~/.alsoftrc|<nowiki><br />
[general]<br />
drivers = alsa<br />
[alsa]<br />
device = default<br />
capture = default<br />
mmap = true<br />
</nowiki>}}<br />
<br />
==Sir, you are being hunted==<br />
===Dependencies===<br />
* {{pkg|lib32-alsa-plugins}}<br />
<br />
==Spacechem==<br />
===Dependencies===<br />
* {{pkg|lib32-sqlite}}<br />
* {{pkg|lib32-sdl_image}}<br />
* {{AUR|lib32-sdl_mixer}}<br />
<br />
===Troubleshooting===<br />
====Game crash====<br />
The shipped x86 version of Spacechem does not work on x64 with the game's own libSDL* files, and crashes with some strange output.<br />
<br />
To solve this just remove or move the three files {{ic|libSDL-1.2.so.0}}, {{ic|libSDL_image-1.2.so.0}}, {{ic|libSDL_mixer-1.2.so.0}} from {{ic|~/.steam/root/SteamApps/common/SpaceChem}}<br />
<br />
==Space Pirates and Zombies==<br />
===Dependencies===<br />
* {{pkg|lib32-alsa-plugins}}<br />
* {{pkg|lib32-openal}}<br />
<br />
===Troubleshooting===<br />
====No audio====<br />
Try running:<br />
# mkdir -p /usr/lib/i386-linux-gnu/alsa-lib/<br />
# ln -s /usr/lib32/alsa-lib/libasound_module_pcm_pulse.so /usr/lib/i386-linux-gnu/alsa-lib/<br />
<br />
If that does not work, try tweaking {{ic|~/.alsoftrc}} as proposed by the Steam community (Serious Sam 3: BFE uses OpenAL to output sound). If you are not using Pulse Audio, you may want to write the following configuration:<br />
{{hc|~/.alsoftrc|<nowiki><br />
[general]<br />
drivers = alsa<br />
[alsa]<br />
device = default<br />
capture = default<br />
mmap = true<br />
</nowiki>}}<br />
<br />
==Splice==<br />
Splice comes with both x86 and x64 binaries. Steam does not have to be running to launch this game.<br />
===Dependencies===<br />
* {{pkg|glu}}<br />
<br />
==Steel Storm: Burning Retribution==<br />
===Troubleshooting===<br />
====Start with black screen====<br />
The game tries to launch in 1024x768 resolution with fullscreen mode by default. It is impossible on some devices.<br />
(for example laptop Samsung Series9 with intel hd4000 video).<br />
<br />
You can launch the game in windowed mode. To do this open game Properties in Steam, in General tab select "Set launch options..." and type "-window".<br />
<br />
Now you can change the resolution in game.<br />
<br />
====No English fonts====<br />
If you use Intel video card, just disable S3TC in DriConf.<br />
<br />
==Strike Suite Zero==<br />
===Dependencies===<br />
* {{pkg|lib32-alsa-plugins}}<br />
<br />
==Superbrothers: Sword & Sworcery EP==<br />
===Dependencies===<br />
* {{pkg|lib32-glu}}<br />
* {{pkg|lib32-alsa-plugins}}<br />
* {{pkg|lib32-libpulse}} (if you use PulseAudio)<br />
<br />
==Team Fortress 2 ==<br />
===Dependencies===<br />
* {{AUR|lib32-libpng12}}<br />
<br />
===Making HRTF work===<br />
Assuming HRTF has been set up properly in the operating system, hrtf won't be enabled unless you disable the original processing. To do so, use<br />
dsp_slow_cpu 1<br />
For best results, also change the following:<br />
snd_spatialize_roundrobin 1<br />
dsp_enhance_stereo 0<br />
snd_pitchquality 1<br />
<br />
===Troubleshooting===<br />
====Loading screen freeze====<br />
If you are a non-english (speaking) user, you have to enable "en_US.UTF-8" in the locale.gen! Generate a new locale after that.<br />
<br />
====No audio====<br />
It happens if there is no PulseAudio in your system.<br />
If you want to use [[ALSA]], you need to launch Steam or the game directly with {{ic|1=SDL_AUDIODRIVER=alsa}} <br />
(From [http://steamcommunity.com/app/221410/discussions/0/882966056462819091/#c882966056470753683 SteamCommunity]).<br />
<br />
If it still does not work, you may also need to set the environment variable AUDIODEV. For instance {{ic|1=AUDIODEV=Live}}. Use {{ic|aplay -l}} to list the available sound cards.<br />
<br />
====Slow loading textures====<br />
If you are using Chris' FPS Configs or any other FPS config, you may have set {{ic|mat_picmip}} to {{ic|2}}. This spawns multiple threads for texture loading, which may cause more jittering and lag on Linux, especially on alternative kernels. Try setting it to {{ic|-1}}, the default.<br />
<br />
==Terraria==<br />
===Troubleshooting===<br />
====Failed to start game (missing executable)====<br />
This is not specific to arch, but remember to opt in for mac-and-linux-open-beta. After downloading the update, the error would be fixed.<br />
==The Book of Unwritten Tales==<br />
If the game does not start, uncheck: ''Properties > Enable Steam Community In-Game''.<br />
<br />
The game may segfault upon clicking the Setting menu and possibly during or before gameplay. This is a known problem and you will unfortunately have to wait for a fix from the developer. A workaround (taken from the [http://steamcommunity.com/app/221410/discussions/3/846939071081758230/#p2 Steam forums]) is to replace the game's RenderSystem_GL.so with one from Debian's repositories. To do that download this [https://launchpad.net/ubuntu/+archive/primary/+files/libogre-1.7.4_1.7.4-3_i386.deb deb file], extract it (with {{ic|{{AUR|dpkg}} -x libogre-*.deb outdir}}) and replace {{ic|~/.local/share/Steam/SteamApps/common/The Book of Unwritten Tales/lib/32/RenderSystem_GL.so}} with the one that comes with the {{ic|.deb}} package.<br />
<br />
===Dependencies===<br />
* {{AUR|lib32-libxaw}}<br />
* {{AUR|lib32-jasper}}{{Broken package link|{{aur-mirror|lib32-jasper}}}}<br />
<br />
==The Book of Unwritten Tales: The Critter Chronicles==<br />
Because it's based on the same engine, the things that apply to ''The Book of Unwritten Tales'' also apply for this game.<br />
<br />
To prevent the game from crashing at the very end when the credits are shown, change the size of the credits image as described here: http://steamcommunity.com/app/221830/discussions/0/828925849276110960/#c810921273836530791<br />
<br />
==The Clockwork Man==<br />
===Dependencies===<br />
* {{pkg|lib32-libidn}}<br />
<br />
==The Polynomial==<br />
===Dependencies===<br />
* {{AUR|ilmbase102-libs}}{{Broken package link|{{aur-mirror|ilmbase102-libs}}}}<br />
* {{AUR|openexr170-libs}}{{Broken package link|{{aur-mirror|openexr170-libs}}}}<br />
[https://github.com/ValveSoftware/steam-for-linux/issues/2721 Steam for Linux issue #2721]<br />
<br />
===Troubleshooting===<br />
====Segfaults during program start on 64-bit systems====<br />
The game segfaults during program start because of the {{ic|LD_LIBRARY_PATH}} setting in the launcher script. Edit {{ic|~/.local/share/Steam/SteamApps/common/ThePolynomial/Polynomial64}}, and comment out the {{ic|LD_LIBRARY_PATH}} variable. Make sure to put the {{ic|./bin/Polynomial64 "$@"}} command on a new line.<br />
<br />
==This War of Mine==<br />
===Troubleshooting===<br />
====Game doesn't load====<br />
This happens because of a incompatibility of the newer version of {{ic|lib32-glibc}}. To Fix the problem you need to download the version 2.20-6 of the lib, you can download it [http://ftp.nara.wide.ad.jp/pub/Linux/archlinux/multilib-testing/os/x86_64/lib32-glibc-2.20-6-x86_64.pkg.tar.xz here], then extract the: <br />
libc.so.6<br />
libc-2.20.so<br />
libpthread.so.0<br />
libpthread-2.20.so<br />
libresolv-2.20.so<br />
libresolv.so.2 <br />
librt.so.1<br />
librt-2.20.so<br />
located in the archive and put on the main game folder: {{ic|~/.local/share/Steam/steamapps/common/This War of Mine/}}<br />
<br />
==Towns / Towns Demo==<br />
===Crash on launch===<br />
Ensure you have [[Java]] installed.<br />
<br />
==Transistor==<br />
===Crash on launch / FMOD binding crash / Audio issues===<br />
Try running steam with following command <br />
LD_PRELOAD='/usr/lib/libstdc++.so.6:/usr/lib/libgcc_s.so.1:/usr/lib/libxcb.so.1:/usr/lib/libasound.so.2' steam<br />
<br />
Otherwise, run the game via shell and set up proper audio device for FMOD, as discussed there [https://steamcommunity.com/app/237930/discussions/2/620695877176333955/].<br />
<br />
Also, check out this thread [https://steamcommunity.com/app/237930/discussions/2/492378265893557247/]<br />
<br />
==Trine 2==<br />
===Dependencies===<br />
* {{pkg|lib32-glu}}<br />
* {{pkg|lib32-libxxf86vm}}<br />
* {{pkg|lib32-openal}}<br />
* {{pkg|xorg-xwininfo}}<br />
<br />
===Troubleshooting===<br />
* If colors are wrong with FOSS drivers (r600g at least), try to run the game in windowed mode, rendering will be corrected. ([https://bugs.freedesktop.org/show_bug.cgi?id=60553 bugreport])<br />
* If sound plays choppy, try:<br />
{{hc|/etc/openal/alsoft.conf|<nowiki><br />
drivers=pulse,alsa<br />
frequency=48000<br />
</nowiki>}}<br />
<br />
* If the game resolution is wrong when using a dual monitor setup and you can't see the whole window edit {{ic|~/.frozenbyte/Trine2/options.txt}} and change the options {{ic|ForceFullscreenWidth}} and {{ic|ForceFullscreenHeight}} to the resolution of your monitor on which you want to play the game.<br />
<br />
==Unity3D==<br />
<br />
Games based on the Unity3D engine, like ''War For The Overworld'' or ''Pixel Piracy'' may need the package {{pkg|lsb-release}} to understand that they run on Linux and work properly.<br />
<br />
===Locale Settings===<br />
<br />
Games made in C# often have a problem with some locales (e.g. Russian, German) because developers don't specify locale-agnostic number formatting. This can result in some game screens loading only partially, problems with online features or other bugs.<br />
<br />
To work around this, set the game's launch options to <code>LC_ALL=C %command%</code><br />
<br />
Some of the affected games: ''FORCED'', ''Gone Home'', ''Ichi'', ''Nimble Quest'', ''Syder Arcade''.<br />
<br />
==Unity of Command==<br />
===Dependencies===<br />
* {{pkg|lib32-pango}}<br />
* {{pkg|lib32-alsa-plugins}}<br />
<br />
===Troubleshooting===<br />
* If squares are shown instead of text, try removing {{ic|$HOME/Steam/SteamApps/common/Unity of Command/bin/libpangoft2-1.0.so.0}}.<br />
<br />
====No audio====<br />
If you get this error:<br />
ALSA lib dlmisc.c:254:(snd1_dlobj_cache_get) Cannot open shared library /usr/lib/i386-linux-gnu/alsa-lib/libasound_module_pcm_pulse.so<br />
<br />
Try running:<br />
# mkdir -p /usr/lib/i386-linux-gnu/alsa-lib/<br />
# ln -s /usr/lib32/alsa-lib/libasound_module_pcm_pulse.so /usr/lib/i386-linux-gnu/alsa-lib/<br />
<br />
==Unrest==<br />
===Dependencies===<br />
* {{pkg|fluidsynth}}<br />
<br />
== War Thunder ==<br />
<br />
=== Troubleshooting ===<br />
<br />
If having a green or blank screen at game start, set the {{ic|1=MESA_GL_VERSION_OVERRIDE=4.1COMPAT}} [[environment variable]]. [https://forum.warthunder.com/index.php?/topic/267809-linux-potential-workaround-for-mesa-drivers-black-screen/] [http://forum.warthunder.com/index.php?search_term=0030709&app=core&module=search&do=search&fromMainBar=1&search_app=forums%3Aforum%3A920&sort_field=&sort_order=&search_in=posts]<br />
<br />
== Witcher 2: Assassin of Kings ==<br />
<br />
=== Dependencies ===<br />
<br />
* {{Pkg|lib32-freetype2}}<br />
* {{AUR|lib32-libcurl-compat}}<br />
* {{Pkg|lib32-gnutls}}<br />
<br />
* {{AUR|lib32-sdl2}}<br />
* {{AUR|lib32-sdl2_image}}<br />
* {{AUR|lib32-libcurl-gnutls}}<br />
<br />
=== Troubleshooting ===<br />
<br />
If the game does not run, enable error messages:<br />
<br />
cd "${HOME}/.local/share/Steam/SteamApps/common/the witcher 2"<br />
LIBGL_DEBUG=verbose ./witcher2<br />
<br />
==Wizardry 6: Bane of the Cosmic Forge==<br />
===Dependencies===<br />
* {{pkg|dosbox}}<br />
<br />
To fix the crash at start, edit {{ic|~/.local/share/Steam/SteamApps/common/Wizardry6/dosbox_linux/launch_wizardry6.sh}} and change<br />
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:./libs<br />
exec ./dosbox -conf dosbox_wiz6.conf -conf dosbox_wiz6_launch_linux.conf -noconsole "$@"<br />
to<br />
#export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:./libs<br />
exec dosbox -conf dosbox_wiz6.conf -conf dosbox_wiz6_launch_linux.conf -noconsole "$@"<br />
<br />
==World of Goo==<br />
===Changing resolution===<br />
* To change the game resolution edit the section "Graphics display" in the configuration file {{ic|$HOME/Steam/SteamApps/common/World of Goo/properties/config.txt}}. For example, see below:<br />
<!-- Graphics display --><br />
<param name="screen_width" value="1680" /><br />
<param name="screen_height" value="1050" /><br />
<param name="color_depth" value="0" /><br />
<param name="fullscreen" value="true" /><br />
<param name="ui_inset" value="10" /><br />
<br />
==Worms Reloaded==<br />
===Dependencies===<br />
* {{pkg|lib32-alsa-plugins}}<br />
<br />
==XCOM==<br />
===Hangs on startup===<br />
Steam ships its own versions of some libraries, and they sometimes are too old to work with archlinux system libraries.<br />
Removing the library supplied by Steam means Steam has to use the newer arch-specific version. [https://bbs.archlinux.org/viewtopic.php?pid=1428375#p1428375].<br />
<br />
{{bc|rm ~.local/share/Steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libgcc_s.so.1<br />
rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libstdc++.so.6}}<br />
<br />
===Graphical glitches on Intel HD===<br />
XCOM may not recognize sdl2 shared libraries shipped with Steam runtime.<br />
Check if binary finds all required files and install missing packages if necessary ([https://www.archlinux.org/packages/extra/i686/sdl2/ sdl2] and [https://www.archlinux.org/packages/extra/x86_64/sdl2_image/ sdl2_image]).<br />
<br />
{{bc|ldd ~/.local/share/Steam/steamapps/common/XCom-Enemy-Unknown/binaries/linux/game.x86_64 | grep "not found"}}</div>Ssl