https://wiki.archlinux.org/api.php?action=feedcontributions&user=J%21PRA&feedformat=atomArchWiki - User contributions [en]2024-03-28T16:46:31ZUser contributionsMediaWiki 1.41.0https://wiki.archlinux.org/index.php?title=Mouse_polling_rate&diff=759012Mouse polling rate2022-12-04T23:38:02Z<p>J!PRA: /* Known issues */ Fixed a typo.</p>
<hr />
<div>[[Category:Mice]]<br />
[[ja:マウスのポーリングレート]]<br />
{{Related articles start}}<br />
{{Related|Mouse acceleration}}<br />
{{Related|Mouse buttons}}<br />
{{Related articles end}}<br />
If you have invested in a high resolution mouse, adjusting the USB polling rate is a common trick to utilize the added precision it brings. The polling rate (or report rate) determines how often the mouse sends information to your computer.<br />
<br />
== Polling rate and polling interval ==<br />
<br />
The polling rate of a device is measured in Hertz (Hz) and is determined by the polling interval. The polling interval is measured in milliseconds (ms) and equates to lag time.<br />
<br />
The default polling interval is 10ms. However, USB controllers round the interval down to the nearest power of two. Thus, an interval setting of 10ms will actually use 8ms, 7ms will use 4ms, etc.<br />
<br />
The following table shows the relation between polling rate Hertz and the corresponding interval milliseconds (rate = 1000 / interval).<br />
<br />
{| class="wikitable"<br />
! Hz<br />
|1000||500||250||125<br />
|-<br />
! ms<br />
|1|||2||4||8<br />
|}<br />
<br />
If the polling rate is 125 Hz, the mouse position will be updated every 8 milliseconds. In situations where lag is critical — for example games — some users decrease the interval to as little as possible. However, this puts more load on the CPU, so care should be taken when adjusting this value.<br />
<br />
== Display polling rate ==<br />
<br />
The {{ic|evhz}} tool can display the actual mouse refresh rate.<br />
<br />
You can install it from {{AUR|evhz-git}} and execute as root:<br />
<br />
# evhz<br />
<br />
Now move the mouse continuously in large circles until the displayed {{ic|Average}} stabilizes then press {{ic|Ctrl+c}} to exit.<br />
<br />
If the {{ic|Latest}} value does not stabilize and switches between two values, then the attempted polling rate is faster than the device is capable of; see [[#USB device speed]].<br />
<br />
Alternatively, Windows tools such as [https://web.archive.org/web/20160605051849/http://razerblueprints.net/index.php/View-document-details/18-DirectX-mouserate-checker.html DirectX mouserate checker] can be run using [[Wine]]. Or use a website based checker like the one [https://cps-check.com/polling-rate-check provided by CPS-Check].<br />
<br />
== Display polling interval ==<br />
<br />
{{Note|1=This only shows the polling interval requested by the device and not the actual interval being used. See [https://bbs.archlinux.org/viewtopic.php?pid=1607073#p1607073 BBS].}}<br />
<br />
Device information including polling interval can be found in [[Wikipedia:debugfs|debugfs]] if it is mounted and you have root access.<br />
<br />
First, find the vendor and product IDs of your device with:<br />
<br />
{{hc|$ lsusb|<br />
Bus 001 Device 002: ID '''045e''':'''0024''' Microsoft Corp. Trackball Explorer<br />
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub<br />
}}<br />
<br />
Then run the following as root with those IDs to display the debug information for that device:<br />
<br />
{{hc|# grep -B3 -A6 ''"045e''.*''0024"'' /sys/kernel/debug/usb/devices|2=<br />
T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 2 '''Spd=1.5''' MxCh= 0<br />
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1<br />
P: Vendor=045e ProdID=0024 Rev= 1.21<br />
S: Manufacturer=Microsoft<br />
S: Product=Microsoft Trackball Explorer®<br />
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA<br />
I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=02 Driver=usbhid<br />
E: Ad=81(I) Atr=03(Int.) MxPS= 4 '''Ivl=10ms'''<br />
}}<br />
<br />
The {{ic|Ivl}} is the polling interval; this device has requested 10ms (and actually reports every 8ms as explained in [[#Polling rate and polling interval]]). The {{ic|Spd}} is the device speed explained in [[#USB device speed]]. For information about the other fields, see the [https://docs.kernel.org/driver-api/usb/usb.html#sys-kernel-debug-usb-devices-output-format kernel documentation].<br />
<br />
If debugfs or root access are not available, the polling interval can be shown with:<br />
<br />
{{hc|$ lsusb -vd ''045e'':''0024'' {{!}} grep bInterval|<br />
bInterval 10<br />
}}<br />
<br />
== USB device speed ==<br />
<br />
[[Wikipedia:USB|USB]] devices are designed to operate at a certain bitrate. Many pointing devices are "Low Speed" 1.5Mbit/s devices. The speed of a device can be shown as explained in [[#Display polling interval]].<br />
<br />
"Low Speed" devices may not be capable of polling at intervals less than 8ms.<br />
<br />
All USB hubs should be capable of at least "Full Speed" 12Mbit/s. The speed of the hub that the device is attached to can be shown with the following command with the same {{ic|1=Bus=xx}} as the device:<br />
<br />
{{hc|1=# grep -B1 -A10 "Bus=''01'' Lev=00" /sys/kernel/debug/usb/devices|2=T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 '''Spd=12''' MxCh= 2<br />
B: Alloc= 11/900 us ( 1%), #Int= 1, #Iso= 0<br />
D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1<br />
P: Vendor=1d6b ProdID=0001 Rev= 4.01<br />
S: Manufacturer=Linux 4.1.18-1-lts uhci_hcd<br />
S: Product=UHCI Host Controller<br />
S: SerialNumber=0000:00:10.0<br />
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA<br />
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub<br />
E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms}}<br />
<br />
The {{ic|Ivl}} of the hub is independent of the device and does not affect the polling rate of the device.<br />
<br />
== Set polling interval ==<br />
<br />
To configure the polling rate, use the {{ic|mousepoll}} option of the {{ic|usbhid}} [[kernel module]]. The default value is 0 which means the module uses the interval requested by the device(s).<br />
<br />
The current value of the option can be verified with:<br />
<br />
{{hc|$ systool -m usbhid -A mousepoll|2=Module = "usbhid"<br />
mousepoll = "0"}}<br />
<br />
To change the configuration, create the following file:<br />
<br />
{{hc|/etc/modprobe.d/usbhid.conf|2=options usbhid mousepoll=4}}<br />
<br />
This example requests a polling rate of 250Hz. Similarly, you may use jspoll or kbpoll to change the polling rate of gamepads/joysticks or keyboards.<br />
<br />
To change the polling interval without rebooting <br />
<br />
# modprobe -r usbhid && modprobe usbhid<br />
<br />
{{Warning|If the second command fails, you will be unable to use any USB mouse or keyboard and may have to reboot or ssh into your machine.}}<br />
<br />
You may have to unplug the mouse and plug it back in for the change to take effect.<br />
<br />
{{Note|1=If the usbhid module is included on your initramfs image, you may need to add {{ic|/etc/modprobe.d/usbhid.conf}} to the image also. See the note at [[Kernel modules#Using files in /etc/modprobe.d/]]. Alternatively, you can add {{ic|1=usbhid.mousepoll=X}} to your kernel command line. See [[Kernel modules#Using kernel command line]].}}<br />
<br />
{{Tip|When using a smaller than default interval, you may want to adjust the [[Mouse acceleration]] option [https://xorg.freedesktop.org/wiki/Development/Documentation/PointerAcceleration/#VelocityScale VelocityScale] to match.}}<br />
<br />
== Known issues ==<br />
<br />
=== Polling at half of requested rate ===<br />
<br />
There is a kernel bug that for certain configurations prevents devices from reaching 1000 Hz (1ms) polling rate. See the [https://bbs.archlinux.org/viewtopic.php?pid=1528109 BBS] and [https://bugzilla.kernel.org/show_bug.cgi?id=60586 Bug].<br />
<br />
A work-around that may help is to connect the device to a port using a different driver.<br />
<br />
=== Polling rate not changing ===<br />
<br />
The USB 3 driver {{ic|xhci-hcd}} may be ignoring the {{ic|usbhid}} {{ic|mousepoll}} setting. See the [https://lore.kernel.org/all/20131001174443.GC7818@xanatos/ linux-usb mailing list message] and [https://bugzilla.kernel.org/show_bug.cgi?id=82571 Bug].<br />
<br />
The {{ic|xhci-hcd}} module should respect the interval requested by the device, so check the documentation for the device for a hardware or firmware setting.<br />
<br />
A work-around that may help is to connect the device to a port using a different driver.<br />
<br />
Another work-around is to disable [[Wikipedia:Extensible_Host_Controller_Interface|xHCI]]. There might be a BIOS setting for this or you can do so by [[blacklisting]] the {{ic|xhci-hcd}} module. '''However''', either way will cause any USB 3 ports to act as USB 2 as the kernel will use the {{ic|ehci-hcd}} module instead.<br />
<br />
As an alternative, one can install a kernel module {{AUR|wmo_oc-dkms}} (or build it manually from [https://github.com/YeaSeb/wmo-oc-kmod wmo_oc-kmod]), which is a fork of gcadapter-oc-kmod for wmo1.1a (MS Wheel Mouse Optical 1.1a). The {{ic|wmo_oc-dkms}} identifies a mouse with its vendor and product ID (VID:PID) values to overclock it even with XHCI hubs, without loosing USB 3 functionality. Changing the polling rate of any USB mouse other than the default wmo1.1a requires modifying the default VID:PID values (045e:0040) found in the module's source file {{ic|wmo_oc.c}} in {{ic|/usr/src/''module_name''/}} and finally rebuilding (removing and installing) the kernel module using DKMS.<br />
<br />
{{Tip|To see which {{ic|hcd}} drivers are in use, see the {{ic|S: Manufacturer}} line for hub devices in {{ic|/sys/kernel/debug/usb/devices}}.}}<br />
<br />
=== Polling rate resulting in lag with wine ===<br />
<br />
Having a mouse with a high poll rate and using wine can result in game lag; see [https://bugs.winehq.org/show_bug.cgi?id=46976 here]. It would seem that the user who created that bug had the problem solved by updating the bios. The bug, however, is not resolved for other users. <br />
<br />
It is not possible to change the polling rate of the mouse using the methods within this wiki (the "usbhid" method) if your computer only has a USB3 xHCI Controller.<br />
<br />
Unfortunately, there is currently no fix for users with a combination of a mouse with a high polling rate and only a USB3 xHCI Controller.<br />
<br />
A workaround is to use a mouse with a lower polling rate.<br />
<br />
== See also ==<br />
<br />
*[https://www.overclock.net/forum/375-mice/173255-cs-s-mouse-optimization-guide.html CS:S Mouse Optimization Guide] — largely aimed at Windows users, though the same principles apply for Linux.</div>J!PRAhttps://wiki.archlinux.org/index.php?title=Mouse_polling_rate&diff=759010Mouse polling rate2022-12-04T23:25:04Z<p>J!PRA: /* Known issues */ Described a method to use the wmo_oc-dkms kernel module to change the polling rate of any USB mouse using the xhci-hcd USB 3 driver.</p>
<hr />
<div>[[Category:Mice]]<br />
[[ja:マウスのポーリングレート]]<br />
{{Related articles start}}<br />
{{Related|Mouse acceleration}}<br />
{{Related|Mouse buttons}}<br />
{{Related articles end}}<br />
If you have invested in a high resolution mouse, adjusting the USB polling rate is a common trick to utilize the added precision it brings. The polling rate (or report rate) determines how often the mouse sends information to your computer.<br />
<br />
== Polling rate and polling interval ==<br />
<br />
The polling rate of a device is measured in Hertz (Hz) and is determined by the polling interval. The polling interval is measured in milliseconds (ms) and equates to lag time.<br />
<br />
The default polling interval is 10ms. However, USB controllers round the interval down to the nearest power of two. Thus, an interval setting of 10ms will actually use 8ms, 7ms will use 4ms, etc.<br />
<br />
The following table shows the relation between polling rate Hertz and the corresponding interval milliseconds (rate = 1000 / interval).<br />
<br />
{| class="wikitable"<br />
! Hz<br />
|1000||500||250||125<br />
|-<br />
! ms<br />
|1|||2||4||8<br />
|}<br />
<br />
If the polling rate is 125 Hz, the mouse position will be updated every 8 milliseconds. In situations where lag is critical — for example games — some users decrease the interval to as little as possible. However, this puts more load on the CPU, so care should be taken when adjusting this value.<br />
<br />
== Display polling rate ==<br />
<br />
The {{ic|evhz}} tool can display the actual mouse refresh rate.<br />
<br />
You can install it from {{AUR|evhz-git}} and execute as root:<br />
<br />
# evhz<br />
<br />
Now move the mouse continuously in large circles until the displayed {{ic|Average}} stabilizes then press {{ic|Ctrl+c}} to exit.<br />
<br />
If the {{ic|Latest}} value does not stabilize and switches between two values, then the attempted polling rate is faster than the device is capable of; see [[#USB device speed]].<br />
<br />
Alternatively, Windows tools such as [https://web.archive.org/web/20160605051849/http://razerblueprints.net/index.php/View-document-details/18-DirectX-mouserate-checker.html DirectX mouserate checker] can be run using [[Wine]]. Or use a website based checker like the one [https://cps-check.com/polling-rate-check provided by CPS-Check].<br />
<br />
== Display polling interval ==<br />
<br />
{{Note|1=This only shows the polling interval requested by the device and not the actual interval being used. See [https://bbs.archlinux.org/viewtopic.php?pid=1607073#p1607073 BBS].}}<br />
<br />
Device information including polling interval can be found in [[Wikipedia:debugfs|debugfs]] if it is mounted and you have root access.<br />
<br />
First, find the vendor and product IDs of your device with:<br />
<br />
{{hc|$ lsusb|<br />
Bus 001 Device 002: ID '''045e''':'''0024''' Microsoft Corp. Trackball Explorer<br />
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub<br />
}}<br />
<br />
Then run the following as root with those IDs to display the debug information for that device:<br />
<br />
{{hc|# grep -B3 -A6 ''"045e''.*''0024"'' /sys/kernel/debug/usb/devices|2=<br />
T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 2 '''Spd=1.5''' MxCh= 0<br />
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1<br />
P: Vendor=045e ProdID=0024 Rev= 1.21<br />
S: Manufacturer=Microsoft<br />
S: Product=Microsoft Trackball Explorer®<br />
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA<br />
I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=02 Driver=usbhid<br />
E: Ad=81(I) Atr=03(Int.) MxPS= 4 '''Ivl=10ms'''<br />
}}<br />
<br />
The {{ic|Ivl}} is the polling interval; this device has requested 10ms (and actually reports every 8ms as explained in [[#Polling rate and polling interval]]). The {{ic|Spd}} is the device speed explained in [[#USB device speed]]. For information about the other fields, see the [https://docs.kernel.org/driver-api/usb/usb.html#sys-kernel-debug-usb-devices-output-format kernel documentation].<br />
<br />
If debugfs or root access are not available, the polling interval can be shown with:<br />
<br />
{{hc|$ lsusb -vd ''045e'':''0024'' {{!}} grep bInterval|<br />
bInterval 10<br />
}}<br />
<br />
== USB device speed ==<br />
<br />
[[Wikipedia:USB|USB]] devices are designed to operate at a certain bitrate. Many pointing devices are "Low Speed" 1.5Mbit/s devices. The speed of a device can be shown as explained in [[#Display polling interval]].<br />
<br />
"Low Speed" devices may not be capable of polling at intervals less than 8ms.<br />
<br />
All USB hubs should be capable of at least "Full Speed" 12Mbit/s. The speed of the hub that the device is attached to can be shown with the following command with the same {{ic|1=Bus=xx}} as the device:<br />
<br />
{{hc|1=# grep -B1 -A10 "Bus=''01'' Lev=00" /sys/kernel/debug/usb/devices|2=T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 '''Spd=12''' MxCh= 2<br />
B: Alloc= 11/900 us ( 1%), #Int= 1, #Iso= 0<br />
D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1<br />
P: Vendor=1d6b ProdID=0001 Rev= 4.01<br />
S: Manufacturer=Linux 4.1.18-1-lts uhci_hcd<br />
S: Product=UHCI Host Controller<br />
S: SerialNumber=0000:00:10.0<br />
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA<br />
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub<br />
E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms}}<br />
<br />
The {{ic|Ivl}} of the hub is independent of the device and does not affect the polling rate of the device.<br />
<br />
== Set polling interval ==<br />
<br />
To configure the polling rate, use the {{ic|mousepoll}} option of the {{ic|usbhid}} [[kernel module]]. The default value is 0 which means the module uses the interval requested by the device(s).<br />
<br />
The current value of the option can be verified with:<br />
<br />
{{hc|$ systool -m usbhid -A mousepoll|2=Module = "usbhid"<br />
mousepoll = "0"}}<br />
<br />
To change the configuration, create the following file:<br />
<br />
{{hc|/etc/modprobe.d/usbhid.conf|2=options usbhid mousepoll=4}}<br />
<br />
This example requests a polling rate of 250Hz. Similarly, you may use jspoll or kbpoll to change the polling rate of gamepads/joysticks or keyboards.<br />
<br />
To change the polling interval without rebooting <br />
<br />
# modprobe -r usbhid && modprobe usbhid<br />
<br />
{{Warning|If the second command fails, you will be unable to use any USB mouse or keyboard and may have to reboot or ssh into your machine.}}<br />
<br />
You may have to unplug the mouse and plug it back in for the change to take effect.<br />
<br />
{{Note|1=If the usbhid module is included on your initramfs image, you may need to add {{ic|/etc/modprobe.d/usbhid.conf}} to the image also. See the note at [[Kernel modules#Using files in /etc/modprobe.d/]]. Alternatively, you can add {{ic|1=usbhid.mousepoll=X}} to your kernel command line. See [[Kernel modules#Using kernel command line]].}}<br />
<br />
{{Tip|When using a smaller than default interval, you may want to adjust the [[Mouse acceleration]] option [https://xorg.freedesktop.org/wiki/Development/Documentation/PointerAcceleration/#VelocityScale VelocityScale] to match.}}<br />
<br />
== Known issues ==<br />
<br />
=== Polling at half of requested rate ===<br />
<br />
There is a kernel bug that for certain configurations prevents devices from reaching 1000hz (1ms) polling rate. See the [https://bbs.archlinux.org/viewtopic.php?pid=1528109 BBS] and [https://bugzilla.kernel.org/show_bug.cgi?id=60586 Bug].<br />
<br />
A work-around that may help is to connect the device to a port using a different driver.<br />
<br />
=== Polling rate not changing ===<br />
<br />
The USB 3 driver {{ic|xhci-hcd}} may be ignoring the {{ic|usbhid}} {{ic|mousepoll}} setting. See the [https://lore.kernel.org/all/20131001174443.GC7818@xanatos/ linux-usb mailing list message] and [https://bugzilla.kernel.org/show_bug.cgi?id=82571 Bug].<br />
<br />
The {{ic|xhci-hcd}} module should respect the interval requested by the device, so check the documentation for the device for a hardware or firmware setting.<br />
<br />
A work-around that may help is to connect the device to a port using a different driver.<br />
<br />
Another work-around is to disable [[Wikipedia:Extensible_Host_Controller_Interface|xHCI]]. There might be a BIOS setting for this or you can do so by [[blacklisting]] the {{ic|xhci-hcd}} module. '''However''', either way will cause any USB 3 ports to act as USB 2 as the kernel will use the {{ic|ehci-hcd}} module instead.<br />
<br />
As an alternative, one can install a kernel module {{AUR|wmo_oc-dkms}} (or build it manually from [https://github.com/YeaSeb/wmo-oc-kmod wmo_oc-kmod]), which is a fork of gcadapter-oc-kmod for wmo1.1a (MS Wheel Mouse Optical 1.1a). The {{ic|wmo_oc-dkms}} identifies a mouse with its vendor and product ID (VID:PID) values to overclock it even with XHCI hubs, without loosing USB 3 functionality. Changing the polling rate of any USB mouse other than the default wmo1.1a requires modifying the default VID:PID values (045e:0040) found in the module's source file {{ic|wmo_oc.c}} in {{ic|/usr/src/''module_name''/}} and finally rebuilding (removing and installing) the kernel module using DKMS.<br />
<br />
{{Tip|To see which {{ic|hcd}} drivers are in use, see the {{ic|S: Manufacturer}} line for hub devices in {{ic|/sys/kernel/debug/usb/devices}}.}}<br />
<br />
=== Polling rate resulting in lag with wine ===<br />
<br />
Having a mouse with a high poll rate and using wine can result in game lag; see [https://bugs.winehq.org/show_bug.cgi?id=46976 here]. It would seem that the user who created that bug had the problem solved by updating the bios. The bug, however, is not resolved for other users. <br />
<br />
It is not possible to change the polling rate of the mouse using the methods within this wiki (the "usbhid" method) if your computer only has a USB3 xHCI Controller.<br />
<br />
Unfortunately, there is currently no fix for users with a combination of a mouse with a high polling rate and only a USB3 xHCI Controller.<br />
<br />
A workaround is to use a mouse with a lower polling rate.<br />
<br />
== See also ==<br />
<br />
*[https://www.overclock.net/forum/375-mice/173255-cs-s-mouse-optimization-guide.html CS:S Mouse Optimization Guide] — largely aimed at Windows users, though the same principles apply for Linux.</div>J!PRAhttps://wiki.archlinux.org/index.php?title=VMware&diff=636112VMware2020-09-21T17:03:05Z<p>J!PRA: /* Kernel modules */ Updated to cover the latest VMware major version</p>
<hr />
<div>[[Category:Hypervisors]]<br />
[[it:VMware]]<br />
[[ja:VMware]]<br />
[[zh-hans:VMware]]<br />
{{Related articles start}}<br />
{{Related|:Category:Hypervisors}}<br />
{{Related|VMware/Installing Arch as a guest}}<br />
{{Related|Moving an existing install into (or out of) a virtual machine}}<br />
{{Related articles end}}<br />
<br />
This article is about the latest major [[Wikipedia:VMware|VMware]] versions, meaning [[Wikipedia:VMware Workstation|VMware Workstation]] Pro and Player 16, 15, 14 and 12.5. <br />
<br />
You may also be interested in [[VMware/Installing Arch as a guest]]. For older versions, use the {{AUR|vmware-patch}} package.<br />
<br />
== Installation ==<br />
<br />
You can either install using VMware bundle or package {{aur|vmware-workstation}}. The latter is preferred if using ''VMware Workstation'' on x86_64.<br />
<br />
{{Note|<br />
* VMware has dropped support for a number of CPUs including early Intel Core i7 CPUs since version 14. Check the [https://docs.vmware.com/en/VMware-Workstation-Pro/14.0/com.vmware.ws.using.doc/GUID-BBD199AA-C346-4334-9F56-5A42F7328594.html Processor Requirements for Host Systems]. If your CPU is not supported in the newer releases then you can use {{aur|vmware-workstation12}}.<br />
* VMware 15 or older cannot function on a host running Linux v5.8. Please use VMware 16 if you are planning on running on a host with kernel newer than 5.8. <br />
}}<br />
<br />
=== VMware bundle ===<br />
<br />
[[Install]] the correct dependencies:<br />
<br />
* {{pkg|fuse2}} - for ''vmware-vmblock-fuse''<br />
* {{pkg|gtkmm}} - for the GUI<br />
* {{pkg|linux-headers}} - for module compilation<br />
* {{pkg|ncurses}} ({{AUR|ncurses5-compat-libs}} for older versions of vmware) - needed by the {{ic|--console}} installer<br />
* {{pkg|libcanberra}} - for event sounds<br />
* {{pkg|pcsclite}} <br />
<br />
Download the latest [https://www.vmware.com/go/tryworkstation VMware Workstation Pro] or [https://www.vmware.com/go/downloadplayer Player] (or a [https://communities.vmware.com/community/vmtn/beta beta] version, if available).<br />
<br />
Start the installation:<br />
<br />
# sh VMware-''edition''-''version''.''release''.''architecture''.bundle<br />
<br />
{{Tip|Some useful flags:<br />
<br />
* {{ic|--eulas-agreed}} - Skip the EULAs<br />
* {{ic|--console}} - Use the console UI.<br />
* {{ic|--custom}} - Allows changing the install directory to e.g. {{ic|/usr/local}} (make sure to update the {{ic|vmware-usbarbitrator.service}} paths in [[#systemd services]]).<br />
* {{ic|-I}}, {{ic|--ignore-errors}} - Ignore fatal errors.<br />
* {{ic|1=--set-setting=vmware-workstation serialNumber XXXXX-XXXXX-XXXXX-XXXXX-XXXXX}} - Set the serial number during install (good for scripted installs).<br />
* {{ic|--required}} - Only ask mandatory questions (results in silent install when combined with {{ic|--eulas-agreed}} and {{ic|--console}}).<br />
<br />
}}<br />
<br />
For the {{ic|System service scripts directory}}, use {{ic|/etc/init.d}} (the default).<br />
<br />
{{Note|During the installation you will get an error about {{ic|"No rc*.d style init script directories"}} being given. This can be safely ignored, since Arch uses [[systemd]].}}<br />
<br />
{{Tip|To (re)build the modules from terminal later on, use:<br />
<br />
# vmware-modconfig --console --install-all<br />
<br />
}}<br />
<br />
=== Package build for x86_64 ===<br />
<br />
Install {{aur|vmware-workstation}}, {{aur|vmware-workstation15}}, {{aur|vmware-workstation14}}, {{aur|vmware-workstation12}} or {{aur|vmware-workstation11}} for respectively versions 16, 15, 14, 12 and 11 of ''VMware Workstation''. It is also necessary to install the appropriate headers package(s) for your installed kernel(s): for example {{Pkg|linux-headers}} or {{Pkg|linux-lts-headers}}.<br />
<br />
Then, as desired, enable some of the following services:<br />
<br />
* {{ic|vmware-networks.service}} for guest network access<br />
* {{ic|vmware-usbarbitrator.service}} for connecting USB devices to guest<br />
* {{ic|vmware-hostd.service}} for sharing virtual machines<br />
<br />
Lastly, load the VMware modules:<br />
<br />
# modprobe -a vmw_vmci vmmon<br />
<br />
== Configuration ==<br />
<br />
=== Kernel modules ===<br />
<br />
VMware Workstation 16.0 supports kernel 5.8 out of the box. The older versions presented in this article and their natively supported kernels are as follows: 15.5 (kernels up to 5.4), 14.1.7 (4.18) and 12.5.9 (4.12).<br />
<br />
For VMware bundle versions, a collection of patches needed for the VMware host modules to build against recent kernels can be found from the following GitHub repository, [https://github.com/mkubecek/vmware-host-modules/ vmware-host-modules]. See the INSTALL document found on the repository for the most up-to-date module installation instructions for VMware Workstation versions from 12.5.5 and up.<br />
<br />
Alternatively, the modules can be patched installing the {{AUR|vmware-patch}} package and executing:<br />
<br />
# vmware-patch -f<br />
<br />
=== systemd services ===<br />
<br />
''(Optional)'' Instead of using {{ic|/etc/init.d/vmware}} ({{ic|<nowiki>start|stop|status|restart</nowiki>}}) and {{ic|/usr/bin/vmware-usbarbitrator}} directly to manage the services, you may also use {{ic|.service}} files (also available in the {{AUR|vmware-systemd-services}} package, and also included in {{AUR|vmware-patch}} and {{AUR|vmware-workstation}} with a few differences):<br />
<br />
{{hc|/etc/systemd/system/vmware.service|2=<br />
[Unit]<br />
Description=VMware daemon<br />
Requires=vmware-usbarbitrator.service<br />
Before=vmware-usbarbitrator.service<br />
After=network.target<br />
<br />
[Service]<br />
ExecStart=/etc/init.d/vmware start<br />
ExecStop=/etc/init.d/vmware stop<br />
PIDFile=/var/lock/subsys/vmware<br />
RemainAfterExit=yes<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
}}<br />
<br />
{{hc|/etc/systemd/system/vmware-usbarbitrator.service|2=<br />
[Unit]<br />
Description=VMware USB Arbitrator<br />
Requires=vmware.service<br />
After=vmware.service<br />
<br />
[Service]<br />
ExecStart=/usr/bin/vmware-usbarbitrator<br />
ExecStop=/usr/bin/vmware-usbarbitrator --kill<br />
RemainAfterExit=yes<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
}}<br />
<br />
Add this service to enable networking:<br />
<br />
{{hc|/etc/systemd/system/vmware-networks-server.service|2=<br />
[Unit]<br />
Description=VMware Networks<br />
Wants=vmware-networks-configuration.service<br />
After=vmware-networks-configuration.service<br />
<br />
[Service]<br />
Type=forking<br />
ExecStartPre=-/sbin/modprobe vmnet<br />
ExecStart=/usr/bin/vmware-networks --start<br />
ExecStop=/usr/bin/vmware-networks --stop<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
}}<br />
<br />
Add this service as well, if you want to connect to your VMware Workstation installation from another Workstation Server Console:<br />
<br />
{{hc|/etc/systemd/system/vmware-workstation-server.service|2=<br />
[Unit]<br />
Description=VMware Workstation Server<br />
Requires=vmware.service<br />
After=vmware.service<br />
<br />
[Service]<br />
ExecStart=/etc/init.d/vmware-workstation-server start<br />
ExecStop=/etc/init.d/vmware-workstation-server stop<br />
PIDFile=/var/lock/subsys/vmware-workstation-server<br />
RemainAfterExit=yes<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
}}<br />
<br />
After which you can [[enable]] them on boot.<br />
<br />
==== Workstation Server service ====<br />
<br />
The {{ic|vmware-workstation-server.service}} calls {{ic|wssc-adminTool}} in its command chain, despite having been renamed to {{ic|vmware-wssc-adminTool}}.<br />
<br />
To prevent the service startup, this can be fixed with a symlink:<br />
<br />
# ln -s wssc-adminTool /usr/lib/vmware/bin/vmware-wssc-adminTool<br />
<br />
== Launching the application ==<br />
<br />
To open VMware Workstation Pro:<br />
<br />
$ vmware<br />
<br />
or Player:<br />
<br />
$ vmplayer<br />
<br />
== Tips and tricks ==<br />
<br />
=== Entering the Workstation Pro license key ===<br />
<br />
==== From terminal ====<br />
<br />
# /usr/lib/vmware/bin/vmware-vmx-debug --new-sn XXXXX-XXXXX-XXXXX-XXXXX-XXXXX<br />
<br />
Where {{ic|XXXXX-XXXXX-XXXXX-XXXXX-XXXXX}} is your license key.<br />
<br />
{{Note|The {{ic|-debug}} binary informs the user of an incorrect license.}}<br />
<br />
==== From GUI ====<br />
<br />
If the above does not work, you can try:<br />
<br />
# /usr/lib/vmware/bin/vmware-enter-serial<br />
<br />
=== Extracting the VMware BIOS ===<br />
<br />
$ objcopy /usr/lib/vmware/bin/vmware-vmx -O binary -j bios440 --set-section-flags bios440=a bios440.rom.Z<br />
$ perl -e 'use Compress::Zlib; my $v; read STDIN, $v, '$(stat -c%s "./bios440.rom.Z")'; $v = uncompress($v); print $v;' < bios440.rom.Z > bios440.rom<br />
<br />
=== Extracting the installer ===<br />
<br />
To view the contents of the installer {{ic|.bundle}}:<br />
<br />
$ sh VMware-''edition''-''version''.''release''.''architecture''.bundle --extract ''/tmp/vmware-bundle/''<br />
<br />
==== Using the modified BIOS ====<br />
<br />
If and when you decide to modify the extracted BIOS you can make your virtual machine use it by moving it to {{ic|~/vmware/''Virtual_machine_name''}}:<br />
<br />
$ mv bios440.rom ~/vmware/''Virtual_machine_name''/<br />
<br />
then adding the name to the {{ic|''Virtual_machine_name''.vmx}} file:<br />
<br />
{{hc|~/vmware/''Virtual_machine_name''/''Virtual_machine_name''.vmx|2=<br />
bios440.filename = "bios440.rom"<br />
}}<br />
<br />
=== Enable 3D graphics on Intel and Optimus ===<br />
<br />
Some graphics drivers are blacklisted by default, due to poor and/or unstable 3D acceleration. After enabling ''Accelerate 3D graphics'', the log may show something like:<br />
<br />
Disabling 3D on this host due to presence of Mesa DRI driver. Set mks.gl.allowBlacklistedDrivers = TRUE to override.<br />
<br />
The config file where you can set this setting is {{ic|~/.vmware/preferences}}.<br />
<br />
{{Note|You might need to add the {{ic|1=mks.gl.allowBlacklistedDrivers = "TRUE"}} inside the {{ic|.vmx}} file for the specific virtual machine as well, for 3D acceleration with {{ic|intel}} drivers to be enabled.}}<br />
<br />
=== Suspend virtual machines before host suspend/hibernate ===<br />
<br />
{{Style|Rewrite it in [[bash]].}}<br />
<br />
Install ruby and create an executable file {{ic|/usr/lib/systemd/system-sleep/vmware_suspend_all.rb}}:<br />
<br />
{{bc|<nowiki><br />
#!/usr/bin/ruby<br />
<br />
if ARGV.length != 2<br />
raise "ARGV.length should be 2"<br />
end<br />
<br />
period = ARGV[0]<br />
action = ARGV[1]<br />
<br />
print "vmware system-sleep hook argv: #{period} #{action}\n"<br />
<br />
VMRUN='/usr/bin/vmrun'<br />
<br />
if not File.file?(VMRUN)<br />
raise "vmrun #{VMRUN} not found"<br />
end<br />
<br />
if period == "pre"<br />
vms = []<br />
open("|#{VMRUN} list") do |p| vms = p.readlines.map {|l| l.chomp } end<br />
vms.shift<br />
<br />
print "running vm count: #{vms.length}\n"<br />
<br />
vms.each do |vmxfile|<br />
print "Suspending #{vmxfile}\n"<br />
system("#{VMRUN} suspend #{vmxfile}")<br />
print "Suspended #{vmxfile}\n"<br />
end<br />
sleep 1<br />
else<br />
print "Nothing to do\n"<br />
end<br />
</nowiki>}}<br />
<br />
See also [[Power_management#Hooks_in_/usr/lib/systemd/system-sleep]], [https://superuser.com/questions/119313/vmware-workstation-suspend-all-virtual-machines-with-vmrun suspend all virtual machines with vmrun] and [https://communities.vmware.com/thread/439380 Support for hibernation].<br />
<br />
=== System speedup tricks ===<br />
<br />
See also [[Improving performance]].<br />
<br />
==== Disable transparent hugepages ====<br />
<br />
{{Merge|Improving performance|Not specific to VMware.}}<br />
<br />
If you notice the guest and/or the host frequently freezing when running a VM, you may want to disable transparent hugepages. To disable them for the current session, run (on the host):<br />
<br />
# echo never > /sys/kernel/mm/transparent_hugepage/enabled<br />
<br />
To make the change persistent across boots, add the [[kernel parameter]] {{ic|1=transparent_hugepage=never}}.<br />
<br />
==== Ensure direct RAM access ====<br />
<br />
By default, VMware writes a running guest system's RAM to a file on disk. If you are certain you have enough spare memory, you can ensure the guest OS writes its memory directly to the host's RAM by adding the following to the VM's {{ic|.vmx}}:<br />
<br />
{{hc|''Virtual_machine_name''.vmx|2=<br />
MemTrimRate = "0"<br />
sched.mem.pshare.enable = "FALSE"<br />
prefvmx.useRecommendedLockedMemSize = "TRUE"<br />
mainmem.backing = "swap"<br />
}}<br />
<br />
=== Performance tips ===<br />
<br />
To improve the performance of your virtual machine, try the following tips:<br />
<br />
==== Paravirtual SCSI adapter ====<br />
<br />
[http://kb.vmware.com/kb/1010398 VMware Paravirtual SCSI (PVSCSI) adapters] are high-performance storage adapters for VMware ESXi that can result in greater throughput and lower CPU utilization. PVSCSI adapters are best suited for environments, where hardware or applications drive a very high amount of I/O throughput.<br />
<br />
The SCSI adapter type {{ic|VMware Paravirtual}} is available in the Virtual Machine settings.<br />
<br />
If these settings are not in the virtual machine's configuration, the paravirtual SCSI adapter can still be enabled. Ensure that the paravirtual SCSI adapter is included in the kernel image by modifying the {{ic|mkinitcpio.conf}}:<br />
<br />
{{hc|/etc/mkinitcpio.conf|output=<br />
...<br />
MODULES=(... vmw_pvscsi)<br />
...<br />
}}<br />
<br />
[[Regenerate the initramfs]].<br />
<br />
Shut down the virtual machine and change the SCSI adapter: set the {{ic|.vmx}} to the following:<br />
<br />
scsi0.virtualDev = "pvscsi"<br />
<br />
==== Paravirtual network adapter ====<br />
<br />
VMware offers [http://kb.vmware.com/kb/1001805 multiple network adapters] for the guest OS. The default adapter used is usually the {{ic|e1000}} adapter, which emulates an Intel 82545EM Gigabit Ethernet NIC. This Intel adapter is generally compatible with the built-in drivers across most operating systems, including Arch.<br />
<br />
For [http://rickardnobel.se/vmxnet3-vs-e1000e-and-e1000-part-1/ more performance and additional features] (such as multiqueue support), the VMware native {{ic|vmxnet3}} network adapter can be used.<br />
<br />
Arch has the {{ic|vmxnet3}} kernel module available with a default install. Once enabled in [[mkinitcpio]] (or if it is auto-detected; check by running {{ic|lsmod {{!}} grep vmxnet3}} to see if it is loaded), shut down and change the network adapter type in the ''.vmx'' file to the following:<br />
<br />
ethernet0.virtualDev = "vmxnet3"<br />
<br />
After changing network adapters, the network and [[dhcpcd]] settings will need to be updated to use the new adapter name and MAC address.<br />
<br />
# dhcpcd ''new_interface_name''<br />
# systemctl enable dhcpcd@''new_interface_name''.service<br />
<br />
The new interface name can be obtained by running {{ic|ip link}}.<br />
<br />
==== Virtual machine settings ====<br />
<br />
These settings could help improve the responsiveness of the virtual machine by reducing disk I/O, at the expense of using more host memory. [http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1008885 Vmware's KB1008885] provides the following optimizations:<br />
<br />
mainMem.useNamedFile = "FALSE"<br />
MemTrimRate = "0"<br />
prefvmx.useRecommendedLockedMemSize = "TRUE"<br />
MemAllowAutoScaleDown = "FALSE"<br />
sched.mem.pshare.enable = "FALSE"<br />
<br />
* '''mainMem.useNamedFile''': This will only work for Windows hosts and this parameter can be used if high disk activity is experienced upon shutting down the virtual machine. This will prevent VMware from creating a ''.vmem'' file. Use ''mainmem.backing = "swap"'' on Linux hosts instead.<br />
* '''MemTrimRate''': This setting prevents that memory which was released by the guest is released on the host also.<br />
* '''prefvmx.useRecommendedLockedMemSize''': Unfortunately there does not seem to exist a proper explanation for this setting; it seems to prevent the host system from swapping parts of the guest memory.<br />
* '''MemAllowAutoScaleDown''': Prevents VMware from adjusting the memory size of the virtual machine if it cannot allocate enough memory.<br />
* '''sched.mem.pshare.enable''': If several virtual machines are running simultaneously, VMware will try to locate identical pages and share these between the virtual machines. This can be very I/O intensive.<br />
<br />
The following settings can also be set in the configuration dialog of VMware Workstation(''Edit -> Preferences... -> Memory/Priority'').<br />
<br />
prefvmx.minVmMemPct = "100"<br />
mainMem.partialLazySave = "FALSE"<br />
mainMem.partialLazyRestore = "FALSE"<br />
<br />
* '''prefvmx.minVmMemPct''': Sets amount of RAM in percent which should be reserved by the virtual machine on the host system. If this is set to a lower value it is possible to assign the virtual machine more memory than is available in the host system. Be careful though, as in this case it will most likely lead to excessive hard drive usage. If enough RAM is on the host system, this value should be left at 100.<br />
* '''mainMem.partialLazySave''' and '''mainMem.partialLazyRestore''': These two parameters will prevent the virtual machine from creating partial snapshots for suspends. When these parameters are used, virtual machine suspension will take slightly longer, but there should be less hard disk activity from VMware trying to store this information.<br />
<br />
== Troubleshooting ==<br />
<br />
=== Kernel headers for version 4.x-xxxx were not found. If you installed them[...] ===<br />
<br />
Install the headers ({{Pkg|linux-headers}}).<br />
<br />
{{Note|Upgrading the kernel and the headers will require you to boot to the new kernel to match the version of the headers. This is a relatively common error.}}<br />
<br />
=== USB devices not recognized ===<br />
<br />
{{Tip|Also handled by {{AUR|vmware-patch}}.}}<br />
<br />
If not using the [[#systemd services|systemd service]] to automatically handle the services, you need to manually start the {{ic|vmware-usbarbitrator}} binary as root each time.<br />
<br />
To start:<br />
<br />
# vmware-usbarbitrator<br />
<br />
To stop:<br />
<br />
# vmware-usbarbitrator --kill<br />
<br />
=== Incorrect login/password when trying to access VMware remotely ===<br />
<br />
VMware Workstation provides the possibility to remotely manage Shared VMs through the {{ic|vmware-workstation-server}} service. However, this will fail with the error {{ic|"incorrect username/password"}} due to incorrect [[PAM]] configuration of the {{ic|vmware-authd}} service. To fix it, edit {{ic|/etc/pam.d/vmware-authd}} like this:<br />
<br />
{{hc|/etc/pam.d/vmware-authd|<br />
#%PAM-1.0<br />
auth ''required pam_unix.so''<br />
account ''required pam_unix.so''<br />
password ''required pam_permit.so''<br />
session ''required pam_unix.so''<br />
}}<br />
<br />
and restart the {{ic|vmware}} [[systemd]] service.<br />
<br />
Now you can connect to the server with the credentials provided during the installation.<br />
<br />
{{Note|{{Pkg|libxslt}} may be required for starting virtual machines.}}<br />
<br />
=== Issues with ALSA output ===<br />
<br />
[http://bankimbhavsar.blogspot.co.nz/2011/09/hd-audio-in-vmware-fusion-4-and-vmware.html To fix] sound quality issues or enabling proper HD audio output, first run:<br />
<br />
$ aplay -L<br />
<br />
If interested in playing 5.1 ''surround sound'' from the guest, look for {{ic|1=surround51:CARD=''vendor_name'',DEV=''num''}}, if experiencing quality issues, look for {{ic|1=front:CARD=''vendor_name'',DEV=''num''}}. Finally put the name in the {{ic|.vmx}}:<br />
<br />
{{hc|~/vmware/''Virtual_machine_name''/''Virtual_machine_name''.vmx|2=<br />
sound.fileName=''"surround51:CARD=Live,DEV=0"''<br />
sound.autodetect=''"FALSE"''<br />
}}<br />
<br />
[[Advanced_Linux_Sound_Architecture#OSS_compatibility|OSS emulation]] should also be disabled.<br />
<br />
=== Kernel-based Virtual Machine (KVM) is running ===<br />
<br />
To disable {{ic|KVM}} on boot, you can use something like:<br />
<br />
{{hc|/etc/modprobe.d/vmware.conf|<br />
blacklist kvm<br />
blacklist kvm-amd # For AMD CPUs<br />
blacklist kvm-intel # For Intel CPUs<br />
}}<br />
<br />
{{Tip|If {{ic|kvm}} modules continue to load, despite being blacklisted, and you are running a system with integrated Intel graphics (i915,i965), it may be necessary to blacklist the {{ic|kvmgt}} kernel module directly from the kernel command line options. See [[Kernel module#Using kernel command line_2]] for more details.}}<br />
<br />
=== Module Issues ===<br />
<br />
==== /dev/vmmon not found ====<br />
<br />
The full error is:<br />
<br />
Could not open /dev/vmmon: No such file or directory.<br />
Please make sure that the kernel module 'vmmon' is loaded.<br />
<br />
This means that at least the {{ic|vmmon}} module is not loaded. See the [[#systemd services]] section for automatic loading.<br />
<br />
==== /dev/vmci not found ====<br />
<br />
The full error is:<br />
<br />
Failed to open device "/dev/vmci": No such file or directory<br />
Please make sure that the kernel module 'vmci' is loaded.<br />
<br />
Try to recompile VMware kernel modules with:<br />
<br />
# vmware-modconfig --console --install-all<br />
<br />
=== Installer Fails to Start ===<br />
<br />
If you just get back to the prompt when opening the {{ic|.bundle}}, then you probably have a deprecated or broken version of the VMware installer and it should removed (you may also refer to the [[#Uninstallation|uninstallation]] section of this article):<br />
<br />
# rm -r /etc/vmware-installer/<br />
<br />
==== User interface initialization failed ====<br />
<br />
You may also see an error like this:<br />
<br />
Extracting VMware Installer...done.<br />
No protocol specified<br />
No protocol specified<br />
User interface initialization failed. Exiting. Check the log for details.<br />
<br />
This can be fixed by either installing the {{AUR|ncurses5-compat-libs}} dependency or temporarily allowing root access to X:<br />
<br />
$ xhost +<br />
$ sudo ./<vmware filename>.bundle<br />
$ xhost -<br />
<br />
=== VMware Fails to Start ===<br />
<br />
==== Module CPUIDEarly power on failed ====<br />
<br />
Version 14 has stricter CPU requirements than version 12. If you try to start a virtual machine with an affected CPU, the following message will appear:<br />
<br />
This host does not support virtualizing real mode.<br />
The Intel "VMX Unrestricted Guest" feature is necessary to run this virtual machine on an Intel processor.<br />
<br />
The solution is to uninstall version 14 and install version 12 ({{aur|vmware-workstation12}}).<br />
<br />
When VMware was usable and this error suddenly appears it could be due to a warm/soft boot or after suspending the system. Please try a cold boot (shutting the system down and starting it again).<br />
<br />
==== Segmentation fault at startup due to old Intel microcode ====<br />
<br />
Old Intel microcode may result in the following kind of segmentation fault at startup:<br />
<br />
/usr/bin/vmware: line 31: 4941 Segmentation fault "$BINDIR"/vmware-modconfig --appname="VMware Workstation" --icon="vmware-workstation"<br />
<br />
See [[Microcode]] for how to update the microcode.<br />
<br />
==== vmplayer/vmware version 14 fails to start ====<br />
<br />
On systems with {{ic|librsvg}} version 2:2.44.0 and above, the log files (located in {{ic|/tmp/vmware-<id>}}) show several instances of the following error:<br />
<br />
appLoader| I125+ undefined symbol<br />
<br />
A workaround is to downgrade {{ic|librsvg}} to earlier version, or more preferably, force VMware to use its own shipped version of {{ic|librsvg}}:<br />
<br />
# export LD_LIBRARY_PATH=/lib/vmware/lib/librsvg-2.so.2:$LD_LIBRARY_PATH<br />
<br />
VMware also has a {{ic|VMWARE_USE_SHIPPED_LIBS}} variable:<br />
<br />
$ env VMWARE_USE_SHIPPED_LIBS=1 vmware<br />
<br />
==== vmplayer/vmware fails to start from version 12.5.4 ====<br />
<br />
As per [https://bbs.archlinux.org/viewtopic.php?id=224667] the temporary workaround is to downgrade the package {{ic|libpng}} to version 1.6.28-1 and keep it in the {{ic|IgnorePkg}} parameter in [[Pacman#Skip_package_from_being_upgraded|/etc/pacman.conf]].<br />
<br />
An easier workaround is to make VMWare use the system's version of zlib instead of its own one:<br />
<br />
# cd /usr/lib/vmware/lib/libz.so.1<br />
# mv libz.so.1 libz.so.1.old<br />
# ln -s /usr/lib/libz.so.1 .<br />
<br />
==== vmplayer/vmware fails to start from version 12.5.3 to version 12.5.5 ====<br />
<br />
It seems to be a problem with the file {{ic|/usr/lib/vmware/lib/libstdc++.so.6/libstdc++.so.6}}, missing {{ic|CXXABI_1.3.8}}.<br />
<br />
If the system have installed {{pkg|gcc-libs}}, that library is already installed. Therefore, it is possible to remove that file and vmplayer will use the one provided by gcc-libs instead. As root do:<br />
<br />
# mv /usr/lib/vmware/lib/libstdc++.so.6/libstdc++.so.6 /usr/lib/vmware/lib/libstdc++.so.6/libstdc++.so.6.bak<br />
<br />
Also there is a workaround: <br />
<br />
# export VMWARE_USE_SHIPPED_LIBS='yes'<br />
<br />
==== vmware 12 process terminates immediately after start, no GUI is launched ====<br />
<br />
Registered bug at [https://bugs.mageia.org/show_bug.cgi?id=9739 Mageia], but it seems that there are no error messages shown in terminal with arch. When inspecting the logs, which are in {{ic|/tmp/vmware-<id>}}, there are {{ic|VMWARE_SHIPPED_LIBS_LIST is not set}}, {{ic|VMWARE_SYSTEM_LIBS_LIST is not set}}, {{ic|VMWARE_USE_SHIPPED_LIBS is not set}}, {{ic|VMWARE_USE_SYSTEM_LIBS is not set}} issues. Process simply terminates with {{ic|Unable to execute /usr/lib/vmware/bin/vmware-modconfig.}} after vmware or vmplayer is executed. Solution is the same, as root do:<br />
<br />
# mv /etc/vmware/icu/icudt44l.dat /etc/vmware/icu/icudt44l.dat.bak<br />
<br />
Also there is a workaround: <br />
<br />
# export VMWARE_USE_SHIPPED_LIBS='yes'<br />
<br />
Despite setting the VMWARE_USE_SHIPPED_LIBS variable, VMWare may still fail to find certain libraries. An example is the libfontconfig.so.1 library. Check vmware logs in the tmp directory to see which libraries are still not found. Copy them to the appropriate path with libraries existing on the system:<br />
<br />
# cp /usr/lib/libfontconfig.so.1 /usr/lib/vmware/lib/libfontconfig.so.1/<br />
<br />
Instead of copying all these files manually, you may want to try exporting an additional setting:<br />
<br />
# export VMWARE_USE_SYSTEM_LIBS='yes'<br />
<br />
On systems with fontconfig version '''2.13.0''' and above, it may be needed to force VMware to use the shipped libfontconfig file instead of the newer system file. In such case, it is also necessary to provide a shared object library file {{ic|libexpat.so.0}} for the shipped fontconfig. This applies for at least VMware version '''12.5.9'''. As root do:<br />
<br />
# ln -s /usr/lib/libexpat.so /usr/lib/vmware/lib/libfontconfig.so.1/libexpat.so.0<br />
# export LD_LIBRARY_PATH=/usr/lib/vmware/lib/libfontconfig.so.1:$LD_LIBRARY_PATH<br />
<br />
=== Guest Issues ===<br />
<br />
==== Unable to download VMware Tools for Guests ====<br />
<br />
To download the tools manually, visit the [http://softwareupdate.vmware.com/cds/vmw-desktop/ VMware repository].<br />
<br />
Navigate to: "''application name'' / ''version'' / ''build ID'' / linux / packages/" and download the appropriate Tools.<br />
<br />
Extract with:<br />
<br />
$ tar -xvf vmware-tools-''name''-''version''-''buildID''.x86_64.component.tar<br />
<br />
And install using the VMware installer:<br />
<br />
# vmware-installer --install-component=''/path/''vmware-tools-''name''-''version''-''buildID''.x86_64.component<br />
<br />
If the above does not work, try installing {{AUR|ncurses5-compat-libs}}.<br />
<br />
==== Guests have incorrect system clocks or are unable to boot: "[...]timeTracker_user.c:234 bugNr=148722" ====<br />
<br />
This is due to [http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&externalId=1591 incomplete] support of power management features ([[Wikipedia:Intel speedstep|Intel SpeedStep]] and [[Wikipedia:AMD powernow|AMD PowerNow!]]/[[Wikipedia:Cool'n'Quiet|Cool'n'Quiet]]) in VMware Linux that vary the CPU frequency. In March 2012, with the release of [https://github.com/archlinux/svntogit-packages/commit/9abe018d91a5d8c3af7523d30b8aa73f86b680be/trunk/config.x86_64 linux 3.3-1] the maximum frequency [[CPU frequency governors|Performance]] governor was replaced with the dynamic ''Ondemand''. When the host CPU frequency changes, the Guest system clock runs too quickly or too slowly, but may also render the whole Guest unbootable.<br />
<br />
To prevent this, the maximum host CPU frequency can be specified, and [[Wikipedia:Time Stamp Counter|Time Stamp Counter]] (TSC) disabled, in the global configuration:<br />
<br />
{{hc|/etc/vmware/config|2=<br />
host.cpukHz = "X" # The maximum speed in KHz, e.g. 3GHz is "3000000".<br />
host.noTSC = "TRUE" # Keep the Guest system clock accurate even when<br />
ptsc.noTSC = "TRUE" # the time stamp counter (TSC) is slow.<br />
}}<br />
<br />
{{Tip|To periodically correct the time (once per minute), in the ''Options'' tab of VMware Tools, enable: ''"Time synchronization between the virtual machine and the host operating system"''.}}<br />
<br />
==== Networking on Guests not available after system restart ====<br />
<br />
This is likely due to the {{ic|vmnet}} module not being loaded [http://www.linuxquestions.org/questions/slackware-14/could-not-connect-ethernet0-to-virtual-network-dev-vmnet8-796095/]. See also the [[#systemd services]] section for automatic loading.<br />
<br />
==== Strange mouse wheel behavior on Guest ====<br />
<br />
This is related to the current Xorg keyboard layout on Host system. Keep primary layout (e.g., English) selected on Host while working on Guest.<br />
<br />
== Uninstallation ==<br />
<br />
To uninstall VMware you need the product name (either {{ic|vmware-workstation}} or {{ic|vmware-player}}). To list all the installed products:<br />
<br />
$ vmware-installer -l<br />
<br />
and uninstall with ({{ic|--required}}&nbsp;skips the confirmation):<br />
<br />
# vmware-installer -u ''product'' --required<br />
<br />
{{Tip|Use {{ic|--console}} for the console UI.}}<br />
<br />
Remember to also [[disable]] and remove the services:<br />
<br />
# rm /etc/systemd/system/vmware.service<br />
# rm /etc/systemd/system/vmware-usbarbitrator.service<br />
<br />
You may also want to have a look at the module directories in {{ic|/usr/lib/modules/''kernel_name''/misc/}} for any leftovers, and remove {{ic|/etc/init.d/}} if now empty.</div>J!PRAhttps://wiki.archlinux.org/index.php?title=VMware&diff=585661VMware2019-10-12T17:57:45Z<p>J!PRA: /* vmware 12 process terminates immediately after start, no GUI is launched */ Updated troubleshooting step for VMware version 12.5.9</p>
<hr />
<div>[[Category:Hypervisors]]<br />
[[it:VMware]]<br />
[[ja:VMware]]<br />
[[ru:VMware]]<br />
[[zh-hans:VMware]]<br />
{{Related articles start}}<br />
{{Related|:Category:Hypervisors}}<br />
{{Related|VMware/Installing Arch as a guest}}<br />
{{Related|Moving an existing install into (or out of) a virtual machine}}<br />
{{Related articles end}}<br />
<br />
This article is about the latest major [[Wikipedia:VMware|VMware]] versions, meaning [[Wikipedia:VMware Workstation|VMware Workstation]] Pro and Player 15, 14 and 12.5. <br />
<br />
You may also be interested in [[VMware/Installing Arch as a guest]]. For older versions, use the {{AUR|vmware-patch}} package.<br />
<br />
== Installation ==<br />
<br />
You can either install using VMware bundle or package {{aur|vmware-workstation}}. The latter is preferred if using ''VMware Workstation'' on x86_64.<br />
<br />
{{Note|VMware has dropped support for a number of CPUs including early Intel Core i7 CPUs since version 14. Check the [https://docs.vmware.com/en/VMware-Workstation-Pro/14.0/com.vmware.ws.using.doc/GUID-BBD199AA-C346-4334-9F56-5A42F7328594.html Processor Requirements for Host Systems]. If your CPU is not supported in the newer releases then you can use {{aur|vmware-workstation12}}.}}<br />
<br />
=== VMware bundle ===<br />
<br />
[[Install]] the correct dependencies:<br />
*{{pkg|fuse2}} - for ''vmware-vmblock-fuse''<br />
*{{pkg|gtkmm}} - for the GUI<br />
*{{pkg|linux-headers}}&nbsp;- for module compilation<br />
*{{AUR|ncurses5-compat-libs}} - needed by the {{ic|--console}} installer<br />
*{{pkg|libcanberra}} - for event sounds<br />
*{{pkg|pcsclite}} <br />
<br />
Download the latest [https://www.vmware.com/go/tryworkstation VMware Workstation Pro] or [https://www.vmware.com/go/downloadplayer Player] (or a [https://communities.vmware.com/community/vmtn/beta beta] version, if available).<br />
<br />
Start the installation:<br />
# sh VMware-''edition''-''version''.''release''.''architecture''.bundle<br />
<br />
{{Tip|Some useful flags:<br />
*{{ic|--eulas-agreed}} - Skip the EULAs<br />
*{{ic|--console}} - Use the console UI.<br />
*{{ic|--custom}} - Allows changing the install directory to e.g. {{ic|/usr/local}} (make sure to update the {{ic|vmware-usbarbitrator.service}} paths in [[#systemd services]]).<br />
*{{ic|-I}}, {{ic|--ignore-errors}} - Ignore fatal errors.<br />
*{{ic|1=--set-setting=vmware-workstation serialNumber XXXXX-XXXXX-XXXXX-XXXXX-XXXXX}} - Set the serial number during install (good for scripted installs).<br />
*{{ic|--required}} - Only ask mandatory questions (results in silent install when combined with {{ic|--eulas-agreed}} and {{ic|--console}}).<br />
}}<br />
<br />
For the {{ic|System service scripts directory}}, use {{ic|/etc/init.d}} (the default).<br />
<br />
{{Note|During the installation you will get an error about {{ic|"No rc*.d style init script directories"}} being given. This can be safely ignored, since Arch uses [[systemd]].}}<br />
<br />
{{Tip|To (re)build the modules from terminal later on, use:<br />
# vmware-modconfig --console --install-all<br />
}}<br />
<br />
=== Package build for x86_64 ===<br />
<br />
Install {{aur|vmware-workstation}}, {{aur|vmware-workstation14}}, {{aur|vmware-workstation12}} or {{aur|vmware-workstation11}} for respectively versions 15, 14, 12 and 11 of ''VMware Workstation''. It is also necessary to install the appropriate headers package(s) for your installed kernel(s): for example {{Pkg|linux-headers}} or {{Pkg|linux-lts-headers}}.<br />
<br />
Then, as desired, enable some of the following services:<br />
* {{ic|vmware-networks.service}} for guest network access<br />
* {{ic|vmware-usbarbitrator.service}} for connecting USB devices to guest<br />
* {{ic|vmware-hostd.service}} for sharing virtual machines<br />
<br />
Lastly, load the VMware modules:<br />
# modprobe -a vmw_vmci vmmon<br />
<br />
== Configuration ==<br />
<br />
=== Kernel modules ===<br />
<br />
VMware Workstation 15.5 supports kernel 5.3 out of the box. Older versions 14.1.7 and 12.5.9 have native support for kernels up to 4.18 and 4.12, respectively.<br />
<br />
For VMware bundle versions, a collection of patches needed for the VMware host modules to build against recent kernels can be found from the following GitHub repository, [https://github.com/mkubecek/vmware-host-modules/ vmware-host-modules]. See the INSTALL document found on the repository for the most up-to-date module installation instructions for VMware Workstation versions from 12.5.5 and up.<br />
<br />
Alternatively, the modules can be patched installing the {{AUR|vmware-patch}} package and executing:<br />
# vmware-patch -f<br />
<br />
=== systemd services ===<br />
<br />
''(Optional)'' Instead of using {{ic|/etc/init.d/vmware}} ({{ic|<nowiki>start|stop|status|restart</nowiki>}}) and {{ic|/usr/bin/vmware-usbarbitrator}} directly to manage the services, you may also use {{ic|.service}} files (also available in the {{AUR|vmware-systemd-services}} package, and also included in {{AUR|vmware-patch}} and {{AUR|vmware-workstation}} with a few differences):<br />
<br />
{{hc|/etc/systemd/system/vmware.service|<br />
2=[Unit]<br />
Description=VMware daemon<br />
Requires=vmware-usbarbitrator.service<br />
Before=vmware-usbarbitrator.service<br />
After=network.target<br />
<br />
[Service]<br />
ExecStart=/etc/init.d/vmware start<br />
ExecStop=/etc/init.d/vmware stop<br />
PIDFile=/var/lock/subsys/vmware<br />
RemainAfterExit=yes<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
}}<br />
<br />
{{hc|/etc/systemd/system/vmware-usbarbitrator.service|<br />
2=[Unit]<br />
Description=VMware USB Arbitrator<br />
Requires=vmware.service<br />
After=vmware.service<br />
<br />
[Service]<br />
ExecStart=/usr/bin/vmware-usbarbitrator<br />
ExecStop=/usr/bin/vmware-usbarbitrator --kill<br />
RemainAfterExit=yes<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
}}<br />
<br />
Add this service to enable networking:<br />
<br />
{{hc|/etc/systemd/system/vmware-networks-server.service|<br />
2=[Unit]<br />
Description=VMware Networks<br />
Wants=vmware-networks-configuration.service<br />
After=vmware-networks-configuration.service<br />
<br />
[Service]<br />
Type=forking<br />
ExecStartPre=-/sbin/modprobe vmnet<br />
ExecStart=/usr/bin/vmware-networks --start<br />
ExecStop=/usr/bin/vmware-networks --stop<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
}}<br />
<br />
Add this service as well, if you want to connect to your VMware Workstation installation from another Workstation Server Console:<br />
<br />
{{hc|/etc/systemd/system/vmware-workstation-server.service|<br />
2=[Unit]<br />
Description=VMware Workstation Server<br />
Requires=vmware.service<br />
After=vmware.service<br />
<br />
[Service]<br />
ExecStart=/etc/init.d/vmware-workstation-server start<br />
ExecStop=/etc/init.d/vmware-workstation-server stop<br />
PIDFile=/var/lock/subsys/vmware-workstation-server<br />
RemainAfterExit=yes<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
}}<br />
<br />
After which you can [[enable]] them on boot.<br />
<br />
==== Workstation Server service ====<br />
<br />
The {{ic|vmware-workstation-server.service}} calls {{ic|wssc-adminTool}} in its command chain, despite having been renamed to {{ic|vmware-wssc-adminTool}}.<br />
<br />
To prevent the service startup, this can be fixed with a symlink:<br />
<br />
# ln -s wssc-adminTool /usr/lib/vmware/bin/vmware-wssc-adminTool<br />
<br />
== Launching the application ==<br />
<br />
To open VMware Workstation Pro:<br />
$ vmware<br />
<br />
or Player:<br />
$ vmplayer<br />
<br />
== Tips and tricks ==<br />
<br />
=== Entering the Workstation Pro license key ===<br />
<br />
==== From terminal ====<br />
<br />
# /usr/lib/vmware/bin/vmware-vmx-debug --new-sn XXXXX-XXXXX-XXXXX-XXXXX-XXXXX<br />
<br />
Where {{ic|XXXXX-XXXXX-XXXXX-XXXXX-XXXXX}} is your license key.<br />
<br />
{{Note|The {{ic|-debug}} binary informs the user of an incorrect license.}}<br />
<br />
==== From GUI ====<br />
<br />
If the above does not work, you can try:<br />
<br />
# /usr/lib/vmware/bin/vmware-enter-serial<br />
<br />
=== Extracting the VMware BIOS ===<br />
<br />
$ objcopy /usr/lib/vmware/bin/vmware-vmx -O binary -j bios440 --set-section-flags bios440=a bios440.rom.Z<br />
$ perl -e 'use Compress::Zlib; my $v; read STDIN, $v, '$(stat -c%s "./bios440.rom.Z")'; $v = uncompress($v); print $v;' < bios440.rom.Z > bios440.rom<br />
<br />
=== Extracting the installer ===<br />
<br />
To view the contents of the installer {{ic|.bundle}}:<br />
<br />
$ sh VMware-''edition''-''version''.''release''.''architecture''.bundle --extract ''/tmp/vmware-bundle/''<br />
<br />
==== Using the modified BIOS ====<br />
<br />
If and when you decide to modify the extracted BIOS you can make your virtual machine use it by moving it to {{ic|~/vmware/''Virtual_machine_name''}}:<br />
$ mv bios440.rom ~/vmware/''Virtual_machine_name''/<br />
<br />
then adding the name to the {{ic|''Virtual_machine_name''.vmx}} file:<br />
{{hc|~/vmware/''Virtual_machine_name''/''Virtual_machine_name''.vmx|2=bios440.filename = "bios440.rom"}}<br />
<br />
=== Enable 3D graphics on Intel and Optimus ===<br />
<br />
Some graphics drivers are blacklisted by default, due to poor and/or unstable 3D acceleration. After enabling ''Accelerate 3D graphics'', the log may show something like:<br />
<br />
Disabling 3D on this host due to presence of Mesa DRI driver. Set mks.gl.allowBlacklistedDrivers = TRUE to override.<br />
<br />
The config file where you can set this setting is {{ic|~/.vmware/preferences}}.<br />
<br />
{{Note|You might need to add the {{ic|1=mks.gl.allowBlacklistedDrivers = "TRUE"}} inside the {{ic|.vmx}} file for the specific virtual machine as well, for 3D acceleration with {{ic|intel}} drivers to be enabled.}}<br />
<br />
=== System speedup tricks ===<br />
<br />
See also [[Improving performance]].<br />
<br />
==== Disable transparent hugepages ====<br />
<br />
{{Merge|Improving performance|Not specific to VMware.}}<br />
<br />
If you notice the guest and/or the host frequently freezing when running a VM, you may want to disable transparent hugepages. To disable them for the current session, run (on the host):<br />
<br />
# echo never > /sys/kernel/mm/transparent_hugepage/enabled<br />
<br />
To make the change persistent across boots, add the [[kernel parameter]] {{ic|1=transparent_hugepage=never}}.<br />
<br />
==== Ensure direct RAM access ====<br />
<br />
By default, VMware writes a running guest system's RAM to a file on disk. If you're certain you have enough spare memory, you can ensure the guest OS writes its memory directly to the host's RAM by adding the following to the VM's {{ic|.vmx}}:<br />
<br />
{{hc|''Virtual_machine_name''.vmx|2=<br />
MemTrimRate = "0"<br />
sched.mem.pshare.enable = "FALSE"<br />
prefvmx.useRecommendedLockedMemSize = "TRUE"<br />
mainmem.backing = "swap"<br />
}}<br />
<br />
== Troubleshooting ==<br />
<br />
=== Kernel headers for version 4.x-xxxx were not found. If you installed them[...] ===<br />
<br />
Install the headers ({{Pkg|linux-headers}}).<br />
<br />
{{Note|Upgrading the kernel and the headers will require you to boot to the new kernel to match the version of the headers. This is a relatively common error.}}<br />
<br />
=== USB devices not recognized ===<br />
<br />
{{Tip|Also handled by {{AUR|vmware-patch}}.}}<br />
<br />
If not using the [[#systemd services|systemd service]] to automatically handle the services, you need to manually start the {{ic|vmware-usbarbitrator}} binary as root each time.<br />
<br />
To start:<br />
<br />
# vmware-usbarbitrator<br />
<br />
To stop:<br />
<br />
# vmware-usbarbitrator --kill<br />
<br />
=== Incorrect login/password when trying to access VMware remotely ===<br />
<br />
VMware Workstation provides the possibility to remotely manage Shared VMs through the {{ic|vmware-workstation-server}} service. However, this will fail with the error {{ic|"incorrect username/password"}} due to incorrect [[PAM]] configuration of the {{ic|vmware-authd}} service. To fix it, edit {{ic|/etc/pam.d/vmware-authd}} like this:<br />
<br />
{{hc|/etc/pam.d/vmware-authd|<br />
#%PAM-1.0<br />
auth ''required pam_unix.so''<br />
account ''required pam_unix.so''<br />
password ''required pam_permit.so''<br />
session ''required pam_unix.so''<br />
}}<br />
<br />
and restart the {{ic|vmware}} [[systemd]] service.<br />
<br />
Now you can connect to the server with the credentials provided during the installation.<br />
<br />
{{Note|{{Pkg|libxslt}} may be required for starting virtual machines.}}<br />
<br />
=== Issues with ALSA output ===<br />
<br />
[http://bankimbhavsar.blogspot.co.nz/2011/09/hd-audio-in-vmware-fusion-4-and-vmware.html To fix] sound quality issues or enabling proper HD audio output, first run:<br />
$ aplay -L<br />
<br />
If interested in playing 5.1 ''surround sound'' from the guest, look for {{ic|1=surround51:CARD=''vendor_name'',DEV=''num''}}, if experiencing quality issues, look for {{ic|1=front:CARD=''vendor_name'',DEV=''num''}}. Finally put the name in the {{ic|.vmx}}:<br />
<br />
{{hc|~/vmware/''Virtual_machine_name''/''Virtual_machine_name''.vmx|2=<br />
sound.fileName=''"surround51:CARD=Live,DEV=0"''<br />
sound.autodetect=''"FALSE"''<br />
}}<br />
<br />
[[Advanced_Linux_Sound_Architecture#OSS_compatibility|OSS emulation]] should also be disabled.<br />
<br />
=== Kernel-based Virtual Machine (KVM) is running ===<br />
<br />
To disable {{ic|KVM}} on boot, you can use something like:<br />
<br />
{{hc|/etc/modprobe.d/vmware.conf|<br />
blacklist kvm<br />
blacklist kvm-amd # For AMD CPUs<br />
blacklist kvm-intel # For Intel CPUs<br />
}}<br />
<br />
{{Tip|If {{ic|kvm}} modules continue to load, despite being blacklisted, and you are running a system with integrated Intel graphics (i915,i965), it may be necessary to blacklist the {{ic|kvmgt}} kernel module directly from the kernel command line options. See [[Kernel module#Using kernel command line_2]] for more details.}}<br />
<br />
=== Module Issues ===<br />
<br />
==== /dev/vmmon not found ====<br />
<br />
The full error is:<br />
<br />
Could not open /dev/vmmon: No such file or directory.<br />
Please make sure that the kernel module 'vmmon' is loaded.<br />
<br />
This means that at least the {{ic|vmmon}} module is not loaded. See the [[#systemd services]] section for automatic loading.<br />
<br />
==== /dev/vmci not found ====<br />
<br />
The full error is:<br />
<br />
Failed to open device "/dev/vmci": No such file or directory<br />
Please make sure that the kernel module 'vmci' is loaded.<br />
<br />
Try to recompile VMware kernel modules with:<br />
<br />
# vmware-modconfig --console --install-all<br />
<br />
=== Installer Fails to Start ===<br />
<br />
If you just get back to the prompt when opening the {{ic|.bundle}}, then you probably have a deprecated or broken version of the VMware installer and it should removed (you may also refer to the [[#Uninstallation|uninstallation]] section of this article):<br />
# rm -r /etc/vmware-installer/<br />
<br />
==== User interface initialization failed ====<br />
<br />
You may also see an error like this:<br />
<br />
Extracting VMware Installer...done.<br />
No protocol specified<br />
No protocol specified<br />
User interface initialization failed. Exiting. Check the log for details.<br />
<br />
This can be fixed by either installing the {{AUR|ncurses5-compat-libs}} dependency or temporarily allowing root access to X:<br />
<br />
$ xhost +<br />
$ sudo ./<vmware filename>.bundle<br />
$ xhost -<br />
<br />
=== VMware Fails to Start ===<br />
<br />
==== Module CPUIDEarly power on failed ====<br />
<br />
Version 14 has stricter CPU requirements than version 12. If you try to start a virtual machine with an affected CPU, the following message will appear:<br />
<br />
This host does not support virtualizing real mode.<br />
The Intel "VMX Unrestricted Guest" feature is necessary to run this virtual machine on an Intel processor.<br />
<br />
The solution is to uninstall version 14 and install version 12 ({{aur|vmware-workstation12}}).<br />
<br />
==== Segmentation fault at startup due to old Intel microcode ====<br />
<br />
Old Intel microcode may result in the following kind of segmentation fault at startup:<br />
<br />
/usr/bin/vmware: line 31: 4941 Segmentation fault "$BINDIR"/vmware-modconfig --appname="VMware Workstation" --icon="vmware-workstation"<br />
<br />
See [[Microcode]] for how to update the microcode.<br />
<br />
==== vmplayer/vmware version 14 fails to start ====<br />
<br />
On systems with {{ic|librsvg}} version 2:2.44.0 and above, the log files (located in {{ic|/tmp/vmware-<id>}}) show several instances of the following error:<br />
<br />
appLoader| I125+ undefined symbol<br />
<br />
A workaround is to downgrade {{ic|librsvg}} to earlier version, or more preferably, force VMware to use its own shipped version of {{ic|librsvg}}:<br />
<br />
# export LD_LIBRARY_PATH=/lib/vmware/lib/librsvg-2.so.2:$LD_LIBRARY_PATH<br />
<br />
VMware also has a {{ic|VMWARE_USE_SHIPPED_LIBS}} variable:<br />
<br />
$ env VMWARE_USE_SHIPPED_LIBS=1 vmware<br />
<br />
==== vmplayer/vmware fails to start from version 12.5.4 ====<br />
<br />
As per [https://bbs.archlinux.org/viewtopic.php?id=224667] the temporary workaround is to downgrade the package {{ic|libpng}} to version 1.6.28-1 and keep it in the {{ic|IgnorePkg}} parameter in [[Pacman#Skip_package_from_being_upgraded|/etc/pacman.conf]].<br />
<br />
An easier workaround is to make VMWare use the system's version of zlib instead of its own one:<br />
<br />
# cd /usr/lib/vmware/lib/libz.so.1<br />
# mv libz.so.1 libz.so.1.old<br />
# ln -s /usr/lib/libz.so.1 .<br />
<br />
==== vmplayer/vmware fails to start from version 12.5.3 to version 12.5.5 ====<br />
<br />
It seems to be a problem with the file {{ic|/usr/lib/vmware/lib/libstdc++.so.6/libstdc++.so.6}}, missing {{ic|CXXABI_1.3.8}}.<br />
<br />
If the system have installed {{pkg|gcc-libs}}, that library is already installed. Therefore, it's possible to remove that file and vmplayer will use the one provided by gcc-libs instead. As root do:<br />
<br />
# mv /usr/lib/vmware/lib/libstdc++.so.6/libstdc++.so.6 /usr/lib/vmware/lib/libstdc++.so.6/libstdc++.so.6.bak<br />
<br />
Also there is a workaround: <br />
<br />
# export VMWARE_USE_SHIPPED_LIBS='yes'<br />
<br />
==== vmware 12 process terminates immediately after start, no GUI is launched ====<br />
<br />
Registered bug at [https://bugs.mageia.org/show_bug.cgi?id=9739 Mageia], but it seems that there are no error messages shown in terminal with arch. When inspecting the logs, which are in {{ic|/tmp/vmware-<id>}}, there are {{ic|VMWARE_SHIPPED_LIBS_LIST is not set}}, {{ic|VMWARE_SYSTEM_LIBS_LIST is not set}}, {{ic|VMWARE_USE_SHIPPED_LIBS is not set}}, {{ic|VMWARE_USE_SYSTEM_LIBS is not set}} issues. Process simply terminates with {{ic|Unable to execute /usr/lib/vmware/bin/vmware-modconfig.}} after vmware or vmplayer is executed. Solution is the same, as root do:<br />
<br />
# mv /etc/vmware/icu/icudt44l.dat /etc/vmware/icu/icudt44l.dat.bak<br />
<br />
Also there is a workaround: <br />
<br />
# export VMWARE_USE_SHIPPED_LIBS='yes'<br />
<br />
Despite setting the VMWARE_USE_SHIPPED_LIBS variable, VMWare may still fail to find certain libraries. An example is the libfontconfig.so.1 library. Check vmware logs in the tmp directory to see which libraries are still not found. Copy them to the appropriate path with libraries existing on the system:<br />
<br />
# cp /usr/lib/libfontconfig.so.1 /usr/lib/vmware/lib/libfontconfig.so.1/<br />
<br />
Instead of copying all these files manually, you may want to try exporting an additional setting:<br />
<br />
# export VMWARE_USE_SYSTEM_LIBS='yes'<br />
<br />
On systems with fontconfig version '''2.13.0''' and above, it may be needed to force VMware to use the shipped libfontconfig file instead of the newer system file. In such case, it is also necessary to provide a shared object library file {{ic|libexpat.so.0}} for the shipped fontconfig. This applies for at least VMware version '''12.5.9'''. As root do:<br />
<br />
# ln -s /usr/lib/libexpat.so /usr/lib/vmware/lib/libfontconfig.so.1/libexpat.so.0<br />
# export LD_LIBRARY_PATH=/usr/lib/vmware/lib/libfontconfig.so.1:$LD_LIBRARY_PATH<br />
<br />
=== Guest Issues ===<br />
<br />
==== Unable to download VMware Tools for Guests ====<br />
<br />
To download the tools manually, visit the [http://softwareupdate.vmware.com/cds/vmw-desktop/ VMware repository].<br />
<br />
Navigate to: "''application name'' / ''version'' / ''build ID'' / linux / packages/" and download the appropriate Tools.<br />
<br />
Extract with:<br />
<br />
$ tar -xvf vmware-tools-''name''-''version''-''buildID''.x86_64.component.tar<br />
<br />
And install using the VMware installer:<br />
<br />
# vmware-installer --install-component=''/path/''vmware-tools-''name''-''version''-''buildID''.x86_64.component<br />
<br />
If the above does not work, try installing {{AUR|ncurses5-compat-libs}}.<br />
<br />
==== Guests have incorrect system clocks or are unable to boot: "[...]timeTracker_user.c:234 bugNr=148722" ====<br />
<br />
This is due to [http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&externalId=1591 incomplete] support of power management features ([[Wikipedia:Intel speedstep|Intel SpeedStep]] and [[Wikipedia:AMD powernow|AMD PowerNow!]]/[[Wikipedia:Cool'n'Quiet|Cool'n'Quiet]]) in VMware Linux that vary the CPU frequency. In March 2012, with the release of [https://projects.archlinux.org/svntogit/packages.git/commit/trunk/config.x86_64?h=packages/linux&id=9abe018d91a5d8c3af7523d30b8aa73f86b680be linux 3.3-1] the maximum frequency [[CPU frequency governors|Performance]] governor was replaced with the dynamic ''Ondemand''. When the host CPU frequency changes, the Guest system clock runs too quickly or too slowly, but may also render the whole Guest unbootable.<br />
<br />
To prevent this, the maximum host CPU frequency can be specified, and [[Wikipedia:Time Stamp Counter|Time Stamp Counter]] (TSC) disabled, in the global configuration:<br />
<br />
{{hc|/etc/vmware/config|2=<br />
host.cpukHz = "X" # The maximum speed in KHz, e.g. 3GHz is "3000000".<br />
host.noTSC = "TRUE" # Keep the Guest system clock accurate even when<br />
ptsc.noTSC = "TRUE" # the time stamp counter (TSC) is slow.<br />
}}<br />
<br />
{{Tip|To periodically correct the time (once per minute), in the ''Options'' tab of VMware Tools, enable: ''"Time synchronization between the virtual machine and the host operating system"''.}}<br />
<br />
==== Networking on Guests not available after system restart ====<br />
<br />
This is likely due to the {{ic|vmnet}} module not being loaded [http://www.linuxquestions.org/questions/slackware-14/could-not-connect-ethernet0-to-virtual-network-dev-vmnet8-796095/]. See also the [[#systemd services]] section for automatic loading.<br />
<br />
==== Strange mouse wheel behavior on Guest ====<br />
<br />
This is related to the current Xorg keyboard layout on Host system. Keep primary layout (e.g., English) selected on Host while working on Guest.<br />
<br />
== Uninstallation ==<br />
<br />
To uninstall VMware you need the product name (either {{ic|vmware-workstation}} or {{ic|vmware-player}}). To list all the installed products:<br />
$ vmware-installer -l<br />
<br />
and uninstall with ({{ic|--required}}&nbsp;skips the confirmation):<br />
# vmware-installer -u ''product'' --required<br />
<br />
{{Tip|Use {{ic|--console}} for the console UI.}}<br />
<br />
Remember to also [[disable]] and remove the services:<br />
# rm /etc/systemd/system/vmware.service<br />
# rm /etc/systemd/system/vmware-usbarbitrator.service<br />
<br />
You may also want to have a look at the module directories in {{ic|/usr/lib/modules/''kernel_name''/misc/}} for any leftovers, and remove {{ic|/etc/init.d/}} if now empty.</div>J!PRAhttps://wiki.archlinux.org/index.php?title=VMware&diff=584365VMware2019-10-03T12:15:29Z<p>J!PRA: Updated information for kernel version support</p>
<hr />
<div>[[Category:Hypervisors]]<br />
[[it:VMware]]<br />
[[ja:VMware]]<br />
[[ru:VMware]]<br />
[[zh-hans:VMware]]<br />
{{Related articles start}}<br />
{{Related|:Category:Hypervisors}}<br />
{{Related|VMware/Installing Arch as a guest}}<br />
{{Related|Moving an existing install into (or out of) a virtual machine}}<br />
{{Related articles end}}<br />
<br />
This article is about the latest major [[Wikipedia:VMware|VMware]] versions, meaning [[Wikipedia:VMware Workstation|VMware Workstation]] Pro and Player 15, 14 and 12.5. <br />
<br />
You may also be interested in [[VMware/Installing Arch as a guest]]. For older versions, use the {{AUR|vmware-patch}} package.<br />
<br />
== Installation ==<br />
<br />
You can either install using VMware bundle or package {{aur|vmware-workstation}}. The latter is preferred if using ''VMware Workstation'' on x86_64.<br />
<br />
{{Note|VMware has dropped support for a number of CPUs including early Intel Core i7 CPUs since version 14. Check the [https://docs.vmware.com/en/VMware-Workstation-Pro/14.0/com.vmware.ws.using.doc/GUID-BBD199AA-C346-4334-9F56-5A42F7328594.html Processor Requirements for Host Systems]. If your CPU is not supported in the newer releases then you can use {{aur|vmware-workstation12}}.}}<br />
<br />
=== VMware bundle ===<br />
<br />
[[Install]] the correct dependencies:<br />
*{{pkg|fuse2}} - for ''vmware-vmblock-fuse''<br />
*{{pkg|gtkmm}} - for the GUI<br />
*{{pkg|linux-headers}}&nbsp;- for module compilation<br />
*{{AUR|ncurses5-compat-libs}} - needed by the {{ic|--console}} installer<br />
*{{pkg|libcanberra}} - for event sounds<br />
*{{pkg|pcsclite}} <br />
<br />
Download the latest [https://www.vmware.com/go/tryworkstation VMware Workstation Pro] or [https://www.vmware.com/go/downloadplayer Player] (or a [https://communities.vmware.com/community/vmtn/beta beta] version, if available).<br />
<br />
Start the installation:<br />
# sh VMware-''edition''-''version''.''release''.''architecture''.bundle<br />
<br />
{{Tip|Some useful flags:<br />
*{{ic|--eulas-agreed}} - Skip the EULAs<br />
*{{ic|--console}} - Use the console UI.<br />
*{{ic|--custom}} - Allows changing the install directory to e.g. {{ic|/usr/local}} (make sure to update the {{ic|vmware-usbarbitrator.service}} paths in [[#systemd services]]).<br />
*{{ic|-I}}, {{ic|--ignore-errors}} - Ignore fatal errors.<br />
*{{ic|1=--set-setting=vmware-workstation serialNumber XXXXX-XXXXX-XXXXX-XXXXX-XXXXX}} - Set the serial number during install (good for scripted installs).<br />
*{{ic|--required}} - Only ask mandatory questions (results in silent install when combined with {{ic|--eulas-agreed}} and {{ic|--console}}).<br />
}}<br />
<br />
For the {{ic|System service scripts directory}}, use {{ic|/etc/init.d}} (the default).<br />
<br />
{{Note|During the installation you will get an error about {{ic|"No rc*.d style init script directories"}} being given. This can be safely ignored, since Arch uses [[systemd]].}}<br />
<br />
{{Tip|To (re)build the modules from terminal later on, use:<br />
# vmware-modconfig --console --install-all<br />
}}<br />
<br />
=== Package build for x86_64 ===<br />
<br />
Install {{aur|vmware-workstation}}, {{aur|vmware-workstation14}}, {{aur|vmware-workstation12}} or {{aur|vmware-workstation11}} for respectively versions 15, 14, 12 and 11 of ''VMware Workstation''. It is also necessary to install the appropriate headers package(s) for your installed kernel(s): for example {{Pkg|linux-headers}} or {{Pkg|linux-lts-headers}}.<br />
<br />
Then, as desired, enable some of the following services:<br />
* {{ic|vmware-networks.service}} for guest network access<br />
* {{ic|vmware-usbarbitrator.service}} for connecting USB devices to guest<br />
* {{ic|vmware-hostd.service}} for sharing virtual machines<br />
<br />
Lastly, load the VMware modules:<br />
# modprobe -a vmw_vmci vmmon<br />
<br />
== Configuration ==<br />
<br />
=== Kernel modules ===<br />
<br />
VMware Workstation 15.5 supports kernel 5.3 out of the box. Older versions 14.1.7 and 12.5.9 have native support for kernels up to 4.18 and 4.12, respectively.<br />
<br />
For VMware bundle versions, a collection of patches needed for the VMware host modules to build against recent kernels can be found from the following GitHub repository, [https://github.com/mkubecek/vmware-host-modules/ vmware-host-modules]. See the INSTALL document found on the repository for the most up-to-date module installation instructions for VMware Workstation versions from 12.5.5 and up.<br />
<br />
Alternatively, the modules can be patched installing the {{AUR|vmware-patch}} package and executing:<br />
# vmware-patch -f<br />
<br />
=== systemd services ===<br />
<br />
''(Optional)'' Instead of using {{ic|/etc/init.d/vmware}} ({{ic|<nowiki>start|stop|status|restart</nowiki>}}) and {{ic|/usr/bin/vmware-usbarbitrator}} directly to manage the services, you may also use {{ic|.service}} files (also available in the {{AUR|vmware-systemd-services}} package, and also included in {{AUR|vmware-patch}} and {{AUR|vmware-workstation}} with a few differences):<br />
<br />
{{hc|/etc/systemd/system/vmware.service|<br />
2=[Unit]<br />
Description=VMware daemon<br />
Requires=vmware-usbarbitrator.service<br />
Before=vmware-usbarbitrator.service<br />
After=network.target<br />
<br />
[Service]<br />
ExecStart=/etc/init.d/vmware start<br />
ExecStop=/etc/init.d/vmware stop<br />
PIDFile=/var/lock/subsys/vmware<br />
RemainAfterExit=yes<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
}}<br />
<br />
{{hc|/etc/systemd/system/vmware-usbarbitrator.service|<br />
2=[Unit]<br />
Description=VMware USB Arbitrator<br />
Requires=vmware.service<br />
After=vmware.service<br />
<br />
[Service]<br />
ExecStart=/usr/bin/vmware-usbarbitrator<br />
ExecStop=/usr/bin/vmware-usbarbitrator --kill<br />
RemainAfterExit=yes<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
}}<br />
<br />
Add this service to enable networking:<br />
<br />
{{hc|/etc/systemd/system/vmware-networks-server.service|<br />
2=[Unit]<br />
Description=VMware Networks<br />
Wants=vmware-networks-configuration.service<br />
After=vmware-networks-configuration.service<br />
<br />
[Service]<br />
Type=forking<br />
ExecStartPre=-/sbin/modprobe vmnet<br />
ExecStart=/usr/bin/vmware-networks --start<br />
ExecStop=/usr/bin/vmware-networks --stop<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
}}<br />
<br />
Add this service as well, if you want to connect to your VMware Workstation installation from another Workstation Server Console:<br />
<br />
{{hc|/etc/systemd/system/vmware-workstation-server.service|<br />
2=[Unit]<br />
Description=VMware Workstation Server<br />
Requires=vmware.service<br />
After=vmware.service<br />
<br />
[Service]<br />
ExecStart=/etc/init.d/vmware-workstation-server start<br />
ExecStop=/etc/init.d/vmware-workstation-server stop<br />
PIDFile=/var/lock/subsys/vmware-workstation-server<br />
RemainAfterExit=yes<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
}}<br />
<br />
After which you can [[enable]] them on boot.<br />
<br />
==== Workstation Server service ====<br />
<br />
The {{ic|vmware-workstation-server.service}} calls {{ic|wssc-adminTool}} in its command chain, despite having been renamed to {{ic|vmware-wssc-adminTool}}.<br />
<br />
To prevent the service startup, this can be fixed with a symlink:<br />
<br />
# ln -s wssc-adminTool /usr/lib/vmware/bin/vmware-wssc-adminTool<br />
<br />
== Launching the application ==<br />
<br />
To open VMware Workstation Pro:<br />
$ vmware<br />
<br />
or Player:<br />
$ vmplayer<br />
<br />
== Tips and tricks ==<br />
<br />
=== Entering the Workstation Pro license key ===<br />
<br />
==== From terminal ====<br />
<br />
# /usr/lib/vmware/bin/vmware-vmx-debug --new-sn XXXXX-XXXXX-XXXXX-XXXXX-XXXXX<br />
<br />
Where {{ic|XXXXX-XXXXX-XXXXX-XXXXX-XXXXX}} is your license key.<br />
<br />
{{Note|The {{ic|-debug}} binary informs the user of an incorrect license.}}<br />
<br />
==== From GUI ====<br />
<br />
If the above does not work, you can try:<br />
<br />
# /usr/lib/vmware/bin/vmware-enter-serial<br />
<br />
=== Extracting the VMware BIOS ===<br />
<br />
$ objcopy /usr/lib/vmware/bin/vmware-vmx -O binary -j bios440 --set-section-flags bios440=a bios440.rom.Z<br />
$ perl -e 'use Compress::Zlib; my $v; read STDIN, $v, '$(stat -c%s "./bios440.rom.Z")'; $v = uncompress($v); print $v;' < bios440.rom.Z > bios440.rom<br />
<br />
=== Extracting the installer ===<br />
<br />
To view the contents of the installer {{ic|.bundle}}:<br />
<br />
$ sh VMware-''edition''-''version''.''release''.''architecture''.bundle --extract ''/tmp/vmware-bundle/''<br />
<br />
==== Using the modified BIOS ====<br />
<br />
If and when you decide to modify the extracted BIOS you can make your virtual machine use it by moving it to {{ic|~/vmware/''Virtual_machine_name''}}:<br />
$ mv bios440.rom ~/vmware/''Virtual_machine_name''/<br />
<br />
then adding the name to the {{ic|''Virtual_machine_name''.vmx}} file:<br />
{{hc|~/vmware/''Virtual_machine_name''/''Virtual_machine_name''.vmx|2=bios440.filename = "bios440.rom"}}<br />
<br />
=== Enable 3D graphics on Intel and Optimus ===<br />
<br />
Some graphics drivers are blacklisted by default, due to poor and/or unstable 3D acceleration. After enabling ''Accelerate 3D graphics'', the log may show something like:<br />
<br />
Disabling 3D on this host due to presence of Mesa DRI driver. Set mks.gl.allowBlacklistedDrivers = TRUE to override.<br />
<br />
The config file where you can set this setting is {{ic|~/.vmware/preferences}}.<br />
<br />
{{Note|You might need to add the {{ic|1=mks.gl.allowBlacklistedDrivers = "TRUE"}} inside the {{ic|.vmx}} file for the specific virtual machine as well, for 3D acceleration with {{ic|intel}} drivers to be enabled.}}<br />
<br />
=== System speedup tricks ===<br />
<br />
See also [[Improving performance]].<br />
<br />
==== Disable transparent hugepages ====<br />
<br />
{{Merge|Improving performance|Not specific to VMware.}}<br />
<br />
If you notice the guest and/or the host frequently freezing when running a VM, you may want to disable transparent hugepages. To disable them for the current session, run (on the host):<br />
<br />
# echo never > /sys/kernel/mm/transparent_hugepage/enabled<br />
<br />
To make the change persistent across boots, add the [[kernel parameter]] {{ic|1=transparent_hugepage=never}}.<br />
<br />
==== Ensure direct RAM access ====<br />
<br />
By default, VMware writes a running guest system's RAM to a file on disk. If you're certain you have enough spare memory, you can ensure the guest OS writes its memory directly to the host's RAM by adding the following to the VM's {{ic|.vmx}}:<br />
<br />
{{hc|''Virtual_machine_name''.vmx|2=<br />
MemTrimRate = "0"<br />
sched.mem.pshare.enable = "FALSE"<br />
prefvmx.useRecommendedLockedMemSize = "TRUE"<br />
mainmem.backing = "swap"<br />
}}<br />
<br />
== Troubleshooting ==<br />
<br />
=== Kernel headers for version 4.x-xxxx were not found. If you installed them[...] ===<br />
<br />
Install the headers ({{Pkg|linux-headers}}).<br />
<br />
{{Note|Upgrading the kernel and the headers will require you to boot to the new kernel to match the version of the headers. This is a relatively common error.}}<br />
<br />
=== USB devices not recognized ===<br />
<br />
{{Tip|Also handled by {{AUR|vmware-patch}}.}}<br />
<br />
If not using the [[#systemd services|systemd service]] to automatically handle the services, you need to manually start the {{ic|vmware-usbarbitrator}} binary as root each time.<br />
<br />
To start:<br />
<br />
# vmware-usbarbitrator<br />
<br />
To stop:<br />
<br />
# vmware-usbarbitrator --kill<br />
<br />
=== Incorrect login/password when trying to access VMware remotely ===<br />
<br />
VMware Workstation provides the possibility to remotely manage Shared VMs through the {{ic|vmware-workstation-server}} service. However, this will fail with the error {{ic|"incorrect username/password"}} due to incorrect [[PAM]] configuration of the {{ic|vmware-authd}} service. To fix it, edit {{ic|/etc/pam.d/vmware-authd}} like this:<br />
<br />
{{hc|/etc/pam.d/vmware-authd|<br />
#%PAM-1.0<br />
auth ''required pam_unix.so''<br />
account ''required pam_unix.so''<br />
password ''required pam_permit.so''<br />
session ''required pam_unix.so''<br />
}}<br />
<br />
and restart the {{ic|vmware}} [[systemd]] service.<br />
<br />
Now you can connect to the server with the credentials provided during the installation.<br />
<br />
{{Note|{{Pkg|libxslt}} may be required for starting virtual machines.}}<br />
<br />
=== Issues with ALSA output ===<br />
<br />
[http://bankimbhavsar.blogspot.co.nz/2011/09/hd-audio-in-vmware-fusion-4-and-vmware.html To fix] sound quality issues or enabling proper HD audio output, first run:<br />
$ aplay -L<br />
<br />
If interested in playing 5.1 ''surround sound'' from the guest, look for {{ic|1=surround51:CARD=''vendor_name'',DEV=''num''}}, if experiencing quality issues, look for {{ic|1=front:CARD=''vendor_name'',DEV=''num''}}. Finally put the name in the {{ic|.vmx}}:<br />
<br />
{{hc|~/vmware/''Virtual_machine_name''/''Virtual_machine_name''.vmx|2=<br />
sound.fileName=''"surround51:CARD=Live,DEV=0"''<br />
sound.autodetect=''"FALSE"''<br />
}}<br />
<br />
[[Advanced_Linux_Sound_Architecture#OSS_compatibility|OSS emulation]] should also be disabled.<br />
<br />
=== Kernel-based Virtual Machine (KVM) is running ===<br />
<br />
To disable {{ic|KVM}} on boot, you can use something like:<br />
<br />
{{hc|/etc/modprobe.d/vmware.conf|<br />
blacklist kvm<br />
blacklist kvm-amd # For AMD CPUs<br />
blacklist kvm-intel # For Intel CPUs<br />
}}<br />
<br />
{{Tip|If {{ic|kvm}} modules continue to load, despite being blacklisted, and you are running a system with integrated Intel graphics (i915,i965), it may be necessary to blacklist the {{ic|kvmgt}} kernel module directly from the kernel command line options. See [[Kernel module#Using kernel command line_2]] for more details.}}<br />
<br />
=== Module Issues ===<br />
<br />
==== /dev/vmmon not found ====<br />
<br />
The full error is:<br />
<br />
Could not open /dev/vmmon: No such file or directory.<br />
Please make sure that the kernel module 'vmmon' is loaded.<br />
<br />
This means that at least the {{ic|vmmon}} module is not loaded. See the [[#systemd services]] section for automatic loading.<br />
<br />
==== /dev/vmci not found ====<br />
<br />
The full error is:<br />
<br />
Failed to open device "/dev/vmci": No such file or directory<br />
Please make sure that the kernel module 'vmci' is loaded.<br />
<br />
Try to recompile VMware kernel modules with:<br />
<br />
# vmware-modconfig --console --install-all<br />
<br />
=== Installer Fails to Start ===<br />
<br />
If you just get back to the prompt when opening the {{ic|.bundle}}, then you probably have a deprecated or broken version of the VMware installer and it should removed (you may also refer to the [[#Uninstallation|uninstallation]] section of this article):<br />
# rm -r /etc/vmware-installer/<br />
<br />
==== User interface initialization failed ====<br />
<br />
You may also see an error like this:<br />
<br />
Extracting VMware Installer...done.<br />
No protocol specified<br />
No protocol specified<br />
User interface initialization failed. Exiting. Check the log for details.<br />
<br />
This can be fixed by either installing the {{AUR|ncurses5-compat-libs}} dependency or temporarily allowing root access to X:<br />
<br />
$ xhost +<br />
$ sudo ./<vmware filename>.bundle<br />
$ xhost -<br />
<br />
=== VMware Fails to Start ===<br />
<br />
==== Module CPUIDEarly power on failed ====<br />
<br />
Version 14 has stricter CPU requirements than version 12. If you try to start a virtual machine with an affected CPU, the following message will appear:<br />
<br />
This host does not support virtualizing real mode.<br />
The Intel "VMX Unrestricted Guest" feature is necessary to run this virtual machine on an Intel processor.<br />
<br />
The solution is to uninstall version 14 and install version 12 ({{aur|vmware-workstation12}}).<br />
<br />
==== Segmentation fault at startup due to old Intel microcode ====<br />
<br />
Old Intel microcode may result in the following kind of segmentation fault at startup:<br />
<br />
/usr/bin/vmware: line 31: 4941 Segmentation fault "$BINDIR"/vmware-modconfig --appname="VMware Workstation" --icon="vmware-workstation"<br />
<br />
See [[Microcode]] for how to update the microcode.<br />
<br />
==== vmplayer/vmware version 14 fails to start ====<br />
<br />
On systems with {{ic|librsvg}} version 2:2.44.0 and above, the log files (located in {{ic|/tmp/vmware-<id>}}) show several instances of the following error:<br />
<br />
appLoader| I125+ undefined symbol<br />
<br />
A workaround is to downgrade {{ic|librsvg}} to earlier version, or more preferably, force VMware to use its own shipped version of {{ic|librsvg}}:<br />
<br />
# export LD_LIBRARY_PATH=/lib/vmware/lib/librsvg-2.so.2:$LD_LIBRARY_PATH<br />
<br />
VMware also has a {{ic|VMWARE_USE_SHIPPED_LIBS}} variable:<br />
<br />
$ env VMWARE_USE_SHIPPED_LIBS=1 vmware<br />
<br />
==== vmplayer/vmware fails to start from version 12.5.4 ====<br />
<br />
As per [https://bbs.archlinux.org/viewtopic.php?id=224667] the temporary workaround is to downgrade the package {{ic|libpng}} to version 1.6.28-1 and keep it in the {{ic|IgnorePkg}} parameter in [[Pacman#Skip_package_from_being_upgraded|/etc/pacman.conf]].<br />
<br />
An easier workaround is to make VMWare use the system's version of zlib instead of its own one:<br />
<br />
# cd /usr/lib/vmware/lib/libz.so.1<br />
# mv libz.so.1 libz.so.1.old<br />
# ln -s /usr/lib/libz.so.1 .<br />
<br />
==== vmplayer/vmware fails to start from version 12.5.3 to version 12.5.5 ====<br />
<br />
It seems to be a problem with the file {{ic|/usr/lib/vmware/lib/libstdc++.so.6/libstdc++.so.6}}, missing {{ic|CXXABI_1.3.8}}.<br />
<br />
If the system have installed {{pkg|gcc-libs}}, that library is already installed. Therefore, it's possible to remove that file and vmplayer will use the one provided by gcc-libs instead. As root do:<br />
<br />
# mv /usr/lib/vmware/lib/libstdc++.so.6/libstdc++.so.6 /usr/lib/vmware/lib/libstdc++.so.6/libstdc++.so.6.bak<br />
<br />
Also there is a workaround: <br />
<br />
# export VMWARE_USE_SHIPPED_LIBS='yes'<br />
<br />
==== vmware 12 process terminates immediately after start, no GUI is launched ====<br />
<br />
Registered bug at [https://bugs.mageia.org/show_bug.cgi?id=9739 Mageia], but it seems that there are no error messages shown in terminal with arch. When inspecting the logs, which are in {{ic|/tmp/vmware-<id>}}, there are {{ic|VMWARE_SHIPPED_LIBS_LIST is not set}}, {{ic|VMWARE_SYSTEM_LIBS_LIST is not set}}, {{ic|VMWARE_USE_SHIPPED_LIBS is not set}}, {{ic|VMWARE_USE_SYSTEM_LIBS is not set}} issues. Process simply terminates with {{ic|Unable to execute /usr/lib/vmware/bin/vmware-modconfig.}} after vmware or vmplayer is executed. Solution is the same, as root do:<br />
<br />
# mv /etc/vmware/icu/icudt44l.dat /etc/vmware/icu/icudt44l.dat.bak<br />
<br />
Also there is a workaround: <br />
<br />
# export VMWARE_USE_SHIPPED_LIBS='yes'<br />
<br />
Despite setting the VMWARE_USE_SHIPPED_LIBS variable, VMWare may still fail to find certain libraries. An example is the libfontconfig.so.1 library. Check vmware logs in the tmp directory to see which libraries are still not found. Copy them to the appropriate path with libraries existing on the system:<br />
<br />
# cp /usr/lib/libfontconfig.so.1 /usr/lib/vmware/lib/libfontconfig.so.1/<br />
<br />
Instead of copying all these files manually, you may want to try exporting an additional setting:<br />
<br />
# export VMWARE_USE_SYSTEM_LIBS='yes'<br />
<br />
On systems with fontconfig version '''2.13.0''' and above, it may be needed to replace the shipped libfontconfig file with version '''2.12.6''' library file and force VMware to use that file instead of the newer system file. This applies for at least VMware version '''12.5.9'''. As root do:<br />
<br />
# cd /usr/lib/vmware/lib/libfontconfig.so.1<br />
# wget https://archive.archlinux.org/packages/f/fontconfig/fontconfig-2.12.6-1-x86_64.pkg.tar.xz<br />
# tar -xvf fontconfig-2.12.6-1-x86_64.pkg.tar.xz usr/lib/libfontconfig.so.1.10.1<br />
# mv libfontconfig.so.1 libfontconfig.so.1.old<br />
# mv ./usr/lib/libfontconfig.so.1.10.1 ./libfontconfig.so.1<br />
# rm -r ./usr ./fontconfig-2.12.6-1-x86_64.pkg.tar.xz<br />
# export LD_LIBRARY_PATH=/usr/lib/vmware/lib/libfontconfig.so.1:$LD_LIBRARY_PATH<br />
<br />
=== Guest Issues ===<br />
<br />
==== Unable to download VMware Tools for Guests ====<br />
<br />
To download the tools manually, visit the [http://softwareupdate.vmware.com/cds/vmw-desktop/ VMware repository].<br />
<br />
Navigate to: "''application name'' / ''version'' / ''build ID'' / linux / packages/" and download the appropriate Tools.<br />
<br />
Extract with:<br />
<br />
$ tar -xvf vmware-tools-''name''-''version''-''buildID''.x86_64.component.tar<br />
<br />
And install using the VMware installer:<br />
<br />
# vmware-installer --install-component=''/path/''vmware-tools-''name''-''version''-''buildID''.x86_64.component<br />
<br />
If the above does not work, try installing {{AUR|ncurses5-compat-libs}}.<br />
<br />
==== Guests have incorrect system clocks or are unable to boot: "[...]timeTracker_user.c:234 bugNr=148722" ====<br />
<br />
This is due to [http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&externalId=1591 incomplete] support of power management features ([[Wikipedia:Intel speedstep|Intel SpeedStep]] and [[Wikipedia:AMD powernow|AMD PowerNow!]]/[[Wikipedia:Cool'n'Quiet|Cool'n'Quiet]]) in VMware Linux that vary the CPU frequency. In March 2012, with the release of [https://projects.archlinux.org/svntogit/packages.git/commit/trunk/config.x86_64?h=packages/linux&id=9abe018d91a5d8c3af7523d30b8aa73f86b680be linux 3.3-1] the maximum frequency [[CPU frequency governors|Performance]] governor was replaced with the dynamic ''Ondemand''. When the host CPU frequency changes, the Guest system clock runs too quickly or too slowly, but may also render the whole Guest unbootable.<br />
<br />
To prevent this, the maximum host CPU frequency can be specified, and [[Wikipedia:Time Stamp Counter|Time Stamp Counter]] (TSC) disabled, in the global configuration:<br />
<br />
{{hc|/etc/vmware/config|2=<br />
host.cpukHz = "X" # The maximum speed in KHz, e.g. 3GHz is "3000000".<br />
host.noTSC = "TRUE" # Keep the Guest system clock accurate even when<br />
ptsc.noTSC = "TRUE" # the time stamp counter (TSC) is slow.<br />
}}<br />
<br />
{{Tip|To periodically correct the time (once per minute), in the ''Options'' tab of VMware Tools, enable: ''"Time synchronization between the virtual machine and the host operating system"''.}}<br />
<br />
==== Networking on Guests not available after system restart ====<br />
<br />
This is likely due to the {{ic|vmnet}} module not being loaded [http://www.linuxquestions.org/questions/slackware-14/could-not-connect-ethernet0-to-virtual-network-dev-vmnet8-796095/]. See also the [[#systemd services]] section for automatic loading.<br />
<br />
==== Strange mouse wheel behavior on Guest ====<br />
<br />
This is related to the current Xorg keyboard layout on Host system. Keep primary layout (e.g., English) selected on Host while working on Guest.<br />
<br />
== Uninstallation ==<br />
<br />
To uninstall VMware you need the product name (either {{ic|vmware-workstation}} or {{ic|vmware-player}}). To list all the installed products:<br />
$ vmware-installer -l<br />
<br />
and uninstall with ({{ic|--required}}&nbsp;skips the confirmation):<br />
# vmware-installer -u ''product'' --required<br />
<br />
{{Tip|Use {{ic|--console}} for the console UI.}}<br />
<br />
Remember to also [[disable]] and remove the services:<br />
# rm /etc/systemd/system/vmware.service<br />
# rm /etc/systemd/system/vmware-usbarbitrator.service<br />
<br />
You may also want to have a look at the module directories in {{ic|/usr/lib/modules/''kernel_name''/misc/}} for any leftovers, and remove {{ic|/etc/init.d/}} if now empty.</div>J!PRAhttps://wiki.archlinux.org/index.php?title=Spotify&diff=579350Spotify2019-08-10T18:12:18Z<p>J!PRA: /* Mute commercials */ Fix a typo</p>
<hr />
<div>[[Category:Music]]<br />
[[Category:Streaming]]<br />
[[ja:Spotify]]<br />
[[Wikipedia:Spotify|Spotify]] is a digital music streaming service with a freemium business model. This article is mainly about the semi-official, proprietary '''Spotify for Linux''' client, which is developed by Spotify's engineers in their spare time and not actively supported by Spotify.[https://www.spotify.com/us/download/linux/] Alternatively, there is an [https://open.spotify.com/ online player] and a couple of open source [[#Third-party clients|third-party clients]].<br />
<br />
== Installation ==<br />
<br />
[https://www.spotify.com/us/download/linux/ Spotify for Linux] can be [[install]]ed with the {{AUR|spotify}} package. If you wish to play local files you will need to additionally install {{Pkg|zenity}} and {{AUR|ffmpeg-compat-57}}.<br />
<br />
=== Third-party clients ===<br />
<br />
* {{App|Spotifyd|An open source Spotify client running as a UNIX daemon. Spotifyd streams music just like the official client, but is more lightweight and supports more platforms. Spotifyd also supports the Spotify Connect protocol which makes it show up as a device that can be controlled from the official clients.|https://github.com/Spotifyd/spotifyd|{{AUR|spotifyd}}}}<br />
* {{App|[[Wikipedia:Clementine (software)|Clementine]]|Able to stream from Spotify with a premium account after activating (downloading) a plugin in the settings.|https://www.clementine-player.org/|{{Pkg|clementine}}}}<br />
* {{App|Mopidy|An alternative plug-in based implementation of [[Music Player Daemon]] is able to stream from Spotify with an extension.|https://www.mopidy.com/|{{Pkg|mopidy}}+ {{AUR|mopidy-spotify}} or {{AUR|despotify-svn}}{{Broken package link|package not found}}}}<br />
* {{App|Librespot|An open source client library for Spotify. It enables applications to use Spotify's service (streaming), without using the official closed-source ''libspotify''.|https://github.com/librespot-org/librespot|{{AUR|librespot-git}}}}<br />
* {{App|Tomahawk|A Music Player App written in C++/Qt. '''No longer actively developed'''. |https://www.tomahawk-player.org/|{{AUR|tomahawk}} {{AUR|tomahawk-git}} {{AUR|tomahawk-qt5}}}}<br />
<br />
== Tips & tricks ==<br />
<br />
=== Limit storage size ===<br />
<br />
Spotify automatically manage a storage size for caching, however one may want to force the size limit preventing the [[filesystem]] from filling up.<br />
<br />
[[Append]] {{ic|storage.size}} (measured in MB) to {{ic|/home/''user''/.config/spotify/prefs}}, e.g. a storage size of 3072MB:<br />
<br />
{{hc|~/.config/spotify/prefs|2=<br />
storage.size=3072<br />
}}<br />
<br />
=== Global media hotkeys ===<br />
<br />
{{Tip|Many [[desktop environments]] come with keyboard shortcuts which work with the Spotify client out of the box e.g. under [[Cinnamon]] (Preferences -> Keyboard -> Shortcuts -> Sound and Media), several default bindings are set up to control the player, and these can easily be changed by pressing the preferred keys.}}<br />
<br />
For environments in which controlling Spotify via the keyboard doesn't work automatically, the official Linux client has support for media keys like {{ic|XF86AudioPlay}}. We can use for example [[xbindkeys]] to catch the global media keypresses, and then forward them to Spotify using one of the methods below. If you use xbindkeys, ensure that Spotify is restarted after installation and key configuration otherwise the key events will not be properly caught.<br />
<br />
==== MPRIS ====<br />
<br />
The Spotify client implements the [https://specifications.freedesktop.org/mpris-spec/latest/ MPRIS2] D-Bus interface which allows external control.<br />
<br />
===== Playerctl =====<br />
<br />
The {{Pkg|playerctl}} utility provides a command line tool to send commands to MPRIS clients. The only commands you will likely need to bind globally are {{ic|play-pause}}, {{ic|next}} and {{ic|previous}}<br />
<br />
$ playerctl play-pause<br />
$ playerctl next<br />
$ playerctl previous<br />
<br />
Playerctl will send the command to the first player it finds, so this method will also work with others players such as [[vlc]]. To ignore other players, pass {{ic|--player&#61;spotify}} as an argument.<br />
<br />
===== D-Bus =====<br />
<br />
An alternative to the above is to manually use [[D-Bus]], which should be available by default as it is a dependency of [[systemd]].<br />
<br />
To play or pause the current song in Spotify:<br />
<br />
$ dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause<br />
<br />
In order to bind this and the other commands to the media keys you need to install [[Xbindkeys]] and edit your .xbindkeysrc and add the following lines:<br />
<br />
# Play/Pause<br />
"dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause"<br />
XF86AudioPlay<br />
<br />
# Next<br />
"dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Next"<br />
XF86AudioNext<br />
<br />
# Previous<br />
"dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Previous"<br />
XF86AudioPrev<br />
<br />
# Stop<br />
"dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Stop"<br />
XF86AudioStop<br />
<br />
If the above commands do not work, try setting the dbus address:<br />
<br />
USER=`whoami`<br />
PROCESS=spotify<br />
PID=`pgrep -o -u $USER $PROCESS`<br />
ENVIRON=/proc/$PID/environ<br />
if [ -e $ENVIRON ]<br />
then<br />
export `grep -z DBUS_SESSION_BUS_ADDRESS $ENVIRON`<br />
else<br />
echo "Unable to set DBUS_SESSION_BUS_ADDRESS."<br />
exit 1<br />
fi<br />
<br />
==== pactl (pulseaudio) ====<br />
<br />
As you might have noticed, MPRIS protocol commands don't include volume control. This is broken within spotify itself, which ignores volume change requests. However, there is a possibility to control volume via pulseaudio's input sink:<br />
<br />
$ pactl set-sink-input-volume "$current_sink_num" +1% #volume up by 1%<br />
$ pactl set-sink-input-volume "$current_sink_num" -1% #volume down by 1%<br />
$ pactl set-sink-input-mute "$current_sink_num" toggle #mute toggler<br />
<br />
The sink number for "$current_sink_num" can be found in the output of command:<br />
{{hc|head=$ pactl list sink-inputs|2=<br />
Sink Input #'''3''' << here<br />
Driver: protocol-native.c<br />
[...]<br />
application.name = "Spotify"}}<br />
<br />
You can create a script for changing volume and bind it for example to keyboard shortcut via [[desktop environments]] configuration or xdotool described in next section. Here are some examples:<br />
<br />
Bash:<br />
#!/bin/bash<br />
LANGUAGE="en_US"<br />
app_name="Spotify"<br />
current_sink_num=''<br />
sink_num_check=''<br />
app_name_check=''<br />
pactl list sink-inputs |while read line; do \<br />
sink_num_check=$(echo "$line" |sed -rn 's/^Sink Input #(.*)/\1/p')<br />
if [ "$sink_num_check" != "" ]; then<br />
current_sink_num="$sink_num_check"<br />
else<br />
app_name_check=$(echo "$line" \<br />
|sed -rn 's/application.name = "([^"]*)"/\1/p')<br />
if [ "$app_name_check" = "$app_name" ]; then<br />
pactl set-sink-input-volume "$current_sink_num" +1%<br />
fi<br />
fi<br />
done<br />
This script is based on work done by user [https://unix.stackexchange.com/users/52126/miko%c5%82ak Mikołak] in [https://unix.stackexchange.com/questions/208784/command-line-per-application-volume-maybe-amixer-or-pactl/209047#209047 this post].<br />
<br />
Unfortunately this script is not the fastest solution and if you execute it multiple times via keyboard hotkey, it might become laggy.<br />
<br />
Faster (like 10 times) Python code (requires at least Python 3.7 to be installed):<br />
#!/usr/bin/env python3<br />
#Author: Marcin Kocur, attribution license: https://creativecommons.org/licenses/by/4.0/<br />
import subprocess<br />
import os<br />
x=0<br />
y=0<br />
env = os.environ<br />
env['LANG'] = 'en_US'<br />
app = '"Spotify"'<br />
pactl = subprocess.check_output(['pactl', 'list', 'sink-inputs'], env=env).decode().strip().split()<br />
if app in pactl:<br />
for e in pactl:<br />
x += 1<br />
if e == app:<br />
break<br />
for i in pactl[0 : x -1 ]:<br />
y += 1<br />
if i == 'Sink' and pactl[y] == 'Input' and '#' in pactl[y + 1]:<br />
sink_id = pactl[y+1]<br />
if i == 'Volume:' and '%' in pactl[y + 3]:<br />
volume = pactl[y + 3]<br />
sink_id = sink_id[1: ]<br />
volume = volume[ : -1 ]<br />
if int(volume) < 100:<br />
subprocess.run(['pactl', 'set-sink-input-volume', sink_id, '+1%'])<br />
<br />
You can save it to a .py file. The last line does the actual job, so you can adjust the command to lower the volume or toggle mute.<br />
<br />
==== xdotool ====<br />
<br />
With the help of {{ic|xdotool}} it is possible to send your hotkeys to the application. The following script is an example of how to control Spotify from the outside:<br />
<br />
#!/bin/sh<br />
<br />
case $1 in<br />
"play")<br />
key="XF86AudioPlay"<br />
;;<br />
"next")<br />
key="XF86AudioNext"<br />
;;<br />
"prev")<br />
key="XF86AudioPrev"<br />
;;<br />
*)<br />
echo "Usage: $0 play|next|prev"<br />
exit 1<br />
;;<br />
esac<br />
xdotool key --window $(xdotool search --name "Spotify (Premium |Unlimited |Free )?- Linux Preview"|head -n1) $key<br />
exit 0<br />
<br />
Let us call it {{ic|musickeys.sh}}. Make the script executable:<br />
<br />
$ chmod +x musickeys.sh<br />
<br />
By executing {{ic|./musickeys.sh play}} you can now toggle playing a song. Now you can bind this script to any tool that catches keypresses, such as [[xbindkeys]].<br />
<br />
=== Disable track notifications===<br />
<br />
{{note|It is worth noting that if you have a {{AUR|SpotCommander}} [http://olejon.github.io/spotcommander/ Server] running alongside Spotify, and you disable track notifications by following the instructions below, the [https://play.google.com/store/apps/details?id&#61;net.olejon.spotcommander&hl&#61;en SpotCommander Client] running on your mobile device will display that “No Music is Playing” and will [http://askubuntu.com/questions/472325/remove-spotify-pop-up-notification-when-a-song-starts/472329#472329 fail to display track info] such as title, artist, album art, etc. Apart from that, the mobile client still works fine though, and is still able to skip, play, pause, control volume, etc.}}<br />
<br />
After version 0.9.10, track change notifications were enabled by default. They can be quite intrusive. To disable them, add the following line to {{ic|~/.config/spotify/Users/<spotifylogin>-user/prefs}}<br />
<br />
ui.track_notifications_enabled=false<br />
<br />
It is also possible to launch spotify with the {{ic|--ui.track_notifications_enabled&#61;false}} option.<br />
<br />
=== Show track notifications===<br />
<br />
{{Pkg|playerctl}} provides a library you can use with {{pkg|python-gobject}} and a notification daemon such as {{pkg|dunst}} to show the artist and title in a notification when the track changes.<br />
<br />
#!/usr/bin/env python3<br />
<br />
from gi.repository import Playerctl, GLib<br />
from subprocess import Popen<br />
<br />
player = Playerctl.Player()<br />
<br />
def on_track_change(player, e):<br />
track_info = '{artist} - {title}'.format(artist=player.get_artist(), title=player.get_title())<br />
Popen(['notify-send', track_info])<br />
<br />
player.on('metadata', on_track_change)<br />
<br />
GLib.MainLoop().run()<br />
<br />
=== Skip overplayed radio tracks===<br />
<br />
Another use of the {{Pkg|playerctl}} library is to skip tracks that are played too much on radio when you do not necessarily want to downvote these tracks because you may want to hear them again later on that station.<br />
<br />
#!/usr/bin/env python3<br />
<br />
from gi.repository import Playerctl, GLib<br />
<br />
player = Playerctl.Player()<br />
<br />
played_out = ['Zu Fuss', 'Walk And Talk', 'Neuland']<br />
<br />
def on_track_change(player, e):<br />
if player.get_title() in played_out:<br />
player.next()<br />
<br />
player.on('metadata', on_track_change)<br />
<br />
GLib.MainLoop().run()<br />
<br />
=== Mute commercials ===<br />
<br />
{{Warning|Muting commercials is not supported by Spotify and may result in a temporary ban [https://www.theverge.com/2018/3/5/17080920/spotify-cracking-down-pirating-premium-free-account]}}<br />
<br />
==== blockify ====<br />
<br />
With [https://github.com/mikar/blockify blockify] you can mute commercials. It is available in the [[AUR]] as {{AUR|blockify}}.<br />
<br />
To have this start and run in the background every time Spotify starts you will need to automate this yourself:<br />
<br />
{{bc|<nowiki><br />
#!/bin/sh<br />
<br />
spotify=/usr/bin/spotify<br />
<br />
if [[ -x $spotify && -x /usr/bin/blockify ]];<br />
then<br />
blockify &<br />
block_pid=$!<br />
$spotify<br />
trap "kill -9 $block_pid" SIGINT SIGTERM EXIT<br />
fi<br />
</nowiki>}}<br />
<br />
By placing this script at {{ic|/usr/local/bin/spotify}}, it gets preferred to {{ic|/usr/bin/spotify}} everytime you start Spotify, so there's nothing else to change and updates won't break it.<br />
<br />
==== spotblock ====<br />
<br />
[https://github.com/mahkoh/spotblock spotblock] ({{AUR|spotblock-git}}) is a resource-efficient ad blocker that runs as a systemd daemon.<br />
<br />
==== Spotify-AdKiller ====<br />
<br />
[https://github.com/SecUpwN/Spotify-AdKiller Spotify-AdKiller] ({{AUR|spotify-adkiller-git}}) is another alternative to block Spotify ads.<br />
<br />
==== Hosts file ====<br />
<br />
You may also add the following lines to your hosts file to block ads in Spotify :<br />
<br />
{{hc|/etc/hosts|<nowiki><br />
# Block spotify ads<br />
127.0.0.1 media-match.com<br />
127.0.0.1 adclick.g.doublecklick.net<br />
127.0.0.1 www.googleadservices.com<br />
127.0.0.1 open.spotify.com<br />
127.0.0.1 pagead2.googlesyndication.com<br />
127.0.0.1 desktop.spotify.com<br />
127.0.0.1 googleads.g.doubleclick.net<br />
127.0.0.1 pubads.g.doubleclick.net<br />
127.0.0.1 audio2.spotify.com<br />
127.0.0.1 www.omaze.com<br />
127.0.0.1 omaze.com<br />
127.0.0.1 bounceexchange.com<br />
#127.0.0.1 spclient.wg.spotify.com<br />
127.0.0.1 securepubads.g.doubleclick.net<br />
127.0.0.1 8.126.154.104.bc.googleusercontent.com<br />
127.0.0.1 104.154.126.8<br />
<br />
</nowiki>}}<br />
spclient.wg.spotify.com now appears to block radio and daily mixes, as well as recently played songs.<br />
<br />
=== Remote Control ===<br />
<br />
==== Send commands via SSH ====<br />
<br />
If you set up ssh on the server, you can send controls from a client to a remote Spotify instance with<br />
<br />
$ ssh user@host ''yourcommand''<br />
<br />
where ''yourcommand'' can be [https://code.google.com/p/spotifycmd/ spotifycmd] that you installed on the server, or a dbus script for the linux version, as described above.<br />
<br />
==== Grab the Spotify window via SSH ====<br />
<br />
Aside from grabbing the whole desktop with TeamViewer or VNC to remotely control your server, you can also only grab the Spotify Window from the server to your client.<br />
<br />
To do that, you need to configure sshd on your server and install x11vnc on both server and client as well as tigervnc on the client. Then you can use these scripts to grab either the complete dektop or only the Spotify window, which essentially gets you GUI client-like behavior as with MPD.<br />
<br />
{{bc|<nowiki><br />
#!/bin/bash<br />
# vncget.sh<br />
<br />
if [[ $1 == all ]];then<br />
ssh -f -t -L 5900:localhost:5900 user@host "x11vnc -q -display :0 -auth .Xauthority"<br />
else<br />
ssh -f -t -L 5900:localhost:5900 user@host ".bin/vncgetspotify.sh"<br />
fi<br />
<br />
for i in {1..4}; do<br />
sleep 2<br />
if vncviewer localhost:0; then break; fi<br />
done<br />
</nowiki>}}<br />
<br />
{{bc|<nowiki><br />
#!/bin/bash<br />
# vncgetspotify.sh<br />
<br />
export DISPLAY=:0<br />
<br />
id=$(wmctrl -lx | awk '/spotify.exe.Wine/ {print $1}')<br />
[[ -z $id ]] && id=$(wmctrl -lx | awk '/spotify.Spotify/ {print $1}')<br />
<br />
x11vnc -sid $id -display :0 -auth .Xauthority<br />
</nowiki>}}<br />
<br />
You will need to copy the second script to ~/.bin/vncgetspotify.sh on the server and the first script to any place on your client.<br />
<br />
Finally, to grab the spotify window, run on the client:<br />
<br />
$ sh vncget.sh<br />
<br />
or, for the whole desktop:<br />
<br />
$ sh vncget.sh all<br />
<br />
===HiDPI Mode===<br />
As the current Spotify build is not DPI aware, the amount to scale the interface by can be specified using the terminal command:<br />
$ spotify --force-device-scale-factor='''X'''<br />
<br />
where X is the amount to scale the interface by, e.g 2.<br />
<br />
This change can be added to the {{ic|spotify.desktop}} file in order to apply the scaling when launching from the desktop.<br />
<br />
To make sure the file does not get overwritten when the package is updated, copy it to you local applications folder:<br />
$ cp /usr/share/applications/spotify.desktop ~/.local/share/applications/<br />
<br />
Now edit {{ic|~/.local/share/applications/spotify.desktop}} and add the {{ic|--force-device-scale-factor}} option:<br />
<br />
{{hc|spotify.desktop|2=<br />
[Desktop Entry]<br />
Name=Spotify<br />
GenericName=Music Player<br />
Comment=Spotify streaming music client<br />
Icon=spotify-client<br />
Exec=spotify '''--force-device-scale-factor=2''' %U<br />
TryExec=spotify<br />
Terminal=false<br />
Type=Application<br />
Categories=Audio;Music;Player;AudioVideo<br />
MimeType=x-scheme-handler/spotify<br />
}}<br />
<br />
You might need to relaunch your Desktop Manager, before these override changes will be effective.<br />
<br />
== Troubleshooting ==<br />
<br />
=== Desktop Environment alerts (beeps) mutes Spotify ===<br />
<br />
Comment out "module-role-cork" in pulse audio configuration file.<br />
<br />
Open {{ic|/etc/pulse/default.pa}} with your text editor and comment out:<br />
<br />
load-module module-role-cork <br />
<br />
Or simply unload it with:<br />
<br />
pactl unload-module module-role-cork<br />
<br />
=== Using search causes the whole interface to blink and then crash ===<br />
<br />
Spotify is using an old version of Chromium Embedded Framework and hits a bug causing it to crash repeatedly when trying to use the search. This can be worked around by using the following command line option:<br />
<br />
--force-device-scale-factor=1.0000001<br />
<br />
=== Blinking images and improper rendering while using Spotify Linux with DWM ===<br />
Start spotify as a floating window.<br />
<br />
You can add this rule to the rules array in your {{ic|config.h}}:<br />
{ "Spotify", NULL, NULL, 2, True, -1 },<br />
<br />
This will tell dwm to start spotify as a floating window associated with the tag "2" no matter what window mode you are in. Recompile and install dwm to apply your new settings.<br />
<br />
=== Broken search, browsing or radio ===<br />
<br />
: Spotify [http://community.spotify.com/t5/Help-Desktop-Linux-Mac-and/Bug-Desktop-Linux-0-9-0-133-gd18ed589-Having-mixed-locale-breaks/td-p/418270 bug report] concerning non-english locales<br />
If various tabs like browsing only show a blank screen, the search field doesn't seem to do anything or the radio page is broken (stuck when starting and unsresponsive to input) you might be using a custom locale.<br />
<br />
Try setting the environment variable {{ic|LC_NUMERIC}} to {{ic|en_US.utf8}} before starting Spotify.<br />
<br />
=== Deadlock GUI Thread ===<br />
<br />
Can occur under tiling window managers, such as Awesome, when double-clicking new song or playlist. Edit the file {{ic|~/.config/spotify/Users/[1-9]*-user/prefs}} to add or change the following:<br />
<br />
ui.track_notifications_enabled=false<br />
<br />
Restart Spotify. Note that several causes appear to exist for this problem, and this particular fix only applies to select versions of Spotify client, i3 and Awesome, and it may be that additional root causes exist for the Debian and Ubuntu users reporting this issue. Observed with Spotify 0.9.17.1.g9b85d436 and Awesome 3.4.15 and i3-gaps 4.13-2 and Spotify 1.0.64.407.g9bd02c2d.<br />
<br />
{{Note|As of Spotify 1.0.17.75-2, {{ic|1=ui.track_notifications_enabled=false}} seems to be ignored. On the other hand, some users report not experiencing the deadlock anymore as of Awesome 3.5.6. Deadlocks could be caused by scripts called by Awesome, which rely on buggy spotify dbus properties. See [https://github.com/acrisci/playerctl/issues/20].}}<br />
<br />
'''Note:''' This issue has multiple causes, so keep track of what you change while researching this. Update this section with additional scenarios and fixes.<br />
<br />
=== Album art and images are missing, show up as squares ===<br />
<br />
Quit spotify, then open spotify preferences {{ic|~/.config/spotify/prefs}}<br />
<br />
Change @https to @http:<br />
<br />
network.proxy.addr="your-proxy.com:80<strong>@http</strong>"<br />
network.proxy.mode=2<br />
<br />
See original form post [http://community.spotify.com/t5/Help-Desktop-Linux-Mac-and/Mac-Windows-0-9-0-128-Apps-can-t-connect-anywhere-behind-proxy/m-p/448704#M52332 here].<br />
<br />
{{Note|As of 1.0.17 it looks like replacing https with http as suggested above can result in no connectivity at all. If this happens an alternative solution is to set 'no proxy' in the GUI use {{Pkg|proxychains-ng}} to force all TCP connection coming from the app through a proxy. Even with HTTP proxies that reject connections on port 80 (and only work for port 443) this works reliably.}}<br />
<br />
=== Spotify does not detect other devices on local network ===<br />
<br />
If a firewall is in place, open ports 57621 for UDP and TCP. If you use a variant of the [[iptables]] [[Simple stateful firewall]], the following should do it:<br />
<br />
iptables -A TCP -p tcp --dport 57621 -j ACCEPT -m comment --comment spotify<br />
iptables -A UDP -p udp --dport 57621 -j ACCEPT -m comment --comment spotify<br />
<br />
It is also possible to restrict the source and destination to the local network.<br />
<br />
If you are using Spotify Connect to play music on a wireless speaker or AVR, your firewall needs to be configured for Spotify's mDNS lookup of those. Sadly, it uses a random unprivileged port [https://community.spotify.com/t5/Desktop-Linux-Windows-Web-Player/Spotify-Connect-and-iptables-netfilter/td-p/1235049] which makes these firewall rules rather nasty. Fortunately, you can restrict the rules to source port 1900 or 5353.<br />
<br />
iptables -A UDP -p udp --sport 1900 --dport 1025:65535 -j ACCEPT -m comment --comment spotify<br />
iptables -A UDP -p udp --sport 5353 --dport 1025:65535 -j ACCEPT -m comment --comment spotify<br />
<br />
=== Search Bar text is invisible when using a dark theme ===<br />
<br />
The text in the search bar appears to be hardcoded to be white, making it invisible when using a dark Qt theme. To fix this, you'll need to make an override.<br />
<br />
First create a css file somewhere your account has permission to read/write from (such as your home folder). Call it whatever you like (eg. '''spotify-override.css''').<br />
<br />
Open the newly created css file and add the following:<br />
<br />
QLineEdit { color: #000 }<br />
<br />
Save the file and exit. Next, you need to add the following to the end of your Spotify launcher (substitute the path with the actual path of your css file):<br />
<br />
-stylesheet=/home/user/spotify-overide.css<br />
<br />
So your full launch path should look something like this:<br />
<br />
/usr/share/spotify/spotify-client/spotify -stylesheet=/home/user/spotify-override.css<br />
<br />
=== Can't play local files ===<br />
<br />
If you get a segmentation fault or error message when trying to play local files e.g.<br />
<br />
This song is not available. If you have the file on your computer you can import it.<br />
<br />
- it's caused by a missing libavcodec dependency. For PulseAudio users, installing {{aur|ffmpeg-compat-57}} should fix it. If you get PGP verification errors when you install it you might have to import the correct PGP key. <br />
<br />
$ gpg --keyserver pgp.mit.edu --recv-keys FCF986EA15E6E293A5644F10B4322F04D67658D8<br />
<br />
=== Not respecting window manager rules ===<br />
<br />
Window manager that try to apply specific rules like starting it on a determined workspace or maximizing it on startup, has no effect, as Spotify doesn't set the ''WM_CLASS'' property before creating the window, violating the ICCCM specifications. One solution is to use [https://github.com/dasJ/spotifywm spotifywm].<br />
<br />
=== GUI hangs while the music plays ===<br />
<br />
Also the previous and next track buttons act with a delay of 10-40 seconds. Spotify by default tries to send notification about next track, if you don't have a notification-daemon installed, Spotify's GUI hangs.<br />
<br />
The solution is to either disable notifications in the settings or to install a notification daemon from [[Desktop notifications]].<br />
<br />
=== Can't open settings in Wayland ===<br />
<br />
When using Wayland, clicking on the 'Settings' button does nothing. Using the keyboard instead will work (arrows and enter). See [https://community.spotify.com/t5/Desktop-Linux/Settings-don-t-open-on-Linux/td-p/1478736]<br />
<br />
==See also==<br />
* [https://github.com/acrisci/playerctl playerctl] — A command-line utility and library for controlling media players<br />
* [[SpotCommander]] — A web based remote control for Spotify<br />
* [https://www.spotify.com/int/download/linux/ Spotify for Linux] — Spotify's homepage for the Linux client</div>J!PRAhttps://wiki.archlinux.org/index.php?title=VMware&diff=574449VMware2019-06-02T12:38:34Z<p>J!PRA: /* Kernel modules */ Updated to cover the latest VMware minor version</p>
<hr />
<div>[[Category:Hypervisors]]<br />
[[it:VMware]]<br />
[[ja:VMware]]<br />
[[ru:VMware]]<br />
[[zh-hans:VMware]]<br />
{{Related articles start}}<br />
{{Related|:Category:Hypervisors}}<br />
{{Related|VMware/Installing Arch as a guest}}<br />
{{Related|Moving an existing install into (or out of) a virtual machine}}<br />
{{Related articles end}}<br />
<br />
This article is about the latest major [[Wikipedia:VMware|VMware]] versions, meaning [[Wikipedia:VMware Workstation|VMware Workstation]] Pro and Player 15, 14 and 12.5. <br />
<br />
You may also be interested in [[VMware/Installing Arch as a guest]]. For older versions, use the {{AUR|vmware-patch}} package.<br />
<br />
== Installation ==<br />
<br />
You can either install using VMware bundle or package {{aur|vmware-workstation}}. The latter is preferred if using ''VMware Workstation'' on x86_64.<br />
<br />
{{Note|VMware has dropped support for a number of CPUs including early Intel Core i7 CPUs since version 14. Check the [https://docs.vmware.com/en/VMware-Workstation-Pro/14.0/com.vmware.ws.using.doc/GUID-BBD199AA-C346-4334-9F56-5A42F7328594.html Processor Requirements for Host Systems]. If your CPU is not supported in the newer releases then you can use {{aur|vmware-workstation12}}.}}<br />
<br />
=== VMware bundle ===<br />
<br />
[[Install]] the correct dependencies:<br />
*{{pkg|fuse2}} - for ''vmware-vmblock-fuse''<br />
*{{pkg|gtkmm}} - for the GUI<br />
*{{pkg|linux-headers}}&nbsp;- for module compilation<br />
*{{AUR|ncurses5-compat-libs}} - needed by the {{ic|--console}} installer<br />
*{{pkg|libcanberra}} - for event sounds<br />
*{{pkg|pcsclite}} <br />
<br />
Download the latest [https://www.vmware.com/go/tryworkstation VMware Workstation Pro] or [https://www.vmware.com/go/downloadplayer Player] (or a [https://communities.vmware.com/community/vmtn/beta beta] version, if available).<br />
<br />
Start the installation:<br />
# sh VMware-''edition''-''version''.''release''.''architecture''.bundle<br />
<br />
{{Tip|Some useful flags:<br />
*{{ic|--eulas-agreed}} - Skip the EULAs<br />
*{{ic|--console}} - Use the console UI.<br />
*{{ic|--custom}} - Allows changing the install directory to e.g. {{ic|/usr/local}} (make sure to update the {{ic|vmware-usbarbitrator.service}} paths in [[#systemd services]]).<br />
*{{ic|-I}}, {{ic|--ignore-errors}} - Ignore fatal errors.<br />
*{{ic|1=--set-setting=vmware-workstation serialNumber XXXXX-XXXXX-XXXXX-XXXXX-XXXXX}} - Set the serial number during install (good for scripted installs).<br />
*{{ic|--required}} - Only ask mandatory questions (results in silent install when combined with {{ic|--eulas-agreed}} and {{ic|--console}}).<br />
}}<br />
<br />
For the {{ic|System service scripts directory}}, use {{ic|/etc/init.d}} (the default).<br />
<br />
{{Note|During the installation you will get an error about {{ic|"No rc*.d style init script directories"}} being given. This can be safely ignored, since Arch uses [[systemd]].}}<br />
<br />
{{Tip|To (re)build the modules from terminal later on, use:<br />
# vmware-modconfig --console --install-all<br />
}}<br />
<br />
=== Package build for x86_64 ===<br />
<br />
Install {{aur|vmware-workstation}}, {{aur|vmware-workstation14}}, {{aur|vmware-workstation12}} or {{aur|vmware-workstation11}} for respectively versions 15, 14, 12 and 11 of ''VMware Workstation''. It is also necessary to install the appropriate headers package(s) for your installed kernel(s): for example {{Pkg|linux-headers}} or {{Pkg|linux-lts-headers}}.<br />
<br />
Then, as desired, enable some of the following services:<br />
* {{ic|vmware-networks.service}} for guest network access<br />
* {{ic|vmware-usbarbitrator.service}} for connecting USB devices to guest<br />
* {{ic|vmware-hostd.service}} for sharing virtual machines<br />
<br />
Lastly, load the VMware modules:<br />
# modprobe -a vmw_vmci vmmon<br />
<br />
== Configuration ==<br />
<br />
=== Kernel modules ===<br />
<br />
VMware Workstation 15.1 supports kernel 5.0 out of the box. Older versions 14.1 and 12.5.7 have native support for kernels up to 4.13 and 4.12, respectively.<br />
<br />
For VMware bundle versions, a collection of patches needed for the VMware host modules to build against recent kernels can be found from the following GitHub repository, [https://github.com/mkubecek/vmware-host-modules/ vmware-host-modules]. See the INSTALL document found on the repository for the most up-to-date module installation instructions for VMware Workstation versions from 12.5.5 and up.<br />
<br />
Alternatively, the modules can be patched installing the {{AUR|vmware-patch}} package and executing:<br />
# vmware-patch -f<br />
<br />
=== systemd services ===<br />
<br />
''(Optional)'' Instead of using {{ic|/etc/init.d/vmware}} ({{ic|<nowiki>start|stop|status|restart</nowiki>}}) and {{ic|/usr/bin/vmware-usbarbitrator}} directly to manage the services, you may also use {{ic|.service}} files (also available in the {{AUR|vmware-systemd-services}} package, and also included in {{AUR|vmware-patch}} and {{AUR|vmware-workstation}} with a few differences):<br />
<br />
{{hc|/etc/systemd/system/vmware.service|<br />
2=[Unit]<br />
Description=VMware daemon<br />
Requires=vmware-usbarbitrator.service<br />
Before=vmware-usbarbitrator.service<br />
After=network.target<br />
<br />
[Service]<br />
ExecStart=/etc/init.d/vmware start<br />
ExecStop=/etc/init.d/vmware stop<br />
PIDFile=/var/lock/subsys/vmware<br />
RemainAfterExit=yes<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
}}<br />
<br />
{{hc|/etc/systemd/system/vmware-usbarbitrator.service|<br />
2=[Unit]<br />
Description=VMware USB Arbitrator<br />
Requires=vmware.service<br />
After=vmware.service<br />
<br />
[Service]<br />
ExecStart=/usr/bin/vmware-usbarbitrator<br />
ExecStop=/usr/bin/vmware-usbarbitrator --kill<br />
RemainAfterExit=yes<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
}}<br />
<br />
Add this service to enable networking:<br />
<br />
{{hc|/etc/systemd/system/vmware-networks-server.service|<br />
2=[Unit]<br />
Description=VMware Networks<br />
Wants=vmware-networks-configuration.service<br />
After=vmware-networks-configuration.service<br />
<br />
[Service]<br />
Type=forking<br />
ExecStartPre=-/sbin/modprobe vmnet<br />
ExecStart=/usr/bin/vmware-networks --start<br />
ExecStop=/usr/bin/vmware-networks --stop<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
}}<br />
<br />
Add this service as well, if you want to connect to your VMware Workstation installation from another Workstation Server Console:<br />
<br />
{{hc|/etc/systemd/system/vmware-workstation-server.service|<br />
2=[Unit]<br />
Description=VMware Workstation Server<br />
Requires=vmware.service<br />
After=vmware.service<br />
<br />
[Service]<br />
ExecStart=/etc/init.d/vmware-workstation-server start<br />
ExecStop=/etc/init.d/vmware-workstation-server stop<br />
PIDFile=/var/lock/subsys/vmware-workstation-server<br />
RemainAfterExit=yes<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
}}<br />
<br />
After which you can [[enable]] them on boot.<br />
<br />
==== Workstation Server service ====<br />
<br />
The {{ic|vmware-workstation-server.service}} calls {{ic|wssc-adminTool}} in its command chain, despite having been renamed to {{ic|vmware-wssc-adminTool}}.<br />
<br />
To prevent the service startup, this can be fixed with a symlink:<br />
<br />
# ln -s wssc-adminTool /usr/lib/vmware/bin/vmware-wssc-adminTool<br />
<br />
== Launching the application ==<br />
<br />
To open VMware Workstation Pro:<br />
$ vmware<br />
<br />
or Player:<br />
$ vmplayer<br />
<br />
== Tips and tricks ==<br />
<br />
=== Entering the Workstation Pro license key ===<br />
<br />
==== From terminal ====<br />
<br />
# /usr/lib/vmware/bin/vmware-vmx-debug --new-sn XXXXX-XXXXX-XXXXX-XXXXX-XXXXX<br />
<br />
Where {{ic|XXXXX-XXXXX-XXXXX-XXXXX-XXXXX}} is your license key.<br />
<br />
{{Note|The {{ic|-debug}} binary informs the user of an incorrect license.}}<br />
<br />
==== From GUI ====<br />
<br />
If the above does not work, you can try:<br />
<br />
# /usr/lib/vmware/bin/vmware-enter-serial<br />
<br />
=== Extracting the VMware BIOS ===<br />
<br />
$ objcopy /usr/lib/vmware/bin/vmware-vmx -O binary -j bios440 --set-section-flags bios440=a bios440.rom.Z<br />
$ perl -e 'use Compress::Zlib; my $v; read STDIN, $v, '$(stat -c%s "./bios440.rom.Z")'; $v = uncompress($v); print $v;' < bios440.rom.Z > bios440.rom<br />
<br />
=== Extracting the installer ===<br />
<br />
To view the contents of the installer {{ic|.bundle}}:<br />
<br />
$ sh VMware-''edition''-''version''.''release''.''architecture''.bundle --extract ''/tmp/vmware-bundle/''<br />
<br />
==== Using the modified BIOS ====<br />
<br />
If and when you decide to modify the extracted BIOS you can make your virtual machine use it by moving it to {{ic|~/vmware/''Virtual_machine_name''}}:<br />
$ mv bios440.rom ~/vmware/''Virtual_machine_name''/<br />
<br />
then adding the name to the {{ic|''Virtual_machine_name''.vmx}} file:<br />
{{hc|~/vmware/''Virtual_machine_name''/''Virtual_machine_name''.vmx|2=bios440.filename = "bios440.rom"}}<br />
<br />
=== Enable 3D graphics on Intel and Optimus ===<br />
<br />
Some graphics drivers are blacklisted by default, due to poor and/or unstable 3D acceleration. After enabling ''Accelerate 3D graphics'', the log may show something like:<br />
<br />
Disabling 3D on this host due to presence of Mesa DRI driver. Set mks.gl.allowBlacklistedDrivers = TRUE to override.<br />
<br />
The config file where you can set this setting is {{ic|~/.vmware/preferences}}.<br />
<br />
{{Note|You might need to add the {{ic|1=mks.gl.allowBlacklistedDrivers = "TRUE"}} inside the {{ic|.vmx}} file for the specific virtual machine as well, for 3D acceleration with {{ic|intel}} drivers to be enabled.}}<br />
<br />
=== System speedup tricks ===<br />
<br />
See also [[Improving performance]].<br />
<br />
==== Disable transparent hugepages ====<br />
<br />
{{Merge|Improving performance|Not specific to VMware.}}<br />
<br />
If you notice the guest and/or the host frequently freezing when running a VM, you may want to disable transparent hugepages. To disable them for the current session, run (on the host):<br />
<br />
# echo never > /sys/kernel/mm/transparent_hugepage/enabled<br />
<br />
To make the change persistent across boots, add the [[kernel parameter]] {{ic|1=transparent_hugepage=never}}.<br />
<br />
==== Ensure direct RAM access ====<br />
<br />
By default, VMware writes a running guest system's RAM to a file on disk. If you're certain you have enough spare memory, you can ensure the guest OS writes its memory directly to the host's RAM by adding the following to the VM's {{ic|.vmx}}:<br />
<br />
{{hc|''Virtual_machine_name''.vmx|2=<br />
MemTrimRate = "0" <br />
sched.mem.pshare.enable = "FALSE" <br />
prefvmx.useRecommendedLockedMemSize = "TRUE"<br />
mainmem.backing = "swap"<br />
}}<br />
<br />
== Troubleshooting ==<br />
<br />
=== Kernel headers for version 4.x-xxxx were not found. If you installed them[...] ===<br />
<br />
Install the headers ({{Pkg|linux-headers}}).<br />
<br />
{{Note|Upgrading the kernel and the headers will require you to boot to the new kernel to match the version of the headers. This is a relatively common error.}}<br />
<br />
=== USB devices not recognized ===<br />
<br />
{{Tip|Also handled by {{AUR|vmware-patch}}.}}<br />
<br />
If not using the [[#systemd services|systemd service]] to automatically handle the services, you need to manually start the {{ic|vmware-usbarbitrator}} binary as root each time.<br />
<br />
To start:<br />
<br />
# vmware-usbarbitrator<br />
<br />
To stop:<br />
<br />
# vmware-usbarbitrator --kill<br />
<br />
=== Incorrect login/password when trying to access VMware remotely ===<br />
<br />
VMware Workstation provides the possibility to remotely manage Shared VMs through the {{ic|vmware-workstation-server}} service. However, this will fail with the error {{ic|"incorrect username/password"}} due to incorrect [[PAM]] configuration of the {{ic|vmware-authd}} service. To fix it, edit {{ic|/etc/pam.d/vmware-authd}} like this:<br />
<br />
{{hc|/etc/pam.d/vmware-authd|<br />
#%PAM-1.0<br />
auth ''required pam_unix.so''<br />
account ''required pam_unix.so''<br />
password ''required pam_permit.so''<br />
session ''required pam_unix.so''<br />
}}<br />
<br />
and restart the {{ic|vmware}} [[systemd]] service.<br />
<br />
Now you can connect to the server with the credentials provided during the installation.<br />
<br />
{{Note|{{Pkg|libxslt}} may be required for starting virtual machines.}}<br />
<br />
=== Issues with ALSA output ===<br />
<br />
[http://bankimbhavsar.blogspot.co.nz/2011/09/hd-audio-in-vmware-fusion-4-and-vmware.html To fix] sound quality issues or enabling proper HD audio output, first run:<br />
$ aplay -L<br />
<br />
If interested in playing 5.1 ''surround sound'' from the guest, look for {{ic|1=surround51:CARD=''vendor_name'',DEV=''num''}}, if experiencing quality issues, look for {{ic|1=front:CARD=''vendor_name'',DEV=''num''}}. Finally put the name in the {{ic|.vmx}}:<br />
<br />
{{hc|~/vmware/''Virtual_machine_name''/''Virtual_machine_name''.vmx|2=<br />
sound.fileName=''"surround51:CARD=Live,DEV=0"''<br />
sound.autodetect=''"FALSE"''<br />
}}<br />
<br />
[[Advanced_Linux_Sound_Architecture#OSS_compatibility|OSS emulation]] should also be disabled.<br />
<br />
=== Kernel-based Virtual Machine (KVM) is running ===<br />
<br />
To disable {{ic|KVM}} on boot, you can use something like:<br />
<br />
{{hc|/etc/modprobe.d/vmware.conf|<br />
blacklist kvm<br />
blacklist kvm-amd # For AMD CPUs<br />
blacklist kvm-intel # For Intel CPUs<br />
}}<br />
<br />
{{Tip|If {{ic|kvm}} modules continue to load, despite being blacklisted, and you are running a system with integrated Intel graphics (i915,i965), it may be necessary to blacklist the {{ic|kvmgt}} kernel module directly from the kernel command line options. See [[Kernel module#Using kernel command line_2]] for more details.}}<br />
<br />
=== Module Issues ===<br />
<br />
==== /dev/vmmon not found ====<br />
<br />
The full error is:<br />
<br />
Could not open /dev/vmmon: No such file or directory.<br />
Please make sure that the kernel module 'vmmon' is loaded.<br />
<br />
This means that at least the {{ic|vmmon}} module is not loaded. See the [[#systemd services]] section for automatic loading.<br />
<br />
==== /dev/vmci not found ====<br />
<br />
The full error is:<br />
<br />
Failed to open device "/dev/vmci": No such file or directory<br />
Please make sure that the kernel module 'vmci' is loaded.<br />
<br />
Try to recompile VMware kernel modules with:<br />
<br />
# vmware-modconfig --console --install-all<br />
<br />
=== Installer Fails to Start ===<br />
<br />
If you just get back to the prompt when opening the {{ic|.bundle}}, then you probably have a deprecated or broken version of the VMware installer and it should removed (you may also refer to the [[#Uninstallation|uninstallation]] section of this article):<br />
# rm -r /etc/vmware-installer/<br />
<br />
==== User interface initialization failed ====<br />
<br />
You may also see an error like this:<br />
<br />
Extracting VMware Installer...done.<br />
No protocol specified<br />
No protocol specified<br />
User interface initialization failed. Exiting. Check the log for details.<br />
<br />
This can be fixed by either installing the {{AUR|ncurses5-compat-libs}} dependency or temporarily allowing root access to X:<br />
<br />
$ xhost +<br />
$ sudo ./<vmware filename>.bundle<br />
$ xhost -<br />
<br />
=== VMware Fails to Start ===<br />
<br />
==== Module CPUIDEarly power on failed ====<br />
<br />
Version 14 has stricter CPU requirements than version 12. If you try to start a virtual machine with an affected CPU, the following message will appear:<br />
<br />
This host does not support virtualizing real mode.<br />
The Intel "VMX Unrestricted Guest" feature is necessary to run this virtual machine on an Intel processor.<br />
<br />
The solution is to uninstall version 14 and install version 12 ({{aur|vmware-workstation12}}).<br />
<br />
==== Segmentation fault at startup due to old Intel microcode ====<br />
<br />
Old Intel microcode may result in the following kind of segmentation fault at startup:<br />
<br />
/usr/bin/vmware: line 31: 4941 Segmentation fault "$BINDIR"/vmware-modconfig --appname="VMware Workstation" --icon="vmware-workstation"<br />
<br />
See [[Microcode]] for how to update the microcode.<br />
<br />
==== vmplayer/vmware version 14 fails to start ====<br />
<br />
On systems with {{ic|librsvg}} version 2:2.44.0 and above, the log files (located in {{ic|/tmp/vmware-<id>}}) show several instances of the following error:<br />
<br />
appLoader| I125+ undefined symbol<br />
<br />
A workaround is to downgrade {{ic|librsvg}} to earlier version, or more preferably, force VMware to use its own shipped version of {{ic|librsvg}}:<br />
<br />
# export LD_LIBRARY_PATH=/lib/vmware/lib/librsvg-2.so.2:$LD_LIBRARY_PATH<br />
<br />
VMware also has a {{ic|VMWARE_USE_SHIPPED_LIBS}} variable:<br />
<br />
$ env VMWARE_USE_SHIPPED_LIBS=1 vmware<br />
<br />
==== vmplayer/vmware fails to start from version 12.5.4 ====<br />
<br />
As per [https://bbs.archlinux.org/viewtopic.php?id=224667] the temporary workaround is to downgrade the package {{ic|libpng}} to version 1.6.28-1 and keep it in the {{ic|IgnorePkg}} parameter in [[Pacman#Skip_package_from_being_upgraded|/etc/pacman.conf]].<br />
<br />
An easier workaround is to make VMWare use the system's version of zlib instead of its own one:<br />
<br />
# cd /usr/lib/vmware/lib/libz.so.1<br />
# mv libz.so.1 libz.so.1.old<br />
# ln -s /usr/lib/libz.so.1 .<br />
<br />
==== vmplayer/vmware fails to start from version 12.5.3 to version 12.5.5 ====<br />
<br />
It seems to be a problem with the file {{ic|/usr/lib/vmware/lib/libstdc++.so.6/libstdc++.so.6}}, missing {{ic|CXXABI_1.3.8}}.<br />
<br />
If the system have installed {{pkg|gcc-libs}}, that library is already installed. Therefore, it's possible to remove that file and vmplayer will use the one provided by gcc-libs instead. As root do:<br />
<br />
# mv /usr/lib/vmware/lib/libstdc++.so.6/libstdc++.so.6 /usr/lib/vmware/lib/libstdc++.so.6/libstdc++.so.6.bak<br />
<br />
Also there is a workaround: <br />
<br />
# export VMWARE_USE_SHIPPED_LIBS='yes'<br />
<br />
==== vmware 12 process terminates immediately after start, no GUI is launched ====<br />
<br />
Registered bug at [https://bugs.mageia.org/show_bug.cgi?id=9739 Mageia], but it seems that there are no error messages shown in terminal with arch. When inspecting the logs, which are in {{ic|/tmp/vmware-<id>}}, there are {{ic|VMWARE_SHIPPED_LIBS_LIST is not set}}, {{ic|VMWARE_SYSTEM_LIBS_LIST is not set}}, {{ic|VMWARE_USE_SHIPPED_LIBS is not set}}, {{ic|VMWARE_USE_SYSTEM_LIBS is not set}} issues. Process simply terminates with {{ic|Unable to execute /usr/lib/vmware/bin/vmware-modconfig.}} after vmware or vmplayer is executed. Solution is the same, as root do:<br />
<br />
# mv /etc/vmware/icu/icudt44l.dat /etc/vmware/icu/icudt44l.dat.bak<br />
<br />
Also there is a workaround: <br />
<br />
# export VMWARE_USE_SHIPPED_LIBS='yes'<br />
<br />
Despite setting the VMWARE_USE_SHIPPED_LIBS variable, VMWare may still fail to find certain libraries. An example is the libfontconfig.so.1 library. Check vmware logs in the tmp directory to see which libraries are still not found. Copy them to the appropriate path with libraries existing on the system:<br />
<br />
# cp /usr/lib/libfontconfig.so.1 /usr/lib/vmware/lib/libfontconfig.so.1/<br />
<br />
Instead of copying all these files manually, you may want to try exporting an additional setting:<br />
<br />
# export VMWARE_USE_SYSTEM_LIBS='yes'<br />
<br />
On systems with fontconfig version '''2.13.0''' and above, it may be needed to replace the shipped libfontconfig file with version '''2.12.6''' library file and force VMware to use that file instead of the newer system file. This applies for at least VMware version '''12.5.9'''. As root do:<br />
<br />
# cd /usr/lib/vmware/lib/libfontconfig.so.1<br />
# wget https://archive.archlinux.org/packages/f/fontconfig/fontconfig-2.12.6-1-x86_64.pkg.tar.xz<br />
# tar -xvf fontconfig-2.12.6-1-x86_64.pkg.tar.xz usr/lib/libfontconfig.so.1.10.1<br />
# mv libfontconfig.so.1 libfontconfig.so.1.old<br />
# mv ./usr/lib/libfontconfig.so.1.10.1 ./libfontconfig.so.1<br />
# rm -r ./usr ./fontconfig-2.12.6-1-x86_64.pkg.tar.xz<br />
# export LD_LIBRARY_PATH=/usr/lib/vmware/lib/libfontconfig.so.1:$LD_LIBRARY_PATH<br />
<br />
=== Guest Issues ===<br />
<br />
==== Unable to download VMware Tools for Guests ====<br />
<br />
To download the tools manually, visit the [http://softwareupdate.vmware.com/cds/vmw-desktop/ VMware repository].<br />
<br />
Navigate to: "''application name'' / ''version'' / ''build ID'' / linux / packages/" and download the appropriate Tools.<br />
<br />
Extract with:<br />
<br />
$ tar -xvf vmware-tools-''name''-''version''-''buildID''.x86_64.component.tar<br />
<br />
And install using the VMware installer:<br />
<br />
# vmware-installer --install-component=''/path/''vmware-tools-''name''-''version''-''buildID''.x86_64.component<br />
<br />
If the above does not work, try installing {{AUR|ncurses5-compat-libs}}.<br />
<br />
==== Guests have incorrect system clocks or are unable to boot: "[...]timeTracker_user.c:234 bugNr=148722" ====<br />
<br />
This is due to [http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&externalId=1591 incomplete] support of power management features ([[Wikipedia:Intel speedstep|Intel SpeedStep]] and [[Wikipedia:AMD powernow|AMD PowerNow!]]/[[Wikipedia:Cool'n'Quiet|Cool'n'Quiet]]) in VMware Linux that vary the CPU frequency. In March 2012, with the release of [https://projects.archlinux.org/svntogit/packages.git/commit/trunk/config.x86_64?h=packages/linux&id=9abe018d91a5d8c3af7523d30b8aa73f86b680be linux 3.3-1] the maximum frequency [[CPU frequency governors|Performance]] governor was replaced with the dynamic ''Ondemand''. When the host CPU frequency changes, the Guest system clock runs too quickly or too slowly, but may also render the whole Guest unbootable.<br />
<br />
To prevent this, the maximum host CPU frequency can be specified, and [[Wikipedia:Time Stamp Counter|Time Stamp Counter]] (TSC) disabled, in the global configuration:<br />
<br />
{{hc|/etc/vmware/config|2=<br />
host.cpukHz = "X" # The maximum speed in KHz, e.g. 3GHz is "3000000".<br />
host.noTSC = "TRUE" # Keep the Guest system clock accurate even when<br />
ptsc.noTSC = "TRUE" # the time stamp counter (TSC) is slow.<br />
}}<br />
<br />
{{Tip|To periodically correct the time (once per minute), in the ''Options'' tab of VMware Tools, enable: ''"Time synchronization between the virtual machine and the host operating system"''.}}<br />
<br />
==== Networking on Guests not available after system restart ====<br />
<br />
This is likely due to the {{ic|vmnet}} module not being loaded [http://www.linuxquestions.org/questions/slackware-14/could-not-connect-ethernet0-to-virtual-network-dev-vmnet8-796095/]. See also the [[#systemd services]] section for automatic loading.<br />
<br />
==== Strange mouse wheel behavior on Guest ====<br />
<br />
This is related to the current Xorg keyboard layout on Host system. Keep primary layout (e.g., English) selected on Host while working on Guest.<br />
<br />
== Uninstallation ==<br />
<br />
To uninstall VMware you need the product name (either {{ic|vmware-workstation}} or {{ic|vmware-player}}). To list all the installed products:<br />
$ vmware-installer -l<br />
<br />
and uninstall with ({{ic|--required}}&nbsp;skips the confirmation):<br />
# vmware-installer -u ''product'' --required<br />
<br />
{{Tip|Use {{ic|--console}} for the console UI.}}<br />
<br />
Remember to also [[disable]] and remove the services:<br />
# rm /etc/systemd/system/vmware.service<br />
# rm /etc/systemd/system/vmware-usbarbitrator.service<br />
<br />
You may also want to have a look at the module directories in {{ic|/usr/lib/modules/''kernel_name''/misc/}} for any leftovers, and remove {{ic|/etc/init.d/}} if now empty.</div>J!PRAhttps://wiki.archlinux.org/index.php?title=List_of_games&diff=565288List of games2019-01-30T03:58:26Z<p>J!PRA: /* Action and adventure */ Fixed letter case</p>
<hr />
<div>[[Category:Gaming]]<br />
[[Category:Lists of software]]<br />
[[da:List of games]]<br />
[[es:List of games]]<br />
[[it:List of games]]<br />
[[ja:ゲーム一覧]]<br />
[[lt:Games]]<br />
[[ru:Gaming]]<br />
[[zh-hans:List of games]]<br />
{{Related articles start}}<br />
{{Related|List of applications}}<br />
{{Related|Gaming}}<br />
{{Related articles end}}<br />
<br />
This page strives to list all games which have a package available in the [[official repositories]] or the [[AUR]]. There are many more Linux games available, which are not packaged. See [[Gaming#Getting games]] for ways to obtain them.<br />
<br />
For more about running games, related system configuration tips, see [[Gaming]]. For an up to date selection of games available in the AUR, try checking the [https://aur.archlinux.org/packages/?SeB=k&K=game AUR 'game' keyword].<br />
<br />
== Action and adventure ==<br />
<br />
* {{App|Abuse|Side-scroller action game that pits you against ruthless alien killers.|http://abuse.zoy.org/|{{Pkg|abuse}}}}<br />
* {{App|[[Wikipedia:Aquaria (video game)|Aquaria]]|2D sidescrolling action-adventure game, heavily focused on exploration and puzzle-solving, with non-linear gameplay. The game engine is open source.|http://www.bit-blot.com/aquaria|{{AUR|aquaria-ose}}, {{AUR|aquaria-hib}}}}<br />
* {{App|Astromenace|Modern 3D scrolling space shooter with ship upgrade possibilities.|https://sourceforge.net/projects/openastromenace/|{{Pkg|astromenace}}}}.<br />
* {{App|1=Barrage|2=Violent ''point-and-click'' shooting game with nice effects|3=http://lgames.sourceforge.net/Barrage/|4={{Pkg|barrage}}}}<br />
* {{App|[[Wikipedia:Blob Wars|Blob Wars: Metal Blob Solid]]|2D action-adventure game with various weapons and missions.|https://sourceforge.net/projects/blobwars/|{{Pkg|blobwars}}}}<br />
* {{App|[[Wikipedia:BZFlag|BZFlag]]|Multiplayer, first-person tank shooter.|http://bzflag.org/|{{Pkg|bzflag}}}}<br />
* {{App|[[Wikipedia:Commander_Keen|Commander_Keen]]| side-scrolling platform action video game|http://clonekeen.sourceforge.net/|{{AUR|clonekeen}}}}<br />
* {{App|[[Wikipedia:Gish (video game)|Gish]]|2D physics platformer about adventures of ball of tar.|https://github.com/freegish/freegish|{{AUR|freegish-git}}}}<br />
* {{App|[[Wikipedia:Hammerfight|Hammerfight]]|2-dimensional physics-based combat game.|http://www.koshutin.com/|{{AUR|hammerfight}}}}<br />
:* The open-source Unix port of the Haaf's Game Engine is available at [https://icculus.org/hge-unix/ icculus.org].<br />
* {{App|kobodeluxe|An enhanced version of Akira Higuchi's game XKobo, an addictive space shoot'em up|http://www.olofson.net/kobodl/|{{Pkg|kobodeluxe}}}}<br />
* {{App|Kollision|Moving a ball to avoid other balls. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kollision/|{{Pkg|kollision}}}}<br />
* {{App|KSpaceDuel|Player attempts to destroy opponent’s satellite and controll their own one to keep it orbiting. Part of {{Grp|kdegames}}|https://kde.org/applications/games/kspaceduel/|{{Pkg|kspaceduel}}}}<br />
* {{App|[[Wikipedia:Liquid_War|Liquid War]] | 2D multiplayer game with a simple and unique game mechanic. It could be classified as a fast-paced strategy. | http://www.ufoot.org/liquidwar/ | {{AUR|liquidwar}}}}<br />
:* A rewrite of the game program, now adopted as a GNU project: {{AUR|liquidwar6}}, homepage: [http://www.gnu.org/software/liquidwar6/ | Liquid War 6]<br />
* {{App|[[Minecraft]]|Java based sandbox game.<br />
|https://minecraft.net/|{{AUR|minecraft}}}}<br />
* {{App|[[Wikipedia:Neverball|Neverball]]|3D game to guide a ball through a maze.|http://neverball.org/|{{Pkg|neverball}}}}<br />
* {{App|[[Wikipedia:Liero#OpenLieroX|OpenLieroX]]|An extremely addictive realtime worms shoot-em-up backed by an active gamers community.|http://openlierox.sourceforge.net/|{{AUR|openlierox}}}}<br />
* {{App|[[Wikipedia:Rune (video game)|Rune]]|3rd person Adventure / Hack'n Slay using Unreal Engine. Runs great from box installation.|http://www.rune-world.com|{{AUR|rune}}}}<br />
* {{App|1=Paintball Party 2|2=Paintball Party 2 is the sequel to Paintball Party, a multiplayer action platformer for all ages.|3=http://www.t3-i.com/pages/project.php?id=paintball_party_2|4={{AUR|paintball-party-2}}}}<br />
* {{App|XBill|Kill all instances of a virus before it infects all computers with a malware resembling Microsoft Windows.|http://www.xbill.org/|{{Pkg|xbill}}}}<br />
<br />
== Arcade ==<br />
* {{App|Bomber|A 2D game with a goal by hitting targets with bombs before their plane crashes into them. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/bomber/|{{Pkg|bomber}}}}<br />
* {{App|Bomberclone|Free Bomberman-like game for Linux and Windows. The rules of the game are simple: run though a level and bomb other players.|http://www.bomberclone.de/core.html|{{Pkg|bomberclone}}}}<br />
* {{App|[[Wikipedia:Cave Story|Cave Story/Doukutsu]]|Addictive 1-man-made metroid-vania-esque platformer. If there happens to be a noticible lag when there are lots of enemies on screen or in larger levels, try running the Windows version through Wine. This should fix the problem.|http://cavestory.org|{{AUR|doukutsu}}}}<br />
* {{App|Chromium|Fast paced, arcade-style, top-scrolling space shooter.|http://chromium-bsu.sourceforge.net/|{{Pkg|chromium-bsu}}}}<br />
* {{App|Counter-Strike 2D|2D clone (+additional features) of the popular Counter-Strike Mod|http://cs2d.com|{{AUR|counter-strike-2d}}}}<br />
* {{App|Crack-attack|Free OpenGL game, based on the Super Nintendo classic Tetris Attack.|http://www.nongnu.org/crack-attack/|{{AUR|crack-attack}}}}<br />
* {{App|[[DDNet]]|DDraceNetwork, a mod of Teeworlds|https://ddnet.tw/|{{AUR|ddnet}}}}<br />
<br />
* {{App|[[Wikipedia:Frozen Bubble|Frozen Bubble]]|Arcade game with colorful animated penguin eyecandy|http://frozen-bubble.org|{{Pkg|frozen-bubble}}}}<br />
* {{App|Granatier|A clone of ''Bomberman''. Part of {{Grp|kdegames}}|https://www.kde.org/applications/games/granatier/|{{Pkg|granatier}}}}<br />
* {{App|[[Wikipedia:Hedgewars|Hedgewars]]|Yet another Worms clone, considered to be better than its predecessor by many. Take turns to blast your opponents into oblivion with comedic results! Best in Multiplayer.|https://hedgewars.org/|{{Pkg|hedgewars}}}}<br />
* {{App|kapman|A clone of ''PacMan''. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kapman/|{{Pkg|kapman}}}}<br />
* {{App|kbreakout|''Breakout''-style game. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kbreakout/|{{Pkg|kbreakout}}}}<br />
* {{App|1=lbreakout2|2=Breakout-style arcade game in the manner of Arkanoid|3=http://lgames.sourceforge.net/LBreakout2/|4={{Pkg|lbreakout2}}}}<br />
* {{App|kbounce|Building walls to limit amount of space occupied by two balls bouncing off the walls. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kbounce/|{{Pkg|kbounce}}}}<br />
* {{App|ksnakeduel|''Snake''-like game for 2 players which compete to survive longer than the opponent. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/ksnakeduel/|{{Pkg|ksnakeduel}}}}<br />
* {{App|1=LTris|2=Arcade version of Tetris|3=http://lgames.sourceforge.net/LTris/|4={{Pkg|ltris}}}}<br />
* {{App|[[Wikipedia:Mari0|Mari0]]|The Mario game with Portal gun mechanics.|http://stabyourself.net/mari0/|{{Pkg|mari0}}}}<br />
* {{App|Nikki and the Robots|Cute physics platformer|https://github.com/nikki-and-the-robots/nikki|{{AUR|nikki}}}}<br />
* {{App|Penguin Command|Clone of the classic game "Missile Command" with improved graphics and sound.|http://www.linux-games.com/penguin-command/|{{AUR|penguin-command}}}}<br />
* {{App|Pinball|Open source pinball simulator for Linux and other Unix systems.|http://pinball.sourceforge.net/|{{AUR|pinball}}}}<br />
* {{App|PowerManga|Arcade 2D shoot-em-up game with 41 levels and more than 200 sprites.|http://linux.tlk.fr/games/Powermanga/|{{AUR|powermanga}}}}<br />
* {{App|Quadrapassel|A ''Tetris'' remake for GNOME.|https://wiki.gnome.org/Apps/Quadrapassel|{{Pkg|quadrapassel}}}}<br />
* {{App|Streets of Rage Remake|A remake of the classic Streets of Rage 1, 2 and 3 by Sega.|http://sorr.forumotion.net/|{{AUR|streetsofrageremake}}}}<br />
* {{App|opsu!|An open source Java client for the rhythm game osu!.|https://itdelatrisu.github.io/opsu/|{{AUR|opsu}}}}<br />
* {{App|[[Wikipedia:Teeworlds|Teeworlds]]|Fast-paced 2D multiplayer shooter|https://www.teeworlds.com/|{{Pkg|teeworlds}} (0.7 branch) or {{AUR|teeworlds06}} (0.6 branch)}}<br />
* {{App|Tetrinet|Multiplayer online Tetris game for up to six people.|http://www.tetrinet.info/|{{AUR|gtetrinet}}}}<br />
* {{App|Trackballs|A 3D marble game inspired by the classic Marble Madness.|https://trackballs.github.io/|{{AUR|trackballs}}}}<br />
* {{App|Ultrastar-ng|Clone of SingStar, a music video game.|http://performous.org/|{{AUR|ultrastardx-git}}}}<br />
* {{App|[[Wikipedia:Warmux|Warmux]] (previously ''Wormux'')|Somewhat similar to Worms 2/Worms Armageddon|https://gna.org/projects/warmux/|{{AUR|warmux}}}}<br />
<br />
== Casual games ==<br />
* {{App|Aisleriot|A collection of solitaire card games.|https://wiki.gnome.org/Apps/Aisleriot|{{Pkg|aisleriot}}}}<br />
* {{App|Atanks|A multi-platform Scorched Earth clone similar to the Worms series of games|http://atanks.sourceforge.net/|{{AUR|atanks}}{{Broken package link|package not found}}}}<br />
* {{App|bs|Battleships based shooter for the console|http://www.catb.org/~esr/bs/|{{AUR|bs}}}}<br />
* {{App|BSD Games|Collection of classic text games distributed with *BSD|http://wiki.linuxquestions.org/wiki/BSD_games|{{Pkg|bsd-games}}}}<br />
* {{App|Kajongg|An implementation of [[wikipedia:Mahjong|Mahjong]] for 4 players. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kajongg/|{{Pkg|kajongg}}}}<br />
* {{App|KCheckers|Qt-based checkers boardgame.|http://qcheckers.sourceforge.net/|{{Pkg|kcheckers}}}}<br />
* {{App|KPatience|A set of solitarire card games. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kpatience/|{{Pkg|kpatience}}}}<br />
* {{App|KSquares|A [[wikipedia:Dots_and_Boxes|dots-and-boxes]] game for two players. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/ksquares/|{{Pkg|ksquares}}}}<br />
* {{App|Lskat|A variation of [[wikipedia:Skat|Skat]] card game for two players. Part of {{Grp|kdegames}}|https://www.kde.org/applications/games/lskat/|{{Pkg|lskat}}}}<br />
* {{App|Mah-Jong|Chinese Classical mahjong (not solitaire) with network support|http://mahjong.julianbradfield.org/|{{Pkg|mahjong}}}}<br />
* {{App|nInvaders|Ncurses based space invaders clone|http://ninvaders.sourceforge.net/|{{AUR|ninvaders}}}}<br />
* {{App|xroach|cockroaches hide under your windows||{{AUR|xroach}}}}<br />
<br />
== Chess simulators ==<br />
* {{App|[[Wikipedia:GNU Chess|GNU Chess]]|One of the oldest computer chess programs for Unix-based computers, lets most modern computers play a full game of chess|https://gnu.org/s/chess|{{Pkg|gnuchess}}}}<br />
* {{App|chessx|Chess Database and PGN viewer|http://chessx.sourceforge.net|{{AUR|chessx}}}}<br />
* {{App|cutechess|A graphical user interface, command-line interface and a library for playing chess|https://github.com/cutechess/cutechess|{{AUR|cutechess}}}}<br />
* {{App|Eboard|Chess interface to ICS and chess engines|http://bergo.eng.br/eboard|{{AUR|eboard}}}}<br />
* {{App|1=Knights|2=Chess board by KDE with XBoard protocol support.|3=https://www.linux-apps.com/content/show.php/Knights?content=122046|4={{Pkg|knights}}}}<br />
* {{App|PyChess|An advanced chess client for linux following the GNOME Human Interface Guidelines.|http://pychess.org/|{{Pkg|pychess}}}}<br />
* {{App|[[Wikipedia:GNOME Chess|GNOME Chess]]|A 2D chess game which can use third party chess engines.|https://wiki.gnome.org/Apps/Chess|{{Pkg|gnome-chess}}}}<br />
* {{App|glChess|3D Chess Frontend.|https://wiki.gnome.org/Apps/Chess|{{AUR|glchess}}}}<br />
<br />
== Education ==<br />
<br />
* {{App|Artikulate|Pronunciation trainer that helps improving and perfecting a learner's pronunciation skills for a foreign language. Part of {{Grp|kdeedu}}.|https://www.kde.org/applications/education/artikulate/|{{Pkg|artikulate}}}}<br />
* {{App|Blinken|Sequence-remembering game for training memory. Part of {{Grp|kdeedu}}.|https://www.kde.org/applications/education/blinken/|{{Pkg|blinken}}}}<br />
* {{App|[[Wikipedia:GCompris|GCompris]]|Educational software suite comprising of numerous activities for children aged 2 to 10.|https://gcompris.net/|{{Pkg|gcompris-qt}}}}<br />
* {{App|[[Wikipedia:Kanagram|Kanagram]]|Letter order game. Part of {{Grp|kdeedu}}.|https://www.kde.org/applications/education/kanagram/|{{Pkg|kanagram}}}}<br />
* {{App|KBruch|Small program to practice calculating with fractions and percentages. Part of {{Grp|kdeedu}}.|https://www.kde.org/applications/education/kbruch/|{{Pkg|kbruch}}}}<br />
* {{App|[[Wikipedia:KGeography|KGeography]]|Geography learning tool, which allows you to learn about the political divisions of some countries (divisions, capitals of those divisions and their associated flags if there are some). Part of {{Grp|kdeedu}}.|https://www.kde.org/applications/education/kgeography/|{{Pkg|kgeography}}}}<br />
* {{App|[[Wikipedia:KHangMan|KHangMan]]|[[Wikipedia:Hangman (game)|Hangman]] game. Part of {{Grp|kdeedu}}.|https://www.kde.org/applications/education/khangman/|{{Pkg|khangman}}}}<br />
* {{App|[[Wikipedia:KLettres|KLettres]]|Application specially designed to help the user to learn alphabet in a new language and then to learn to read simple syllables. Part of {{Grp|kdeedu}}.|https://www.kde.org/applications/education/klettres/|{{Pkg|klettres}}}}<br />
* {{App|Minuet|Software for music education. Part of {{Grp|kdeedu}}.|https://minuet.kde.org/|{{Pkg|minuet}}}}<br />
* {{App|Nootka|Application to learn classical score notation.|https://nootka.sourceforge.io/|{{AUR|nootka}}}}<br />
* {{App|[[Wikipedia:Tux, of Math Command|Tux Math]]|Arcade game that helps kids practice their math facts.|https://github.com/tux4kids/tuxmath|{{AUR|tuxmath}}}}<br />
* {{App|[[Wikipedia:Tux Paint|Tux Paint]]|Drawing program designed for young children.|http://tuxpaint.org/|{{Pkg|tuxpaint}}}}<br />
* {{App|[[Wikipedia:Tux Typing|Tux Typing]]|Educational typing tutor for kids starring Tux.|https://github.com/tux4kids/tuxtype|{{AUR|tuxtype}}}}<br />
<br />
== Interactive fiction ==<br />
<br />
See also [[Wikipedia:Interactive fiction#Development systems]].<br />
<br />
* {{App|[[Wikipedia:Inform|Inform]]|Design system for interactive fiction based on natural language|http://inform7.com/|{{AUR|inform7}}}}<br />
* {{App|INSTEAD|Quest interpreter using Lua macros as game writing language|https://instead.syscall.ru/|{{AUR|instead-launcher}} {{AUR|instead}}}}<br />
* {{App|[[Wikipedia:TADS|TADS]]|Prototype-based domain-specific programming language and set of standard libraries for creating interactive fiction (IF) games|http://tads.org|{{AUR|frobtads}}}}<br />
<br />
== Massively multiplayer online games (MMO) ==<br />
<br />
See also [[Wikipedia:List of massively multiplayer online games]] and [[Wikipedia:Comparison of massively multiplayer online role-playing games]].<br />
<br />
* {{App|[[Dofus]]|Free, manga inspired, Massively Multiplayer Online Role-playing Game (MMORPG) for Adobe AIR|http://www.dofus.com|{{AUR|dofus}}}}<br />
* {{App|[[Wikipedia:Eternal Lands|Eternal Lands]]|3D fantasy online role playing game|http://www.eternal-lands.com|{{AUR|eternallands}}}}<br />
* {{App|[[Wikipedia:PlaneShift (video game)|Planeshift]]|Role Playing Game immersed into a 3D virtual fantasy world which is FULLY FREE to play. Fully free means you will have no surprises of premium content which will limit your gameplay or unbalance the game. There are no limitations in skills, ranks, abilities, items you can gain with your free account|http://www.planeshift.it|{{AUR|planeshift}}}}<br />
* {{App|[[RuneScape]]|Massive online adventure game by Jagex|http://www.runescape.com|{{AUR|unix-runescape-client}} (old Java client), {{AUR|runescape-launcher}} (new NXT client)}}<br />
* {{App|[[Wikipedia:Ryzom|Ryzom]]|3D Fantasy MMORPG|http://www.ryzom.com|{{AUR|ryzom-client}}}}<br />
* {{App|[[Wikipedia:Savage: The Battle for Newerth|Savage: The Battle for Newerth]]|Online multiplayer team-based FPS/RTS hybrid. Open-sourced in September 2006. Savage XR, the most improved continuation (including SFE patches), is completely free (no purchasing/ads whatsoever) however closed-source to reduce cheating.|http://www.newerth.com/|{{AUR|savage}}}}<br />
* {{App|[[Wikipedia:Savage 2: A Tortured Soul|Savage 2: A Tortured Soul]]|Fantasy themed online multiplayer team-based FPS/RTS/RPG hybrid. Free-to-play as of December 2008. Pay for premium accounts providing crucial game elements such as extra inventory slots, access to clans and removal of the Hellbourne unit restrictions (per-account), as well as access to replays and stats.|http://savage2.net|{{AUR|savage2}}}}<br />
* {{App|The Mana World|Serious effort to create an innovative free and open source MMORPG|https://www.themanaworld.org|{{Pkg|manaplus}}}}<br />
<br />
== Platformer ==<br />
<br />
* {{App|[[Wikipedia:Frogatto|Frogatto]]|Platformer with adventure elements.|https://frogatto.com|{{Pkg|frogatto}}}}<br />
* {{App|KGoldrunner|A platform game with the goal of collecting gold. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kgoldrunner/|{{Pkg|kgoldrunner}}}}<br />
* {{App|1=Knyttstories|2=Platformer with adventure elements, heavy exploration and downloadable levels.|3=http://nifflas.ni2.se/?page=Knytt+Stories|4={{AUR|knyttstories}}}}<br />
* {{App|Secret Maryo Chronicles|Mario-style game.|http://www.secretmaryo.org/|{{AUR|smc}}}}<br />
* {{App|SuperTux|Mario-style game featuring Tux.|http://supertux.lethargik.org/|{{Pkg|supertux}}}}<br />
* {{App|Toppler|Reimplementation of the classic jump & run game "Nebulus".|http://toppler.sourceforge.net/|{{AUR|toppler}}}}<br />
* {{App|The Secret Chronicles of Dr. M.|A fork of Secret Maryo Chronicles.|https://github.com/secretchronicles/TSC|{{AUR|tsc}}}}<br />
<br />
== Puzzle ==<br />
<br />
* {{App|Atomix|Build molecules out of single atoms.|https://wiki.gnome.org/Apps/Atomix|{{Pkg|atomix}}}}<br />
* {{App|Blockout II|3D tetris, free adaptation of the original BlockOut DOS game edited by California Dreams in 1989|http://www.blockout.net/blockout2/|{{AUR|blockout2}}}}<br />
* {{App|Bovo|[[wikipedia:Gomoku|Gomoku]]-like game. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/bovo/|{{Pkg|bovo}}}}<br />
* {{App|Cgoban3|Kiseido Go and SGF client.|http://www.igoweb.org/~wms/comp/cgoban/|{{Pkg|cgoban}}}}<br />
* {{App|Chroma|Puzzle game like Sokoban with ncurses and graphics mode|http://www.level7.org.uk/chroma/|{{AUR|chroma}}}}<br />
* {{App|Crack Attack!|Free OpenGL game based on the Super Nintendo classic Tetris Attack.|http://www.aluminumangel.org/attack/|{{AUR|crack-attack}}}}<br />
* {{App|GNOME Sudoku|Test your logic skills in this number grid puzzle.|https://wiki.gnome.org/Apps/Sudoku|{{Pkg|gnome-sudoku}}}}<br />
* {{App|Gnu Go|A terminal-based implementation of Go from GNU.|https://www.gnu.org/software/gnugo/|{{Pkg|gnugo}}}}<br />
* {{App|Gopanda|Client for the Pandanet-IGS go Server.|http://pandanet-igs.com/communities/gopanda2|{{AUR|Gopanda}}}}<br />
* {{App|gweled|Eliminating tiles by joining them in groups of three.|https://launchpad.net/gweled/|{{Pkg|gweled}}}}<br />
* {{App|Hitori|Small application written to allow one to play the eponymous puzzle game, which is similar in theme to more popular puzzles such as Sudoku.|https://wiki.gnome.org/Apps/Hitori|{{Pkg|hitori}}}}<br />
* {{App|KAtomic|Slide elements so they resemble a chemical molecule. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/katomic/|{{Pkg|katomic}}}}<br />
* {{App|KBlackbox|Finding positions of hidden balls by using hints. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kblackbox/|{{Pkg|kblackbox}}}}<br />
* {{App|KBlocks|''Tetris'' clone. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kblocks/|{{Pkg|kblocks}}}}<br />
* {{App|KDiamond|Eliminating tiles by joining them in groups of three. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kdiamond/|{{Pkg|kdiamond}}}}<br />
* {{App|KFourInLine|Competition between two players to put a line of four pieces before the opponent. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kfourinline/|{{Pkg|kfourinline}}}}<br />
* {{App|Kigo|''Go'' for KDE. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kigo/|{{Pkg|kigo}}}}<br />
* {{App|Killbots|A turn-based game with an objective of avoiding robots that are trying to kill the player. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/killbots/|{{Pkg|killbots}}}}<br />
* {{App|KJumpingCube|Take-all-tiles game in which one gains fields by increasing value of one’s own nearby fields. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kjumpingcube/|{{Pkg|kjumpingcube}}}}<br />
* {{App|1=Klickety|2=Clearing the board by removing aligned tiles. Part of {{Grp|kdegames}}.|3=https://games.kde.org/game.php?game=klickety|4={{Pkg|klickety}}}}<br />
* {{App|KLines|Moving balls around the board to form a line of 5 of the same color. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/klines/|{{Pkg|klines}}}}<br />
* {{App|KMines|[[wikipedia:Minesweeper_(video_game)|Minesweeper]], part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kmines/|{{Pkg|kmines}}}}<br />
* {{App|KNetwalk|Rotating tiles with wires to connect all computers to internet. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/knetwalk/|{{Pkg|knetwalk}}}}<br />
* {{App|Kolf|A minigolf game with 2D overhead view. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kolf/|{{Pkg|kolf}}}}<br />
* {{App|KShisen|[[wikipedia:Shisen-Sho|Shisen-Sho]]. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kshisen/|{{Pkg|kshisen}}}}<br />
* {{App|KSudoku|Sudoku game and more for KDE. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/ksudoku/|{{Pkg|ksudoku}}}}<br />
* {{App|Kubrick|A Rubik’s cube solving game. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kubrick/|{{Pkg|kubrick}}}}<br />
* {{App|Marvellous Inc.|MarvInc is a zachlike puzzle game with a story told through emails.|https://github.com/MarvellousSoft/MarvInc|{{AUR|marvinc-git}}}}<br />
* {{App|Palapeli|Jigsaw puzzle game. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/palapeli/|{{Pkg|palapeli}}}}<br />
* {{App|Pathological|Complete all wheels on the board by collecting marbles of the same color in each of them.|http://pathological.sourceforge.net/howtoplay.php|{{Pkg|pathological}}}}<br />
* {{App|Picmi|Nonogram puzzle game|https://games.kde.org/picmi|{{Pkg|picmi}}}}<br />
* {{App|Pingus|Lemmings clone, i.e. a level-based puzzle game.|http://pingus.seul.org/|{{Pkg|pingus}}}}<br />
* {{App|Ri-li|Toy wood engine GPL game|http://ri-li.sourceforge.net/|{{AUR|ri-li}}}}<br />
* {{App|qgo|A Go client and full featured SGF editor |https://github.com/pzorin/qgo|{{Pkg|qgo}}}}<br />
* {{App|Simon Tatham's Portable Puzzle Collection|30+ "quick" puzzle games with simplistic but polished GTK GUI |http://www.chiark.greenend.org.uk/~sgtatham/puzzles/|{{Pkg|puzzles}}}}<br />
* {{App|[[Wikipedia:VVVVVV|VVVVVV]]|Highly praised 2D puzzle platform indie game with a C64 retro theme, with a great chiptune soundtrack. You can buy the full version for £1.67, or play the [http://www.kongregate.com/games/TerryCavanagh/vvvvvv-demo/ demo] in a browser.<br />
:{{Tip|You may want to backup your save file, which is found at {{Ic|~/.macromedia/Flash_Player/#SharedObjects/''string''/localhost...}}.}}<br />
|http://thelettervsixtim.es/|{{AUR|vvvvvv}}}}<br />
* {{App|XMahjongg|Mahjong solitaire for X.|https://www.lcdf.org/xmahjongg/|{{Pkg|xmahjongg}}}}<br />
* {{App|Xscorch|Clone of the classic DOS game Scorched Earth.|http://www.xscorch.org/|{{AUR|xscorch}}}}<br />
* {{App|[[Wikipedia:World of Goo|World of Goo]]|Great 2D puzzle game.|https://www.2dboy.com|{{AUR|worldofgoo}}}}<br />
<br />
== Racing ==<br />
<br />
* {{App|Armagetron Advanced|Tron Clone in 3D.|http://armagetronad.net/|{{Pkg|armagetronad}}}}<br />
* {{App|Extreme Tux Racer|3D game where you guide Tux the penguin down a course of snow and ice collecting herring.|https://sourceforge.net/projects/extremetuxracer|{{Pkg|extremetuxracer}}}}<br />
* {{App|Maniadrive|Arcade car game on acrobatic tracks with quick and nervous gameplay.|http://maniadrive.raydium.org/|{{AUR|maniadrive}}}}<br />
* {{App|Moon Buggy|Simple game for the text mode.|http://seehuhn.de/pages/moon-buggy/|{{AUR|moon-buggy}}}}<br />
* {{App|Speed Dreams|Fork of Torcs, aiming to implement exciting new features as well as improving realism.|http://speed-dreams.org/|{{AUR|speed-dreams-svn}}}}<br />
* {{App|Stunt Rally|Racing game with rally style of driving, mostly on gravel.|http://stuntrally.tuxfamily.org/|{{AUR|stuntrally}}{{Broken package link|package not found}}}}<br />
* {{App|Supertux Kart|Kart racing game featuring Tux and his friends.|http://supertuxkart.sourceforge.net/|{{Pkg|supertuxkart}}}}<br />
* {{App|Torcs|3D racing cars simulator using OpenGL.|http://torcs.sourceforge.net/|{{AUR|torcs}}}}<br />
* {{App|Trigger Rally|Free OpenGL rally car racing game.|https://sourceforge.net/projects/trigger-rally/|{{AUR|trigger}}}}<br />
* {{App|Ultimate Stunts|Remake of the famous DOS-game 'stunts'.|http://www.ultimatestunts.nl/|{{AUR|ultimatestunts}}}}<br />
* {{App|VDrift|Open source driving simulation made with drift racing in mind.|http://vdrift.net/|{{AUR|vdrift}}}}<br />
* {{App|[[Wikipedia:X-Moto|XMoto]]|Challenging 2D motocross platform game, where physics play an important role.|https://xmoto.tuxfamily.org/|{{AUR|xmoto}}}}<br />
<br />
== Rogue-like ==<br />
<br />
See also [[Wikipedia:Chronology of roguelike video games]].<br />
<br />
* {{App|[[Wikipedia:ADOM|ADOM]]|Ancient Domains Of Mystery.|http://adom.de|{{AUR|adom}}}}<br />
* {{App|[[Wikipedia:Angband (video game)|Angband]]|Roguelike dungeon exploration game based on the writings of JRR Tolkien.|http://rephial.org/|{{Pkg|angband}}}}<br />
* {{App|ASCIIpOrtal|Sidescrolling game with ANSI text graphics in which you are a person holding a device which creates portals, or links to other parts of the level.|https://github.com/cymonsgames/ASCIIpOrtal|{{Pkg|asciiportal}}}}<br />
* {{App|[[Wikipedia:Brogue (video game)|Brogue]]|A beginner-friendly Rogue-like.|https://sites.google.com/site/broguegame/|{{AUR|brogue}}}}<br />
* {{App|[[Wikipedia:Cataclysm: Dark Days Ahead|Cataclysm: Dark Days Ahead]]|Post-apocalyptic roguelike.|http://en.cataclysmdda.com/|{{Pkg|cataclysm-dda}}}}<br />
* {{App|[[Wikipedia:Linley's Dungeon Crawl|Linley's Dungeon Crawl]]||http://www.dungeoncrawl.org/|{{AUR|crawl}}}}<br />
* {{App|[[Wikipedia:DoomRL|DoomRL]]|Simple roguelike game, based on Doom. Perfect for starters.|http://doom.chaosforge.org/|{{AUR|doomrl}}}}<br />
* {{App|[[Wikipedia:Dwarf_Fortress|Dwarf Fortress]]|Single-player fantasy game. You control a dwarven outpost or an adventurer in a randomly generated persistent world.|http://www.bay12games.com/dwarves/|{{Pkg|dwarffortress}}}}<br />
* {{App|glHack|An OpenGL-based clone of NetHack.|http://glhack.sourceforge.net/|{{Pkg|glhack}}}}<br />
* {{App|Infra-Arcana|A game inspired by the writings of H.P. Lovecraft.|https://sites.google.com/site/infraarcana/|{{AUR|infra-arcana}}, {{AUR|infra-arcana-git}}}}<br />
* {{App|[[Wikipedia:NetHack|Nethack]]|Single player dungeon exploration game.|http://www.nethack.org/|{{Pkg|nethack}}}}<br />
* {{App|[[Wikipedia:Rogue (video game)|Rogue]]|Original dungeon crawl game.|http://rogue.rogueforge.net/rogue-5-4/|{{Pkg|rogue}}}}<br />
* {{App|[[Wikipedia:Dungeon Crawl Stone Soup|Stone Soup]]|Dungeon Crawl Stone Soup.|https://crawl.develz.org/wordpress/|{{Pkg|stone-soup}}}}<br />
* {{App|[[Wikipedia:Tales of Maj'Eyal|Tales of Maj'Eyal]] (previously ''Troubles of Middle Earth'')|A dungeon crawler similar to Angband, based on the works of Tolkien.|https://te4.org/|{{AUR|tome2}}, {{AUR|tome4}}}}<br />
* {{App|wanderer|Wanderer is a game similar to Boulderdash, Repton, XOR and others.|http://e271.net/~marina/wanderer.html|{{AUR|wanderer}} {{AUR|wanderer-git}}}}<br />
* {{App|Shattered Pixel Dungeon|Shattered fork of the popular rogue-like game Pixel Dungeon.|http://www.shatteredpixel.com/|{{AUR|shattered-pixel-dungeon}},{{AUR|shattered-pixel-dungeon-git}}}}<br />
<br />
== Role-playing games (RPG) ==<br />
<br />
* {{App|Arx Libertatis|This project is a fully working, open source port of Arx Fatalis, a 2002 first-person role-playing game developed by Arkane Studios. It features some improvements over the original engine like bug fixes and wide screen support.|https://arx-libertatis.org/|{{AUR|arxlibertatis}}}}<br />
* {{App|Egoboo|Open-source action RPG/dungeon crawling adventure with OpenGL 3D graphics.|http://egoboo.sourceforge.net/|{{AUR|egoboo}}}}<br />
* {{App|fheores2|Attempt to reimplement the [[Wikipedia:Heroes of Might and Magic II|Heroes of Might and Magic II]] engine using SDL.|https://sourceforge.net/projects/fheroes2/|{{AUR|fheroes2-svn}}}}<br />
* {{App|Flare|Action game similar to Diablo.|http://www.flarerpg.org/|{{AUR|flare-game-git}}}}<br />
* {{App|FreedroidRPG|Mature science fiction role playing game set in the future|http://freedroid.org/|{{Pkg|freedroidrpg}}}}<br />
* {{App|GemRB|Attempt to reimplement the [[Wikipedia:Infinity Engine|Bioware's Infinity Engine]] under GNU GPL.|http://www.gemrb.org/|{{Pkg|gemrb}}}}<br />
* {{App|OpenMW|Attempt to reimplement the popular role-playing game [[Wikipedia:Morrowind|Morrowind]]. OpenMW aims to be a fully playable, open source implementation of the game's engine.|https://openmw.org/|{{Pkg|openmw}}}}<br />
* {{App|VCMI|Attempt to reimplement [[Wikipedia:Heroes of Might and Magic III|Heroes of Might and Magic III]].|http://forum.vcmi.eu/portal.php|{{AUR|vcmi}} {{AUR|vcmi-git}}}}<br />
<br />
== Shooters (FPS, third person) ==<br />
<br />
* {{App|[[Wikipedia:CodeRED: Alien Arena|Alien Arena]]|Free, standalone FPS focused mainly on online multiplayer, but can also be played singleplayer against bots.|http://red.planetarena.org/|{{Pkg|alienarena}}{{Broken package link|package not found}}}}<br />
* {{App|[[Wikipedia:AssaultCube|AssaultCube]]|Free multiplayer FPS, based on the cube engine. Realistic environments, fast, arcade gameplay. Much like Counter-Strike.|https://assault.cubers.net/|{{Pkg|assaultcube}}}}<br />
* {{App|AssaultCube Reloaded|AssaultCube improved.|http://acr.victorz.ca|{{AUR|assaultcube-reloaded}}}}<br />
* {{App|[[Wikipedia:Cube 2: Sauerbraten|Cube 2: Sauerbraten]]|Improved version of the Cube engine.|http://sauerbraten.org/|{{Pkg|sauerbraten}}}}<br />
* [[Wikipedia:Doom (1993 video game)|Doom]]: the famous shooter from ID Software has several ports for Linux. None of the id-engine games have copyleft game resources, only the game engine code was open sourced. See [http://doom.wikia.com/wiki/Source_port] for details.<br />
:* Doom 1 Demo data &ndash; {{AUR|doom1-wad}}<br />
:* {{App|[[Brutal Doom]]|A gore-themed gameplay mod for Doom that was created in 2010 by Marcos Abenante (Sergeant_Mark_IV).|http://www.moddb.com/mods/brutal-doom|{{AUR|brutal-doom}}}}<br />
:{{Note| Instructions at [[Brutal Doom#Installation]] show how to modify {{AUR|gzdoom-git}} directly without {{AUR|brutal-doom}}. {{Pkg|openal}} is required for in-game audio.}}<br />
:* {{App|Freedoom|Project aimed at creation of free Doom data files.|http://www.nongnu.org/freedoom/|{{AUR|freedoom1}}, {{AUR|freedoom2}}}}<br />
:* {{App|Chocolate Doom|Doom port reproducing the behavior of the original DOS version.|https://www.chocolate-doom.org/|{{AUR|chocolate-doom}}}}<br />
:* {{App|Doomsday|Advanced port of the Doom game engine, capable also of running Heretic, and Hexen games.|http://www.dengine.net/|{{AUR|doomsday}}}}<br />
:* {{App|GZDoom|Doom source port based on ZDoom with an OpenGL renderer.|https://github.com/coelckers/gzdoom|{{AUR|gzdoom}}}}<br />
:* {{App|PrBoom Plus|Enhanced version of the PrBoom Doom engine port.|http://prboom-plus.sourceforge.net/|{{AUR|prboom-plus}}}}<br />
:* {{App|ZDoom|Enhanced Doom port with additional support for Heretic, Hexen and Strife.|https://www.zdoom.org/|{{AUR|zdoom}}}}<br />
* [[Wikipedia:Doom 3|Doom 3]]<br />
:* {{App|Doom 3|Stock Doom 3 binaries|http://www.idsoftware.com|{{AUR|doom3-bin}}}}<br />
:* {{App|Doom 3 Engine|Source-based Doom 3 engine|http://www.idsoftware.com|{{AUR|doom3}}}}<br />
:* {{App|dhemw3|Fork of iodoom3|https://github.com/dhewm/dhewm3|{{AUR|dhewm3}}}}<br />
:* {{App|RBDOOM-3-BFG|Fork of Doom 3 BFG Edition|https://github.com/RobertBeckebans/RBDOOM-3-BFG|{{AUR|rbdoom-3-bfg}}}}<br />
* {{App|ezQuake|Fast paced multiplayer FPS focusing on movement and trick jumps. The popular, modern and maintained Quake/QuakeWorld client. Can play on-line for free |http://ezquake.sourceforge.net/|{{AUR|ezquake}}}}<br />
* [[Wikipedia:Duke Nukem 3D|Duke Nukem 3D]]<br />
:* {{App|eduke32|Advanced source port.|http://eduke32.com/|{{AUR|eduke32}}}}<br />
* {{App|[[Wikipedia:Enemy Territory: Quake Wars|Enemy Territory: Quake Wars]]|Commercial team and class-based multiplayer game. Full version requires retail DVD to play.|http://zerowing.idsoftware.com/linux/etqw/ETQWFrontPage/|{{AUR|etqw}}}}<br />
* {{App|HHeretic|Linux port of Raven Game's old shooter, Heretic.|http://hhexen.sourceforge.net/hheretic.html|{{AUR|hheretic}}}}<br />
:* Heretic Demo game data &ndash; {{AUR|heretic1-wad}}<br />
* {{App|HHexen|Linux port of Raven Game's old shooter, Hexen.|http://hhexen.sourceforge.net/hhexen.html|{{AUR|hhexen}}}}<br />
:* Hexen 1 Demo game data &ndash; {{AUR|hexen1-wad}}<br />
* {{App|[[Wikipedia:Nexuiz|Nexuiz]]|Free, open-source first person shooter. Development ceased, most of the developers moved to project [http://xonotic.org/ Xonotic].|http://alientrap.org/nexuiz|{{Pkg|nexuiz}}}}<br />
* {{App|nQuake|Fast paced multiplayer FPS focusing on movement and trick jumps. This is the popular Quake / QuakeWorld package, including ezQuake client, 24bit textures, maps, bots and more. Can play on-line for free.|http://nquake.sourceforge.net/|{{AUR|nquake}}}}<br />
* {{App|[[Wikipedia:OpenArena|OpenArena]]|Fast multiplayer shooter based on the quake3-engine.|http://openarena.ws|{{AUR|openarena}}}}<br />
* {{App|[[Wikipedia:Prey (video game)|Prey]]|First Person Shooter released in 2006 (with a GNU/Linux port in 2008), published by 3D Realms.|https://www.3drealms.com/prey/index.html|{{AUR|prey}}}}<br />
* [[Red Crucible]]<br />
:* Red Crucible®: Firestorm - Free to play online FPS &ndash; {{AUR|rcf}}<br />
:* Red Crucible®: Reloaded - Free to play online FPS &ndash; {{AUR|rcr}}<br />
* [[Wikipedia:Quake (video game)|Quake]]<br />
:* Advanced Quake 1 game engine &ndash; {{AUR|darkplaces}}<br />
:* High quality textures for Quake from the Quake Revitalization Project &ndash; {{AUR|quake-qrp-textures}}<br />
* [[Wikipedia:Quake II|Quake II]]<br />
:* {{App|Quake 2|Built by Icculus|https://www.icculus.org/quake2/|{{AUR|quake2}}}}<br />
:* A true color retexture pak for Quetoo and other Quake2 engines supporting 32bpp tga textures &ndash; {{AUR|quake2-retexture}}<br />
:* Quake 2 engine focused on single player and 64bits. {{AUR|yamagi-quake2}}<br />
* [[Wikipedia:Quake III Arena|Quake III Arena]]<br />
:* Quake III Arena binaries &ndash; {{AUR|quake3}}<br />
:* {{App|ioquake3|De-facto FOSS Quake 3 distribution.|https://ioquake3.org/|{{AUR|ioquake3}}}}<br />
* [[Wikipedia:Quake 4|Quake 4]]<br />
:* Demo version &ndash; {{AUR|quake4-demo}}<br />
:* Quake 4 engine &ndash; {{AUR|quake4}}<br />
* {{App|[[Wikipedia:Red Eclipse|Red Eclipse]]|Single-player and multi-player first-person ego-shooter, built as a total conversion of Cube Engine 2.|http://redeclipse.net|{{AUR|redeclipse}}}}<br />
* {{App|Tesseract|Smooth FPS with map editing, instagib, DM and CTF.|http://tesseract.gg/|{{AUR|tesseract-game}}}}<br />
* {{App|[[Wikipedia:Tremulous|Tremulous]]|FPS with elements of real time strategy, featuring humans and aliens.|http://tremulous.net/|{{AUR|tremulous}}}}<br />
* {{App|[[Wikipedia:Unreal Tournament (upcoming video game)|Unreal Tournament (upcoming)]]|Free and open-source remake of the original using Unreal Engine 4|https://www.unrealtournament.com/|{{AUR|unrealtournament4}}}}<br />
* {{App|[[Wikipedia:Unvanquished (video game)|Unvanquished]]|Team-based fps/rts hybrid game which pits aliens against humans. Monthly release that can be played on official servers.|https://unvanquished.net/|{{AUR|unvanquished}}}}<br />
* {{App|[[Urban Terror]]|Modern multiplayer FPS based on the ioquake3 engine.|http://urbanterror.info|{{AUR|urbanterror}}}}<br />
* {{App|[[Wikipedia:Warsow (game)|Warsow]]|Fast paced multiplayer FPS focusing on movement and trick jumps.|https://warsow.net|{{Pkg|warsow}}}}<br />
* [[Wolfenstein: Enemy Territory]]<br />
:* Completely free, standalone, team-based, multiplayer FPS &ndash; {{AUR|enemy-territory}}<br />
:* Advanced open source project and fully compatible client and server &ndash; {{AUR|etlegacy32}}<br />
* {{App|[[Wikipedia:World of Padman|World of Padman]]|Stand slone somplex &ndash; cartoon-style multiplayer first-person shooter.|http://worldofpadman.net/website|{{AUR|worldofpadman}}}}<br />
* {{App|[[Wikipedia:Xonotic|Xonotic]]|Free, open-source first person shooter (a fork of Nexuiz but with modified gameplay).|http://xonotic.org|{{Pkg|xonotic}}}}<br />
<br />
== Simulation ==<br />
<br />
* {{App|[[Wikipedia:Beyond the Red Line|Beyond the Red Line]]|Completely free stand-alone conversion of Freespace 2 based on the TV show Battlestar Galactica. Presumed abandoned, see Diaspora: Shattered Armistice for an alternative.|http://www.beyondtheredline.net/|{{AUR|btrl}}}}<br />
* {{App|Endless Sky|Open source, 2D space trading and combat game similar to the classic Escape Velocity series.|https://endless-sky.github.io/|{{AUR|endless-sky-git}}}}<br />
* {{App|[[Wikipedia:Flight Gear|Flight Gear]]|Open-source, multi-platform flight simulator.|http://www.flightgear.org/|{{AUR|flightgear}}}}<br />
* {{App|[[Wikipedia:FooBillard|Foobillard++]]|Successor to Foobillard, OpenGL billiard game for Linux.|http://foobillardplus.sourceforge.net/|{{Pkg|foobillard++}}}}<br />
* {{App|[[Wikipedia:FreeSpace 2|FreeSpace 2]]|Open sourced space emulator.|https://icculus.org/freespace2/|{{AUR|fs2_open}}}}<br />
* {{App|Minetest|Voxel-based sandbox game engine and game.|http://www.minetest.net/|{{Pkg|minetest}} {{Pkg|minetest-server}}}}<br />
* {{App|Naev|Open source, 2D space trading and combat game, taking inspiration from the Escape Velocity series.|http://blog.naev.org/|{{Pkg|naev}}}}<br />
* {{App|[[Wikipedia:BVE Trainsim#openBVE|openBVE]]|Free-as-in-freedom train simulator placed in the public domain.|https://web.archive.org/web/odakyufan.zxq.net/openbve/|{{Pkg|openbve}}}}<br />
* {{App|[[Wikipedia:Oolite (video game)|Oolite]]|3D space trading and combat simulator in the spirit of Elite.|http://oolite.org/|{{AUR|oolite}}}}<br />
* {{App|[[Wikipedia:Pioneer (video game)|Pioneer]]|Open source, 3D, freeform single player space adventure set in the Milkyway galaxy at the turn of the 31st century in the spirit of Frontier: Elite II.|http://pioneerspacesim.net/|{{AUR|pioneer}}}}<br />
* {{App|Pydance|Python Dance Dance Revolution style game.|https://icculus.org/pyddr/|{{AUR|pydance}}}}<br />
* {{App|[[Wikipedia:Stepmania|Stepmania]]|Advanced dance simulation game.|http://www.stepmania.com/|{{AUR|stepmania}}}}<br />
* {{App|Terasology|Open source voxel world.|http://terasology.org|{{AUR|terasology}}}}<br />
* {{App|The Powder Toy|Open source physics sandbox game, which simulates air pressure and velocity, heat, gravity and a countless number of interactions between different substances.|http://powdertoy.co.uk/|{{AUR|powder-toy}}}}<br />
* {{App|Voxelands|A fork of Minetest, an Infiniminer/Minecraft inspired game.|http://www.voxelands.com/|{{AUR|voxelands}}}}<br />
<br />
== Strategy ==<br />
=== Real-time ===<br />
* {{App|[[Wikipedia:0 A.D. (video game)|0 A.D.]]|3D and historically-based real-time strategy game, alpha stage. Based on the Age of Empires series.|https://play0ad.com/|{{Pkg|0ad}}}}<br />
* {{App|Dark Oberon|Open source real-time strategy game similar to Warcraft II.|http://dark-oberon.sourceforge.net/|{{AUR|dark-oberon}}}}<br />
* {{App|Factorio|A proprietary game about mining resources, planning and building factories, automating production and fighting alien enemies.|http://www.factorio.com/|{{AUR|factorio}}}}<br />
* {{App|Factorio demo|A proprietary game about mining resources, planning and building factories, automating production and fighting alien enemies. (Demo)|http://www.factorio.com/|{{AUR|factorio-demo}}}}<br />
* {{App|[[Wikipedia:FTL:_Faster_Than_Light|FTL: Faster Than Light]]|Popular rogue-like space-sim released to positive reception in 2012.|http://www.ftlgame.com/|{{AUR|ftl}}}}<br />
* {{App|Globulation 2|Multiplayer RTS with some "economic" elements minimizing the amount of micromanagement.|https://globulation2.org/wiki/Main_Page|{{Pkg|glob2}}}}<br />
* {{App|[[Wikipedia:Heroes of Newerth|Heroes of Newerth]]|Online, multi-player strategy game that is based upon DoTA (Defense of the Ancients). Free-to-own (gameplay free; pay for cosmetic upgrades only)|https://heroesofnewerth.com/|{{AUR|hon}}}}<br />
* {{App|[[Wikipedia:Spring_Engine#Kernel_Panic|Kernel Panic]]|A game based around combat inside a computer, with 3 unique sides: the System, the Hacker and the Network waging war in a matrix of DOOM! No resource economy exists in KP, with the only constraints being time and space.|https://springrts.com/wiki/Kernel_Panic|{{Pkg|spring-kp}}{{Broken package link|package not found}}}}<br />
* {{App|[[Wikipedia:MegaGlest|MegaGlest]]|Fork of Glest, a 3D real-time strategy game in a fantastic world.|https://megaglest.org|{{Pkg|megaglest}}}}<br />
* {{App|[[Wikipedia:Netpanzer|Netpanzer]]|Real-time strategy game like Command and Conquer but without building bases.|http://www.netpanzer.org/|{{AUR|netpanzer}}}}<br />
* {{App|[[Wikipedia:OpenRA|OpenRA]]|Real-time strategy game written in C# and based on the Command & Conquer game franchise|http://www.openra.net/|{{Pkg|openra}}}}<br />
* {{App|[[Wikipedia:Spring_Engine#Spring:1944|Spring:1944]]| A WWII themed game with four fully functional sides (US, Germany, USSR, Britain), period-accurate units and strengths. Realism comes second only to creating a game that is fun and accessible to play.|http://spring1944.org/|{{Pkg|spring-1944}}{{Broken package link|package not found}}}}<br />
* {{App|[[Wikipedia:Unknown Horizons|Unknown Horizons]]|2.5D isometric real-time strategy simulation with an emphasis on economy and city building. Expand your small settlement to a strong and wealthy colony, collect taxes and supply your inhabitants with valuable goods. Increase your power with a well balanced economy and with strategic trade and diplomacy.|http://www.unknown-horizons.org/|{{AUR|unknown-horizons-git}}}}<br />
* {{App|Warzone 2100|You command the forces of The Project in a battle to rebuild the world after mankind has almost been destroyed by nuclear missiles. The game offers campaign, multi-player, and single-player skirmish modes. An extensive tech tree with over 400 different technologies, combined with the unit design system, allows for a wide variety of possible units and tactics. The AUR package installs its videos ({{Bug|55310}}).|https://wz2100.net/|{{Pkg|warzone2100}} {{AUR|warzone2100-sequences}}}}<br />
* {{App|[[Wikipedia:Widelands|Widelands]]|Slow-paced strategy like "the Settlers 2".|https://widelands.org|{{Pkg|widelands}}}}<br />
* {{App|[[Wikipedia:Zero-K|Zero-K]]|Zero-K is a free multi-platform open source real-time strategy computer game. Initially based on content from Total Annihilation on the open source Spring Engine, it was forked and all proprietary content replaced, and evolved into a completely new game with unique features. It can be easily installed by installing the flobby client from the AUR or alternatively (and preferably) by installing the official mono package and downloading and running the Zero-K lobby from the official website.|http://zero-k.info/|{{AUR|flobby-git}}}}<br />
<br />
=== Turn-based ===<br />
* {{App|Advanced Strategic Command|Turn-based strategy game in the tradition of the Battle Isle series.|http://www.asc-hq.org/|{{AUR|advanced-strategic-command}}}}<br />
* {{App|[[Wikipedia:Endgame: Singularity|Endgame Singularity]]|Turn-based single player strategy/simulation about a AI hiding, growing and evolving.|http://www.emhsoft.com/singularity/|{{Pkg|singularity}}}}<br />
* {{App|[[Wikipedia:Freeciv|Freeciv]]|Multiuser clone of the famous Microprose game of Civilization.|http://freeciv.wikia.com/wiki/Main_Page|{{Pkg|freeciv}}}}<br />
* {{App|[[Wikipedia:FreeCol|FreeCol]]|Turn-based strategy game based on Colonization.|http://www.freecol.org/|{{Pkg|freecol}}}}<br />
* {{App|KReversi|A ''reversi'' implementation. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kreversi/|{{Pkg|kreversi}}}}<br />
* {{App|KsirK|A ''risk''-styled game in which players try to conquer the world by deciding which area to be invaded next. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/ksirk/|{{Pkg|ksirk}}}}<br />
* {{App|[[Wikipedia:The Battle for Wesnoth|The Battle for Wesnoth]]|Free, turn-based tactical strategy game with a high fantasy theme, featuring both single-player, and online/hotseat multiplayer combat.|https://www.wesnoth.org/|{{Pkg|wesnoth}}}}<br />
* {{App|UFO: Alien Invasion|Fight aliens trying to capture Earth.|http://ufoai.ninex.info/wiki/index.php/News|{{Pkg|ufoai}}{{Broken package link|package not found}}}}<br />
<br />
== Tycoon/management games ==<br />
<br />
* {{App|Lincity-ng|City simulation game in which you are required to build and maintain a city. You can win the game either by building a sustainable economy or by evacuating all citizens with spaceships.|https://github.com/lincity-ng/lincity-ng|{{Pkg|lincity-ng}}}}<br />
* {{App|Konquest|A turn-based game in which the player wage wars by managing a fleet of spaceships and conquering other planets. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/konquest/|{{Pkg|konquest}}}}<br />
* {{App|[[Wikipedia:Simutrans|Simutrans]]|Another Transport simulation that works on linux with sdl.|https://www.simutrans.com/|{{Pkg|simutrans}}}}<br />
* {{App|[[OpenTTD]]|Open source clone of the Microprose game "Transport Tycoon Deluxe", a popular game originally written by Chris Sawyer. It attempts to mimic the original game as closely as possible while extending it with new features.|https://www.openttd.org/|{{Pkg|openttd}}}}<br />
* {{App|OpenRCT2|Free reimplementation of the game "RollerCoaster Tycoon 2 (RCT2)" with multiplayer support. It requires a copy of the original game to play it.|https://openrct2.org/|{{AUR|openrct2}}}}<br />
<br />
== Visual novels ==<br />
<br />
* {{App|[[Wikipedia:Juniper's Knot|Juniper's Knot]]|Short game about boy and fiend.|http://junipersknot.dischan.org/|{{AUR|junipersknot}}}}<br />
* {{App|[[Wikipedia:Katawa Shoujo|Katawa Shoujo]]|Bishoujo-style visual novel game that tells a story of a young man and five other girls suffering with varying disabilities.|http://katawa-shoujo.com/|{{AUR|katawa-shoujo}}}}<br />
* {{App|[[Wikipedia:Narcissu|Narcissu]]|Visual novel, telling the story of a terminally ill young man and woman.|http://narcissu.insani.org/|{{AUR|narcissu2-en}}}}<br />
<br />
* {{App|Ren'Py|Visual novel engine with a [https://games.renpy.org/ rich repository].|https://www.renpy.org/|{{Pkg|renpy}}}}<br />
<br />
== Comparison table ==<br />
{| class="wikitable sortable"<br />
! style="width:190px;" | Name<br />
! Written in<br />
! Genre<br />
! License<br />
! style="width:130px;" | Package<br />
! Description<br />
|-<br />
| '''[[w:0 A.D. (video game)|0 A.D.]]'''<br/>- [https://play0ad.com/ play0ad.com]<br />
| style="background:#c6769b;" | C/C++<br />
| <abbr title="Real-time strategy game">RTS</abbr><br />
| style="background:#9F9;" | <abbr title="GNU Lesser General Public License">LGPL</abbr>/<abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{Pkg|0ad}}<br/>{{AUR|0ad-git}}<br />
| 3D and historically-based real-time strategy game.<br />
|-<br />
| [[w:Abuse (game)|'''Abuse''']]<br/>- [http://abuse.zoy.org abuse.zoy.org]<br />
| style="background:#f56f9f;" | C++<br />
| Action<br />
| style = "background:#9F9;" | <abbr title="Public Domain">PD</abbr>/<abbr title="GNU General Public License">GPL</abbr>/<abbr title="Do What the Fuck You Want To Public License">WTFPL</abbr><br />
| {{Pkg|abuse}}<br />
| Side-scroller action game that pits you against ruthless alien killers.<br />
|-<br />
| '''[[w:ADOM|ADOM]]'''<br/>- [http://adom.de adom.de]<br />
| style="background-color:#999999;" | C<br />
| Rogue-Like<br />
| style="background:#F99;" | Freemium<br />
| {{AUR|adom}}<br />
| Ancient Domains Of Mystery.<br />
|-<br />
| '''[[w:CodeRED: Alien Arena|Alien Arena]]'''<br/>- [http://red.planetarena.org/ red.planetarena.org]<br />
| style="background-color:#999999;" | C<br />
| <abbr title="First-Person Shooter">FPS</abbr><br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{Pkg|alienarena}}{{Broken package link|package not found}}<br/>{{AUR|alienarena-svn}}<br />
| Free, standalone FPS focused mainly on online multiplayer, but can also be played singleplayer against bots.<br />
|-<br />
| '''[[w:Angband (video game)|Angband]]'''<br/>- [http://rephial.org rephial.org]<br />
| style="background-color:#999999;" | C<br />
| Rogue-Like<br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{Pkg|angband}}<br/>{{AUR|angband-git}}<br />
| Roguelike dungeon exploration game based on the writings of JRR Tolkien.<br />
|-<br />
| '''[[w:AssaultCube|AssaultCube]]'''<br/>- [http://assault.cubers.net/ assault.cubers.net]<br />
| style="background:#c6769b;" | C/C++<br />
| <abbr title="First-Person Shooter">FPS</abbr><br />
| style="background:#9F9;" | ZLIB<br />
| {{Pkg|assaultcube}}<br />
| Free multiplayer FPS, based on the cube engine. Realistic environments, fast, arcade gameplay. Much like Counter-Strike.<br />
|-<br />
| '''[[w:Blob Wars#Blob Wars: Metal Blob Solid|Blob Wars: Metal Blob Solid]]'''<br/>- [https://sourceforge.net/projects/blobwars/ sourceforge.net/projects/blobwars]<br />
| style="background:#c6769b;" | C/C++<br />
| Platform<br />
| style="background:#9F9" | <abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{Pkg|blobwars}}<br />
| 2D platform shooting game.<br />
|-<br />
| '''[[w:BZFlag|BZFlag]]'''<br/>- [https://www.bzflag.org/ bzflag.org]<br />
| style="background:#c6769b;" | C/C++<br />
| Tank <abbr title="First-Person Shooter">FPS</abbr><br />
| style="background:#9F9" | <abbr title="GNU Lesser General Public License version 2.1">LGPLv2.1</abbr>/<abbr title="Mozilla Public License version 2.0">MPLv2</abbr><br />
| {{Pkg|bzflag}}<br />
| 3D multiplayer tank first-person shooter game.<br />
|-<br />
| '''[[w:Cube 2: Sauerbraten|Cube 2: Sauerbraten]]'''<br/>- [http://sauerbraten.org/ sauerbraten.org]<br />
| style="background:#c6769b;" | C/C++<br />
| <abbr title="First-Person Shooter">FPS</abbr><br />
| style="background:#9F9" | ZLIB<br />
| {{Pkg|sauerbraten}}<br />
| Successor to the Cube first-person shooter game with both single- and multi- player modes.<br />
|-<br />
| '''[[w:Endgame: Singularity|Endgame Singularity]]'''<br/>- [http://www.emhsoft.com/singularity/ emhsoft.com/singularity]<br />
| style="background:#5f8db3;" | Python<br />
| <abbr title="Turn-based strategy game">TBS</abbr><br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{Pkg|singularity}}<br/>{{AUR|singularity-git}}<br />
| Turn based single player strategy/simulation about a AI hiding, growing and evolving.<br />
|-<br />
| '''[[w:FlightGear|FlightGear]]'''<br/>- [http://www.flightgear.org/ flightgear.org]<br />
| style="background:#c6769b;" | C/C++<br />
| Simulation<br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{AUR|flightgear}}<br/>{{AUR|flightgear-git}}<br />
| Open-source, multi-platform flight simulator.<br />
|-<br />
| '''[[w:Foobillard++|Foobillard++]]'''<br/>- [http://foobillardplus.sourceforge.net/ foobillardplus.sourceforge.net]<br />
| style="background-color:#999999;" | C<br />
| Simulation<br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{Pkg|foobillard++}}<br />
| Successor to Foobillard, OpenGL billiard game for Linux.<br />
|-<br />
| '''[[w:Freeciv|Freeciv]]'''<br/>- [http://freeciv.wikia.com/wiki/Main_Page freeciv.wikia.com]<br />
| style="background-color:#c6769b;" | C/C++<br />
| <abbr title="Turn-based strategy game">TBS</abbr><br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{Pkg|freeciv}}<br />
| Multiuser clone of the famous Microprose game of Civilization. Scripted using a Lua API.<br />
|-<br />
| '''[[w:Freecol|Freecol]]'''<br/>- [http://www.freecol.org/ freecol.org]<br />
| style="background:#f2943b;" | Java<br />
| <abbr title="Turn-based strategy game">TBS</abbr><br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{Pkg|freecol}}<br/>{{AUR|freecol-git}}<br />
| Turn-based strategy game based on Colonization.<br />
|-<br />
| '''[[w:Megaglest|Megaglest]]'''<br/>- [https://megaglest.org/ megaglest.org]<br />
| style="background:#c6769b;" | C/C++<br />
| <abbr title="Real-time strategy game">RTS</abbr><br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 3">GPLv3</abbr><br />
| {{Pkg|megaglest}}<br />
| Fork of Glest, a 3D real-time strategy game in a fantastic world.<br />
|-<br />
| '''[[w:Command_%26_Conquer:_Red_Alert#Open_source_remake|OpenRA]]'''<br/>- [http://www.openra.net openra.net]<br />
| style="background:#3ab922;" | C#<br />
| <abbr title="Real-time strategy game">RTS</abbr><br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 3">GPLv3</abbr><br />
| {{Pkg|openra}}<br/>{{AUR|openra-git}}<br />
| An open-source implementation of the Command & Conquer: Red Alert engine using .NET/Mono and OpenGL. It has a Lua API for generating custom maps.<br />
|-<br />
| '''[[OpenTTD]]'''<br/>- [http://www.openttd.org openttd.org]<br />
| style="background:#c6769b;" | C/C++<br />
| <abbr title="Real-time strategy game">RTS</abbr><br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{Pkg|openttd}}<br/>{{AUR|openttd-svn}}{{Broken package link|package not found}}<br />
| An open-source remake of Transport Tycoon Deluxe. Scripted using the Squirrel programming language.<br />
|-<br />
| '''PyChess'''<br/>- [http://pychess.org pychess.org]<br />
| style="background:#5f8db3;" | Python<br />
| Chess<br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 3">GPLv3</abbr><br />
| {{Pkg|pychess}}<br />
| An advanced chess client for Linux following the GNOME Human Interface Guidelines.<br />
|-<br />
| rowspan = "2" | '''[[w:RuneScape|RuneScape]]'''<br/>- [http://www.runescape.com runescape.com]<br />
| style="background:#f2943b;" | Java (legacy)<br />
| rowspan = "2" | <abbr title="Massively Multiplayer Online Role-Playing Game">MMORPG</abbr><br />
| rowspan = "2" style="background:#F99;" | Freemium<br />
| {{AUR|unix-runescape-client}}<br />
| rowspan = "2" | Massive online medieval fantasy game by Jagex.<br />
|-<br />
| style="background:#f56f9f;" | C++ (NXT) <br />
| {{AUR|runescape-launcher}}<br />
|-<br />
| '''[[w:SuperTux|SuperTux]]'''<br/>- [http://supertux.github.io/ supertux.github.io]<br />
| style="background:#f56f9f;" | C++<br />
| Platform<br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 3">GPLv3</abbr><br />
| {{Pkg|supertux}}<br/>{{AUR|supertux-git}}<br/>{{AUR|supertux-old}}<br />
| Classic 2D jump'n side-scroller game similar to the Super Mario Bros games, featuring Tux. Milestone 1 of the game was released in 2003 and is provided by supertux-old. Milestone 2, the current version of SuperTux in the Arch Linux community repository, was released in December 2015. It is scripted using the Squirrel programming language.<br />
|-<br />
| '''[[w:SuperTuxKart|SuperTuxKart]]'''<br/>- [https://supertuxkart.net supertuxkart.net]<br />
| style="background:#c6769b;" | C/C++<br />
| 3D racing<br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 3">GPLv3</abbr><br />
| {{Pkg|supertuxkart}}<br/>{{AUR|supertuxkart-git}}<br />
| Free, 3D racing game where the characters racing are represented by open-source project mascots.<br />
|-<br />
| '''[[w:The Battle for Wesnoth|The Battle for Wesnoth]]'''<br/>- [http://www.wesnoth.org/ wesnoth.org]<br />
| style="background:#b5857b;" | C/C++/Java<br />
| <abbr title="Turn-based strategy game">TBS</abbr><br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{Pkg|wesnoth}}<br/>{{AUR|wesnoth-git}}<!-- Haven't mentioned wesnoth-devel as at the time of writing, 22 October 2017, it has been flagged as out-of-date for 9 days, so I'm not sure it's still maintained--><br />
| Free, turn-based tactical strategy game with a high fantasy theme, featuring both single-player, and online/hotseat multiplayer combat.<br />
|-<br />
| '''The Mana World'''<br/>- [http://themanaworld.org/ themanaworld.org]<br />
| style="background:#f56f9f;" | C++<br />
| <abbr title="Massively Multiplayer Online Role-Playing Game">MMORPG</abbr><br />
| style="background:#9F9;" | <abbr title="GNU Affero General Public License Version 3">AGPLv3</abbr>/<abbr title="GNU General Public License Version 3">GPLv3</abbr><br />
| {{Pkg|manaplus}}<br/>{{AUR|manaplus-git}}<br />
| Serious effort to create an innovative free and open-source MMORPG.<br />
|-<br />
| '''[[w:Unvanquished|Unvanquished]]'''<br/>- [http://www.unvanquished.net/ unvanquished.net]<br />
| style="background:#c6769b;" | C/C++<br />
| <abbr title="First-Person Shooter">FPS</abbr><br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 3">GPLv3</abbr><br />
| {{AUR|unvanquished}}<br/>{{AUR|unvanquished-git}}<br />
| First-person shooter/real-time strategy game in which aliens fight with humans.<br />
|-<br />
| '''[[Urban Terror]]'''<br/>- [http://urbanterror.info/ urbanterror.info]<br />
| style="background-color:#999999;" | C<br />
| <abbr title="First-Person Shooter">FPS</abbr><br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{AUR|urbanterror}}<br />
| Modern multiplayer FPS based on the ioquake3 engine.<br />
|-<br />
| '''[[w:Warzone 2100|Warzone2100]]'''<br/>- [http://wz2100.net/ wz2100.net]<br />
| style="background:#f56f9f;" | C++<br />
|<abbr title="Real-time strategy game">RTS</abbr><br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{Pkg|warzone2100}}<br/>{{AUR|warzone2100-git}}<br />
| 3D real-time strategy game on a future Earth.<br />
|-<br />
| '''[[w:Widelands|Widelands]]'''<br>- [http://wl.widelands.org/ wl.widelands.org]<br />
| style="background:#aa7ea9" | C++/Lua/Python<br />
| <abbr title="Real-time strategy game">RTS</abbr><br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{Pkg|widelands}}<br/>{{AUR|widelands-bzr}}<br />
| 2D real-time strategy game similar to ''The Settlers''. Scripted using a Lua API.<br />
|-<br />
| '''[[w:Xonotic|Xonotic]]'''<br/>- [http://xonotic.org/ xonotic.org]<br />
| style="background:#b5857b;" | C/C++/Java<br/>/Perl<br />
| <abbr title="First-person shooter">FPS</abbr><br />
| style="background:#9F9;" | <abbr title="GNU General Public License version 2">GPLv2</abbr>/<abbr title="GNU General Public License version 3">3</abbr><br />
| {{Pkg|xonotic}}<br/>{{AUR|xonotic-git}}<br />
| First-person shooter game that was forked from Nexuiz but with modified gameplay. <br />
|}<br />
<br />
== See also ==<br />
* [http://liflg.org/ Linux Installers for Linux Gamers]<br />
* [http://www.icculus.org/lgfaq/gamelist.php The Linux Gamers' Game List]<br />
* [https://libregamewiki.org/List_of_games Libre Game Wiki]<br />
* [http://www.lgdb.org/ Linux game database]<br />
* [http://www.penguspy.com/#/All/free_and_commercial/open_closed/sort=1/view=1/limit=0 Penguspy]<br />
* [http://lgames.sourceforge.net/about.php LGames - open source games for Linux]<br />
* Debian [[debian:Game/Links|games portal]], [[debian:Games/Links|links]], and [[debian:Games/Suggested|suggested games]]<br />
* [https://wiki.dotslashplay.it/en/start ./play.it list of games]<br />
* [[Wikipedia:Category:Linux games]]<br />
* [[Wikipedia:Humble Bundle]]<br />
* [[Wikipedia:Game engine recreation]]<br />
* [[Wikipedia:Source port|Source ports]]: [https://osgameclones.com/ Open Source Game Clones], [http://rewiki.regengedanken.de/wiki/Links_to_engine_reimplementations Engine Reimplementations]<br />
* [https://itch.io/games/platform-linux itch.io Linux games]<br />
* [http://store.steampowered.com/browse/linux/ Steam Linux store], [https://steamdb.info/linux/ List of Linux Steam games]</div>J!PRAhttps://wiki.archlinux.org/index.php?title=List_of_games&diff=565287List of games2019-01-30T03:55:05Z<p>J!PRA: /* Action and adventure */ Added entry for OpenLieroX</p>
<hr />
<div>[[Category:Gaming]]<br />
[[Category:Lists of software]]<br />
[[da:List of games]]<br />
[[es:List of games]]<br />
[[it:List of games]]<br />
[[ja:ゲーム一覧]]<br />
[[lt:Games]]<br />
[[ru:Gaming]]<br />
[[zh-hans:List of games]]<br />
{{Related articles start}}<br />
{{Related|List of applications}}<br />
{{Related|Gaming}}<br />
{{Related articles end}}<br />
<br />
This page strives to list all games which have a package available in the [[official repositories]] or the [[AUR]]. There are many more Linux games available, which are not packaged. See [[Gaming#Getting games]] for ways to obtain them.<br />
<br />
For more about running games, related system configuration tips, see [[Gaming]]. For an up to date selection of games available in the AUR, try checking the [https://aur.archlinux.org/packages/?SeB=k&K=game AUR 'game' keyword].<br />
<br />
== Action and adventure ==<br />
<br />
* {{App|Abuse|Side-scroller action game that pits you against ruthless alien killers.|http://abuse.zoy.org/|{{Pkg|abuse}}}}<br />
* {{App|[[Wikipedia:Aquaria (video game)|Aquaria]]|2D sidescrolling action-adventure game, heavily focused on exploration and puzzle-solving, with non-linear gameplay. The game engine is open source.|http://www.bit-blot.com/aquaria|{{AUR|aquaria-ose}}, {{AUR|aquaria-hib}}}}<br />
* {{App|Astromenace|Modern 3D scrolling space shooter with ship upgrade possibilities.|https://sourceforge.net/projects/openastromenace/|{{Pkg|astromenace}}}}.<br />
* {{App|1=Barrage|2=Violent ''point-and-click'' shooting game with nice effects|3=http://lgames.sourceforge.net/Barrage/|4={{Pkg|barrage}}}}<br />
* {{App|[[Wikipedia:Blob Wars|Blob Wars: Metal Blob Solid]]|2D action-adventure game with various weapons and missions.|https://sourceforge.net/projects/blobwars/|{{Pkg|blobwars}}}}<br />
* {{App|[[Wikipedia:BZFlag|BZFlag]]|Multiplayer, first-person tank shooter.|http://bzflag.org/|{{Pkg|bzflag}}}}<br />
* {{App|[[Wikipedia:Commander_Keen|Commander_Keen]]| side-scrolling platform action video game|http://clonekeen.sourceforge.net/|{{AUR|clonekeen}}}}<br />
* {{App|[[Wikipedia:Gish (video game)|Gish]]|2D physics platformer about adventures of ball of tar.|https://github.com/freegish/freegish|{{AUR|freegish-git}}}}<br />
* {{App|[[Wikipedia:Hammerfight|Hammerfight]]|2-dimensional physics-based combat game.|http://www.koshutin.com/|{{AUR|hammerfight}}}}<br />
:* The open-source Unix port of the Haaf's Game Engine is available at [https://icculus.org/hge-unix/ icculus.org].<br />
* {{App|kobodeluxe|An enhanced version of Akira Higuchi's game XKobo, an addictive space shoot'em up|http://www.olofson.net/kobodl/|{{Pkg|kobodeluxe}}}}<br />
* {{App|Kollision|Moving a ball to avoid other balls. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kollision/|{{Pkg|kollision}}}}<br />
* {{App|KSpaceDuel|Player attempts to destroy opponent’s satellite and controll their own one to keep it orbiting. Part of {{Grp|kdegames}}|https://kde.org/applications/games/kspaceduel/|{{Pkg|kspaceduel}}}}<br />
* {{App|[[Wikipedia:Liquid_War|Liquid War]] | 2D multiplayer game with a simple and unique game mechanic. It could be classified as a fast-paced strategy. | http://www.ufoot.org/liquidwar/ | {{AUR|liquidwar}}}}<br />
:* A rewrite of the game program, now adopted as a GNU project: {{AUR|liquidwar6}}, homepage: [http://www.gnu.org/software/liquidwar6/ | Liquid War 6]<br />
* {{App|[[Minecraft]]|Java based sandbox game.<br />
|https://minecraft.net/|{{AUR|minecraft}}}}<br />
* {{App|[[Wikipedia:Neverball|Neverball]]|3D game to guide a ball through a maze.|http://neverball.org/|{{Pkg|neverball}}}}<br />
* {{App|[[Wikipedia:Liero#OpenLieroX|OpenLierox]]|An extremely addictive realtime worms shoot-em-up backed by an active gamers community.|http://openlierox.sourceforge.net/|{{AUR|openlierox}}}}<br />
* {{App|[[Wikipedia:Rune (video game)|Rune]]|3rd person Adventure / Hack'n Slay using Unreal Engine. Runs great from box installation.|http://www.rune-world.com|{{AUR|rune}}}}<br />
* {{App|1=Paintball Party 2|2=Paintball Party 2 is the sequel to Paintball Party, a multiplayer action platformer for all ages.|3=http://www.t3-i.com/pages/project.php?id=paintball_party_2|4={{AUR|paintball-party-2}}}}<br />
* {{App|XBill|Kill all instances of a virus before it infects all computers with a malware resembling Microsoft Windows.|http://www.xbill.org/|{{Pkg|xbill}}}}<br />
<br />
== Arcade ==<br />
* {{App|Bomber|A 2D game with a goal by hitting targets with bombs before their plane crashes into them. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/bomber/|{{Pkg|bomber}}}}<br />
* {{App|Bomberclone|Free Bomberman-like game for Linux and Windows. The rules of the game are simple: run though a level and bomb other players.|http://www.bomberclone.de/core.html|{{Pkg|bomberclone}}}}<br />
* {{App|[[Wikipedia:Cave Story|Cave Story/Doukutsu]]|Addictive 1-man-made metroid-vania-esque platformer. If there happens to be a noticible lag when there are lots of enemies on screen or in larger levels, try running the Windows version through Wine. This should fix the problem.|http://cavestory.org|{{AUR|doukutsu}}}}<br />
* {{App|Chromium|Fast paced, arcade-style, top-scrolling space shooter.|http://chromium-bsu.sourceforge.net/|{{Pkg|chromium-bsu}}}}<br />
* {{App|Counter-Strike 2D|2D clone (+additional features) of the popular Counter-Strike Mod|http://cs2d.com|{{AUR|counter-strike-2d}}}}<br />
* {{App|Crack-attack|Free OpenGL game, based on the Super Nintendo classic Tetris Attack.|http://www.nongnu.org/crack-attack/|{{AUR|crack-attack}}}}<br />
* {{App|[[DDNet]]|DDraceNetwork, a mod of Teeworlds|https://ddnet.tw/|{{AUR|ddnet}}}}<br />
<br />
* {{App|[[Wikipedia:Frozen Bubble|Frozen Bubble]]|Arcade game with colorful animated penguin eyecandy|http://frozen-bubble.org|{{Pkg|frozen-bubble}}}}<br />
* {{App|Granatier|A clone of ''Bomberman''. Part of {{Grp|kdegames}}|https://www.kde.org/applications/games/granatier/|{{Pkg|granatier}}}}<br />
* {{App|[[Wikipedia:Hedgewars|Hedgewars]]|Yet another Worms clone, considered to be better than its predecessor by many. Take turns to blast your opponents into oblivion with comedic results! Best in Multiplayer.|https://hedgewars.org/|{{Pkg|hedgewars}}}}<br />
* {{App|kapman|A clone of ''PacMan''. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kapman/|{{Pkg|kapman}}}}<br />
* {{App|kbreakout|''Breakout''-style game. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kbreakout/|{{Pkg|kbreakout}}}}<br />
* {{App|1=lbreakout2|2=Breakout-style arcade game in the manner of Arkanoid|3=http://lgames.sourceforge.net/LBreakout2/|4={{Pkg|lbreakout2}}}}<br />
* {{App|kbounce|Building walls to limit amount of space occupied by two balls bouncing off the walls. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kbounce/|{{Pkg|kbounce}}}}<br />
* {{App|ksnakeduel|''Snake''-like game for 2 players which compete to survive longer than the opponent. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/ksnakeduel/|{{Pkg|ksnakeduel}}}}<br />
* {{App|1=LTris|2=Arcade version of Tetris|3=http://lgames.sourceforge.net/LTris/|4={{Pkg|ltris}}}}<br />
* {{App|[[Wikipedia:Mari0|Mari0]]|The Mario game with Portal gun mechanics.|http://stabyourself.net/mari0/|{{Pkg|mari0}}}}<br />
* {{App|Nikki and the Robots|Cute physics platformer|https://github.com/nikki-and-the-robots/nikki|{{AUR|nikki}}}}<br />
* {{App|Penguin Command|Clone of the classic game "Missile Command" with improved graphics and sound.|http://www.linux-games.com/penguin-command/|{{AUR|penguin-command}}}}<br />
* {{App|Pinball|Open source pinball simulator for Linux and other Unix systems.|http://pinball.sourceforge.net/|{{AUR|pinball}}}}<br />
* {{App|PowerManga|Arcade 2D shoot-em-up game with 41 levels and more than 200 sprites.|http://linux.tlk.fr/games/Powermanga/|{{AUR|powermanga}}}}<br />
* {{App|Quadrapassel|A ''Tetris'' remake for GNOME.|https://wiki.gnome.org/Apps/Quadrapassel|{{Pkg|quadrapassel}}}}<br />
* {{App|Streets of Rage Remake|A remake of the classic Streets of Rage 1, 2 and 3 by Sega.|http://sorr.forumotion.net/|{{AUR|streetsofrageremake}}}}<br />
* {{App|opsu!|An open source Java client for the rhythm game osu!.|https://itdelatrisu.github.io/opsu/|{{AUR|opsu}}}}<br />
* {{App|[[Wikipedia:Teeworlds|Teeworlds]]|Fast-paced 2D multiplayer shooter|https://www.teeworlds.com/|{{Pkg|teeworlds}} (0.7 branch) or {{AUR|teeworlds06}} (0.6 branch)}}<br />
* {{App|Tetrinet|Multiplayer online Tetris game for up to six people.|http://www.tetrinet.info/|{{AUR|gtetrinet}}}}<br />
* {{App|Trackballs|A 3D marble game inspired by the classic Marble Madness.|https://trackballs.github.io/|{{AUR|trackballs}}}}<br />
* {{App|Ultrastar-ng|Clone of SingStar, a music video game.|http://performous.org/|{{AUR|ultrastardx-git}}}}<br />
* {{App|[[Wikipedia:Warmux|Warmux]] (previously ''Wormux'')|Somewhat similar to Worms 2/Worms Armageddon|https://gna.org/projects/warmux/|{{AUR|warmux}}}}<br />
<br />
== Casual games ==<br />
* {{App|Aisleriot|A collection of solitaire card games.|https://wiki.gnome.org/Apps/Aisleriot|{{Pkg|aisleriot}}}}<br />
* {{App|Atanks|A multi-platform Scorched Earth clone similar to the Worms series of games|http://atanks.sourceforge.net/|{{AUR|atanks}}{{Broken package link|package not found}}}}<br />
* {{App|bs|Battleships based shooter for the console|http://www.catb.org/~esr/bs/|{{AUR|bs}}}}<br />
* {{App|BSD Games|Collection of classic text games distributed with *BSD|http://wiki.linuxquestions.org/wiki/BSD_games|{{Pkg|bsd-games}}}}<br />
* {{App|Kajongg|An implementation of [[wikipedia:Mahjong|Mahjong]] for 4 players. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kajongg/|{{Pkg|kajongg}}}}<br />
* {{App|KCheckers|Qt-based checkers boardgame.|http://qcheckers.sourceforge.net/|{{Pkg|kcheckers}}}}<br />
* {{App|KPatience|A set of solitarire card games. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kpatience/|{{Pkg|kpatience}}}}<br />
* {{App|KSquares|A [[wikipedia:Dots_and_Boxes|dots-and-boxes]] game for two players. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/ksquares/|{{Pkg|ksquares}}}}<br />
* {{App|Lskat|A variation of [[wikipedia:Skat|Skat]] card game for two players. Part of {{Grp|kdegames}}|https://www.kde.org/applications/games/lskat/|{{Pkg|lskat}}}}<br />
* {{App|Mah-Jong|Chinese Classical mahjong (not solitaire) with network support|http://mahjong.julianbradfield.org/|{{Pkg|mahjong}}}}<br />
* {{App|nInvaders|Ncurses based space invaders clone|http://ninvaders.sourceforge.net/|{{AUR|ninvaders}}}}<br />
* {{App|xroach|cockroaches hide under your windows||{{AUR|xroach}}}}<br />
<br />
== Chess simulators ==<br />
* {{App|[[Wikipedia:GNU Chess|GNU Chess]]|One of the oldest computer chess programs for Unix-based computers, lets most modern computers play a full game of chess|https://gnu.org/s/chess|{{Pkg|gnuchess}}}}<br />
* {{App|chessx|Chess Database and PGN viewer|http://chessx.sourceforge.net|{{AUR|chessx}}}}<br />
* {{App|cutechess|A graphical user interface, command-line interface and a library for playing chess|https://github.com/cutechess/cutechess|{{AUR|cutechess}}}}<br />
* {{App|Eboard|Chess interface to ICS and chess engines|http://bergo.eng.br/eboard|{{AUR|eboard}}}}<br />
* {{App|1=Knights|2=Chess board by KDE with XBoard protocol support.|3=https://www.linux-apps.com/content/show.php/Knights?content=122046|4={{Pkg|knights}}}}<br />
* {{App|PyChess|An advanced chess client for linux following the GNOME Human Interface Guidelines.|http://pychess.org/|{{Pkg|pychess}}}}<br />
* {{App|[[Wikipedia:GNOME Chess|GNOME Chess]]|A 2D chess game which can use third party chess engines.|https://wiki.gnome.org/Apps/Chess|{{Pkg|gnome-chess}}}}<br />
* {{App|glChess|3D Chess Frontend.|https://wiki.gnome.org/Apps/Chess|{{AUR|glchess}}}}<br />
<br />
== Education ==<br />
<br />
* {{App|Artikulate|Pronunciation trainer that helps improving and perfecting a learner's pronunciation skills for a foreign language. Part of {{Grp|kdeedu}}.|https://www.kde.org/applications/education/artikulate/|{{Pkg|artikulate}}}}<br />
* {{App|Blinken|Sequence-remembering game for training memory. Part of {{Grp|kdeedu}}.|https://www.kde.org/applications/education/blinken/|{{Pkg|blinken}}}}<br />
* {{App|[[Wikipedia:GCompris|GCompris]]|Educational software suite comprising of numerous activities for children aged 2 to 10.|https://gcompris.net/|{{Pkg|gcompris-qt}}}}<br />
* {{App|[[Wikipedia:Kanagram|Kanagram]]|Letter order game. Part of {{Grp|kdeedu}}.|https://www.kde.org/applications/education/kanagram/|{{Pkg|kanagram}}}}<br />
* {{App|KBruch|Small program to practice calculating with fractions and percentages. Part of {{Grp|kdeedu}}.|https://www.kde.org/applications/education/kbruch/|{{Pkg|kbruch}}}}<br />
* {{App|[[Wikipedia:KGeography|KGeography]]|Geography learning tool, which allows you to learn about the political divisions of some countries (divisions, capitals of those divisions and their associated flags if there are some). Part of {{Grp|kdeedu}}.|https://www.kde.org/applications/education/kgeography/|{{Pkg|kgeography}}}}<br />
* {{App|[[Wikipedia:KHangMan|KHangMan]]|[[Wikipedia:Hangman (game)|Hangman]] game. Part of {{Grp|kdeedu}}.|https://www.kde.org/applications/education/khangman/|{{Pkg|khangman}}}}<br />
* {{App|[[Wikipedia:KLettres|KLettres]]|Application specially designed to help the user to learn alphabet in a new language and then to learn to read simple syllables. Part of {{Grp|kdeedu}}.|https://www.kde.org/applications/education/klettres/|{{Pkg|klettres}}}}<br />
* {{App|Minuet|Software for music education. Part of {{Grp|kdeedu}}.|https://minuet.kde.org/|{{Pkg|minuet}}}}<br />
* {{App|Nootka|Application to learn classical score notation.|https://nootka.sourceforge.io/|{{AUR|nootka}}}}<br />
* {{App|[[Wikipedia:Tux, of Math Command|Tux Math]]|Arcade game that helps kids practice their math facts.|https://github.com/tux4kids/tuxmath|{{AUR|tuxmath}}}}<br />
* {{App|[[Wikipedia:Tux Paint|Tux Paint]]|Drawing program designed for young children.|http://tuxpaint.org/|{{Pkg|tuxpaint}}}}<br />
* {{App|[[Wikipedia:Tux Typing|Tux Typing]]|Educational typing tutor for kids starring Tux.|https://github.com/tux4kids/tuxtype|{{AUR|tuxtype}}}}<br />
<br />
== Interactive fiction ==<br />
<br />
See also [[Wikipedia:Interactive fiction#Development systems]].<br />
<br />
* {{App|[[Wikipedia:Inform|Inform]]|Design system for interactive fiction based on natural language|http://inform7.com/|{{AUR|inform7}}}}<br />
* {{App|INSTEAD|Quest interpreter using Lua macros as game writing language|https://instead.syscall.ru/|{{AUR|instead-launcher}} {{AUR|instead}}}}<br />
* {{App|[[Wikipedia:TADS|TADS]]|Prototype-based domain-specific programming language and set of standard libraries for creating interactive fiction (IF) games|http://tads.org|{{AUR|frobtads}}}}<br />
<br />
== Massively multiplayer online games (MMO) ==<br />
<br />
See also [[Wikipedia:List of massively multiplayer online games]] and [[Wikipedia:Comparison of massively multiplayer online role-playing games]].<br />
<br />
* {{App|[[Dofus]]|Free, manga inspired, Massively Multiplayer Online Role-playing Game (MMORPG) for Adobe AIR|http://www.dofus.com|{{AUR|dofus}}}}<br />
* {{App|[[Wikipedia:Eternal Lands|Eternal Lands]]|3D fantasy online role playing game|http://www.eternal-lands.com|{{AUR|eternallands}}}}<br />
* {{App|[[Wikipedia:PlaneShift (video game)|Planeshift]]|Role Playing Game immersed into a 3D virtual fantasy world which is FULLY FREE to play. Fully free means you will have no surprises of premium content which will limit your gameplay or unbalance the game. There are no limitations in skills, ranks, abilities, items you can gain with your free account|http://www.planeshift.it|{{AUR|planeshift}}}}<br />
* {{App|[[RuneScape]]|Massive online adventure game by Jagex|http://www.runescape.com|{{AUR|unix-runescape-client}} (old Java client), {{AUR|runescape-launcher}} (new NXT client)}}<br />
* {{App|[[Wikipedia:Ryzom|Ryzom]]|3D Fantasy MMORPG|http://www.ryzom.com|{{AUR|ryzom-client}}}}<br />
* {{App|[[Wikipedia:Savage: The Battle for Newerth|Savage: The Battle for Newerth]]|Online multiplayer team-based FPS/RTS hybrid. Open-sourced in September 2006. Savage XR, the most improved continuation (including SFE patches), is completely free (no purchasing/ads whatsoever) however closed-source to reduce cheating.|http://www.newerth.com/|{{AUR|savage}}}}<br />
* {{App|[[Wikipedia:Savage 2: A Tortured Soul|Savage 2: A Tortured Soul]]|Fantasy themed online multiplayer team-based FPS/RTS/RPG hybrid. Free-to-play as of December 2008. Pay for premium accounts providing crucial game elements such as extra inventory slots, access to clans and removal of the Hellbourne unit restrictions (per-account), as well as access to replays and stats.|http://savage2.net|{{AUR|savage2}}}}<br />
* {{App|The Mana World|Serious effort to create an innovative free and open source MMORPG|https://www.themanaworld.org|{{Pkg|manaplus}}}}<br />
<br />
== Platformer ==<br />
<br />
* {{App|[[Wikipedia:Frogatto|Frogatto]]|Platformer with adventure elements.|https://frogatto.com|{{Pkg|frogatto}}}}<br />
* {{App|KGoldrunner|A platform game with the goal of collecting gold. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kgoldrunner/|{{Pkg|kgoldrunner}}}}<br />
* {{App|1=Knyttstories|2=Platformer with adventure elements, heavy exploration and downloadable levels.|3=http://nifflas.ni2.se/?page=Knytt+Stories|4={{AUR|knyttstories}}}}<br />
* {{App|Secret Maryo Chronicles|Mario-style game.|http://www.secretmaryo.org/|{{AUR|smc}}}}<br />
* {{App|SuperTux|Mario-style game featuring Tux.|http://supertux.lethargik.org/|{{Pkg|supertux}}}}<br />
* {{App|Toppler|Reimplementation of the classic jump & run game "Nebulus".|http://toppler.sourceforge.net/|{{AUR|toppler}}}}<br />
* {{App|The Secret Chronicles of Dr. M.|A fork of Secret Maryo Chronicles.|https://github.com/secretchronicles/TSC|{{AUR|tsc}}}}<br />
<br />
== Puzzle ==<br />
<br />
* {{App|Atomix|Build molecules out of single atoms.|https://wiki.gnome.org/Apps/Atomix|{{Pkg|atomix}}}}<br />
* {{App|Blockout II|3D tetris, free adaptation of the original BlockOut DOS game edited by California Dreams in 1989|http://www.blockout.net/blockout2/|{{AUR|blockout2}}}}<br />
* {{App|Bovo|[[wikipedia:Gomoku|Gomoku]]-like game. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/bovo/|{{Pkg|bovo}}}}<br />
* {{App|Cgoban3|Kiseido Go and SGF client.|http://www.igoweb.org/~wms/comp/cgoban/|{{Pkg|cgoban}}}}<br />
* {{App|Chroma|Puzzle game like Sokoban with ncurses and graphics mode|http://www.level7.org.uk/chroma/|{{AUR|chroma}}}}<br />
* {{App|Crack Attack!|Free OpenGL game based on the Super Nintendo classic Tetris Attack.|http://www.aluminumangel.org/attack/|{{AUR|crack-attack}}}}<br />
* {{App|GNOME Sudoku|Test your logic skills in this number grid puzzle.|https://wiki.gnome.org/Apps/Sudoku|{{Pkg|gnome-sudoku}}}}<br />
* {{App|Gnu Go|A terminal-based implementation of Go from GNU.|https://www.gnu.org/software/gnugo/|{{Pkg|gnugo}}}}<br />
* {{App|Gopanda|Client for the Pandanet-IGS go Server.|http://pandanet-igs.com/communities/gopanda2|{{AUR|Gopanda}}}}<br />
* {{App|gweled|Eliminating tiles by joining them in groups of three.|https://launchpad.net/gweled/|{{Pkg|gweled}}}}<br />
* {{App|Hitori|Small application written to allow one to play the eponymous puzzle game, which is similar in theme to more popular puzzles such as Sudoku.|https://wiki.gnome.org/Apps/Hitori|{{Pkg|hitori}}}}<br />
* {{App|KAtomic|Slide elements so they resemble a chemical molecule. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/katomic/|{{Pkg|katomic}}}}<br />
* {{App|KBlackbox|Finding positions of hidden balls by using hints. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kblackbox/|{{Pkg|kblackbox}}}}<br />
* {{App|KBlocks|''Tetris'' clone. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kblocks/|{{Pkg|kblocks}}}}<br />
* {{App|KDiamond|Eliminating tiles by joining them in groups of three. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kdiamond/|{{Pkg|kdiamond}}}}<br />
* {{App|KFourInLine|Competition between two players to put a line of four pieces before the opponent. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kfourinline/|{{Pkg|kfourinline}}}}<br />
* {{App|Kigo|''Go'' for KDE. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kigo/|{{Pkg|kigo}}}}<br />
* {{App|Killbots|A turn-based game with an objective of avoiding robots that are trying to kill the player. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/killbots/|{{Pkg|killbots}}}}<br />
* {{App|KJumpingCube|Take-all-tiles game in which one gains fields by increasing value of one’s own nearby fields. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kjumpingcube/|{{Pkg|kjumpingcube}}}}<br />
* {{App|1=Klickety|2=Clearing the board by removing aligned tiles. Part of {{Grp|kdegames}}.|3=https://games.kde.org/game.php?game=klickety|4={{Pkg|klickety}}}}<br />
* {{App|KLines|Moving balls around the board to form a line of 5 of the same color. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/klines/|{{Pkg|klines}}}}<br />
* {{App|KMines|[[wikipedia:Minesweeper_(video_game)|Minesweeper]], part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kmines/|{{Pkg|kmines}}}}<br />
* {{App|KNetwalk|Rotating tiles with wires to connect all computers to internet. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/knetwalk/|{{Pkg|knetwalk}}}}<br />
* {{App|Kolf|A minigolf game with 2D overhead view. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kolf/|{{Pkg|kolf}}}}<br />
* {{App|KShisen|[[wikipedia:Shisen-Sho|Shisen-Sho]]. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kshisen/|{{Pkg|kshisen}}}}<br />
* {{App|KSudoku|Sudoku game and more for KDE. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/ksudoku/|{{Pkg|ksudoku}}}}<br />
* {{App|Kubrick|A Rubik’s cube solving game. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kubrick/|{{Pkg|kubrick}}}}<br />
* {{App|Marvellous Inc.|MarvInc is a zachlike puzzle game with a story told through emails.|https://github.com/MarvellousSoft/MarvInc|{{AUR|marvinc-git}}}}<br />
* {{App|Palapeli|Jigsaw puzzle game. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/palapeli/|{{Pkg|palapeli}}}}<br />
* {{App|Pathological|Complete all wheels on the board by collecting marbles of the same color in each of them.|http://pathological.sourceforge.net/howtoplay.php|{{Pkg|pathological}}}}<br />
* {{App|Picmi|Nonogram puzzle game|https://games.kde.org/picmi|{{Pkg|picmi}}}}<br />
* {{App|Pingus|Lemmings clone, i.e. a level-based puzzle game.|http://pingus.seul.org/|{{Pkg|pingus}}}}<br />
* {{App|Ri-li|Toy wood engine GPL game|http://ri-li.sourceforge.net/|{{AUR|ri-li}}}}<br />
* {{App|qgo|A Go client and full featured SGF editor |https://github.com/pzorin/qgo|{{Pkg|qgo}}}}<br />
* {{App|Simon Tatham's Portable Puzzle Collection|30+ "quick" puzzle games with simplistic but polished GTK GUI |http://www.chiark.greenend.org.uk/~sgtatham/puzzles/|{{Pkg|puzzles}}}}<br />
* {{App|[[Wikipedia:VVVVVV|VVVVVV]]|Highly praised 2D puzzle platform indie game with a C64 retro theme, with a great chiptune soundtrack. You can buy the full version for £1.67, or play the [http://www.kongregate.com/games/TerryCavanagh/vvvvvv-demo/ demo] in a browser.<br />
:{{Tip|You may want to backup your save file, which is found at {{Ic|~/.macromedia/Flash_Player/#SharedObjects/''string''/localhost...}}.}}<br />
|http://thelettervsixtim.es/|{{AUR|vvvvvv}}}}<br />
* {{App|XMahjongg|Mahjong solitaire for X.|https://www.lcdf.org/xmahjongg/|{{Pkg|xmahjongg}}}}<br />
* {{App|Xscorch|Clone of the classic DOS game Scorched Earth.|http://www.xscorch.org/|{{AUR|xscorch}}}}<br />
* {{App|[[Wikipedia:World of Goo|World of Goo]]|Great 2D puzzle game.|https://www.2dboy.com|{{AUR|worldofgoo}}}}<br />
<br />
== Racing ==<br />
<br />
* {{App|Armagetron Advanced|Tron Clone in 3D.|http://armagetronad.net/|{{Pkg|armagetronad}}}}<br />
* {{App|Extreme Tux Racer|3D game where you guide Tux the penguin down a course of snow and ice collecting herring.|https://sourceforge.net/projects/extremetuxracer|{{Pkg|extremetuxracer}}}}<br />
* {{App|Maniadrive|Arcade car game on acrobatic tracks with quick and nervous gameplay.|http://maniadrive.raydium.org/|{{AUR|maniadrive}}}}<br />
* {{App|Moon Buggy|Simple game for the text mode.|http://seehuhn.de/pages/moon-buggy/|{{AUR|moon-buggy}}}}<br />
* {{App|Speed Dreams|Fork of Torcs, aiming to implement exciting new features as well as improving realism.|http://speed-dreams.org/|{{AUR|speed-dreams-svn}}}}<br />
* {{App|Stunt Rally|Racing game with rally style of driving, mostly on gravel.|http://stuntrally.tuxfamily.org/|{{AUR|stuntrally}}{{Broken package link|package not found}}}}<br />
* {{App|Supertux Kart|Kart racing game featuring Tux and his friends.|http://supertuxkart.sourceforge.net/|{{Pkg|supertuxkart}}}}<br />
* {{App|Torcs|3D racing cars simulator using OpenGL.|http://torcs.sourceforge.net/|{{AUR|torcs}}}}<br />
* {{App|Trigger Rally|Free OpenGL rally car racing game.|https://sourceforge.net/projects/trigger-rally/|{{AUR|trigger}}}}<br />
* {{App|Ultimate Stunts|Remake of the famous DOS-game 'stunts'.|http://www.ultimatestunts.nl/|{{AUR|ultimatestunts}}}}<br />
* {{App|VDrift|Open source driving simulation made with drift racing in mind.|http://vdrift.net/|{{AUR|vdrift}}}}<br />
* {{App|[[Wikipedia:X-Moto|XMoto]]|Challenging 2D motocross platform game, where physics play an important role.|https://xmoto.tuxfamily.org/|{{AUR|xmoto}}}}<br />
<br />
== Rogue-like ==<br />
<br />
See also [[Wikipedia:Chronology of roguelike video games]].<br />
<br />
* {{App|[[Wikipedia:ADOM|ADOM]]|Ancient Domains Of Mystery.|http://adom.de|{{AUR|adom}}}}<br />
* {{App|[[Wikipedia:Angband (video game)|Angband]]|Roguelike dungeon exploration game based on the writings of JRR Tolkien.|http://rephial.org/|{{Pkg|angband}}}}<br />
* {{App|ASCIIpOrtal|Sidescrolling game with ANSI text graphics in which you are a person holding a device which creates portals, or links to other parts of the level.|https://github.com/cymonsgames/ASCIIpOrtal|{{Pkg|asciiportal}}}}<br />
* {{App|[[Wikipedia:Brogue (video game)|Brogue]]|A beginner-friendly Rogue-like.|https://sites.google.com/site/broguegame/|{{AUR|brogue}}}}<br />
* {{App|[[Wikipedia:Cataclysm: Dark Days Ahead|Cataclysm: Dark Days Ahead]]|Post-apocalyptic roguelike.|http://en.cataclysmdda.com/|{{Pkg|cataclysm-dda}}}}<br />
* {{App|[[Wikipedia:Linley's Dungeon Crawl|Linley's Dungeon Crawl]]||http://www.dungeoncrawl.org/|{{AUR|crawl}}}}<br />
* {{App|[[Wikipedia:DoomRL|DoomRL]]|Simple roguelike game, based on Doom. Perfect for starters.|http://doom.chaosforge.org/|{{AUR|doomrl}}}}<br />
* {{App|[[Wikipedia:Dwarf_Fortress|Dwarf Fortress]]|Single-player fantasy game. You control a dwarven outpost or an adventurer in a randomly generated persistent world.|http://www.bay12games.com/dwarves/|{{Pkg|dwarffortress}}}}<br />
* {{App|glHack|An OpenGL-based clone of NetHack.|http://glhack.sourceforge.net/|{{Pkg|glhack}}}}<br />
* {{App|Infra-Arcana|A game inspired by the writings of H.P. Lovecraft.|https://sites.google.com/site/infraarcana/|{{AUR|infra-arcana}}, {{AUR|infra-arcana-git}}}}<br />
* {{App|[[Wikipedia:NetHack|Nethack]]|Single player dungeon exploration game.|http://www.nethack.org/|{{Pkg|nethack}}}}<br />
* {{App|[[Wikipedia:Rogue (video game)|Rogue]]|Original dungeon crawl game.|http://rogue.rogueforge.net/rogue-5-4/|{{Pkg|rogue}}}}<br />
* {{App|[[Wikipedia:Dungeon Crawl Stone Soup|Stone Soup]]|Dungeon Crawl Stone Soup.|https://crawl.develz.org/wordpress/|{{Pkg|stone-soup}}}}<br />
* {{App|[[Wikipedia:Tales of Maj'Eyal|Tales of Maj'Eyal]] (previously ''Troubles of Middle Earth'')|A dungeon crawler similar to Angband, based on the works of Tolkien.|https://te4.org/|{{AUR|tome2}}, {{AUR|tome4}}}}<br />
* {{App|wanderer|Wanderer is a game similar to Boulderdash, Repton, XOR and others.|http://e271.net/~marina/wanderer.html|{{AUR|wanderer}} {{AUR|wanderer-git}}}}<br />
* {{App|Shattered Pixel Dungeon|Shattered fork of the popular rogue-like game Pixel Dungeon.|http://www.shatteredpixel.com/|{{AUR|shattered-pixel-dungeon}},{{AUR|shattered-pixel-dungeon-git}}}}<br />
<br />
== Role-playing games (RPG) ==<br />
<br />
* {{App|Arx Libertatis|This project is a fully working, open source port of Arx Fatalis, a 2002 first-person role-playing game developed by Arkane Studios. It features some improvements over the original engine like bug fixes and wide screen support.|https://arx-libertatis.org/|{{AUR|arxlibertatis}}}}<br />
* {{App|Egoboo|Open-source action RPG/dungeon crawling adventure with OpenGL 3D graphics.|http://egoboo.sourceforge.net/|{{AUR|egoboo}}}}<br />
* {{App|fheores2|Attempt to reimplement the [[Wikipedia:Heroes of Might and Magic II|Heroes of Might and Magic II]] engine using SDL.|https://sourceforge.net/projects/fheroes2/|{{AUR|fheroes2-svn}}}}<br />
* {{App|Flare|Action game similar to Diablo.|http://www.flarerpg.org/|{{AUR|flare-game-git}}}}<br />
* {{App|FreedroidRPG|Mature science fiction role playing game set in the future|http://freedroid.org/|{{Pkg|freedroidrpg}}}}<br />
* {{App|GemRB|Attempt to reimplement the [[Wikipedia:Infinity Engine|Bioware's Infinity Engine]] under GNU GPL.|http://www.gemrb.org/|{{Pkg|gemrb}}}}<br />
* {{App|OpenMW|Attempt to reimplement the popular role-playing game [[Wikipedia:Morrowind|Morrowind]]. OpenMW aims to be a fully playable, open source implementation of the game's engine.|https://openmw.org/|{{Pkg|openmw}}}}<br />
* {{App|VCMI|Attempt to reimplement [[Wikipedia:Heroes of Might and Magic III|Heroes of Might and Magic III]].|http://forum.vcmi.eu/portal.php|{{AUR|vcmi}} {{AUR|vcmi-git}}}}<br />
<br />
== Shooters (FPS, third person) ==<br />
<br />
* {{App|[[Wikipedia:CodeRED: Alien Arena|Alien Arena]]|Free, standalone FPS focused mainly on online multiplayer, but can also be played singleplayer against bots.|http://red.planetarena.org/|{{Pkg|alienarena}}{{Broken package link|package not found}}}}<br />
* {{App|[[Wikipedia:AssaultCube|AssaultCube]]|Free multiplayer FPS, based on the cube engine. Realistic environments, fast, arcade gameplay. Much like Counter-Strike.|https://assault.cubers.net/|{{Pkg|assaultcube}}}}<br />
* {{App|AssaultCube Reloaded|AssaultCube improved.|http://acr.victorz.ca|{{AUR|assaultcube-reloaded}}}}<br />
* {{App|[[Wikipedia:Cube 2: Sauerbraten|Cube 2: Sauerbraten]]|Improved version of the Cube engine.|http://sauerbraten.org/|{{Pkg|sauerbraten}}}}<br />
* [[Wikipedia:Doom (1993 video game)|Doom]]: the famous shooter from ID Software has several ports for Linux. None of the id-engine games have copyleft game resources, only the game engine code was open sourced. See [http://doom.wikia.com/wiki/Source_port] for details.<br />
:* Doom 1 Demo data &ndash; {{AUR|doom1-wad}}<br />
:* {{App|[[Brutal Doom]]|A gore-themed gameplay mod for Doom that was created in 2010 by Marcos Abenante (Sergeant_Mark_IV).|http://www.moddb.com/mods/brutal-doom|{{AUR|brutal-doom}}}}<br />
:{{Note| Instructions at [[Brutal Doom#Installation]] show how to modify {{AUR|gzdoom-git}} directly without {{AUR|brutal-doom}}. {{Pkg|openal}} is required for in-game audio.}}<br />
:* {{App|Freedoom|Project aimed at creation of free Doom data files.|http://www.nongnu.org/freedoom/|{{AUR|freedoom1}}, {{AUR|freedoom2}}}}<br />
:* {{App|Chocolate Doom|Doom port reproducing the behavior of the original DOS version.|https://www.chocolate-doom.org/|{{AUR|chocolate-doom}}}}<br />
:* {{App|Doomsday|Advanced port of the Doom game engine, capable also of running Heretic, and Hexen games.|http://www.dengine.net/|{{AUR|doomsday}}}}<br />
:* {{App|GZDoom|Doom source port based on ZDoom with an OpenGL renderer.|https://github.com/coelckers/gzdoom|{{AUR|gzdoom}}}}<br />
:* {{App|PrBoom Plus|Enhanced version of the PrBoom Doom engine port.|http://prboom-plus.sourceforge.net/|{{AUR|prboom-plus}}}}<br />
:* {{App|ZDoom|Enhanced Doom port with additional support for Heretic, Hexen and Strife.|https://www.zdoom.org/|{{AUR|zdoom}}}}<br />
* [[Wikipedia:Doom 3|Doom 3]]<br />
:* {{App|Doom 3|Stock Doom 3 binaries|http://www.idsoftware.com|{{AUR|doom3-bin}}}}<br />
:* {{App|Doom 3 Engine|Source-based Doom 3 engine|http://www.idsoftware.com|{{AUR|doom3}}}}<br />
:* {{App|dhemw3|Fork of iodoom3|https://github.com/dhewm/dhewm3|{{AUR|dhewm3}}}}<br />
:* {{App|RBDOOM-3-BFG|Fork of Doom 3 BFG Edition|https://github.com/RobertBeckebans/RBDOOM-3-BFG|{{AUR|rbdoom-3-bfg}}}}<br />
* {{App|ezQuake|Fast paced multiplayer FPS focusing on movement and trick jumps. The popular, modern and maintained Quake/QuakeWorld client. Can play on-line for free |http://ezquake.sourceforge.net/|{{AUR|ezquake}}}}<br />
* [[Wikipedia:Duke Nukem 3D|Duke Nukem 3D]]<br />
:* {{App|eduke32|Advanced source port.|http://eduke32.com/|{{AUR|eduke32}}}}<br />
* {{App|[[Wikipedia:Enemy Territory: Quake Wars|Enemy Territory: Quake Wars]]|Commercial team and class-based multiplayer game. Full version requires retail DVD to play.|http://zerowing.idsoftware.com/linux/etqw/ETQWFrontPage/|{{AUR|etqw}}}}<br />
* {{App|HHeretic|Linux port of Raven Game's old shooter, Heretic.|http://hhexen.sourceforge.net/hheretic.html|{{AUR|hheretic}}}}<br />
:* Heretic Demo game data &ndash; {{AUR|heretic1-wad}}<br />
* {{App|HHexen|Linux port of Raven Game's old shooter, Hexen.|http://hhexen.sourceforge.net/hhexen.html|{{AUR|hhexen}}}}<br />
:* Hexen 1 Demo game data &ndash; {{AUR|hexen1-wad}}<br />
* {{App|[[Wikipedia:Nexuiz|Nexuiz]]|Free, open-source first person shooter. Development ceased, most of the developers moved to project [http://xonotic.org/ Xonotic].|http://alientrap.org/nexuiz|{{Pkg|nexuiz}}}}<br />
* {{App|nQuake|Fast paced multiplayer FPS focusing on movement and trick jumps. This is the popular Quake / QuakeWorld package, including ezQuake client, 24bit textures, maps, bots and more. Can play on-line for free.|http://nquake.sourceforge.net/|{{AUR|nquake}}}}<br />
* {{App|[[Wikipedia:OpenArena|OpenArena]]|Fast multiplayer shooter based on the quake3-engine.|http://openarena.ws|{{AUR|openarena}}}}<br />
* {{App|[[Wikipedia:Prey (video game)|Prey]]|First Person Shooter released in 2006 (with a GNU/Linux port in 2008), published by 3D Realms.|https://www.3drealms.com/prey/index.html|{{AUR|prey}}}}<br />
* [[Red Crucible]]<br />
:* Red Crucible®: Firestorm - Free to play online FPS &ndash; {{AUR|rcf}}<br />
:* Red Crucible®: Reloaded - Free to play online FPS &ndash; {{AUR|rcr}}<br />
* [[Wikipedia:Quake (video game)|Quake]]<br />
:* Advanced Quake 1 game engine &ndash; {{AUR|darkplaces}}<br />
:* High quality textures for Quake from the Quake Revitalization Project &ndash; {{AUR|quake-qrp-textures}}<br />
* [[Wikipedia:Quake II|Quake II]]<br />
:* {{App|Quake 2|Built by Icculus|https://www.icculus.org/quake2/|{{AUR|quake2}}}}<br />
:* A true color retexture pak for Quetoo and other Quake2 engines supporting 32bpp tga textures &ndash; {{AUR|quake2-retexture}}<br />
:* Quake 2 engine focused on single player and 64bits. {{AUR|yamagi-quake2}}<br />
* [[Wikipedia:Quake III Arena|Quake III Arena]]<br />
:* Quake III Arena binaries &ndash; {{AUR|quake3}}<br />
:* {{App|ioquake3|De-facto FOSS Quake 3 distribution.|https://ioquake3.org/|{{AUR|ioquake3}}}}<br />
* [[Wikipedia:Quake 4|Quake 4]]<br />
:* Demo version &ndash; {{AUR|quake4-demo}}<br />
:* Quake 4 engine &ndash; {{AUR|quake4}}<br />
* {{App|[[Wikipedia:Red Eclipse|Red Eclipse]]|Single-player and multi-player first-person ego-shooter, built as a total conversion of Cube Engine 2.|http://redeclipse.net|{{AUR|redeclipse}}}}<br />
* {{App|Tesseract|Smooth FPS with map editing, instagib, DM and CTF.|http://tesseract.gg/|{{AUR|tesseract-game}}}}<br />
* {{App|[[Wikipedia:Tremulous|Tremulous]]|FPS with elements of real time strategy, featuring humans and aliens.|http://tremulous.net/|{{AUR|tremulous}}}}<br />
* {{App|[[Wikipedia:Unreal Tournament (upcoming video game)|Unreal Tournament (upcoming)]]|Free and open-source remake of the original using Unreal Engine 4|https://www.unrealtournament.com/|{{AUR|unrealtournament4}}}}<br />
* {{App|[[Wikipedia:Unvanquished (video game)|Unvanquished]]|Team-based fps/rts hybrid game which pits aliens against humans. Monthly release that can be played on official servers.|https://unvanquished.net/|{{AUR|unvanquished}}}}<br />
* {{App|[[Urban Terror]]|Modern multiplayer FPS based on the ioquake3 engine.|http://urbanterror.info|{{AUR|urbanterror}}}}<br />
* {{App|[[Wikipedia:Warsow (game)|Warsow]]|Fast paced multiplayer FPS focusing on movement and trick jumps.|https://warsow.net|{{Pkg|warsow}}}}<br />
* [[Wolfenstein: Enemy Territory]]<br />
:* Completely free, standalone, team-based, multiplayer FPS &ndash; {{AUR|enemy-territory}}<br />
:* Advanced open source project and fully compatible client and server &ndash; {{AUR|etlegacy32}}<br />
* {{App|[[Wikipedia:World of Padman|World of Padman]]|Stand slone somplex &ndash; cartoon-style multiplayer first-person shooter.|http://worldofpadman.net/website|{{AUR|worldofpadman}}}}<br />
* {{App|[[Wikipedia:Xonotic|Xonotic]]|Free, open-source first person shooter (a fork of Nexuiz but with modified gameplay).|http://xonotic.org|{{Pkg|xonotic}}}}<br />
<br />
== Simulation ==<br />
<br />
* {{App|[[Wikipedia:Beyond the Red Line|Beyond the Red Line]]|Completely free stand-alone conversion of Freespace 2 based on the TV show Battlestar Galactica. Presumed abandoned, see Diaspora: Shattered Armistice for an alternative.|http://www.beyondtheredline.net/|{{AUR|btrl}}}}<br />
* {{App|Endless Sky|Open source, 2D space trading and combat game similar to the classic Escape Velocity series.|https://endless-sky.github.io/|{{AUR|endless-sky-git}}}}<br />
* {{App|[[Wikipedia:Flight Gear|Flight Gear]]|Open-source, multi-platform flight simulator.|http://www.flightgear.org/|{{AUR|flightgear}}}}<br />
* {{App|[[Wikipedia:FooBillard|Foobillard++]]|Successor to Foobillard, OpenGL billiard game for Linux.|http://foobillardplus.sourceforge.net/|{{Pkg|foobillard++}}}}<br />
* {{App|[[Wikipedia:FreeSpace 2|FreeSpace 2]]|Open sourced space emulator.|https://icculus.org/freespace2/|{{AUR|fs2_open}}}}<br />
* {{App|Minetest|Voxel-based sandbox game engine and game.|http://www.minetest.net/|{{Pkg|minetest}} {{Pkg|minetest-server}}}}<br />
* {{App|Naev|Open source, 2D space trading and combat game, taking inspiration from the Escape Velocity series.|http://blog.naev.org/|{{Pkg|naev}}}}<br />
* {{App|[[Wikipedia:BVE Trainsim#openBVE|openBVE]]|Free-as-in-freedom train simulator placed in the public domain.|https://web.archive.org/web/odakyufan.zxq.net/openbve/|{{Pkg|openbve}}}}<br />
* {{App|[[Wikipedia:Oolite (video game)|Oolite]]|3D space trading and combat simulator in the spirit of Elite.|http://oolite.org/|{{AUR|oolite}}}}<br />
* {{App|[[Wikipedia:Pioneer (video game)|Pioneer]]|Open source, 3D, freeform single player space adventure set in the Milkyway galaxy at the turn of the 31st century in the spirit of Frontier: Elite II.|http://pioneerspacesim.net/|{{AUR|pioneer}}}}<br />
* {{App|Pydance|Python Dance Dance Revolution style game.|https://icculus.org/pyddr/|{{AUR|pydance}}}}<br />
* {{App|[[Wikipedia:Stepmania|Stepmania]]|Advanced dance simulation game.|http://www.stepmania.com/|{{AUR|stepmania}}}}<br />
* {{App|Terasology|Open source voxel world.|http://terasology.org|{{AUR|terasology}}}}<br />
* {{App|The Powder Toy|Open source physics sandbox game, which simulates air pressure and velocity, heat, gravity and a countless number of interactions between different substances.|http://powdertoy.co.uk/|{{AUR|powder-toy}}}}<br />
* {{App|Voxelands|A fork of Minetest, an Infiniminer/Minecraft inspired game.|http://www.voxelands.com/|{{AUR|voxelands}}}}<br />
<br />
== Strategy ==<br />
=== Real-time ===<br />
* {{App|[[Wikipedia:0 A.D. (video game)|0 A.D.]]|3D and historically-based real-time strategy game, alpha stage. Based on the Age of Empires series.|https://play0ad.com/|{{Pkg|0ad}}}}<br />
* {{App|Dark Oberon|Open source real-time strategy game similar to Warcraft II.|http://dark-oberon.sourceforge.net/|{{AUR|dark-oberon}}}}<br />
* {{App|Factorio|A proprietary game about mining resources, planning and building factories, automating production and fighting alien enemies.|http://www.factorio.com/|{{AUR|factorio}}}}<br />
* {{App|Factorio demo|A proprietary game about mining resources, planning and building factories, automating production and fighting alien enemies. (Demo)|http://www.factorio.com/|{{AUR|factorio-demo}}}}<br />
* {{App|[[Wikipedia:FTL:_Faster_Than_Light|FTL: Faster Than Light]]|Popular rogue-like space-sim released to positive reception in 2012.|http://www.ftlgame.com/|{{AUR|ftl}}}}<br />
* {{App|Globulation 2|Multiplayer RTS with some "economic" elements minimizing the amount of micromanagement.|https://globulation2.org/wiki/Main_Page|{{Pkg|glob2}}}}<br />
* {{App|[[Wikipedia:Heroes of Newerth|Heroes of Newerth]]|Online, multi-player strategy game that is based upon DoTA (Defense of the Ancients). Free-to-own (gameplay free; pay for cosmetic upgrades only)|https://heroesofnewerth.com/|{{AUR|hon}}}}<br />
* {{App|[[Wikipedia:Spring_Engine#Kernel_Panic|Kernel Panic]]|A game based around combat inside a computer, with 3 unique sides: the System, the Hacker and the Network waging war in a matrix of DOOM! No resource economy exists in KP, with the only constraints being time and space.|https://springrts.com/wiki/Kernel_Panic|{{Pkg|spring-kp}}{{Broken package link|package not found}}}}<br />
* {{App|[[Wikipedia:MegaGlest|MegaGlest]]|Fork of Glest, a 3D real-time strategy game in a fantastic world.|https://megaglest.org|{{Pkg|megaglest}}}}<br />
* {{App|[[Wikipedia:Netpanzer|Netpanzer]]|Real-time strategy game like Command and Conquer but without building bases.|http://www.netpanzer.org/|{{AUR|netpanzer}}}}<br />
* {{App|[[Wikipedia:OpenRA|OpenRA]]|Real-time strategy game written in C# and based on the Command & Conquer game franchise|http://www.openra.net/|{{Pkg|openra}}}}<br />
* {{App|[[Wikipedia:Spring_Engine#Spring:1944|Spring:1944]]| A WWII themed game with four fully functional sides (US, Germany, USSR, Britain), period-accurate units and strengths. Realism comes second only to creating a game that is fun and accessible to play.|http://spring1944.org/|{{Pkg|spring-1944}}{{Broken package link|package not found}}}}<br />
* {{App|[[Wikipedia:Unknown Horizons|Unknown Horizons]]|2.5D isometric real-time strategy simulation with an emphasis on economy and city building. Expand your small settlement to a strong and wealthy colony, collect taxes and supply your inhabitants with valuable goods. Increase your power with a well balanced economy and with strategic trade and diplomacy.|http://www.unknown-horizons.org/|{{AUR|unknown-horizons-git}}}}<br />
* {{App|Warzone 2100|You command the forces of The Project in a battle to rebuild the world after mankind has almost been destroyed by nuclear missiles. The game offers campaign, multi-player, and single-player skirmish modes. An extensive tech tree with over 400 different technologies, combined with the unit design system, allows for a wide variety of possible units and tactics. The AUR package installs its videos ({{Bug|55310}}).|https://wz2100.net/|{{Pkg|warzone2100}} {{AUR|warzone2100-sequences}}}}<br />
* {{App|[[Wikipedia:Widelands|Widelands]]|Slow-paced strategy like "the Settlers 2".|https://widelands.org|{{Pkg|widelands}}}}<br />
* {{App|[[Wikipedia:Zero-K|Zero-K]]|Zero-K is a free multi-platform open source real-time strategy computer game. Initially based on content from Total Annihilation on the open source Spring Engine, it was forked and all proprietary content replaced, and evolved into a completely new game with unique features. It can be easily installed by installing the flobby client from the AUR or alternatively (and preferably) by installing the official mono package and downloading and running the Zero-K lobby from the official website.|http://zero-k.info/|{{AUR|flobby-git}}}}<br />
<br />
=== Turn-based ===<br />
* {{App|Advanced Strategic Command|Turn-based strategy game in the tradition of the Battle Isle series.|http://www.asc-hq.org/|{{AUR|advanced-strategic-command}}}}<br />
* {{App|[[Wikipedia:Endgame: Singularity|Endgame Singularity]]|Turn-based single player strategy/simulation about a AI hiding, growing and evolving.|http://www.emhsoft.com/singularity/|{{Pkg|singularity}}}}<br />
* {{App|[[Wikipedia:Freeciv|Freeciv]]|Multiuser clone of the famous Microprose game of Civilization.|http://freeciv.wikia.com/wiki/Main_Page|{{Pkg|freeciv}}}}<br />
* {{App|[[Wikipedia:FreeCol|FreeCol]]|Turn-based strategy game based on Colonization.|http://www.freecol.org/|{{Pkg|freecol}}}}<br />
* {{App|KReversi|A ''reversi'' implementation. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kreversi/|{{Pkg|kreversi}}}}<br />
* {{App|KsirK|A ''risk''-styled game in which players try to conquer the world by deciding which area to be invaded next. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/ksirk/|{{Pkg|ksirk}}}}<br />
* {{App|[[Wikipedia:The Battle for Wesnoth|The Battle for Wesnoth]]|Free, turn-based tactical strategy game with a high fantasy theme, featuring both single-player, and online/hotseat multiplayer combat.|https://www.wesnoth.org/|{{Pkg|wesnoth}}}}<br />
* {{App|UFO: Alien Invasion|Fight aliens trying to capture Earth.|http://ufoai.ninex.info/wiki/index.php/News|{{Pkg|ufoai}}{{Broken package link|package not found}}}}<br />
<br />
== Tycoon/management games ==<br />
<br />
* {{App|Lincity-ng|City simulation game in which you are required to build and maintain a city. You can win the game either by building a sustainable economy or by evacuating all citizens with spaceships.|https://github.com/lincity-ng/lincity-ng|{{Pkg|lincity-ng}}}}<br />
* {{App|Konquest|A turn-based game in which the player wage wars by managing a fleet of spaceships and conquering other planets. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/konquest/|{{Pkg|konquest}}}}<br />
* {{App|[[Wikipedia:Simutrans|Simutrans]]|Another Transport simulation that works on linux with sdl.|https://www.simutrans.com/|{{Pkg|simutrans}}}}<br />
* {{App|[[OpenTTD]]|Open source clone of the Microprose game "Transport Tycoon Deluxe", a popular game originally written by Chris Sawyer. It attempts to mimic the original game as closely as possible while extending it with new features.|https://www.openttd.org/|{{Pkg|openttd}}}}<br />
* {{App|OpenRCT2|Free reimplementation of the game "RollerCoaster Tycoon 2 (RCT2)" with multiplayer support. It requires a copy of the original game to play it.|https://openrct2.org/|{{AUR|openrct2}}}}<br />
<br />
== Visual novels ==<br />
<br />
* {{App|[[Wikipedia:Juniper's Knot|Juniper's Knot]]|Short game about boy and fiend.|http://junipersknot.dischan.org/|{{AUR|junipersknot}}}}<br />
* {{App|[[Wikipedia:Katawa Shoujo|Katawa Shoujo]]|Bishoujo-style visual novel game that tells a story of a young man and five other girls suffering with varying disabilities.|http://katawa-shoujo.com/|{{AUR|katawa-shoujo}}}}<br />
* {{App|[[Wikipedia:Narcissu|Narcissu]]|Visual novel, telling the story of a terminally ill young man and woman.|http://narcissu.insani.org/|{{AUR|narcissu2-en}}}}<br />
<br />
* {{App|Ren'Py|Visual novel engine with a [https://games.renpy.org/ rich repository].|https://www.renpy.org/|{{Pkg|renpy}}}}<br />
<br />
== Comparison table ==<br />
{| class="wikitable sortable"<br />
! style="width:190px;" | Name<br />
! Written in<br />
! Genre<br />
! License<br />
! style="width:130px;" | Package<br />
! Description<br />
|-<br />
| '''[[w:0 A.D. (video game)|0 A.D.]]'''<br/>- [https://play0ad.com/ play0ad.com]<br />
| style="background:#c6769b;" | C/C++<br />
| <abbr title="Real-time strategy game">RTS</abbr><br />
| style="background:#9F9;" | <abbr title="GNU Lesser General Public License">LGPL</abbr>/<abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{Pkg|0ad}}<br/>{{AUR|0ad-git}}<br />
| 3D and historically-based real-time strategy game.<br />
|-<br />
| [[w:Abuse (game)|'''Abuse''']]<br/>- [http://abuse.zoy.org abuse.zoy.org]<br />
| style="background:#f56f9f;" | C++<br />
| Action<br />
| style = "background:#9F9;" | <abbr title="Public Domain">PD</abbr>/<abbr title="GNU General Public License">GPL</abbr>/<abbr title="Do What the Fuck You Want To Public License">WTFPL</abbr><br />
| {{Pkg|abuse}}<br />
| Side-scroller action game that pits you against ruthless alien killers.<br />
|-<br />
| '''[[w:ADOM|ADOM]]'''<br/>- [http://adom.de adom.de]<br />
| style="background-color:#999999;" | C<br />
| Rogue-Like<br />
| style="background:#F99;" | Freemium<br />
| {{AUR|adom}}<br />
| Ancient Domains Of Mystery.<br />
|-<br />
| '''[[w:CodeRED: Alien Arena|Alien Arena]]'''<br/>- [http://red.planetarena.org/ red.planetarena.org]<br />
| style="background-color:#999999;" | C<br />
| <abbr title="First-Person Shooter">FPS</abbr><br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{Pkg|alienarena}}{{Broken package link|package not found}}<br/>{{AUR|alienarena-svn}}<br />
| Free, standalone FPS focused mainly on online multiplayer, but can also be played singleplayer against bots.<br />
|-<br />
| '''[[w:Angband (video game)|Angband]]'''<br/>- [http://rephial.org rephial.org]<br />
| style="background-color:#999999;" | C<br />
| Rogue-Like<br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{Pkg|angband}}<br/>{{AUR|angband-git}}<br />
| Roguelike dungeon exploration game based on the writings of JRR Tolkien.<br />
|-<br />
| '''[[w:AssaultCube|AssaultCube]]'''<br/>- [http://assault.cubers.net/ assault.cubers.net]<br />
| style="background:#c6769b;" | C/C++<br />
| <abbr title="First-Person Shooter">FPS</abbr><br />
| style="background:#9F9;" | ZLIB<br />
| {{Pkg|assaultcube}}<br />
| Free multiplayer FPS, based on the cube engine. Realistic environments, fast, arcade gameplay. Much like Counter-Strike.<br />
|-<br />
| '''[[w:Blob Wars#Blob Wars: Metal Blob Solid|Blob Wars: Metal Blob Solid]]'''<br/>- [https://sourceforge.net/projects/blobwars/ sourceforge.net/projects/blobwars]<br />
| style="background:#c6769b;" | C/C++<br />
| Platform<br />
| style="background:#9F9" | <abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{Pkg|blobwars}}<br />
| 2D platform shooting game.<br />
|-<br />
| '''[[w:BZFlag|BZFlag]]'''<br/>- [https://www.bzflag.org/ bzflag.org]<br />
| style="background:#c6769b;" | C/C++<br />
| Tank <abbr title="First-Person Shooter">FPS</abbr><br />
| style="background:#9F9" | <abbr title="GNU Lesser General Public License version 2.1">LGPLv2.1</abbr>/<abbr title="Mozilla Public License version 2.0">MPLv2</abbr><br />
| {{Pkg|bzflag}}<br />
| 3D multiplayer tank first-person shooter game.<br />
|-<br />
| '''[[w:Cube 2: Sauerbraten|Cube 2: Sauerbraten]]'''<br/>- [http://sauerbraten.org/ sauerbraten.org]<br />
| style="background:#c6769b;" | C/C++<br />
| <abbr title="First-Person Shooter">FPS</abbr><br />
| style="background:#9F9" | ZLIB<br />
| {{Pkg|sauerbraten}}<br />
| Successor to the Cube first-person shooter game with both single- and multi- player modes.<br />
|-<br />
| '''[[w:Endgame: Singularity|Endgame Singularity]]'''<br/>- [http://www.emhsoft.com/singularity/ emhsoft.com/singularity]<br />
| style="background:#5f8db3;" | Python<br />
| <abbr title="Turn-based strategy game">TBS</abbr><br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{Pkg|singularity}}<br/>{{AUR|singularity-git}}<br />
| Turn based single player strategy/simulation about a AI hiding, growing and evolving.<br />
|-<br />
| '''[[w:FlightGear|FlightGear]]'''<br/>- [http://www.flightgear.org/ flightgear.org]<br />
| style="background:#c6769b;" | C/C++<br />
| Simulation<br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{AUR|flightgear}}<br/>{{AUR|flightgear-git}}<br />
| Open-source, multi-platform flight simulator.<br />
|-<br />
| '''[[w:Foobillard++|Foobillard++]]'''<br/>- [http://foobillardplus.sourceforge.net/ foobillardplus.sourceforge.net]<br />
| style="background-color:#999999;" | C<br />
| Simulation<br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{Pkg|foobillard++}}<br />
| Successor to Foobillard, OpenGL billiard game for Linux.<br />
|-<br />
| '''[[w:Freeciv|Freeciv]]'''<br/>- [http://freeciv.wikia.com/wiki/Main_Page freeciv.wikia.com]<br />
| style="background-color:#c6769b;" | C/C++<br />
| <abbr title="Turn-based strategy game">TBS</abbr><br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{Pkg|freeciv}}<br />
| Multiuser clone of the famous Microprose game of Civilization. Scripted using a Lua API.<br />
|-<br />
| '''[[w:Freecol|Freecol]]'''<br/>- [http://www.freecol.org/ freecol.org]<br />
| style="background:#f2943b;" | Java<br />
| <abbr title="Turn-based strategy game">TBS</abbr><br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{Pkg|freecol}}<br/>{{AUR|freecol-git}}<br />
| Turn-based strategy game based on Colonization.<br />
|-<br />
| '''[[w:Megaglest|Megaglest]]'''<br/>- [https://megaglest.org/ megaglest.org]<br />
| style="background:#c6769b;" | C/C++<br />
| <abbr title="Real-time strategy game">RTS</abbr><br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 3">GPLv3</abbr><br />
| {{Pkg|megaglest}}<br />
| Fork of Glest, a 3D real-time strategy game in a fantastic world.<br />
|-<br />
| '''[[w:Command_%26_Conquer:_Red_Alert#Open_source_remake|OpenRA]]'''<br/>- [http://www.openra.net openra.net]<br />
| style="background:#3ab922;" | C#<br />
| <abbr title="Real-time strategy game">RTS</abbr><br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 3">GPLv3</abbr><br />
| {{Pkg|openra}}<br/>{{AUR|openra-git}}<br />
| An open-source implementation of the Command & Conquer: Red Alert engine using .NET/Mono and OpenGL. It has a Lua API for generating custom maps.<br />
|-<br />
| '''[[OpenTTD]]'''<br/>- [http://www.openttd.org openttd.org]<br />
| style="background:#c6769b;" | C/C++<br />
| <abbr title="Real-time strategy game">RTS</abbr><br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{Pkg|openttd}}<br/>{{AUR|openttd-svn}}{{Broken package link|package not found}}<br />
| An open-source remake of Transport Tycoon Deluxe. Scripted using the Squirrel programming language.<br />
|-<br />
| '''PyChess'''<br/>- [http://pychess.org pychess.org]<br />
| style="background:#5f8db3;" | Python<br />
| Chess<br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 3">GPLv3</abbr><br />
| {{Pkg|pychess}}<br />
| An advanced chess client for Linux following the GNOME Human Interface Guidelines.<br />
|-<br />
| rowspan = "2" | '''[[w:RuneScape|RuneScape]]'''<br/>- [http://www.runescape.com runescape.com]<br />
| style="background:#f2943b;" | Java (legacy)<br />
| rowspan = "2" | <abbr title="Massively Multiplayer Online Role-Playing Game">MMORPG</abbr><br />
| rowspan = "2" style="background:#F99;" | Freemium<br />
| {{AUR|unix-runescape-client}}<br />
| rowspan = "2" | Massive online medieval fantasy game by Jagex.<br />
|-<br />
| style="background:#f56f9f;" | C++ (NXT) <br />
| {{AUR|runescape-launcher}}<br />
|-<br />
| '''[[w:SuperTux|SuperTux]]'''<br/>- [http://supertux.github.io/ supertux.github.io]<br />
| style="background:#f56f9f;" | C++<br />
| Platform<br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 3">GPLv3</abbr><br />
| {{Pkg|supertux}}<br/>{{AUR|supertux-git}}<br/>{{AUR|supertux-old}}<br />
| Classic 2D jump'n side-scroller game similar to the Super Mario Bros games, featuring Tux. Milestone 1 of the game was released in 2003 and is provided by supertux-old. Milestone 2, the current version of SuperTux in the Arch Linux community repository, was released in December 2015. It is scripted using the Squirrel programming language.<br />
|-<br />
| '''[[w:SuperTuxKart|SuperTuxKart]]'''<br/>- [https://supertuxkart.net supertuxkart.net]<br />
| style="background:#c6769b;" | C/C++<br />
| 3D racing<br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 3">GPLv3</abbr><br />
| {{Pkg|supertuxkart}}<br/>{{AUR|supertuxkart-git}}<br />
| Free, 3D racing game where the characters racing are represented by open-source project mascots.<br />
|-<br />
| '''[[w:The Battle for Wesnoth|The Battle for Wesnoth]]'''<br/>- [http://www.wesnoth.org/ wesnoth.org]<br />
| style="background:#b5857b;" | C/C++/Java<br />
| <abbr title="Turn-based strategy game">TBS</abbr><br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{Pkg|wesnoth}}<br/>{{AUR|wesnoth-git}}<!-- Haven't mentioned wesnoth-devel as at the time of writing, 22 October 2017, it has been flagged as out-of-date for 9 days, so I'm not sure it's still maintained--><br />
| Free, turn-based tactical strategy game with a high fantasy theme, featuring both single-player, and online/hotseat multiplayer combat.<br />
|-<br />
| '''The Mana World'''<br/>- [http://themanaworld.org/ themanaworld.org]<br />
| style="background:#f56f9f;" | C++<br />
| <abbr title="Massively Multiplayer Online Role-Playing Game">MMORPG</abbr><br />
| style="background:#9F9;" | <abbr title="GNU Affero General Public License Version 3">AGPLv3</abbr>/<abbr title="GNU General Public License Version 3">GPLv3</abbr><br />
| {{Pkg|manaplus}}<br/>{{AUR|manaplus-git}}<br />
| Serious effort to create an innovative free and open-source MMORPG.<br />
|-<br />
| '''[[w:Unvanquished|Unvanquished]]'''<br/>- [http://www.unvanquished.net/ unvanquished.net]<br />
| style="background:#c6769b;" | C/C++<br />
| <abbr title="First-Person Shooter">FPS</abbr><br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 3">GPLv3</abbr><br />
| {{AUR|unvanquished}}<br/>{{AUR|unvanquished-git}}<br />
| First-person shooter/real-time strategy game in which aliens fight with humans.<br />
|-<br />
| '''[[Urban Terror]]'''<br/>- [http://urbanterror.info/ urbanterror.info]<br />
| style="background-color:#999999;" | C<br />
| <abbr title="First-Person Shooter">FPS</abbr><br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{AUR|urbanterror}}<br />
| Modern multiplayer FPS based on the ioquake3 engine.<br />
|-<br />
| '''[[w:Warzone 2100|Warzone2100]]'''<br/>- [http://wz2100.net/ wz2100.net]<br />
| style="background:#f56f9f;" | C++<br />
|<abbr title="Real-time strategy game">RTS</abbr><br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{Pkg|warzone2100}}<br/>{{AUR|warzone2100-git}}<br />
| 3D real-time strategy game on a future Earth.<br />
|-<br />
| '''[[w:Widelands|Widelands]]'''<br>- [http://wl.widelands.org/ wl.widelands.org]<br />
| style="background:#aa7ea9" | C++/Lua/Python<br />
| <abbr title="Real-time strategy game">RTS</abbr><br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{Pkg|widelands}}<br/>{{AUR|widelands-bzr}}<br />
| 2D real-time strategy game similar to ''The Settlers''. Scripted using a Lua API.<br />
|-<br />
| '''[[w:Xonotic|Xonotic]]'''<br/>- [http://xonotic.org/ xonotic.org]<br />
| style="background:#b5857b;" | C/C++/Java<br/>/Perl<br />
| <abbr title="First-person shooter">FPS</abbr><br />
| style="background:#9F9;" | <abbr title="GNU General Public License version 2">GPLv2</abbr>/<abbr title="GNU General Public License version 3">3</abbr><br />
| {{Pkg|xonotic}}<br/>{{AUR|xonotic-git}}<br />
| First-person shooter game that was forked from Nexuiz but with modified gameplay. <br />
|}<br />
<br />
== See also ==<br />
* [http://liflg.org/ Linux Installers for Linux Gamers]<br />
* [http://www.icculus.org/lgfaq/gamelist.php The Linux Gamers' Game List]<br />
* [https://libregamewiki.org/List_of_games Libre Game Wiki]<br />
* [http://www.lgdb.org/ Linux game database]<br />
* [http://www.penguspy.com/#/All/free_and_commercial/open_closed/sort=1/view=1/limit=0 Penguspy]<br />
* [http://lgames.sourceforge.net/about.php LGames - open source games for Linux]<br />
* Debian [[debian:Game/Links|games portal]], [[debian:Games/Links|links]], and [[debian:Games/Suggested|suggested games]]<br />
* [https://wiki.dotslashplay.it/en/start ./play.it list of games]<br />
* [[Wikipedia:Category:Linux games]]<br />
* [[Wikipedia:Humble Bundle]]<br />
* [[Wikipedia:Game engine recreation]]<br />
* [[Wikipedia:Source port|Source ports]]: [https://osgameclones.com/ Open Source Game Clones], [http://rewiki.regengedanken.de/wiki/Links_to_engine_reimplementations Engine Reimplementations]<br />
* [https://itch.io/games/platform-linux itch.io Linux games]<br />
* [http://store.steampowered.com/browse/linux/ Steam Linux store], [https://steamdb.info/linux/ List of Linux Steam games]</div>J!PRAhttps://wiki.archlinux.org/index.php?title=Chroot&diff=562682Chroot2019-01-10T21:54:11Z<p>J!PRA: /* Enter a chroot */ More detailed steps to enter a chroot</p>
<hr />
<div>{{Lowercase title}}<br />
[[Category:System recovery]]<br />
[[Category:Sandboxing]]<br />
[[Category:Commands]]<br />
[[es:Chroot]]<br />
[[fa:تغییر ریشه]]<br />
[[fr:Chroot]]<br />
[[ja:Change Root]]<br />
[[pt:Chroot]]<br />
[[ru:Chroot]]<br />
[[zh-hans:Chroot]]<br />
{{Related articles start}}<br />
{{Related|PRoot}}<br />
{{Related|Linux Containers}}<br />
{{Related|systemd-nspawn}}<br />
{{Related articles end}}<br />
A [[Wikipedia:Chroot|chroot]] is an operation that changes the apparent root directory for the current running process and their children. A program that is run in such a modified environment cannot access files and commands outside that environmental directory tree. This modified environment is called a ''chroot jail''.<br />
<br />
== Reasoning ==<br />
<br />
Changing root is commonly done for performing system maintenance on systems where booting and/or logging in is no longer possible. Common examples are:<br />
<br />
* Reinstalling the [[bootloader]].<br />
* Rebuilding the [[mkinitcpio|initramfs image]].<br />
* Upgrading or [[downgrading packages]].<br />
* Resetting a [[Password recovery|forgotten password]].<br />
* Building packages in a clean chroot, see [[DeveloperWiki:Building in a clean chroot]].<br />
<br />
See also [[Wikipedia:Chroot#Limitations]].<br />
<br />
== Requirements ==<br />
<br />
* Root privilege.<br />
* Another Linux environment, e.g. a LiveCD or USB flash media, or from another existing Linux distribution.<br />
* Matching architecture environments; i.e. the chroot from and chroot to. The architecture of the current environment can be discovered with: {{ic|uname -m}} (e.g. i686 or x86_64).<br />
* Kernel modules loaded that are needed in the chroot environment.<br />
* Swap enabled if needed: {{bc|# swapon /dev/sd''xY''}}<br />
* Internet connection established if needed.<br />
<br />
== Usage ==<br />
<br />
{{Note|<br />
* Some [[systemd]] tools such as ''hostnamectl'', ''localectl'' and ''timedatectl'' can not be used inside a chroot, as they require an active [[dbus]] connection. [https://github.com/systemd/systemd/issues/798#issuecomment-126568596]<br />
* The file system that will serve as the new root ({{ic|/}}) of your chroot must be accessible (i.e., decrypted, mounted).<br />
}}<br />
<br />
There are two main options for using chroot, described below.<br />
<br />
=== Using arch-chroot ===<br />
<br />
The bash script {{ic|arch-chroot}} is part of the {{Pkg|arch-install-scripts}} package. Before it runs {{ic|/usr/bin/chroot}}, the script mounts api filesystems like {{ic|/proc}} and makes {{ic|/etc/resolv.conf}} available from the chroot.<br />
<br />
==== Enter a chroot ====<br />
<br />
First, mount the file system on the root partition, for example {{ic|/dev/sdX2}}, as shown in the [[installation guide]]:<br />
<br />
# mount /dev/sdX2 /mnt<br />
<br />
If needed, mount any remaining partitions as well:<br />
<br />
# mount /dev/sdX1 /mnt/boot<br />
<br />
Run arch-chroot with the new root directory as first argument, which is, in this case {{ic|/mnt}}:<br />
<br />
# arch-chroot /mnt<br />
<br />
To exit the chroot simply use:<br />
<br />
# exit<br />
<br />
==== Run a single command and exit ====<br />
<br />
To run a command from the chroot, and exit again append the command to the end of the line:<br />
<br />
# arch-chroot ''/location/of/new/root'' ''mycommand''<br />
<br />
For example, to run {{ic|mkinitcpio -p linux}} for a chroot located at {{ic|/mnt/arch}} do:<br />
<br />
# arch-chroot /mnt/arch mkinitcpio -p linux<br />
<br />
=== Using chroot ===<br />
<br />
{{Warning|When using {{ic|--rbind}}, some subdirectories of {{ic|dev/}} and {{ic|sys/}} will not be unmountable. Attempting to unmount with {{ic|umount -l}} in this situation will break your session, requiring a reboot. If possible, use {{ic|-o bind}} instead.}}<br />
<br />
In the following example {{ic|''/location/of/new/root''}} is the directory where the new root resides.<br />
<br />
First, mount the temporary API filesystems:<br />
<br />
# cd ''/location/of/new/root''<br />
# mount -t proc /proc proc/<br />
# mount --rbind /sys sys/<br />
# mount --rbind /dev dev/<br />
<br />
And optionally:<br />
<br />
# mount --rbind /run run/<br />
<br />
Next, in order to use an internet connection in the chroot environment copy over the DNS details:<br />
<br />
# cp /etc/resolv.conf etc/resolv.conf<br />
<br />
Finally, to change root into {{ic|''/location/of/new/root''}} using a bash shell:<br />
<br />
# chroot ''/location/of/new/root'' /bin/bash<br />
<br />
{{Note|If you see the error:<br />
* {{ic|chroot: cannot run command '/usr/bin/bash': Exec format error}}, it is likely that the architectures of the host environment and chroot environment do not match.<br />
* {{ic|chroot: '/usr/bin/bash': permission denied}}, remount with the exec permission: {{ic|mount -o remount,exec ''/location/of/new/root''}}.<br />
}}<br />
<br />
After chrooting it may be necessary to load the local bash configuration:<br />
<br />
# source /etc/profile<br />
# source ~/.bashrc<br />
<br />
{{Tip|Optionally, create a unique prompt to be able to differentiate your chroot environment:<br />
{{bc|1=# export PS1="(chroot) $PS1"}}<br />
}}<br />
<br />
When finished with the chroot, you can exit it via:<br />
<br />
# exit<br />
<br />
Then unmount the temporary file systems:<br />
<br />
# cd /<br />
# umount --recursive ''/location/of/new/root''<br />
<br />
{{Note|If there is an error mentioning something like: {{ic|umount: /path: device is busy}} this usually means that either: a program (even a shell) was left running in the chroot or that a sub-mount still exists. Quit the program and use {{ic|findmnt -R ''/location/of/new/root''}} to find and then {{ic|umount}} sub-mounts. It may be tricky to {{ic|umount}} some things and one can hopefully have {{ic|umount --force}} work, as a last resort use {{ic|umount --lazy}} which just releases them. In either case to be safe, {{ic|reboot}} as soon as possible if these are unresolved to avoid possible future conflicts.}}<br />
<br />
== Run graphical applications from chroot ==<br />
<br />
If you have an [[X server]] running on your system, you can start graphical applications from the chroot environment.<br />
<br />
To allow the chroot environment to connect to an X server, open a virtual terminal inside the X server (i.e. inside the desktop of the user that is currently logged in), then run the [[xhost]] command, which gives permission to anyone to connect to the user's X server (see also [[Xhost]]):<br />
<br />
$ xhost +local:<br />
<br />
Then, to direct the applications to the X server from chroot, set the DISPLAY environment variable inside the chroot to match the DISPLAY variable of the user that owns the X server. So for example, run <br />
<br />
$ echo $DISPLAY<br />
<br />
as the user that owns the X server to see the value of DISPLAY. If the value is ":0" (for example), then in the chroot environment run<br />
<br />
# export DISPLAY=:0<br />
<br />
== Without root privileges ==<br />
<br />
Chroot requires root privileges, which may not be desirable or possible for the user to obtain in certain situations. There are, however, various ways to simulate chroot-like behavior using alternative implementations.<br />
<br />
=== PRoot ===<br />
<br />
[[PRoot]] may be used to change the apparent root directory and use {{ic|mount --bind}} without root privileges. This is useful for confining applications to a single directory or running programs built for a different CPU architecture, but it has limitations due to the fact that all files are owned by the user on the host system. PRoot provides a {{ic|--root-id}} argument that can be used as a workaround for some of these limitations in a similar (albeit more limited) manner to ''fakeroot''.<br />
<br />
=== Fakechroot ===<br />
<br />
{{Pkg|fakechroot}} is a library shim which intercepts the chroot call and fakes the results. It can be used in conjunction with {{Pkg|fakeroot}} to simulate a chroot as a regular user. <br />
<br />
# fakechroot fakeroot chroot ~/my-chroot bash<br />
<br />
== See also ==<br />
<br />
* [https://help.ubuntu.com/community/BasicChroot Basic Chroot]</div>J!PRAhttps://wiki.archlinux.org/index.php?title=VMware&diff=544526VMware2018-09-28T14:18:40Z<p>J!PRA: Updated the article to cover the latest version 15.0</p>
<hr />
<div>[[Category:Hypervisors]]<br />
[[it:VMware]]<br />
[[ja:VMware]]<br />
[[ru:VMware]]<br />
[[zh-hans:VMware]]<br />
{{Related articles start}}<br />
{{Related|:Category:Hypervisors}}<br />
{{Related|VMware/Installing Arch as a guest}}<br />
{{Related|Moving an existing install into (or out of) a virtual machine}}<br />
{{Related articles end}}<br />
<br />
This article is about the latest major [[Wikipedia:VMware|VMware]] versions, meaning [[Wikipedia:VMware Workstation|VMware Workstation]] Pro and Player 15, 14 and 12.5. <br />
<br />
You may also be interested in [[VMware/Installing Arch as a guest]]. For older versions, use the {{AUR|vmware-patch}} package.<br />
<br />
== Installation ==<br />
<br />
You can either install using VMware bundle or package {{aur|vmware-workstation}}. The latter is preferred if using ''VMware Workstation'' on x86_64.<br />
<br />
{{Note|VMware has dropped support for a number of CPUs including early Intel Core i7 CPUs since version 14. Check the [https://docs.vmware.com/en/VMware-Workstation-Pro/14.0/com.vmware.ws.using.doc/GUID-BBD199AA-C346-4334-9F56-5A42F7328594.html Processor Requirements for Host Systems]. If your CPU is not supported in the newer releases then you can use {{aur|vmware-workstation12}}.}}<br />
<br />
=== VMware bundle ===<br />
<br />
[[Install]] the correct dependencies:<br />
*{{pkg|fuse2}} - for ''vmware-vmblock-fuse''<br />
*{{pkg|gtkmm}} - for the GUI<br />
*{{pkg|linux-headers}}&nbsp;- for module compilation<br />
*{{AUR|ncurses5-compat-libs}} - needed by the {{ic|--console}} installer<br />
*{{pkg|libcanberra}} - for event sounds<br />
*{{pkg|pcsclite}} <br />
<br />
Download the latest [https://www.vmware.com/go/tryworkstation VMware Workstation Pro] or [https://www.vmware.com/go/downloadplayer Player] (or a [https://communities.vmware.com/community/vmtn/beta beta] version, if available).<br />
<br />
Start the installation:<br />
# sh VMware-''edition''-''version''.''release''.''architecture''.bundle<br />
<br />
{{Tip|Some useful flags:<br />
*{{ic|--eulas-agreed}} - Skip the EULAs<br />
*{{ic|--console}} - Use the console UI.<br />
*{{ic|--custom}} - Allows changing the install directory to e.g. {{ic|/usr/local}} (make sure to update the {{ic|vmware-usbarbitrator.service}} paths in [[#systemd services]]).<br />
*{{ic|-I}}, {{ic|--ignore-errors}} - Ignore fatal errors.<br />
*{{ic|1=--set-setting=vmware-workstation serialNumber XXXXX-XXXXX-XXXXX-XXXXX-XXXXX}} - Set the serial number during install (good for scripted installs).<br />
*{{ic|--required}} - Only ask mandatory questions (results in silent install when combined with {{ic|--eulas-agreed}} and {{ic|--console}}).<br />
}}<br />
<br />
For the {{ic|System service scripts directory}}, use {{ic|/etc/init.d}} (the default).<br />
<br />
{{Note|During the installation you will get an error about {{ic|"No rc*.d style init script directories"}} being given. This can be safely ignored, since Arch uses [[systemd]].}}<br />
<br />
{{Tip|To (re)build the modules from terminal later on, use:<br />
# vmware-modconfig --console --install-all<br />
}}<br />
<br />
=== Package build for x86_64 ===<br />
<br />
Install {{aur|vmware-workstation}}, {{aur|vmware-workstation12}} or {{aur|vmware-workstation11}} for respectively versions 14, 12 and 11 of ''VMware Workstation''. It is also necessary to install the appropriate headers package(s) for your installed kernel(s): for example {{Pkg|linux-headers}} or {{Pkg|linux-lts-headers}}.<br />
<br />
Then, as desired, enable some of the following services:<br />
* {{ic|vmware-networks.service}} for guest network access<br />
* {{ic|vmware-usbarbitrator.service}} for connecting USB devices to guest<br />
* {{ic|vmware-hostd.service}} for sharing virtual machines<br />
<br />
Lastly, load the VMware modules:<br />
# modprobe -a vmw_vmci vmmon<br />
<br />
== Configuration ==<br />
<br />
=== Kernel modules ===<br />
<br />
VMware Workstation 15.0 supports kernel 4.14 and up out of the box. Older versions 14.1 and 12.5.7 have native support for kernels up to 4.13 and 4.12, respectively.<br />
<br />
For VMware 14 and 12.5 bundle versions, a collection of patches needed for the VMware host modules to build against recent kernels can be found from the following GitHub repository, [https://github.com/mkubecek/vmware-host-modules/ vmware-host-modules]. See the INSTALL document found on the repository for the most up-to-date module installation instructions for VMware Workstation versions from 12.5.5 and up.<br />
<br />
Alternatively, the modules can be patched installing the {{AUR|vmware-patch}} package and executing:<br />
# vmware-patch -f<br />
<br />
=== systemd services ===<br />
<br />
''(Optional)'' Instead of using {{ic|/etc/init.d/vmware}} ({{ic|<nowiki>start|stop|status|restart</nowiki>}}) and {{ic|/usr/bin/vmware-usbarbitrator}} directly to manage the services, you may also use {{ic|.service}} files (also available in the {{AUR|vmware-systemd-services}} package, and also included in {{AUR|vmware-patch}} and {{AUR|vmware-workstation}} with a few differences):<br />
<br />
{{hc|/etc/systemd/system/vmware.service|<br />
2=[Unit]<br />
Description=VMware daemon<br />
Requires=vmware-usbarbitrator.service<br />
Before=vmware-usbarbitrator.service<br />
After=network.target<br />
<br />
[Service]<br />
ExecStart=/etc/init.d/vmware start<br />
ExecStop=/etc/init.d/vmware stop<br />
PIDFile=/var/lock/subsys/vmware<br />
RemainAfterExit=yes<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
}}<br />
<br />
{{hc|/etc/systemd/system/vmware-usbarbitrator.service|<br />
2=[Unit]<br />
Description=VMware USB Arbitrator<br />
Requires=vmware.service<br />
After=vmware.service<br />
<br />
[Service]<br />
ExecStart=/usr/bin/vmware-usbarbitrator<br />
ExecStop=/usr/bin/vmware-usbarbitrator --kill<br />
RemainAfterExit=yes<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
}}<br />
<br />
Add this service as well, if you want to connect to your VMware Workstation installation from another Workstation Server Console:<br />
<br />
{{hc|/etc/systemd/system/vmware-workstation-server.service|<br />
2=[Unit]<br />
Description=VMware Workstation Server<br />
Requires=vmware.service<br />
After=vmware.service<br />
<br />
[Service]<br />
ExecStart=/etc/init.d/vmware-workstation-server start<br />
ExecStop=/etc/init.d/vmware-workstation-server stop<br />
PIDFile=/var/lock/subsys/vmware-workstation-server<br />
RemainAfterExit=yes<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
}}<br />
<br />
After which you can [[enable]] them on boot.<br />
<br />
==== Workstation Server service ====<br />
<br />
The {{ic|vmware-workstation-server.service}} calls {{ic|wssc-adminTool}} in its command chain, despite having been renamed to {{ic|vmware-wssc-adminTool}}.<br />
<br />
To prevent the service startup, this can be fixed with a symlink:<br />
<br />
# ln -s wssc-adminTool /usr/lib/vmware/bin/vmware-wssc-adminTool<br />
<br />
== Launching the application ==<br />
<br />
To open VMware Workstation Pro:<br />
$ vmware<br />
<br />
or Player:<br />
$ vmplayer<br />
<br />
== Tips and tricks ==<br />
<br />
=== Entering the Workstation Pro license key ===<br />
<br />
==== From terminal ====<br />
<br />
# /usr/lib/vmware/bin/vmware-vmx-debug --new-sn XXXXX-XXXXX-XXXXX-XXXXX-XXXXX<br />
<br />
Where {{ic|XXXXX-XXXXX-XXXXX-XXXXX-XXXXX}} is your license key.<br />
<br />
{{Note|The {{ic|-debug}} binary informs the user of an incorrect license.}}<br />
<br />
==== From GUI ====<br />
<br />
If the above does not work, you can try:<br />
<br />
# /usr/lib/vmware/bin/vmware-enter-serial<br />
<br />
=== Extracting the VMware BIOS ===<br />
<br />
$ objcopy /usr/lib/vmware/bin/vmware-vmx -O binary -j bios440 --set-section-flags bios440=a bios440.rom.Z<br />
$ perl -e 'use Compress::Zlib; my $v; read STDIN, $v, '$(stat -c%s "./bios440.rom.Z")'; $v = uncompress($v); print $v;' < bios440.rom.Z > bios440.rom<br />
<br />
=== Extracting the installer ===<br />
<br />
To view the contents of the installer {{ic|.bundle}}:<br />
<br />
$ sh VMware-''edition''-''version''.''release''.''architecture''.bundle --extract ''/tmp/vmware-bundle/''<br />
<br />
==== Using the modified BIOS ====<br />
<br />
If and when you decide to modify the extracted BIOS you can make your virtual machine use it by moving it to {{ic|~/vmware/''Virtual_machine_name''}}:<br />
$ mv bios440.rom ~/vmware/''Virtual_machine_name''/<br />
<br />
then adding the name to the {{ic|''Virtual_machine_name''.vmx}} file:<br />
{{hc|~/vmware/''Virtual_machine_name''/''Virtual_machine_name''.vmx|2=bios440.filename = "bios440.rom"}}<br />
<br />
=== Enable 3D graphics on Intel and Optimus ===<br />
<br />
Some graphics drivers are blacklisted by default, due to poor and/or unstable 3D acceleration. After enabling ''Accelerate 3D graphics'', the log may show something like:<br />
<br />
Disabling 3D on this host due to presence of Mesa DRI driver. Set mks.gl.allowBlacklistedDrivers = TRUE to override.<br />
<br />
The config file where you can set this setting is {{ic|~/.vmware/preferences}}.<br />
<br />
== Troubleshooting ==<br />
<br />
=== Kernel headers for version 4.x-xxxx were not found. If you installed them[...] ===<br />
<br />
Install the headers ({{Pkg|linux-headers}}).<br />
<br />
{{Note|Upgrading the kernel and the headers will require you to boot to the new kernel to match the version of the headers. This is a relatively common error.}}<br />
<br />
=== USB devices not recognized ===<br />
<br />
{{Tip|Also handled by {{AUR|vmware-patch}}.}}<br />
<br />
If not using the [[#systemd services|systemd service]] to automatically handle the services, you need to manually start the {{ic|vmware-usbarbitrator}} binary as root each time.<br />
<br />
To start:<br />
<br />
# vmware-usbarbitrator<br />
<br />
To stop:<br />
<br />
# vmware-usbarbitrator --kill<br />
<br />
=== Incorrect login/password when trying to access VMware remotely ===<br />
<br />
VMware Workstation provides the possibility to remotely manage Shared VMs through the {{ic|vmware-workstation-server}} service. However, this will fail with the error {{ic|"incorrect username/password"}} due to incorrect [[PAM]] configuration of the {{ic|vmware-authd}} service. To fix it, edit {{ic|/etc/pam.d/vmware-authd}} like this:<br />
<br />
{{hc|/etc/pam.d/vmware-authd|<br />
#%PAM-1.0<br />
auth ''required pam_unix.so''<br />
account ''required pam_unix.so''<br />
password ''required pam_permit.so''<br />
session ''required pam_unix.so''<br />
}}<br />
<br />
and restart the {{ic|vmware}} [[systemd]] service.<br />
<br />
Now you can connect to the server with the credentials provided during the installation.<br />
<br />
{{Note|{{Pkg|libxslt}} may be required for starting virtual machines.}}<br />
<br />
=== Issues with ALSA output ===<br />
<br />
[http://bankimbhavsar.blogspot.co.nz/2011/09/hd-audio-in-vmware-fusion-4-and-vmware.html To fix] sound quality issues or enabling proper HD audio output, first run:<br />
$ aplay -L<br />
<br />
If interested in playing 5.1 ''surround sound'' from the guest, look for {{ic|1=surround51:CARD=''vendor_name'',DEV=''num''}}, if experiencing quality issues, look for {{ic|1=front:CARD=''vendor_name'',DEV=''num''}}. Finally put the name in the {{ic|.vmx}}:<br />
<br />
{{hc|~/vmware/''Virtual_machine_name''/''Virtual_machine_name''.vmx|2=<br />
sound.fileName=''"surround51:CARD=Live,DEV=0"''<br />
sound.autodetect=''"FALSE"''<br />
}}<br />
<br />
[[Advanced_Linux_Sound_Architecture#OSS_compatibility|OSS emulation]] should also be disabled.<br />
<br />
=== Kernel-based Virtual Machine (KVM) is running ===<br />
<br />
To disable {{ic|KVM}} on boot, you can use something like:<br />
<br />
{{hc|/etc/modprobe.d/vmware.conf|<br />
blacklist kvm<br />
blacklist kvm-amd # For AMD CPUs<br />
blacklist kvm-intel # For Intel CPUs<br />
}}<br />
<br />
=== Module Issues ===<br />
<br />
==== /dev/vmmon not found ====<br />
<br />
The full error is:<br />
<br />
Could not open /dev/vmmon: No such file or directory.<br />
Please make sure that the kernel module 'vmmon' is loaded.<br />
<br />
This means that at least the {{ic|vmmon}} module is not loaded. See the [[#systemd services]] section for automatic loading.<br />
<br />
==== /dev/vmci not found ====<br />
<br />
The full error is:<br />
<br />
Failed to open device "/dev/vmci": No such file or directory<br />
Please make sure that the kernel module 'vmci' is loaded.<br />
<br />
Try to recompile VMware kernel modules with:<br />
<br />
# vmware-modconfig --console --install-all<br />
<br />
=== Installer Fails to Start ===<br />
<br />
If you just get back to the prompt when opening the {{ic|.bundle}}, then you probably have a deprecated or broken version of the VMware installer and it should removed (you may also refer to the [[#Uninstallation|uninstallation]] section of this article):<br />
# rm -r /etc/vmware-installer/<br />
<br />
==== User interface initialization failed ====<br />
<br />
You may also see an error like this:<br />
<br />
Extracting VMware Installer...done.<br />
No protocol specified<br />
No protocol specified<br />
User interface initialization failed. Exiting. Check the log for details.<br />
<br />
This can be fixed by either installing the {{AUR|ncurses5-compat-libs}} dependency or temporarily allowing root access to X:<br />
<br />
$ xhost +<br />
$ sudo ./<vmware filename>.bundle<br />
$ xhost -<br />
<br />
=== VMware Fails to Start ===<br />
<br />
==== Module CPUIDEarly power on failed ====<br />
<br />
Version 14 has stricter CPU requirements than version 12. If you try to start a virtual machine with an affected CPU, the following message will appear:<br />
<br />
This host does not support virtualizing real mode.<br />
The Intel "VMX Unrestricted Guest" feature is necessary to run this virtual machine on an Intel processor.<br />
<br />
The solution is to uninstall version 14 and install version 12 ({{aur|vmware-workstation12}}).<br />
<br />
==== Segmentation fault at startup due to old Intel microcode ====<br />
<br />
Old Intel microcode may result in the following kind of segmentation fault at startup:<br />
<br />
/usr/bin/vmware: line 31: 4941 Segmentation fault "$BINDIR"/vmware-modconfig --appname="VMware Workstation" --icon="vmware-workstation"<br />
<br />
See [[Microcode]] for how to update the microcode.<br />
<br />
==== vmplayer/vmware version 14 fails to start ====<br />
<br />
On systems with {{ic|librsvg}} version 2:2.44.0 and above, the log files (located in {{ic|/tmp/vmware-<id>}}) show several instances of the following error:<br />
<br />
appLoader| I125+ undefined symbol<br />
<br />
A workaround is to downgrade {{ic|librsvg}} to earlier version, or more preferably, force VMware to use its own shipped version of {{ic|librsvg}}:<br />
<br />
# export LD_LIBRARY_PATH=/lib/vmware/lib/librsvg-2.so.2:$LD_LIBRARY_PATH<br />
<br />
VMware also has a {{ic|VMWARE_USE_SHIPPED_LIBS}} variable:<br />
<br />
$ env VMWARE_USE_SHIPPED_LIBS=1 vmware<br />
<br />
==== vmplayer/vmware fails to start from version 12.5.4 ====<br />
<br />
As per [https://bbs.archlinux.org/viewtopic.php?id=224667] the temporary workaround is to downgrade the package {{ic|libpng}} to version 1.6.28-1 and keep it in the {{ic|IgnorePkg}} parameter in [[Pacman#Skip_package_from_being_upgraded|/etc/pacman.conf]].<br />
<br />
An easier workaround is to make VMWare use the system's version of zlib instead of its own one:<br />
<br />
# cd /usr/lib/vmware/lib/libz.so.1<br />
# mv libz.so.1 libz.so.1.old<br />
# ln -s /usr/lib/libz.so.1 .<br />
<br />
==== vmplayer/vmware fails to start from version 12.5.3 to version 12.5.5 ====<br />
<br />
It seems to be a problem with the file {{ic|/usr/lib/vmware/lib/libstdc++.so.6/libstdc++.so.6}}, missing {{ic|CXXABI_1.3.8}}.<br />
<br />
If the system have installed {{pkg|gcc-libs}}, that library is already installed. Therefore, it's possible to remove that file and vmplayer will use the one provided by gcc-libs instead. As root do:<br />
<br />
# mv /usr/lib/vmware/lib/libstdc++.so.6/libstdc++.so.6 /usr/lib/vmware/lib/libstdc++.so.6/libstdc++.so.6.bak<br />
<br />
Also there is a workaround: <br />
<br />
# export VMWARE_USE_SHIPPED_LIBS='yes'<br />
<br />
==== vmware 12 process terminates immediately after start, no GUI is launched ====<br />
<br />
Registered bug at [https://bugs.mageia.org/show_bug.cgi?id=9739 Mageia], but it seems that there are no error messages shown in terminal with arch. When inspecting the logs, which are in {{ic|/tmp/vmware-<id>}}, there are {{ic|VMWARE_SHIPPED_LIBS_LIST is not set}}, {{ic|VMWARE_SYSTEM_LIBS_LIST is not set}}, {{ic|VMWARE_USE_SHIPPED_LIBS is not set}}, {{ic|VMWARE_USE_SYSTEM_LIBS is not set}} issues. Process simply terminates with {{ic|Unable to execute /usr/lib/vmware/bin/vmware-modconfig.}} after vmware or vmplayer is executed. Solution is the same, as root do:<br />
<br />
# mv /etc/vmware/icu/icudt44l.dat /etc/vmware/icu/icudt44l.dat.bak<br />
<br />
Also there is a workaround: <br />
<br />
# export VMWARE_USE_SHIPPED_LIBS='yes'<br />
<br />
Despite setting the VMWARE_USE_SHIPPED_LIBS variable, VMWare may still fail to find certain libraries. An example is the libfontconfig.so.1 library. Check vmware logs in the tmp directory to see which libraries are still not found. Copy them to the appropriate path with libraries existing on the system:<br />
<br />
# cp /usr/lib/libfontconfig.so.1 /usr/lib/vmware/lib/libfontconfig.so.1/<br />
<br />
Instead of copying all these files manually, you may want to try exporting an additional setting:<br />
<br />
# export VMWARE_USE_SYSTEM_LIBS='yes'<br />
<br />
On systems with fontconfig version '''2.13.0''' and above, it may be needed to replace the shipped libfontconfig file with version '''2.12.6''' library file and force VMware to use that file instead of the newer system file. This applies for at least VMware version '''12.5.9'''. As root do:<br />
<br />
# cd /usr/lib/vmware/lib/libfontconfig.so.1<br />
# wget https://archive.archlinux.org/packages/f/fontconfig/fontconfig-2.12.6-1-x86_64.pkg.tar.xz<br />
# tar -xvf fontconfig-2.12.6-1-x86_64.pkg.tar.xz usr/lib/libfontconfig.so.1.10.1<br />
# mv libfontconfig.so.1 libfontconfig.so.1.old<br />
# mv ./usr/lib/libfontconfig.so.1.10.1 ./libfontconfig.so.1<br />
# rm -r ./usr ./fontconfig-2.12.6-1-x86_64.pkg.tar.xz<br />
# export LD_LIBRARY_PATH=/usr/lib/vmware/lib/libfontconfig.so.1:$LD_LIBRARY_PATH<br />
<br />
=== Guest Issues ===<br />
<br />
==== Unable to download VMware Tools for Guests ====<br />
<br />
To download the tools manually, visit the [http://softwareupdate.vmware.com/cds/vmw-desktop/ VMware repository].<br />
<br />
Navigate to: "''application name'' / ''version'' / ''build ID'' / linux / packages/" and download the appropriate Tools.<br />
<br />
Extract with:<br />
<br />
$ tar -xvf vmware-tools-''name''-''version''-''buildID''.x86_64.component.tar<br />
<br />
And install using the VMware installer:<br />
<br />
# vmware-installer --install-component=''/path/''vmware-tools-''name''-''version''-''buildID''.x86_64.component<br />
<br />
If the above does not work, try installing {{AUR|ncurses5-compat-libs}}.<br />
<br />
==== Guests have incorrect system clocks or are unable to boot: "[...]timeTracker_user.c:234 bugNr=148722" ====<br />
<br />
This is due to [http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&externalId=1591 incomplete] support of power management features ([[Wikipedia:Intel speedstep|Intel SpeedStep]] and [[Wikipedia:AMD powernow|AMD PowerNow!]]/[[Wikipedia:Cool'n'Quiet|Cool'n'Quiet]]) in VMware Linux that vary the CPU frequency. In March 2012, with the release of [https://projects.archlinux.org/svntogit/packages.git/commit/trunk/config.x86_64?h=packages/linux&id=9abe018d91a5d8c3af7523d30b8aa73f86b680be linux 3.3-1] the maximum frequency [[CPU frequency governors|Performance]] governor was replaced with the dynamic ''Ondemand''. When the host CPU frequency changes, the Guest system clock runs too quickly or too slowly, but may also render the whole Guest unbootable.<br />
<br />
To prevent this, the maximum host CPU frequency can be specified, and [[Wikipedia:Time Stamp Counter|Time Stamp Counter]] (TSC) disabled, in the global configuration:<br />
<br />
{{hc|/etc/vmware/config|2=<br />
host.cpukHz = "X" # The maximum speed in KHz, e.g. 3GHz is "3000000".<br />
host.noTSC = "TRUE" # Keep the Guest system clock accurate even when<br />
ptsc.noTSC = "TRUE" # the time stamp counter (TSC) is slow.<br />
}}<br />
<br />
{{Tip|To periodically correct the time (once per minute), in the ''Options'' tab of VMware Tools, enable: ''"Time synchronization between the virtual machine and the host operating system"''.}}<br />
<br />
==== Networking on Guests not available after system restart ====<br />
<br />
This is likely due to the {{ic|vmnet}} module not being loaded [http://www.linuxquestions.org/questions/slackware-14/could-not-connect-ethernet0-to-virtual-network-dev-vmnet8-796095/]. See also the [[#systemd services]] section for automatic loading.<br />
<br />
== Uninstallation ==<br />
<br />
To uninstall VMware you need the product name (either {{ic|vmware-workstation}} or {{ic|vmware-player}}). To list all the installed products:<br />
$ vmware-installer -l<br />
<br />
and uninstall with ({{ic|--required}}&nbsp;skips the confirmation):<br />
# vmware-installer -u ''product'' --required<br />
<br />
{{Tip|Use {{ic|--console}} for the console UI.}}<br />
<br />
Remember to also [[disable]] and remove the services:<br />
# rm /etc/systemd/system/vmware.service<br />
# rm /etc/systemd/system/vmware-usbarbitrator.service<br />
<br />
You may also want to have a look at the module directories in {{ic|/usr/lib/modules/''kernel_name''/misc/}} for any leftovers, and remove {{ic|/etc/init.d/}} if now empty.</div>J!PRAhttps://wiki.archlinux.org/index.php?title=VMware&diff=537735VMware2018-08-25T17:30:30Z<p>J!PRA: /* VMware Fails to Start */ Added a workaround for version 14</p>
<hr />
<div>[[Category:Hypervisors]]<br />
[[it:VMware]]<br />
[[ja:VMware]]<br />
[[ru:VMware]]<br />
[[zh-hans:VMware]]<br />
{{Related articles start}}<br />
{{Related|:Category:Hypervisors}}<br />
{{Related|VMware/Installing Arch as a guest}}<br />
{{Related|Moving an existing install into (or out of) a virtual machine}}<br />
{{Related articles end}}<br />
<br />
This article is about installing VMware in Arch Linux; you may also be interested in [[VMware/Installing Arch as a guest]].<br />
{{Note|<br />
*This article is about the latest major VMware versions, meaning VMware Workstation Pro and Player 12.5 and 14. <br />
*For older versions, use the {{AUR|vmware-patch}} package.<br />
}}<br />
<br />
== Installation ==<br />
<br />
You can either install using VMware bundle or package {{aur|vmware-workstation}}. The latter is preferred if using ''VMware Workstation'' on x86_64.<br />
<br />
{{Note|VMware version 14 drops support for a number of CPUs including early Intel Core i7 CPUs. Check the [https://docs.vmware.com/en/VMware-Workstation-Pro/14.0/com.vmware.ws.using.doc/GUID-BBD199AA-C346-4334-9F56-5A42F7328594.html Processor Requirements for Host Systems]. If version 14 does not support your CPU then you can use {{aur|vmware-workstation12}}.}}<br />
<br />
=== VMware bundle ===<br />
<br />
[[Install]] the correct dependencies:<br />
*{{pkg|fuse2}} - for ''vmware-vmblock-fuse''<br />
*{{pkg|gtkmm}} - for the GUI<br />
*{{pkg|linux-headers}}&nbsp;- for module compilation<br />
*{{AUR|ncurses5-compat-libs}} - needed by the {{ic|--console}} installer<br />
*{{pkg|libcanberra}} - for event sounds<br />
*{{pkg|pcsclite}} <br />
<br />
Download the latest [https://www.vmware.com/go/tryworkstation VMware Workstation Pro] or [https://www.vmware.com/go/downloadplayer Player] (or a [https://communities.vmware.com/community/vmtn/beta beta] version, if available).<br />
<br />
Start the installation:<br />
# sh VMware-''edition''-''version''.''release''.''architecture''.bundle<br />
<br />
{{Tip|Some useful flags:<br />
*{{ic|--eulas-agreed}} - Skip the EULAs<br />
*{{ic|--console}} - Use the console UI.<br />
*{{ic|--custom}} - Allows changing the install directory to e.g. {{ic|/usr/local}} (make sure to update the {{ic|vmware-usbarbitrator.service}} paths in [[#systemd services]]).<br />
*{{ic|-I}}, {{ic|--ignore-errors}} - Ignore fatal errors.<br />
*{{ic|1=--set-setting=vmware-workstation serialNumber XXXXX-XXXXX-XXXXX-XXXXX-XXXXX}} - Set the serial number during install (good for scripted installs).<br />
*{{ic|--required}} - Only ask mandatory questions (results in silent install when combined with {{ic|--eulas-agreed}} and {{ic|--console}}).<br />
}}<br />
<br />
For the {{ic|System service scripts directory}}, use {{ic|/etc/init.d}} (the default).<br />
<br />
{{Note|During the installation you will get an error about {{ic|"No rc*.d style init script directories"}} being given. This can be safely ignored, since Arch uses [[systemd]].}}<br />
<br />
{{Tip|To (re)build the modules from terminal later on, use:<br />
# vmware-modconfig --console --install-all<br />
}}<br />
<br />
=== Package build for x86_64 ===<br />
<br />
Install {{aur|vmware-workstation}}, {{aur|vmware-workstation12}} or {{aur|vmware-workstation11}} for respectively versions 14, 12 and 11 of ''VMware Workstation''. It is also necessary to install the appropriate headers package(s) for your installed kernel(s): for example {{Pkg|linux-headers}} or {{Pkg|linux-lts-headers}}.<br />
<br />
Then, as desired, enable some of the following services:<br />
* {{ic|vmware-networks.service}} for guest network access<br />
* {{ic|vmware-usbarbitrator.service}} for connecting USB devices to guest<br />
* {{ic|vmware-hostd.service}} for sharing virtual machines<br />
<br />
Lastly, load the VMware modules:<br />
# modprobe -a vmw_vmci vmmon<br />
<br />
== Configuration ==<br />
<br />
=== Kernel modules ===<br />
<br />
VMware Workstation 12.5 supports kernels up to 4.8 out of the box.<br />
<br />
For VMware bundle versions, a collection of patches needed for the VMware host modules to build against recent kernels can be found from the following GitHub repository, [https://github.com/mkubecek/vmware-host-modules/ vmware-host-modules]. See the INSTALL document found on the repository for the most up-to-date module installation instructions for VMware versions from 12.5.5 and up.<br />
<br />
Alternatively, the modules can be patched installing the {{AUR|vmware-patch}} package and executing:<br />
# vmware-patch -f<br />
<br />
=== systemd services ===<br />
<br />
''(Optional)'' Instead of using {{ic|/etc/init.d/vmware}} ({{ic|<nowiki>start|stop|status|restart</nowiki>}}) and {{ic|/usr/bin/vmware-usbarbitrator}} directly to manage the services, you may also use {{ic|.service}} files (also available in the {{AUR|vmware-systemd-services}} package, and also included in {{AUR|vmware-patch}} and {{AUR|vmware-workstation}} with a few differences):<br />
<br />
{{hc|/etc/systemd/system/vmware.service|<br />
2=[Unit]<br />
Description=VMware daemon<br />
Requires=vmware-usbarbitrator.service<br />
Before=vmware-usbarbitrator.service<br />
After=network.target<br />
<br />
[Service]<br />
ExecStart=/etc/init.d/vmware start<br />
ExecStop=/etc/init.d/vmware stop<br />
PIDFile=/var/lock/subsys/vmware<br />
RemainAfterExit=yes<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
}}<br />
<br />
{{hc|/etc/systemd/system/vmware-usbarbitrator.service|<br />
2=[Unit]<br />
Description=VMware USB Arbitrator<br />
Requires=vmware.service<br />
After=vmware.service<br />
<br />
[Service]<br />
ExecStart=/usr/bin/vmware-usbarbitrator<br />
ExecStop=/usr/bin/vmware-usbarbitrator --kill<br />
RemainAfterExit=yes<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
}}<br />
<br />
Add this service as well, if you want to connect to your VMware Workstation installation from another Workstation Server Console:<br />
<br />
{{hc|/etc/systemd/system/vmware-workstation-server.service|<br />
2=[Unit]<br />
Description=VMware Workstation Server<br />
Requires=vmware.service<br />
After=vmware.service<br />
<br />
[Service]<br />
ExecStart=/etc/init.d/vmware-workstation-server start<br />
ExecStop=/etc/init.d/vmware-workstation-server stop<br />
PIDFile=/var/lock/subsys/vmware-workstation-server<br />
RemainAfterExit=yes<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
}}<br />
<br />
After which you can [[enable]] them on boot.<br />
<br />
==== Workstation Server service ====<br />
<br />
The {{ic|vmware-workstation-server.service}} calls {{ic|wssc-adminTool}} in its command chain, despite having been renamed to {{ic|vmware-wssc-adminTool}}.<br />
<br />
To prevent the service startup, this can be fixed with a symlink:<br />
<br />
# ln -s wssc-adminTool /usr/lib/vmware/bin/vmware-wssc-adminTool<br />
<br />
== Launching the application ==<br />
<br />
To open VMware Workstation Pro:<br />
$ vmware<br />
<br />
or Player:<br />
$ vmplayer<br />
<br />
== Tips and tricks ==<br />
<br />
=== Entering the Workstation Pro license key ===<br />
<br />
==== From terminal ====<br />
<br />
# /usr/lib/vmware/bin/vmware-vmx-debug --new-sn XXXXX-XXXXX-XXXXX-XXXXX-XXXXX<br />
<br />
Where {{ic|XXXXX-XXXXX-XXXXX-XXXXX-XXXXX}} is your license key.<br />
<br />
{{Note|The {{ic|-debug}} binary informs the user of an incorrect license.}}<br />
<br />
==== From GUI ====<br />
<br />
If the above does not work, you can try:<br />
<br />
# /usr/lib/vmware/bin/vmware-enter-serial<br />
<br />
=== Extracting the VMware BIOS ===<br />
<br />
$ objcopy /usr/lib/vmware/bin/vmware-vmx -O binary -j bios440 --set-section-flags bios440=a bios440.rom.Z<br />
$ perl -e 'use Compress::Zlib; my $v; read STDIN, $v, '$(stat -c%s "./bios440.rom.Z")'; $v = uncompress($v); print $v;' < bios440.rom.Z > bios440.rom<br />
<br />
=== Extracting the installer ===<br />
<br />
To view the contents of the installer {{ic|.bundle}}:<br />
<br />
$ sh VMware-''edition''-''version''.''release''.''architecture''.bundle --extract ''/tmp/vmware-bundle/''<br />
<br />
==== Using the modified BIOS ====<br />
<br />
If and when you decide to modify the extracted BIOS you can make your virtual machine use it by moving it to {{ic|~/vmware/''Virtual_machine_name''}}:<br />
$ mv bios440.rom ~/vmware/''Virtual_machine_name''/<br />
<br />
then adding the name to the {{ic|''Virtual_machine_name''.vmx}} file:<br />
{{hc|~/vmware/''Virtual_machine_name''/''Virtual_machine_name''.vmx|2=bios440.filename = "bios440.rom"}}<br />
<br />
=== Enable 3D graphics on Intel and Optimus ===<br />
<br />
Some graphics drivers are blacklisted by default, due to poor and/or unstable 3D acceleration. After enabling ''Accelerate 3D graphics'', the log may show something like:<br />
<br />
Disabling 3D on this host due to presence of Mesa DRI driver. Set mks.gl.allowBlacklistedDrivers = TRUE to override.<br />
<br />
The config file where you can set this setting is {{ic|~/.vmware/preferences}}.<br />
<br />
== Troubleshooting ==<br />
<br />
=== Kernel headers for version 4.x-xxxx were not found. If you installed them[...] ===<br />
<br />
Install the headers ({{Pkg|linux-headers}}).<br />
<br />
{{Note|Upgrading the kernel and the headers will require you to boot to the new kernel to match the version of the headers. This is a relatively common error.}}<br />
<br />
=== USB devices not recognized ===<br />
<br />
{{Tip|Also handled by {{AUR|vmware-patch}}.}}<br />
<br />
If not using the [[#systemd services|systemd service]] to automatically handle the services, you need to manually start the {{ic|vmware-usbarbitrator}} binary as root each time.<br />
<br />
To start:<br />
<br />
# vmware-usbarbitrator<br />
<br />
To stop:<br />
<br />
# vmware-usbarbitrator --kill<br />
<br />
=== Incorrect login/password when trying to access VMware remotely ===<br />
<br />
VMware Workstation provides the possibility to remotely manage Shared VMs through the {{ic|vmware-workstation-server}} service. However, this will fail with the error {{ic|"incorrect username/password"}} due to incorrect [[PAM]] configuration of the {{ic|vmware-authd}} service. To fix it, edit {{ic|/etc/pam.d/vmware-authd}} like this:<br />
<br />
{{hc|/etc/pam.d/vmware-authd|<br />
#%PAM-1.0<br />
auth ''required pam_unix.so''<br />
account ''required pam_unix.so''<br />
password ''required pam_permit.so''<br />
session ''required pam_unix.so''<br />
}}<br />
<br />
and restart the {{ic|vmware}} [[systemd]] service.<br />
<br />
Now you can connect to the server with the credentials provided during the installation.<br />
<br />
{{Note|{{Pkg|libxslt}} may be required for starting virtual machines.}}<br />
<br />
=== Issues with ALSA output ===<br />
<br />
[http://bankimbhavsar.blogspot.co.nz/2011/09/hd-audio-in-vmware-fusion-4-and-vmware.html To fix] sound quality issues or enabling proper HD audio output, first run:<br />
$ aplay -L<br />
<br />
If interested in playing 5.1 ''surround sound'' from the guest, look for {{ic|1=surround51:CARD=''vendor_name'',DEV=''num''}}, if experiencing quality issues, look for {{ic|1=front:CARD=''vendor_name'',DEV=''num''}}. Finally put the name in the {{ic|.vmx}}:<br />
<br />
{{hc|~/vmware/''Virtual_machine_name''/''Virtual_machine_name''.vmx|2=<br />
sound.fileName=''"surround51:CARD=Live,DEV=0"''<br />
sound.autodetect=''"FALSE"''<br />
}}<br />
<br />
[[Advanced_Linux_Sound_Architecture#OSS_compatibility|OSS emulation]] should also be disabled.<br />
<br />
=== Kernel-based Virtual Machine (KVM) is running ===<br />
<br />
To disable {{ic|KVM}} on boot, you can use something like:<br />
<br />
{{hc|/etc/modprobe.d/vmware.conf|<br />
blacklist kvm<br />
blacklist kvm-amd # For AMD CPUs<br />
blacklist kvm-intel # For Intel CPUs<br />
}}<br />
<br />
=== Module Issues ===<br />
<br />
==== /dev/vmmon not found ====<br />
<br />
The full error is:<br />
<br />
Could not open /dev/vmmon: No such file or directory.<br />
Please make sure that the kernel module 'vmmon' is loaded.<br />
<br />
This means that at least the {{ic|vmmon}} module is not loaded. See the [[#systemd services]] section for automatic loading.<br />
<br />
==== /dev/vmci not found ====<br />
<br />
The full error is:<br />
<br />
Failed to open device "/dev/vmci": No such file or directory<br />
Please make sure that the kernel module 'vmci' is loaded.<br />
<br />
Try to recompile VMware kernel modules with:<br />
<br />
# vmware-modconfig --console --install-all<br />
<br />
=== Installer Fails to Start ===<br />
<br />
If you just get back to the prompt when opening the {{ic|.bundle}}, then you probably have a deprecated or broken version of the VMware installer and it should removed (you may also refer to the [[#Uninstallation|uninstallation]] section of this article):<br />
# rm -r /etc/vmware-installer/<br />
<br />
==== User interface initialization failed ====<br />
<br />
You may also see an error like this:<br />
<br />
Extracting VMware Installer...done.<br />
No protocol specified<br />
No protocol specified<br />
User interface initialization failed. Exiting. Check the log for details.<br />
<br />
This can be fixed by either installing the {{AUR|ncurses5-compat-libs}} dependency or temporarily allowing root access to X:<br />
<br />
$ xhost +<br />
$ sudo ./<vmware filename>.bundle<br />
$ xhost -<br />
<br />
=== VMware Fails to Start ===<br />
<br />
==== Module CPUIDEarly power on failed ====<br />
<br />
Version 14 has stricter CPU requirements than version 12. If you try to start a virtual machine with an affected CPU, the following message will appear:<br />
<br />
This host does not support virtualizing real mode.<br />
The Intel "VMX Unrestricted Guest" feature is necessary to run this virtual machine on an Intel processor.<br />
<br />
The solution is to uninstall version 14 and install version 12 ({{aur|vmware-workstation12}}).<br />
<br />
==== Segmentation fault at startup due to old Intel microcode ====<br />
<br />
Old Intel microcode may result in the following kind of segmentation fault at startup:<br />
<br />
/usr/bin/vmware: line 31: 4941 Segmentation fault "$BINDIR"/vmware-modconfig --appname="VMware Workstation" --icon="vmware-workstation"<br />
<br />
See [[Microcode]] for how to update the microcode.<br />
<br />
==== vmplayer/vmware version 14 fails to start ====<br />
<br />
On systems with {{ic|librsvg}} version 2:2.44.0 and above, the log files (located in {{ic|/tmp/vmware-<id>}}) show several instances of the following error:<br />
<br />
appLoader| I125+ undefined symbol<br />
<br />
A workaround is to downgrade {{ic|librsvg}} to earlier version, or more preferably, force VMware to use its own shipped version of {{ic|librsvg}}:<br />
<br />
# export LD_LIBRARY_PATH=/lib/vmware/lib/librsvg-2.so.2:$LD_LIBRARY_PATH<br />
<br />
==== vmplayer/vmware fails to start from version 12.5.4 ====<br />
<br />
As per [https://bbs.archlinux.org/viewtopic.php?id=224667] the temporary workaround is to downgrade the package {{ic|libpng}} to version 1.6.28-1 and keep it in the {{ic|IgnorePkg}} parameter in [[Pacman#Skip_package_from_being_upgraded|/etc/pacman.conf]].<br />
<br />
An easier workaround is to make VMWare use the system's version of zlib instead of its own one:<br />
<br />
# cd /usr/lib/vmware/lib/libz.so.1<br />
# mv libz.so.1 libz.so.1.old<br />
# ln -s /usr/lib/libz.so.1 .<br />
<br />
==== vmplayer/vmware fails to start from version 12.5.3 to version 12.5.5 ====<br />
<br />
It seems to be a problem with the file {{ic|/usr/lib/vmware/lib/libstdc++.so.6/libstdc++.so.6}}, missing {{ic|CXXABI_1.3.8}}.<br />
<br />
If the system have installed {{pkg|gcc-libs}}, that library is already installed. Therefore, it's possible to remove that file and vmplayer will use the one provided by gcc-libs instead. As root do:<br />
<br />
# mv /usr/lib/vmware/lib/libstdc++.so.6/libstdc++.so.6 /usr/lib/vmware/lib/libstdc++.so.6/libstdc++.so.6.bak<br />
<br />
Also there is a workaround: <br />
<br />
# export VMWARE_USE_SHIPPED_LIBS='yes'<br />
<br />
==== vmware 12 process terminates immediately after start, no GUI is launched ====<br />
<br />
Registered bug at [https://bugs.mageia.org/show_bug.cgi?id=9739 Mageia], but it seems that there are no error messages shown in terminal with arch. When inspecting the logs, which are in {{ic|/tmp/vmware-<id>}}, there are {{ic|VMWARE_SHIPPED_LIBS_LIST is not set}}, {{ic|VMWARE_SYSTEM_LIBS_LIST is not set}}, {{ic|VMWARE_USE_SHIPPED_LIBS is not set}}, {{ic|VMWARE_USE_SYSTEM_LIBS is not set}} issues. Process simply terminates with {{ic|Unable to execute /usr/lib/vmware/bin/vmware-modconfig.}} after vmware or vmplayer is executed. Solution is the same, as root do:<br />
<br />
# mv /etc/vmware/icu/icudt44l.dat /etc/vmware/icu/icudt44l.dat.bak<br />
<br />
Also there is a workaround: <br />
<br />
# export VMWARE_USE_SHIPPED_LIBS='yes'<br />
<br />
Despite setting the VMWARE_USE_SHIPPED_LIBS variable, VMWare may still fail to find certain libraries. An example is the libfontconfig.so.1 library. Check vmware logs in the tmp directory to see which libraries are still not found. Copy them to the appropriate path with libraries existing on the system:<br />
<br />
# cp /usr/lib/libfontconfig.so.1 /usr/lib/vmware/lib/libfontconfig.so.1/<br />
<br />
Instead of copying all these files manually, you may want to try exporting an additional setting:<br />
<br />
# export VMWARE_USE_SYSTEM_LIBS='yes'<br />
<br />
On systems with fontconfig version '''2.13.0''' and above, it may be needed to replace the shipped libfontconfig file with version '''2.12.6''' library file and force VMware to use that file instead of the newer system file. This applies for at least VMware version '''12.5.9'''. As root do:<br />
<br />
# cd /usr/lib/vmware/lib/libfontconfig.so.1<br />
# wget https://archive.archlinux.org/packages/f/fontconfig/fontconfig-2.12.6-1-x86_64.pkg.tar.xz<br />
# tar -xvf fontconfig-2.12.6-1-x86_64.pkg.tar.xz usr/lib/libfontconfig.so.1.10.1<br />
# mv libfontconfig.so.1 libfontconfig.so.1.old<br />
# mv ./usr/lib/libfontconfig.so.1.10.1 ./libfontconfig.so.1<br />
# rm -r ./usr ./fontconfig-2.12.6-1-x86_64.pkg.tar.xz<br />
# export LD_LIBRARY_PATH=/usr/lib/vmware/lib/libfontconfig.so.1:$LD_LIBRARY_PATH<br />
<br />
=== Guest Issues ===<br />
<br />
==== Unable to download VMware Tools for Guests ====<br />
<br />
To download the tools manually, visit the [http://softwareupdate.vmware.com/cds/vmw-desktop/ VMware repository].<br />
<br />
Navigate to: "''application name'' / ''version'' / ''build ID'' / linux / packages/" and download the appropriate Tools.<br />
<br />
Extract with:<br />
<br />
$ tar -xvf vmware-tools-''name''-''version''-''buildID''.x86_64.component.tar<br />
<br />
And install using the VMware installer:<br />
<br />
# vmware-installer --install-component=''/path/''vmware-tools-''name''-''version''-''buildID''.x86_64.component<br />
<br />
If the above does not work, try installing {{AUR|ncurses5-compat-libs}}.<br />
<br />
==== Guests have incorrect system clocks or are unable to boot: "[...]timeTracker_user.c:234 bugNr=148722" ====<br />
<br />
This is due to [http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&externalId=1591 incomplete] support of power management features ([[Wikipedia:Intel speedstep|Intel SpeedStep]] and [[Wikipedia:AMD powernow|AMD PowerNow!]]/[[Wikipedia:Cool'n'Quiet|Cool'n'Quiet]]) in VMware Linux that vary the CPU frequency. In March 2012, with the release of [https://projects.archlinux.org/svntogit/packages.git/commit/trunk/config.x86_64?h=packages/linux&id=9abe018d91a5d8c3af7523d30b8aa73f86b680be linux 3.3-1] the maximum frequency [[CPU frequency governors|Performance]] governor was replaced with the dynamic ''Ondemand''. When the host CPU frequency changes, the Guest system clock runs too quickly or too slowly, but may also render the whole Guest unbootable.<br />
<br />
To prevent this, the maximum host CPU frequency can be specified, and [[Wikipedia:Time Stamp Counter|Time Stamp Counter]] (TSC) disabled, in the global configuration:<br />
<br />
{{hc|/etc/vmware/config|2=<br />
host.cpukHz = "X" # The maximum speed in KHz, e.g. 3GHz is "3000000".<br />
host.noTSC = "TRUE" # Keep the Guest system clock accurate even when<br />
ptsc.noTSC = "TRUE" # the time stamp counter (TSC) is slow.<br />
}}<br />
<br />
{{Tip|To periodically correct the time (once per minute), in the ''Options'' tab of VMware Tools, enable: ''"Time synchronization between the virtual machine and the host operating system"''.}}<br />
<br />
==== Networking on Guests not available after system restart ====<br />
<br />
This is likely due to the {{ic|vmnet}} module not being loaded [http://www.linuxquestions.org/questions/slackware-14/could-not-connect-ethernet0-to-virtual-network-dev-vmnet8-796095/]. See also the [[#systemd services]] section for automatic loading.<br />
<br />
== Uninstallation ==<br />
<br />
To uninstall VMware you need the product name (either {{ic|vmware-workstation}} or {{ic|vmware-player}}). To list all the installed products:<br />
$ vmware-installer -l<br />
<br />
and uninstall with ({{ic|--required}}&nbsp;skips the confirmation):<br />
# vmware-installer -u ''product'' --required<br />
<br />
{{Tip|Use {{ic|--console}} for the console UI.}}<br />
<br />
Remember to also [[disable]] and remove the services:<br />
# rm /etc/systemd/system/vmware.service<br />
# rm /etc/systemd/system/vmware-usbarbitrator.service<br />
<br />
You may also want to have a look at the module directories in {{ic|/usr/lib/modules/''kernel_name''/misc/}} for any leftovers, and remove {{ic|/etc/init.d/}} if now empty.</div>J!PRAhttps://wiki.archlinux.org/index.php?title=Steam/Game-specific_troubleshooting&diff=537613Steam/Game-specific troubleshooting2018-08-24T18:04:50Z<p>J!PRA: Added Counter-Strike: Source (CS:S) section</p>
<hr />
<div>[[Category:Gaming]]<br />
[[ja:Steam/ゲーム別のトラブルシューティング]]<br />
== Introduction ==<br />
<br />
See [[Steam/Troubleshooting]] first.<br />
<br />
This page assumes familiarity with the [[Steam#Directory structure]], [[Steam#Launch options]], [[environment variables]], the [[Steam runtime]] and [[Steam/Troubleshooting#Debugging shared libraries|shared libraries]]. The {{ic|''GAME''}} pseudo-variable is used to refer to a game's directory. When the text reads "''run the game with {{ic|1=FOO=bar}}''" it is implied that you either update your launch options or run the game from the command-line with the environment variable.<br />
<br />
== Contributing ==<br />
<br />
* Use "game directory" or the {{ic|''GAME''}} pseudo-variable to refer to a game's directory.<br />
* Link bug reports and sources of workarounds.<br />
<br />
== Other sources ==<br />
<br />
The following links offer even more fixes and tweaks for various games which would otherwise exceed this article's purpose:<br />
<br />
* [https://pcgamingwiki.com/wiki/Home PC Gaming Wiki]<br />
<br />
== Common steps ==<br />
<br />
=== OpenSSL 1.0 setup ===<br />
<br />
Some Steam games are built against OpenSSL 1.0. ({{bug|53618}})<br />
<br />
Install {{Pkg|lib32-openssl-1.0}} and run the game with {{ic|1=LD_LIBRARY_PATH=/usr/lib/openssl-1.0}}.<br />
<br />
=== Adobe Air setup ===<br />
<br />
The package {{AUR|adobe-air-sdk}} installs Adobe Air not in the place where the game expects it to be, fix this by creating the following symlink:<br />
<br />
# ln -s "/opt/adobe-air-sdk/runtimes/air/linux/Adobe AIR" "/opt/Adobe AIR"<br />
<br />
Adobe AIR requires you to accept its EULA by creating the file {{ic|~/.appdata/Adobe/AIR/eulaAccepted}} containing {{ic|2}}.<br />
<br />
=== Steam Link ===<br />
<br />
Currently Steam Link does not work with Wayland. You will only see a blank screen or even flickering when connecting to a Steam host running on Wayland. So you have to disable Wayland in /etc/gdm/custom.conf:<br />
<br />
WaylandEnable=false<br />
<br />
And reboot before trying again.<br />
<br />
== Games ==<br />
<br />
=== Alien Isolation ===<br />
<br />
==== Missing libpcre.so.3 ====<br />
<br />
$ ln -s /usr/lib/libpcre.so ''GAME''/lib/x86_64/libpcre.so.3<br />
<br />
Append {{ic|./lib/x86_64}} to your {{ic|LD_LIBRARY_PATH}}.[https://steamcommunity.com/app/214490/discussions/0/154644705028020291/]<br />
<br />
=== Amnesia: The Dark Descent ===<br />
<br />
Dependencies:<br />
[https://steamcommunity.com/app/221410/discussions/0/864957183198111387/]<br />
<br />
* {{AUR|lib32-freealut}}<br />
* {{pkg|lib32-glu}}<br />
* {{pkg|lib32-libxmu}}<br />
* {{pkg|lib32-sdl_ttf}}<br />
<br />
=== And Yet It Moves ===<br />
<br />
Dependencies:<br />
<br />
* {{Pkg|lib32-libjpeg6-turbo}}<br />
* {{Pkg|lib32-libpng12}}<br />
* {{Pkg|lib32-libtheora}}<br />
* {{Pkg|lib32-libtiff4}}<br />
<br />
==== Game does not start ====<br />
<br />
When the game refuses to launch and prints one of the following error messages:<br />
<br />
readlink: extra operand ‘Yet’<br>Try 'readlink --help' for more information.<br />
<br />
This script must be run as a user with write priviledges to game directory<br />
<br />
Open {{ic|''GAME''/AndYetItMovesSteam.sh}} and surround {{ic|${BASH_SOURCE[0]} }} in the following line with double quotes.<br />
<br />
ayim_dir="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"<br />
<br />
=== Anodyne ===<br />
<br />
Dependencies:<br />
<br />
* {{AUR|adobe-air-sdk}}, follow [[#Adobe Air setup]]<br />
* {{pkg|xterm}} (probably not required)<br />
<br />
==== Play with a controller: joy2key configuration ====<br />
<br />
Configuration example to play Anodyne with an XBox 360 Wireless Controller<br />
<br />
COMMON<br />
-dev /dev/input/js0<br />
-X<br />
-thresh -18000 18000 -18000 18000 -18000 18000 -18000 18000 -18000 18000 -18000 18000 -18000 18000 -18000 18000<br />
-axis Left Right Up Down blank blank blank blank blank blank blank blank Left Right Up Down<br />
-buttons c x Return<br />
<br />
Save this to {{ic|~/.joy2keyrc}} and start joy2key after you start Anodyne<br />
<br />
joy2key -rcfile ~/.joy2keyrc<br />
<br />
=== Aquaria ===<br />
<br />
==== Mouse pointer gets stuck in one direction ====<br />
<br />
If the mouse pointer gets stuck in one direction, make sure {{ic|''GAME''/usersettings.xml}} contains {{ic|1=<JoystickEnabled on="0" />}}.<br />
<br />
If that does not fix the issue, try unplugging any joysticks or joystick adapter devices you have plugged in.<br />
<br />
=== ARK: Survival Evolved ===<br />
<br />
==== Game does not start, displays text window with unreadable text ====<br />
<br />
Run the game with {{ic|1=MESA_GL_VERSION_OVERRIDE=4.0 MESA_GLSL_VERSION_OVERRIDE=400}}.<br />
<br />
==== Gray water ====<br />
<br />
Download the TheCenter map and copy {{ic|Water_DepthBlur_MIC.uasset}} from that map into TheIsland as described [https://www.gamingonlinux.com/articles/heres-a-way-to-fix-the-broken-water-in-ark-survival-evolved-on-linux.10530 here].<br />
<br />
Ragnarok uses TheIsland's texture, so the same procedure fixes the issue on Ragnarok as well.<br />
<br />
==== Segmentation fault on startup ====<br />
<br />
Caused by the games packaged libopenal. Use system libopenal to solve the segfault by running the game with with {{ic|1=LD_PRELOAD=/usr/lib/libopenal.so.1}}<br />
<br />
=== Audiosurf 2 ===<br />
<br />
==== error. unable to load song <filename> ,came back with zero duration ====<br />
<br />
If you get this in your log, install {{pkg|pulseaudio-alsa}}.<br />
<br />
=== BADLAND: Game of the Year Edition ===<br />
<br />
Refer to [[#Missing libcurl.so.4 or version CURL_OPENSSL_3 not found]].<br />
<br />
=== Beat Cop ===<br />
<br />
==== "BeatCop.x86_64" is not responding ====<br />
<br />
Run {{ic|BeatCop.x86}} instead of {{ic|BeatCop.x86_64}}.<br />
<br />
=== Binding of Isaac: Rebirth ===<br />
<br />
==== No sound ====<br />
<br />
{{Note|This also helps with Never Alone (Kisima Ingitchuna) and No Time to Explain.}}<br />
<br />
Prepend {{ic|/usr/lib}} to {{ic|LD_LIBRARY_PATH}}.<br />
<br />
Adjust the audio levels in the game options.<br />
<br />
=== BioShock Infinite ===<br />
<br />
==== Game launching on wrong monitor in fullscreen mode ====<br />
<br />
Add the following launch option:<br />
--eon_force_display=1<br />
<br />
Various more fixes and tweaks can be found [https://pcgamingwiki.com/wiki/BioShock_Infinite here]<br />
<br />
=== BLACKHOLE ===<br />
<br />
Refer to [[#Missing libcurl.so.4 or version CURL_OPENSSL_3 not found]].<br />
<br />
=== Black Mesa ===<br />
<br />
Install {{AUR|lib32-gperftools}} for 32bit version of libtcmalloc_minimal.so.4 which is needed [https://steamcommunity.com/app/362890/discussions/1/340412628175324858/?ctp=7 Source].<br />
<br />
=== Block'hood ===<br />
<br />
==== White screen on startup ====<br />
<br />
When launched the game may only display a white screen with no interface and no way to play the game. Add "-screen-fullscreen 0" to launch options.<br />
<br />
=== The Book of Unwritten Tales ===<br />
<br />
Dependencies:<br />
<br />
* {{AUR|lib32-jasper}}<br />
* {{AUR|lib32-libxaw}}<br />
<br />
If the game does not start, uncheck: ''Properties > Enable Steam Community In-Game''.<br />
<br />
The game is known to segfault when opening the settings and possibly during or before playing. A workaround from the [http://steamcommunity.com/app/221410/discussions/3/846939071081758230/#p2 Steam discussions] is to replace the game's {{ic|RenderSystem_GL.so}} with one from Debian's repositories. To do that download [https://launchpad.net/ubuntu/+archive/primary/+files/libogre-1.7.4_1.7.4-3_i386.deb this deb file], and extract it with {{AUR|dpkg}}:<br />
<br />
$ dpkg -x libogre-*.deb outdir<br />
<br />
Now replace {{ic|''GAME''/lib/32/RenderSystem_GL.so}} with the one extracted from the {{ic|.deb}} package.<br />
<br />
=== BRAIN/OUT ===<br />
<br />
If the game does not start with error message saying "invalid app configuration".<br />
Change directory to game folder:<br />
<br />
$ cd ~/.steam/steam/steamapps/common/BrainOut/<br />
<br />
Run game directly:<br />
<br />
$ java -jar brainout-steam.jar<br />
<br />
You need to have steam running in the background.<br />
<br />
=== The Book of Unwritten Tales: The Critter Chronicles ===<br />
<br />
See [[#The Book of Unwritten Tales]].<br />
<br />
To prevent the game from crashing at the end credits, change the size of the credits image as described [http://steamcommunity.com/app/221830/discussions/0/828925849276110960/#c810921273836530791 here].<br />
<br />
=== Borderlands 2 ===<br />
<br />
==== Migrating saves from other platforms ====<br />
<br />
Borderlands 2 does not support cross-platform Steam Cloud syncing,<br />
you have to manually copy the files between platforms.<br />
Save locations can be found [https://pcgamingwiki.com/wiki/Borderlands_2#Game_data here].<br />
Make sure your user can access the files.<br />
<br />
==== Using Ctrl Key ====<br />
<br />
Borderlands 2 does not allow the {{ic|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 />
<br />
Out of the box you will not be able to log into SHiFT since the game expects certificates to be in {{ic|/usr/lib/ssl}}, which is where Ubuntu stores them. Arch however uses {{ic|/etc/ssl}}.<br />
To resolve the problem, run the game with {{ic|1=SSL_CERT_DIR=/etc/ssl/certs}}.<br />
<br />
==== Game crashes nearly instantly ====<br />
<br />
The game crashes in libopenal directly after launch.<br />
<br />
Possible solution 0: Run the game with the {{ic|-nostartupmovies}} flag. It no longer crashes in libopenal with a general protection error.<br />
<br />
Possible solution 1: As of lib32-openal version 1.18.0-1, the game crashes instantly. The possible solutions are to downgrade lib32-openal to 1.17.2-1, or to start the game with {{ic|LD_PRELOAD<nowiki>=</nowiki>'$HOME/.steam/root/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libopenal.so.1'}}.<br />
<br />
In case there are messages like this in the terminal:<br />
<br />
[ 671.617205] Borderlands2[2772]: segfault at 0 ip (null) sp 00000000ff9a462c error 14 in Borderlands2[8048000+235a000]<br />
<br />
The following change may help ([http://steamcommunity.com/app/49520/discussions/0/348292787746982160/ source]):<br />
LD_PRELOAD='./libcxxrt.so:/usr/$LIB/libstdc++.so.6' %command%<br />
<br />
Possible solution 2: Launch steam as {{ic|steam-native}} as described in [[Steam/Troubleshooting #Steam native runtime|#Steam native runtime]]. If the game still fails to launch even after installing the {{Pkg|steam-native-runtime}} meta package, then you might be missing some libraries. You can find those missing libraries as described in [[Steam/Troubleshooting #Debugging shared libraries|#Debugging shared libraries]].<br />
<br />
=== Borderlands: The Pre-Sequel ===<br />
<br />
See [[#Borderlands 2]].<br />
<br />
==== Keyboard not working ====<br />
<br />
This can occur with certain window managers e.g. [[dwm]]. Try a different [[window manager]].<br />
<br />
==== Not starting via Steam ====<br />
<br />
If the game appears as ''Running'', then syncs and closes when you launch it from Steam, try creating a {{ic|steam_appid.txt}} in the game directory<br />
containing {{ic|261640}}. This should resolve the issue and let you start the game directly from the game directory. If that does not work, try using the {{Pkg|steam-native-runtime}}.<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] {{Dead link|2017|05|25}} (replace {{ic|/etc/fonts/conf.d/10-scale-bitmap-fonts.conf}}).<br />
<br />
=== Cities Skylines ===<br />
<br />
==== Textures not rendering properly ====<br />
<br />
Run the game with {{ic|1=UNITY_DISABLE_GRAPHICS_DRIVER_WORKAROUNDS=yes}}.<br />
<br />
=== Civilization V ===<br />
<br />
Run the game with {{ic|1=LD_PRELOAD='./libcxxrt.so:/usr/$LIB/libstdc++.so.6' %command%}}.[https://github.com/ValveSoftware/steam-for-linux/issues/4379]<br />
<br />
==== Stuttering sound with PulseAudio ====<br />
<br />
See [[PulseAudio/Troubleshooting#Laggy sound]].<br />
<br />
==== Game crashes seconds after loading a map ====<br />
<br />
If you have a CPU with more than 8 threads (such as AMD Ryzen), set {{ic|MaxSimultaneousThreads}} to {{ic|16}} in {{ic|config.ini}} in game directory.[https://www.reddit.com/r/civ5/comments/5z77jr/game_crashes_randomly_on_linux_amd_ryzen/]<br />
<br />
==== Game crashes after intro video with "Unable to load texture (LoadingBaseGame.dds)" ====<br />
<br />
The issue is a result of the game calling some file in a case-insensitive manner.<br />
<br />
The solution is either to install the game on a case-insensitive file system like VFAT, or on a mount point for {{AUR|ciopfs}}.<br />
<br />
==== Game crashes on startup with an error in libpulsecommon-12.0.so" ====<br />
<br />
Run the game with {{ic|1=LD_PRELOAD=/usr/lib32/libopenal.so.1 %command%}}<br />
<br />
=== Civilization: Beyond earth ===<br />
<br />
If you are getting an instant crash/close upon launch, make sure you have the following packages installed:<br />
<br />
* {{aur|lib32-intel-tbb}}<br />
* {{pkg|lib32-libcurl-compat}}<br />
* {{pkg|lib32-libcurl-gnutls}}<br />
* {{pkg|lib32-openal}}<br />
<br />
==== Segfault after a few minutes ====<br />
Backtrace:<br />
#0 0x08b71d06 in FireGrafix::DynamicsLock<Graphics::BuildingSkinnedDataDynamicConsts>::DynamicsLock(Graphics::SurfaceSet**, FireGrafix::SurfaceSetPoolAllocator*, unsigned short) ()<br />
#1 0x08c25ffc in cvLandmarkVisSystem::cvLandmarkVisDynamicConstantUpdaterSS::HandleBuildingShaderSkinned(Graphics::FGXShaderPackageInstanceView*, FireGrafix::FGXModelNode*, FGXVector4*) ()<br />
#2 0x08c25f34 in cvLandmarkVisSystem::cvLandmarkVisDynamicConstantUpdaterSS::UpdateNode(Graphics::FGXShaderPackageInstanceView*, FireGrafix::FGXModelNode*, FGXVector4*) ()<br />
#3 0x08c25e2c in FireGrafix::FGXModelRenderByNodeSSExample_Shadow<cvLandmarkVisSystem::cvLandmarkVisDynamicConstantUpdaterSS, 2, FireGrafix::FGXModelRenderEndSuperclass>::RenderNode(unsigned int*, FireGrafix::FGX_SPIV_GENERIC*, FireGrafix::FGXModelNode*, FGXVector4*) ()<br />
#4 0x08c24ff5 in cvLandmarkVisSystem::LandmarkRenderJob::Execute(unsigned int) ()<br />
#5 0x093d26d9 in Platform::JobTask::execute() ()<br />
#6 0xf749f3c0 in ?? () from /usr/lib32/libtbb.so.2<br />
#7 0xf7497551 in ?? () from /usr/lib32/libtbb.so.2<br />
#8 0xf7495fc3 in ?? () from /usr/lib32/libtbb.so.2<br />
#9 0xf7491b7e in ?? () from /usr/lib32/libtbb.so.2<br />
#10 0xf7491db7 in ?? () from /usr/lib32/libtbb.so.2<br />
#11 0xf78f4346 in start_thread () from /usr/lib32/libpthread.so.0<br />
#12 0xf7716026 in clone () from /usr/lib32/libc.so.6<br />
<br />
Segfault is caused by {{aur|lib32-intel-tbb}}. To fix the issue:<br />
# Download [https://packages.ubuntu.com/trusty/i386/libtbb2/download libtbb2 deb-package] from one of the Ubuntu mirrors.<br />
# Unpack {{ic|libtbb.so.2}} from {{ic|libtbb2_4.2_20130725-1.1ubuntu1_i386.deb/data.tar.xz/usr/lib}} into the game directory.<br />
# Run the game with {{ic|1=LD_PRELOAD='./libtbb.so.2'}}.<br />
<br />
=== Civilization VI ===<br />
<br />
Either run with steam-native or {{ic|1=env LD_PRELOAD='./libcxxrt.so:/usr/$LIB/libstdc++.so.6'}}. The latter will disable the Steam overlay.<br />
<br />
Follow [[#OpenSSL 1.0 setup]].<br />
<br />
==== If Segfault Immediately on Start ====<br />
<br />
This is a strange corner case which happens infrequently at best (and the prerequisites for reproducing it are unknown), but the crash would look like this:<br />
<br />
# Immediate segfault on start, before any windows get created<br />
# The game creates {{ic|~/.local/share/aspyr-media/Sid Meier's Civilization VI/AppOptions.txt}}<br />
# The string {{ic|AppHost::BugSubmissionPackager::BugSubmissionPackager}} appears inhttp://store.steampowered.com/app/310080/Hatoful_Boyfriend/ the backtrace output when running the game under {{pkg|gdb}}<br />
## To run under {{pkg|gdb}}, first launch a shell and change into the game directory.<br />
## Then {{ic|echo 289070 > steam_appid.txt}} ''(otherwise the game won't launch outside of Steam itself)''<br />
## Then run something like {{ic|gdb -ex run -ex bt -ex quit --args ./Civ6 ./Civ6}}<br />
## The relevant info towards the end of the output should look like this:<br />
Thread 3 "Civ6" received signal SIGSEGV, Segmentation fault.<br />
[Switching to Thread 0x7fffe5d06700 (LWP 12315)]<br />
0x000000000201121e in AppHost::BugSubmissionPackager::BugSubmissionPackager(unsigned long, String::BasicT<Platform::StaticHeapAllocator<5, 0>, (String::Encoding)4> const&, String::BasicT<Platform::StaticHeapAllocator<5, 0>, (String::Encoding)0> const&, AppHost::ModuleVersionInfo const&) ()<br />
#0 0x000000000201121e in AppHost::BugSubmissionPackager::BugSubmissionPackager(unsigned long, String::BasicT<Platform::StaticHeapAllocator<5, 0>, (String::Encoding)4> const&, String::BasicT<Platform::StaticHeapAllocator<5, 0>, (String::Encoding)0> const&, AppHost::ModuleVersionInfo const&) ()<br />
#1 0x000000000200c796 in AppHost::_INTERNAL::SetupFXSPlatform(AppHost::AppEnvironment const*, AppHost::AppOptions*)<br />
()<br />
#2 0x000000000200fea0 in AppHost::RunApp(int, char**, AppHost::Application*) ()<br />
#3 0x000000000200f9bc in AppHost::RunApp(char*, AppHost::Application*) ()<br />
#4 0x0000000001112d98 in WinMain ()<br />
#5 0x00000000010bdab0 in ?? ()<br />
#6 0x00000000010bfb31 in ThreadHANDLE::ThreadProc(void*) ()<br />
#7 0x00007ffff473e08a in start_thread () from /usr/lib/libpthread.so.0<br />
#8 0x00007ffff38f747f in clone () from /usr/lib/libc.so.6<br />
<br />
If all of that is the case for you, the fix is pretty simple. Edit {{ic|~/.local/share/aspyr-media/Sid Meier's Civilization VI/AppOptions.txt}} and change the line reading {{ic|EnableBugCollection 1}} to {{ic|EnableBugCollection 0}}.<br />
<br />
Presumably this fix will prevent any automated bug reports from reaching Aspyr, should you encounter crashes/bugs in the future, but it will at least let the game launch properly.<br />
<br />
=== Deus Ex: Mankind divided ===<br />
<br />
Follow [[#OpenSSL 1.0 setup]].<br />
<br />
Requires {{Pkg|librtmp0}}.<br />
<br />
Also if you use Bumblebee set your [[launch option]]s to:<br />
<br />
LD_PRELOAD="$LD_PRELOAD:libpthread.so.0:libGL.so.1" __GL_THREADED_OPTIMIZATIONS=1 optirun %command%<br />
<br />
=== The Clockwork Man ===<br />
<br />
Requires {{pkg|lib32-libidn}} (pulled in by {{pkg|steam-native-runtime}}).<br />
<br />
=== Company of Heroes 2 ===<br />
<br />
==== Missing libpcre.so.3 ====<br />
<br />
Like with [[#Alien Isolation]] you need to symlink {{ic|/usr/lib/libpcre.so}} to {{ic|''GAME''/lib/''arch''/libpcre.so.3}}, otherwise the game will fail to start.<br />
<br />
=== Cossacks 3 ===<br />
<br />
==== No sound ====<br />
<br />
Use the steam-runtime, e.g. set the [https://support.steampowered.com/kb_article.php?ref=1040-JWMT-2947 launch options] to:<br />
<br />
~/.steam/root/ubuntu12_32/steam-runtime/run.sh %command%<br />
<br />
==== Flashing screen with primus ====<br />
<br />
Set {{ic|1=PRIMUS_SYNC=2}}in the launch options.<br />
<br />
=== Counter-Strike: Source (CS:S) ===<br />
<br />
==== Invisible symbols, special characters and cyrillic letters ====<br />
<br />
Any special character will produce an empty space mark in the game, main menu and game console. In practice, any characters other than latin ones are not working. The problem is that {{ic|Bitstream Vera Sans}} is configured as the system primary default font for latin sans-serif fonts.<br />
<br />
First, make sure that per-user font customization files are enabled, i.e. the following file exist:<br />
<br />
/etc/fonts/conf.d/50-user.conf<br />
<br />
Next, create {{ic|fonts.conf}} file in your fontconfig directory with the following content or if the file already exist, append only the alias section to the file:<br />
<br />
{{hc|~/.config/fontconfig/fonts.conf|2=<br />
<?xml version="1.0"?><br />
<!DOCTYPE fontconfig SYSTEM "fonts.dtd"><br />
<fontconfig><br />
<alias><br />
<family>sans-serif</family><br />
<prefer><br />
<family>DejaVu Sans</family><br />
<family>Verdana</family><br />
<family>Arial</family><br />
<family>Albany AMT</family><br />
<family>Luxi Sans</family><br />
<family>Nimbus Sans L</family><br />
<family>Nimbus Sans</family><br />
<family>Helvetica</family><br />
<family>Lucida Sans Unicode</family><br />
<family>BPG Glaho International</family> <!-- lat,cyr,arab,geor --><br />
<family>Tahoma</family> <!-- lat,cyr,greek,heb,arab,thai --><br />
</prefer><br />
</alias><br />
</fontconfig><br />
}}<br />
<br />
=== Counter-Strike: Global Offensive (CS:GO) ===<br />
<br />
==== Game starts on the wrong screen ====<br />
<br />
[https://github.com/ValveSoftware/csgo-osx-linux/issues/60 csgo-osx-linux issue #60]<br />
<br />
If it happens, go into fullscreen windowed or windowed mode and drag the window to the correct monitor. Then go back into fullscreen, the game should now be on the correct monitor.<br />
<br />
==== Cannot reach bottom of the screen on menus ====<br />
<br />
[https://github.com/ValveSoftware/csgo-osx-linux/issues/594 csgo-osx-linux issue #594]<br />
<br />
If you have a secondary monitor you might have a part of your lower screen you cannot reach in menus.<br />
If on Gnome you can try to open the overview (Super key) and drag the game to the other monitor and back.<br />
<br />
If you are not on Gnome or dragging the window back and forth did not work you can try to [[install]] {{pkg|wmctrl}} and run this command, where X and Y is the offset of the window and H and W is the size.<br />
wmctrl -r "Counter-Strike: Global Offensive - OpenGL" -e 0,X,Y,H,W<br />
<br />
'''Example''': SecondaryMonitor: on the left 2560x1600, GamingMonitor: on the right 2560x1440).<br />
wmctrl -r "Counter-Strike: Global Offensive - OpenGL" -e 0,2560,0,1600,1200<br />
Here X and Y is 0,2560 to move the window to the monitor on the right and H and W 1600,1200 is set to match the in-game resolution.<br />
<br />
==== Sound is played slightly delayed ====<br />
<br />
[https://github.com/ValveSoftware/csgo-osx-linux/issues/45 csgo-osx-linux issue #45]<br />
<br />
See [[PulseAudio/Troubleshooting#Laggy sound]] for a possible solution.<br />
<br />
==== Mouse not working in-game ====<br />
<br />
If your mouse works in the main menu but not in-game, run the game with {{ic|1=SDL_VIDEO_X11_DGAMOUSE=0}}.<br />
[https://bbs.archlinux.org/viewtopic.php?id=184905]<br />
<br />
==== Brightness slider not working ====<br />
<br />
[[Install]] {{pkg|xorg-xrandr}} and run {{ic|xrandr}} to find out the name of your connected display output.<br />
<br />
Edit {{ic|''GAME''/csgo.sh}} and add the following lines (adapt ''output_name''):<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 />
==== Microphone not working ====<br />
<br />
[https://github.com/ValveSoftware/csgo-osx-linux/issues/573#issuecomment-174016722 csgo-osx-linux issue #573]<br />
<br />
CS:GO uses the default PulseAudio sound device ignoring what is configured in Steam settings.<br />
<br />
First find out the source name of your microphone (it should start with {{ic|alsa_input.}}):<br />
$ pacmd list-sources<br />
<br />
Then set the default device (change the name accordingly):<br />
$ pacmd set-default-source ''device_name''<br />
<br />
Also lower the microphone level to 60% otherwise you will get some nasty background noise and you will be difficult to understand (change the name accordingly):<br />
$ pacmd set-source-volume ''device_name'' 0x6000<br />
<br />
==== Mouse is unrensponsive or moves slowly ====<br />
<br />
Set launch options to:<br />
vblank_mode=0 %command%<br />
<br />
Works with almost any other game.<br />
<br />
=== Creeper World 3: Arc Eternal ===<br />
<br />
==== Game does not start ====<br />
Search for Player.log<br />
(might be in ~/.config/unity3d/Knuckle Cracker LLC/Creeper World 3/ )<br />
<br />
If it says somewhere in Player.log<br />
"FMOD failed to get number of drivers ... An error occured that wasn't supposed to. Contact support."<br />
Unity is probably having problem with some pulse audio libraries. <br />
<br />
Fix that worked for me:<br />
Remove or rename all instances of libpulse-simple* files.<br />
<br />
Places to look for them:<br />
/usr/lib<br />
/usr/lib32<br />
~/.steam/steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/<br />
~/.steam/steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/<br />
<br />
=== Crusader Kings II ===<br />
<br />
x86_64 dependencies:<br />
<br />
* {{pkg|lib32-openssl}}<br />
<br />
==== No audio ====<br />
<br />
SDL uses [[PulseAudio]] by default, so to use it with [[ALSA]] you need to set:<br />
<br />
{{hc|~/.pam_environment|2=SDL_AUDIODRIVER=alsa}}<br />
<br />
==== Oddly sized starting window ====<br />
<br />
You can make full screen mode the default by setting {{ic|1=fullscreen=yes}} in {{ic|~/.paradoxinteractive/Crusader Kings II/settings.txt}}.<br />
<br />
==== DLCs not detected ====<br />
<br />
If the DLC tab in the launcher is not selectable, rename the {{ic|DLC}} directory in the game directory to {{ic|dlc}}.<br />
<br />
=== Crypt of the NecroDancer ===<br />
<br />
==== Crashes after splash screen ====<br />
<br />
The following error occurs if launching Steam from the terminal.<br />
<br />
FMOD ERROR: UpdateFMOD SystemUpdate: This command failed because System::init or System::setDriver was not called.<br />
<br />
This error is solved by installing {{pkg|pulseaudio-alsa}}.<br />
<br />
=== The Curious Expedition ===<br />
<br />
==== Game stuck on loading screen ====<br />
<br />
The Electron shipped with this game is too old for Arch Linux.<br />
<br />
Install {{pkg|electron}} and run the game with {{ic|electron resources/app.asar}}.<br />
<br />
=== Death Road To Canada ===<br />
<br />
==== No music ====<br />
<br />
Prepend {{ic|/usr/lib}} to {{ic|LD_LIBRARY_PATH}}.<br />
<br />
=== Defender's Quest: Valley of the Forgotten ===<br />
<br />
Dependencies:<br />
<br />
* {{AUR|adobe-air-sdk}}, follow [[#Adobe Air setup]]<br />
* {{pkg|xterm}}<br />
* {{pkg|lib32-libcanberra}}<br />
<br />
=== Dirt ===<br />
<br />
Follow [[#OpenSSL 1.0 setup]].<br />
<br />
=== Dirt Rally ===<br />
<br />
Prepend {{ic|lib/x86_64}} to your {{ic|LD_LIBRARY_PATH}}, otherwise the game will fail to start.<br />
<br />
{{Note|The order of the paths is important. {{ic|$LD_LIBRARY_PATH}} must be the last entry or it won't work.}}<br />
<br />
=== Divinity: Original Sin - Enhanced Edition ===<br />
<br />
==== Game does not start when using Bumblebee optirun or primusrun ====<br />
<br />
Edit {{ic|''GAME''/runner.sh}} to use primusrun:<br />
LD_LIBRARY_PATH="." primusrun ./EoCApp<br />
<br />
==== Game does not work with amdgpu ====<br />
<br />
It is a known bug and they have no intention of fixing it, see [https://bugs.freedesktop.org/show_bug.cgi?id=93551 the bug].<br />
<br />
Workaround:<br />
<br />
Get the following file:<br />
https://bugs.freedesktop.org/attachment.cgi?id=125302<br />
and rename it to {{ic|shim.c}}<br />
<br />
Then execute <br />
$ gcc -shared -fpic shim.c -o divhack.so<br />
<br />
Next, start ''steam'' and open a console, change to the diviniti directory with <br />
$ cd ~/.steam/steam/steamapps/common/Divinity Original Sin Enhanced Edition<br />
<br />
Edit the contained {{ic|runner.sh}} as follows:<br />
<br />
{{bc|1=export MESA_GL_VERSION_OVERRIDE=4.2<br />
export MESA_GLSL_VERSION_OVERRIDE=420<br />
export LD_PRELOAD=/path/to/divhack.so<br />
export LD_LIBRARY_PATH="."<br />
./EoCApp}}<br />
<br />
Then just start the game.<br />
In case it still crashes on loading you may also need to add<br />
<br />
{{bc|1=export allow_glsl_extension_directive_midshader=true}}<br />
<br />
=== Don't Starve ===<br />
<br />
Dependencies:<br />
<br />
* {{pkg|lib32-flashplugin}}{{Broken package link|{{aur-mirror|lib32-flashplugin}}}}<br />
* {{pkg|lib32-libcurl-gnutls}}<br />
<br />
==== No sound ====<br />
<br />
Prepend {{ic|/usr/lib}} to {{ic|LD_LIBRARY_PATH}}.<br />
<br />
In the game, go to the options and adjust the audio levels.<br />
<br />
=== Dota 2 ===<br />
<br />
Dependencies:<br />
<br />
* {{AUR|libudev0}}<br />
* {{pkg|libpng12}}<br />
<br />
==== In-game font is unreadable ====<br />
<br />
Run the game with {{ic|1=MESA_GL_VERSION_OVERRIDE=2.1}}.<br />
<br />
==== Error with libpangoft2 ====<br />
<br />
# [[Install]] the {{pkg|pango}} package.<br />
# Remove {{ic|libpango-1.0.so}} and {{ic|libpangoft2-1.0.so}} in {{ic|''GAME''/game/bin/linuxsteamrt64}}.<br />
# If you are using Bumblebee add {{ic|1=LD_PRELOAD="libpthread.so.0 libGL.so.1" __GL_THREADED_OPTIMIZATIONS=1 optiru}} to your [[launch option]]s.<br />
<br />
==== The game does not start ====<br />
<br />
If you run the game from the terminal and, although no error is shown, try disabling: ''Steam > Settings > In-Game > Enable Steam Community In-Game''.<br />
<br />
Apparently the game [[#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 />
<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 />
<br />
After a recent Mesa update, Dota 2 stopped working. The error message is:<br />
<br />
SDL_GL_LoadLibrary(NULL) failed: Failed loading libGL.so.1: /usr/lib32/libxcb-dri3.so.0: undefined symbol: xcb_send_fd<br />
<br />
==== Steam overlay ====<br />
<br />
Steam distributes a copy of libxcb which is incompatible with the latest xorg libxcb. See [https://github.com/ValveSoftware/steam-for-linux/issues/3199], [https://github.com/ValveSoftware/steam-for-linux/issues/3093].<br />
<br />
==== Chinese tips and player names not shown ====<br />
<br />
The Chinese characters in tips and player names are displayed as block characters.<br />
<br />
The problem is caused by the font packages: {{pkg|ttf-dejavu}}, {{pkg|ttf-liberation}} and {{aur|ttf-ms-fonts}}.<br />
<br />
: [https://github.com/ValveSoftware/Dota-2/issues/1688 GitHub Steam issue #1688] {{Dead link|2017|05|25}}<br />
<br />
==== Chinese input method problem ====<br />
<br />
Dota2 is compatible with [[IBus]] .<br />
<br />
=== Devil Daggers ===<br />
<br />
Refer to [[#Missing libcurl.so.4 or version CURL_OPENSSL_3 not found]].<br />
<br />
=== Drox Operative ===<br />
<br />
If the game fails to start with "Couldn't find Database/database.dbl!", manually extract the assets. assets003.zip will overwrite some files from the previous files.<br />
<br />
$ cd "~/.steam/root/steamapps/common/Drox Operative/Assets"<br />
$ unzip assets00[123].zip<br />
<br />
=== Dwarfs F2P ===<br />
<br />
Dependencies:<br />
<br />
* {{AUR|lib32-libgdiplus}}{{Broken package link|{{aur-mirror|lib32-libgdiplus}}}}<br />
<br />
==== Game does not start ====<br />
<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|''GAME''/Run.sh}} and change<br />
<br />
export LD_LIBRARY_PATH=.:${LD_LIBRARY_PATH}<br />
<br />
to<br />
<br />
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:.<br />
<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 removing the following files from the game directory:<br />
<br />
libX11.so.6 libsteam.so libtier0_s.so libvstdlib_s.so steamclient.so<br />
<br />
==== Game crashes ====<br />
<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 />
<br />
Requires {{Pkg|lib32-sdl}}.<br />
<br />
==== Sound Issues ====<br />
<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 />
<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 />
<br />
/home/$USER/.steam/root/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 />
<br />
Install {{pkg|lib32-sdl}} from [[multilib]] and Dynamite Jack should start up.<br />
<br />
=== Empire Total War ===<br />
<br />
==== Weird unreadable fonts ====<br />
<br />
Open {{ic|~/.local/share/feral-interactive/Empire/preferences}}, then find {{ic|UsePBOSurfaces}} and change it from 1 to 0.<br />
<br />
=== Euro Truck Simulator 2 ===<br />
<br />
==== Shows only a black screen ====<br />
<br />
Select safe mode when the game starts up.<br />
<br />
=== Firewatch ===<br />
<br />
If Firewatch starts but doesn't show anything try running Steam with<br />
<br />
`STEAM_RUNTIME_PREFER_HOST_LIBRARIES=0 steam`<br />
<br />
=== Football Manager 2014 ===<br />
<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 />
<br />
Requires {{pkg|lib32-glu}}.<br />
<br />
This game has 32-bit and 64-bit binaries. For some 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 />
=== For the King ===<br />
<br />
For steam-native --<br />
<br />
Starts with black page. Requires to be told to use the libSDL2 shipping with Steam<br />
<br />
Add to Steam launch options for game. <br />
<br />
LD_PRELOAD=~/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0 %command%<br />
<br />
Note however, that this disables the Steam overlay as a side effect.<br />
<br />
For steam-runtime --<br />
<br />
It works out of the box.<br />
<br />
For the full experience, run FTK via steam-runtime instead of steam-native.<br />
<br />
=== FTL: Faster than Light ===<br />
<br />
==== Compatibility ====<br />
<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|''GAME''/data/}} rather than the FTL binary in the $arch directory.<br />
<br />
==== Problems with open-source video driver ====<br />
<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|''GAME''/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|''GAME''/data/x86/lib}}.<br />
<br />
=== Game Dev Tycoon ===<br />
<br />
==== Game does not start ====<br />
<br />
You might get an error about missing {{ic|libudev.so.0}}.<br />
<br />
Run the game with {{ic|1=LD_PRELOAD=/usr/lib/libudev.so.1}}.<br />
<br />
=== Garry's Mod ===<br />
<br />
==== Game does not start ====<br />
<br />
When an error about a missing {{ic|client.so}} appears, try the following:<br />
<br />
$ cd ~/.steam/root/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 />
<br />
If the error mentions a missing library for {{ic|libgcrypt.so.11}}, install {{pkg|lib32-libgcrypt15}}.<br />
<br />
==== Opening some menus causes the game to crash ====<br />
<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 />
<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 the minimum should fix the problem.<br />
<br />
The problem seems to be related to RAM usage, once you hit around 2GB of RAM used, the game will crash. Servers with many addons have much more RAM usage, and lowering graphics settings to the minimum lowers RAM usage and mitigates crashes.<br />
<br />
=== Gods will be watching ===<br />
<br />
Follow [[#OpenSSL 1.0 setup]].<br />
<br />
=== GRID Autosport ===<br />
<br />
Follow [[#OpenSSL 1.0 setup]].<br />
<br />
==== Black screen when trying to play ====<br />
<br />
Run the game with {{ic|1=LC_ALL=C}}.<br />
<br />
=== Hack 'n' Slash ===<br />
<br />
==== Crashes when trying to load a game ====<br />
<br />
Prepend {{ic|/usr/lib}} to {{ic|LD_LIBRARY_PATH}}.<br />
<br />
=== Hacker Evolution ===<br />
<br />
Requires {{Pkg|lib32-sdl2_mixer}}.<br />
<br />
=== Half-Life 2 and episodes ===<br />
<br />
==== Cyrillic fonts problem ====<br />
<br />
This problem can be solved by deleting "Helvetica" font.<br />
<br />
=== Hammerwatch ===<br />
<br />
==== The game does not start via Steam ====<br />
<br />
Prepend {{ic|/usr/lib}} to {{ic|LD_LIBRARY_PATH}}.<br />
<br />
==== No sound ====<br />
<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 />
<br />
Dependencies:<br />
<br />
* {{AUR|lib32-sfml}}<br />
* {{Pkg|lib32-libjpeg6-turbo}}<br />
* {{Pkg|lib32-nvidia-cg-toolkit}}<br />
* {{pkg|lib32-gtk2}}<br />
* {{pkg|lib32-libvorbis}}<br />
* {{pkg|lib32-openal}}<br />
<br />
==== Compatibility ====<br />
<br />
If the game refuses to launch and throws you into a library installer loop, run the {{ic|Harvest}} executable instead of the {{ic|run_harvest}} script.<br />
<br />
=== Hatoful Boyfriend ===<br />
<br />
==== Japanese text invisible ====<br />
<br />
Install {{pkg|wqy-microhei}} and {{pkg|wqy-microhei-lite}}.<br />
<br />
=== HuniePop ===<br />
<br />
==== Game crashes upon launch ====<br />
<br />
Install {{pkg|lsb-release}}.<br />
<br />
=== Hyper Light Drifter ===<br />
<br />
==== The controller does not work ====<br />
<br />
[[Install]] {{pkg|lib32-sdl2}} and run the game with {{ic|1=LD_PRELOAD=libSDL2.so}}.<br />
<br />
See the following Steam Community discussions:<br />
<br />
* [https://steamcommunity.com/app/257850/discussions/1/365163686036494421 Controller Issues]<br />
* [https://steamcommunity.com/app/257850/discussions/1/365163686045397160/ Common Bugs + Known Issues]<br />
<br />
It is suggested to run the ''next_update'' branch to get new fixes,<br />
there however currently is a libcurl segfault keeping it from starting without special workarounds.<br />
<br />
==== Missing libcurl.so.4 or version CURL_OPENSSL_3 not found ====<br />
<br />
[[Install]] {{pkg|lib32-libcurl-compat}} and run the game with {{ic|1=LD_PRELOAD=libcurl.so.3}}.<br />
<br />
=== The Impossible Game ===<br />
<br />
Dependencies:<br />
<br />
* {{pkg|lib32-sdl2}}<br />
* {{pkg|lib32-sdl2_image}}<br />
<br />
=== The Inner World ===<br />
<br />
Requires {{AUR|java-commons-codec}} for sound support.<br />
<br />
==== Bringing up the inventory or main menu ====<br />
<br />
Hold the tab key.<br />
<br />
===== Cutscenes =====<br />
<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 />
Furthermore you need the package {{aur|ffmpeg-compat-55}}.<br />
<br />
There seem to be problems with the Steam overlay. Try to run the game directly with {{ic|''GAME''/TIW_start.sh}}.<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 />
See the [http://steamcommunity.com/app/251430/discussions/0/611701360817206606/#c611701360827509770 Steam Forums] for details.<br />
<br />
=== Interloper ===<br />
<br />
Requires {{pkg|alsa-lib}}.<br />
<br />
==== Game does not start ====<br />
<br />
The game can sometimes segfault due to an incompatibility with the Steam Runtime's {{ic|libasound.so.2}}.<br />
<br />
=== Invisible Apartment ===<br />
<br />
Requires {{pkg|qt5-multimedia}}.<br />
<br />
==== Game does not start ====<br />
<br />
If the game does not run when you launch it via Steam, try to directly run {{ic|./ia1}} in the game directory.<br />
<br />
=== Joe Danger 2: The Movie ===<br />
<br />
Requires {{pkg|lib32-libpulse}}.<br />
<br />
==== Compatibility ====<br />
<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 />
<br />
See [[Kerbal Space Program]].<br />
<br />
=== Killing Floor ===<br />
<br />
==== Cannot change screen resolution ====<br />
<br />
If trying to modify the resolution in-game crashes your desktop environment, edit {{ic|~/.killingfloor/System/KillingFloor.ini}}:<br />
<br />
[WinDrv.WindowsClient]<br />
WindowedViewportX=''width''<br />
WindowedViewportY=''height''<br />
FullscreenViewportX=''width''<br />
FullscreenViewportY=''height''<br />
MenuViewportX=''width''<br />
MenuViewportY=''height''<br />
<br />
[SDLDrv.SDLClient]<br />
WindowedViewportX=''width''<br />
WindowedViewportY=''height''<br />
FullscreenViewportX=''width''<br />
FullscreenViewportY=''height''<br />
MenuViewportX=''width''<br />
MenuViewportY=''height''<br />
<br />
==== Windowed mode ====<br />
<br />
Uncheck fullscreen in the options menu, and press {{ic|Ctrl+g}} to stop mouse capturing.<br />
<br />
==== Stuttering sound ====<br />
<br />
KillingFloor comes with its own OpenAL library {{ic|''GAME''/System/openal.so}}.<br />
<br />
Back it up, [[install]] {{pkg|openal}} or {{pkg|lib32-openal}} (if using a 64bit system).<br />
<br />
Then symlink the installed system library ({{ic|/usr/lib32/libopenal.so.1}} or {{ic|/usr/lib/libopenal.so.1}}) to {{ic|openal.so}}.<br />
<br />
=== Left for Dead 2 ===<br />
<br />
==== Missing Chinese font ====<br />
<br />
L4D2 Requires {{Pkg|wqy-zenhei}}. Or add the following lines to {{ic|~/.config/fontconfig/fonts.conf}}<br />
<br />
<match target="pattern"><br />
<test qual="any" name="family"><br />
<string>WenQuanYi Zen Hei</string><br />
</test><br />
<edit name="family" mode="assign" binding="same"><br />
<string>Source Han Sans CN</string><br />
</edit><br />
</match><br />
<br />
=== Lethal League ===<br />
<br />
Requires {{Pkg|lib32-glew1.10}}.<br />
<br />
=== Life is Strange ===<br />
<br />
Requires {{Pkg|librtmp0}}, {{Pkg|sdl2_image}}.<br />
<br />
=== Little Racers STREET ===<br />
<br />
Install {{Pkg|sdl2_mixer}}.<br />
<br />
Move/backup {{ic|''GAME''/lib64/libSDL2_mixer-2.0.so.0}}.<br />
<br />
Symlink {{ic|/usr/lib/libSDL2_mixer-2.0.so.0}} to {{ic|''GAME''/lib64/libSDL2_mixer-2.0.so.0}}.<br />
<br />
=== The Long Dark ===<br />
<br />
==== Game does not start ====<br />
<br />
The 64-bit version fails to start. Either use the 32-bit version {{ic|tld.x86}} in the game directory or start the 64-bit version like so:<br />
<br />
LD_PRELOAD=~/.steam/root/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0 ./tld.x86_64<br />
<br />
==== Game starts, but some overlay text is missing and cutscenes shows black screen ====<br />
<br />
In addition to the command above, add the following to the Steam launch command:<br />
<br />
-screen-fullscreen 0 -screen-width WIDTH_PIXELS -screen-height HEIGHT_PIXELS<br />
<br />
For example, if you have a screen resolution of 1280x720 and are launching the x64 version from the terminal (within the directory which contains the binaries), the full command would be:<br />
<br />
LD_PRELOAD=~/.steam/root/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0 ./tld.x86_64 -screen-fullscreen 0 -screen-width 1280 -screen-height 720<br />
<br />
and from Steam, the complete game [[launch option]]s would be:<br />
<br />
LD_PRELOAD=~/.steam/root/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0 %command% -screen-fullscreen 0 -screen-width 1280 -screen-height 720<br />
<br />
==== Cutscenes are still black ====<br />
<br />
Turn off Vertical Sync in the Display options, and/or set POST FX to Low in the Quality options, and/or turn global Quality options down a notch.<br />
<br />
==== Cursor disappears ====<br />
<br />
Go to Options > Controls, and set mouse locking to unlocked.<br />
<br />
The options is visible only if you're navigating using your (invisible) mouse. It will not show up when navigating with a controller.<br />
One solution is to go to Options -> Controls with a controller before switching to the mouse and trying to blindly it the setting.<br />
<br />
=== Magicka 2 ===<br />
<br />
==== Indefinitely stuck at start ====<br />
<br />
The game does not start if the output of the command "ip -s link" is longer than 4096 characters. That is because, in the function bitsquid::network_info(char*), where they query the networking information, they do not handle that case correctly.<br />
See [https://i.imgur.com/AOTLoTY.png this picture] for reference.<br />
It was reported to upstream (Pieces Interactive) but Magicka 2 does not seem to be maintained anymore.<br />
<br />
A dirty fix is to wrap your ip binary, as such:<br />
<br />
{{bc|<br />
#!/bin/bash<br />
<nowiki>if [[ $@ == "-s link" ]]; then</nowiki><br />
echo "<paste a smaller subset of the normal output>"<br />
else<br />
/path/to/your/real/ip "$@"<br />
fi<br />
}}<br />
<br />
=== Mark of the Ninja ===<br />
<br />
==== Bad sound ====<br />
<br />
Prepend {{ic|/usr/lib}} to {{ic|LD_LIBRARY_PATH}}.<br />
<br />
=== Metro: Last Light ===<br />
<br />
The game does not allow you to change its resolution on a multi-monitor setup on GNOME with the AMD Catalyst drivers. A temporary workaround is to disable the side monitors.<br />
Jason over at [http://unencumberedbyfacts.com/2013/11/20/multiple-monitor-gaming-on-linux/ unencumbered by facts] managed to get it working with his multi-monitor setup using a single display server, he however is using Nvidia.<br />
<br />
=== Metro: 2033 Redux ===<br />
<br />
==== No sound ====<br />
<br />
The game does not properly support [[PulseAudio]], so you will have to use ALSA.<br />
Run the game with {{ic|1=SDL_AUDIODRIVER=alsa}}.<br />
Create the file {{ic|~/.asoundrc}}. Get your card/device number with {{ic|aplay -l}}.<br />
Add the following to your {{ic|~/.asoundrc}} (replace card and device no with the one you got from {{ic|aplay -l}})<br />
<br />
pcm.!default { <br />
type hw<br />
card 0<br />
device 0<br />
}<br />
<br />
ctl.!default {<br />
type hw<br />
card 0<br />
device 0 <br />
}<br />
<br />
Before starting the game make sure to kill PulseAudio with {{ic|pulseaudio -k}}.<br />
<br />
=== No image ===<br />
<br />
Try setting {{ic|r_fullscreen off}} in {{ic|~/.local/share/Steam/steamapps/common/Metro 2033 Redux/user.cfg}}.<br />
<br />
=== Middle-earth: Shadow of Mordor ===<br />
<br />
==== Floating heads ====<br />
<br />
Run the game with {{ic|1=__GL_ShaderPortabilityWarnings=0}}.<br />
<br />
=== Mount & Blade: Warband ===<br />
<br />
==== Segmentation fault (core dumped) with wayland ====<br />
<br />
Use [[Xorg]] instead.<br />
<br />
==== DLC Chooser ====<br />
<br />
Requires {{aur|lib32-nas}}.<br />
<br />
==== Crash on startup ====<br />
<br />
Set launch options to: <br />
LD_LIBRARY_PATH="." %command%<br />
<br />
=== Multiwinia ===<br />
<br />
Requires {{pkg|lib32-openal}}.<br />
<br />
==== Crash on startup ====<br />
<br />
If Multiwinia crashes on startup on X64 systems, force launching the 32-bit executable by replacing {{ic|''GAME''/run_steam.sh}} with the following script:<br />
<br />
{{bc|<br />
#!/bin/sh<br />
./multiwinia.bin.x86<br />
}}<br />
<br />
See [https://steamcommunity.com/app/1530/discussions/0/864969481950542663/#c558746995160431396].<br />
<br />
=== Natural Selection 2 ===<br />
<br />
{{Pkg|sndio}} is required, furthermore, you must also execute<br />
$ ln -s /usr/lib/libsndio.so x64/libsndio.so.6.1<br />
within the root of the NS2 directory.<br />
This is because NS2 uses an older outdated version of sndio, but it is still compatible with the new version, thankfully.<br />
<br />
For a more minimal solution, one can attempt to set the audio driver used through the environment variable {{ic|SDL_AUDIODRIVER}}. For example, {{ic|1=SDL_AUDIODRIVER=sndio}} or {{ic|1=SDL_AUDIODRIVER=alsa}}.<br />
<br />
The environment variable {{ic|SDL_VIDEODRIVER}} must not be set to {{ic|wayland}}.<br />
Try setting {{ic|SDL_VIDEODRIVER}} to {{ic|x11}} if it still does not work.<br />
<br />
=== Nuclear Throne ===<br />
<br />
==== Missing libcurl.so.4 or version CURL_OPENSSL_3 not found ====<br />
<br />
[[Install]] {{pkg|lib32-libcurl-compat}} and run the game with {{ic|1=LD_PRELOAD=libcurl.so.3}}.<br />
<br />
=== Oxygen Not Included ===<br />
<br />
==== World generation hangs ====<br />
<br />
This problem occurs with locales that use comas instead of dots to separate decimals.<br />
<br />
Set launch options in steam to {{ic|1=LANG=C %command%}}.[http://steamcommunity.com/app/457140/discussions/3/1488866180617243731/#c1488866813753688864]<br />
<br />
=== Penumbra: Overture ===<br />
<br />
Dependencies:<br />
<br />
* {{pkg|lib32-glu}}<br />
* {{pkg|lib32-libvorbis}}<br />
* {{pkg|lib32-libxft}}<br />
* {{pkg|lib32-openal}}<br />
* {{pkg|lib32-sdl_image}}<br />
* {{pkg|lib32-sdl_ttf}}<br />
<br />
==== Windowed mode ====<br />
<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 />
<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 />
=== The Polynomial ===<br />
<br />
Dependencies:<br />
<br />
* {{AUR|ilmbase102-libs}}{{Broken package link|{{aur-mirror|ilmbase102-libs}}}}<br />
* {{AUR|openexr170-libs}}{{Broken package link|{{aur-mirror|openexr170-libs}}}}<br />
<br />
[https://github.com/ValveSoftware/steam-for-linux/issues/2721 Steam for Linux issue #2721]<br />
<br />
==== Segfaults during program start on 64-bit systems ====<br />
<br />
The game segfaults during program start because of the {{ic|LD_LIBRARY_PATH}} setting in the launcher script. Edit {{ic|''GAME''/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 />
=== Portal 2 ===<br />
<br />
==== Game does not start ====<br />
<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 />
A problem with libstdc can be fixed by running the game with {{ic|1=LD_PRELOAD='/usr/$LIB/libstdc++.so.6'}}.<br />
<br />
==== Resolution too low ====<br />
<br />
When the game starts with a resolution so low that you cannot reach the game settings,<br />
run the game in windowed mode using the {{ic|-windowed}} flag.<br />
<br />
==== Missing non Latin font ====<br />
<br />
The phenomenon is no menu in Portal. Portal and Portal2 use Helvetica, add the following lines to {{ic|~/.config/fontconfig/fonts.conf}}:<br />
<br />
<match target="pattern"><br />
<test qual="any" name="family"><br />
<string>Helvetica</string><br />
</test><br />
<edit name="family" mode="assign" binding="same"><br />
<string>Source Han Sans CN</string><br />
</edit><br />
</match><br />
<br />
You can replace "Source Han Sans CN" by your favoriate and existing font.<br />
<br />
=== Prison Architect ===<br />
<br />
==== ALSA error when using PulseAudio ====<br />
<br />
The error:<br />
<br />
{{ic|ALSA lib pcm_dmix.c:1018:(snd_pcm_dmix_open) unable to open slave}}<br />
<br />
was resolved by installing:<br />
<br />
* {{pkg|pulseaudio-alsa}}<br />
* {{pkg|lib32-libpulse}}<br />
<br />
per [[PulseAudio#ALSA]].<br />
<br />
=== Project Zomboid ===<br />
<br />
Requires {{pkg|jre7-openjdk}}.<br />
<br />
==== No sound ====<br />
<br />
Prepend {{ic|/usr/lib}} to {{ic|LD_LIBRARY_PATH}}.<br />
<br />
In the game, go to the options and set all audio to the proper volume.<br />
<br />
=== Pyre ===<br />
<br />
==== Game does not start ====<br />
<br />
Remove {{ic|''GAME''/lib64/libSDL2-2.0.so.0}}.<br />
<br />
If this doesn't work, downgrade sdl2.<br />
<br />
$ pacman -U https://archive.archlinux.org/packages/s/sdl2/sdl2-2.0.6-2-x86_64.pkg.tar.xz<br />
<br />
Then add sdl2 to IgnorePkg in {{ic|/etc/pacman.conf}}.<br />
<br />
{{ic|1=IgnorePkg = sdl2}}<br />
<br />
=== Redshirt ===<br />
<br />
Requires {{pkg|lib32-libpulse}} if you use PulseAudio.<br />
<br />
=== Revenge of the Titans ===<br />
<br />
Requires {{pkg|libxtst}} and {{pkg|lib32-libxtst}}.<br />
<br />
=== Risk of Rain ===<br />
<br />
Requires {{pkg|lib32-libcurl-compat}}.<br />
Refer to [[#Missing libcurl.so.4 or version CURL_OPENSSL_3 not found]].<br />
<br />
=== Rock Boshers DX: Directors Cut ===<br />
<br />
Requires {{Pkg|lib32-libcaca}}.<br />
<br />
=== Saints Row IV ===<br />
<br />
==== Game fails to launch after update to new Nvidia drivers ====<br />
<br />
{{Accuracy|General settings not specific to this game}}<br />
<br />
Run the game with {{ic|/usr/lib32/libGLX_nvidia.so}} appended to the {{ic|LD_PRELOAD}}.<br />
<br />
==== Game causes GPU lockup with mesa drivers ====<br />
<br />
Saints Rows IV can cause a GPU lockup when trying to play on certain AMD<br />
hardware using open source drivers: [https://bugs.freedesktop.org/show_bug.cgi?id=93475 Bug 93475].<br />
<br />
A workaround is to run the game with {{ic|1=R600_DEBUG=nosb}}.<br />
<br />
=== Serious Sam 3: BFE ===<br />
<br />
==== No audio ====<br />
<br />
Try running:<br />
<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 />
=== Slay the Spire ===<br />
<br />
If the game does not start or crashes at startup, install {{pkg|xorg-xrandr}}.<br />
<br />
=== Songbringer ===<br />
<br />
==== Launch error with Wayland ====<br />
<br />
Install {{pkg|glfw-x11}} and run the game with {{ic|1=LD_PRELOAD=/usr/lib/libglfw.so.3}}.<br />
<br />
=== Space Pirates and Zombies ===<br />
<br />
Requires {{pkg|lib32-openal}}.<br />
<br />
==== No audio ====<br />
<br />
Try running:<br />
<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 />
<br />
{{hc|~/.alsoftrc|<nowiki><br />
[general]<br />
drivers = alsa<br />
[alsa]<br />
device = default<br />
capture = default<br />
mmap = true<br />
</nowiki>}}<br />
<br />
=== Spacechem ===<br />
<br />
Dependencies:<br />
<br />
* {{Pkg|lib32-sdl_mixer}}<br />
* {{pkg|lib32-sdl_image}}<br />
* {{pkg|lib32-sqlite}}<br />
<br />
==== Game crash ====<br />
<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 the three files {{ic|libSDL-1.2.so.0}}, {{ic|libSDL_image-1.2.so.0}}, {{ic|libSDL_mixer-1.2.so.0}} from the game directory.<br />
<br />
=== Splice ===<br />
<br />
Requires {{pkg|glu}}.<br />
<br />
=== The Stanley Parable ===<br />
<br />
==== Game won't start ====<br />
<br />
As discussed in the Steam store page, remove {{ic|bin/libstdc++.so.6}} from the game folder.<br />
<br />
=== Shadow Tactics: Blades of the Shogun ===<br />
<br />
Dependencies:<br />
<br />
* {{pkg|lib32-libstdc++5}}<br />
* {{pkg|lib32-libxcursor}}<br />
* {{pkg|lib32-libxrandr}}<br />
<br />
=== Steel Storm: Burning Retribution ===<br />
<br />
==== Start with black screen ====<br />
<br />
The game by default tries to launch in fullscreen mode with a resolution of 1024x768,<br />
which doesn't work on some devices (for example the Samsung Series9 laptop with Intel hd4000 video).<br />
<br />
Run the game in windowed mode by using the {{ic|-window}} flag. Then change the resolution in-game.<br />
<br />
=== Stellaris ===<br />
<br />
==== No window opening, only sound ====<br />
<br />
Happens with some AMD GPU and mesa combination, set multi_sampling=0 in ~/.local/share/Paradox\ Interactive/Stellaris/settings.txt.<br />
<br />
=== Stephen's Sausage Roll ===<br />
<br />
==== No sound ====<br />
<br />
If using [[Steam/Troubleshooting#Native runtime|native libraries]]{{Broken section link}} and {{pkg|libpulse}} is installed, Unity may try to use that library for sound and fail.<br />
To test if this is the problem, try removing {{pkg|libpulse}} or renaming the package files that are named {{ic|libpulse-simple*}}. To see which {{pkg|libpulse}} files are relevant, run:<br />
<br />
{{hc|$ pacman -Qql libpulse <nowiki>|</nowiki> grep /usr/lib/libpulse-simple|<br />
/usr/lib/libpulse-simple.so<br />
/usr/lib/libpulse-simple.so.0<br />
/usr/lib/libpulse-simple.so.0.1.0}}<br />
<br />
If renaming any of those files works for you, you can proceed with the following instructions (revert any renaming you just did). Browse to the game's directory:<br />
<br />
$ cd "$HOME/.steam/root/steamapps/common/Stephen's Sausage Roll"<br />
<br />
And create a sub-directory that we can use to hold 0-byte look-alike library files:<br />
<br />
$ mkdir noload/<br />
<br />
Use {{ic|touch}} to create 0-byte versions of the above files that we want the dynamic linker to skip, e.g.:<br />
<br />
$ touch noload/{libpulse-simple.so,libpulse-simple.so.0,libpulse-simple.so.0.1.0}<br />
<br />
{{Note|Only a 0-byte {{ic|libpulse-simple.so.0}} file may be required.}}<br />
<br />
After you have created these 0-byte files, you can now attempt to run the game binary directly, telling the dynamic linker to use our 0-byte files:<br />
<br />
$ LD_LIBRARY_PATH="noload/:$LD_LIBRARY_PATH" ./Sausage.x86_64<br />
<br />
If everything works up to this point, prepend {{ic|noload/}} to your {{ic|LD_LIBRARY_PATH}}.<br />
<br />
Again, this should work because Steam checks for a {{ic|noload/}} directory relative to the game's directory. The dynamic linker should respect the {{ic|$LD_LIBRARY_PATH}} variable and fail to load the necessary {{pkg|libpulse}} files. The game should then fallback to plain ALSA.<br />
<br />
=== Superbrothers: Sword & Sworcery EP ===<br />
<br />
Dependencies:<br />
<br />
* {{pkg|lib32-glu}}<br />
* {{pkg|lib32-libpulse}} if you use PulseAudio<br />
<br />
The game bundles an outdated version of libstdc++ which prevents the game from starting. [http://steamcommunity.com/app/204060/discussions/0/364039785161291413] The following can be observed when you run Steam and S&S from the terminal:<br />
<br />
libGL error: unable to load driver: i965_dri.so<br />
libGL error: driver pointer missing<br />
libGL error: failed to load driver: i965<br />
libGL error: unable to load driver: i965_dri.so<br />
libGL error: driver pointer missing<br />
libGL error: failed to load driver: i965<br />
libGL error: unable to load driver: swrast_dri.so<br />
libGL error: failed to load driver: swrast<br />
<br />
To solve this problem remove {{ic|''GAME''/lib/libstdc++.so.6*}}. After that the game will use the libstdc++ from Steam.<br />
<br />
=== System Shock 2 ===<br />
<br />
You get these errors when running it with the native client:<br />
<br />
C:\windows\system32\winedevice.exe: symbol lookup error: /usr/lib32/libX11.so.6: undefined symbol: xcb_wait_for_reply64<br />
C:\windows\system32\wineboot.exe: symbol lookup error: /usr/lib32/libX11.so.6: undefined symbol: xcb_wait_for_reply64<br />
<br />
Just delete or rename the libxcb library it got shipped with:<br />
<br />
mv /mnt/olhdd/steam/steamapps/common/SS2/lib/libxcb.so.1{,.old}<br />
mv /mnt/olhdd/steam/steamapps/common/SS2/lib/libxcb.so.1.1.0{,.old}<br />
<br />
=== Tabletop Simulator ===<br />
<br />
==== CJK characters not showing in game ====<br />
<br />
Install {{pkg|wqy-microhei}} and {{pkg|wqy-microhei-lite}}.<br />
<br />
=== Team Fortress 2 ===<br />
<br />
Requires {{Pkg|lib32-libpng12}}.<br />
<br />
==== HRTF setup ====<br />
<br />
Assuming HRTF (head-related transfer function) has been properly set up in the operating system, HRTF won't be enabled unless you disable the original processing. To do so, use<br />
<br />
dsp_slow_cpu 1<br />
<br />
For best results, also change the following:<br />
<br />
snd_spatialize_roundrobin 1<br />
dsp_enhance_stereo 0<br />
snd_pitchquality 1<br />
<br />
==== Loading screen freeze ====<br />
<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 />
<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 />
<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 />
<br />
See the KNOWN ISSUES & WORKAROUNDS section of the [http://forums.terraria.org/index.php?threads/terraria-1-3-0-8-can-mac-linux-come-out-play.30287/ release announcement].<br />
<br />
=== This War of Mine ===<br />
<br />
==== Game does not start ====<br />
<br />
This happens because of an incompatibility with the newer version of {{ic|lib32-curl}}. To fix the problem , set your [[launch option]]s to:<br />
LD_PRELOAD=./libcurl.so.4 %command%<br />
<br />
==== Sound glitches with Steam native ====<br />
<br />
The bundled {{ic|libOpenAL}} might not work correctly, try symlinking {{ic|/usr/lib32/libopenal.so}} to {{ic|''GAME''/libOpenAL.so}}.<br />
<br />
=== Ticket to Ride ===<br />
<br />
Dependencies:<br />
<br />
* {{AUR|lib32-gstreamer0.10-base}}<br />
* {{AUR|lib32-pangox-compat}}<br />
<br />
As lib32-gstreamer0.10-base is quite hard to build you can use [[Unofficial_user_repositories#alucryd-multilib|alucryd-multilib]] repo for this package<br />
<br />
=== The Tiny Bang Story ===<br />
<br />
==== Missing libGLEW.so.1.6 ====<br />
<br />
# ln -s /usr/lib32/libGLEW.so.1.10.0 /usr/lib32/libGLEW.so.1.6<br />
<br />
=== Tomb Raider ===<br />
<br />
==== Game immediately closes when running with steam-native ====<br />
<br />
Tomb Raider has a very heavy amount of dependency on the Steam runtime, the easiest solution is to just run it using the runtime.<br />
<br />
==== Steam Controller not working in-game====<br />
<br />
If your Steam Controller is correctly recognized and paired but still not working in-game try the following:<br />
<br />
* In Steam, non Big Screen, go to ''Settings > Account > Beta participation > Change...'' and in the dropdown select box select Steam Beta Update<br />
* Restart Steam<br />
* Go to Big Screen and start Tomb Raider<br />
<br />
Correctly recognized means you can control the desktop mouse and Steam in Big Picture mode and the controller is shown in the Big Picture settings.<br />
<br />
<br />
=== Torchlight 2 ===<br />
<br />
==== Libfreetype/libfontconfig Incompatibility ====<br />
<br />
If you are experiencing issues with launching Torchlight 2, it could be due to using a newer libfontconfig than the game currently supports.<br />
<br />
Right click the game in Steam, and set the following as it's launch option:<br />
<br />
LD_PRELOAD=/usr/lib/libfreetype.so.6 %command%<br />
<br />
then attempt launching the game. <br />
<br />
Alternately, re-naming or deleting these 2 files will force it to use your system's libraries:<br />
<br />
Torchlight 2/game/lib/libfreetype.so.6<br />
Torchlight 2/game/lib64/libfreetype.so.6<br />
<br />
==== Locale incompatibility ====<br />
<br />
Some users report that Torchlight 2 does not work if you do not have en_US.UTF8 in your locale. <br />
<br />
Double check you have generated the locale needed in [[Steam#Installation|Steam Installation Requirements]].<br />
<br />
=== Tower Unite ===<br />
<br />
==== Graphical Glitches ====<br />
<br />
This is a known issue, and it occurs because the shaders had not been ported to Linux yet by the developers.<br />
To minimize glitches and make the game playable add {{ic|-opengl4}} to your [[launch option]]s,<br />
set Ocean Quality to "Potato" and Effects Quality to "Low" in the game settings.<br />
<br />
=== Towns / Towns Demo ===<br />
<br />
Requires [[Java]].<br />
<br />
=== Transistor ===<br />
<br />
==== Crash on launch / FMOD binding crash / audio issues ====<br />
<br />
Run the game with:<br />
<br />
LD_PRELOAD='/usr/lib/libstdc++.so.6:/usr/lib/libgcc_s.so.1:/usr/lib/libxcb.so.1:/usr/lib/libasound.so.2'<br />
<br />
Otherwise, run the game via shell and set up proper audio device for FMOD, as discussed in [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 />
=== Transmissions: Element 120 ===<br />
<br />
Dependencies:<br />
<br />
* {{Pkg|lib32-libgcrypt15}}<br />
* {{pkg|lib32-libpng12}}<br />
<br />
==== Troubleshooting ====<br />
<br />
Make sure you have all libraries installed. Above the standard set required by Steam runtime, the game requires few additional ones. The typical error message that indicates that is<br />
<br />
AppFramework : Unable to load module vguimatsurface.so!<br />
<br />
To find missing dependencies go into the game directory and run:<br />
<br />
LD_LIBRARY_PATH=bin ldd bin/vguimatsurface.so<br />
<br />
Look for entries that say ''not found''.<br />
<br />
=== Trine 2 ===<br />
<br />
Dependencies:<br />
<br />
* {{pkg|lib32-glu}}<br />
* {{pkg|lib32-libxxf86vm}}<br />
* {{pkg|lib32-openal}}<br />
* {{pkg|xorg-xwininfo}}<br />
* {{pkg|lib32-libdrm}}<br />
<br />
* {{pkg|lib32-libpng12}}<br />
* {{pkg|lib32-libwrap}}<br />
<br />
==== Colors ====<br />
<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 bug report])<br />
<br />
==== Sound ====<br />
<br />
{{Accuracy|General settings not specific to this game}}<br />
<br />
If sound plays choppy, try:<br />
<br />
{{hc|/etc/openal/alsoft.conf|<nowiki><br />
drivers=pulse,alsa<br />
frequency=48000<br />
</nowiki>}}<br />
<br />
==== Resolution ====<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 />
=== Tropico 5 ===<br />
<br />
==== Blank screen with sound only on startup ====<br />
<br />
Run the game with {{ic|1=MESA_GL_VERSION_OVERRIDE=4.0 MESA_GLSL_VERSION_OVERRIDE=400}}.<br />
<br />
=== Unity of Command ===<br />
<br />
Requires {{pkg|lib32-pango}}.<br />
<br />
==== Squares ====<br />
<br />
If squares are shown instead of text, try removing {{ic|''GAME''/bin/libpangoft2-1.0.so.0}}.<br />
<br />
==== No audio ====<br />
<br />
If you get this error:<br />
<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 />
<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 />
=== 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, run the game with {{ic|1=LC_ALL=C}}.<br />
<br />
Affected games: ''FORCED, Gone Home, Ichi, Nimble Quest, Syder Arcade''.<br />
<br />
==== Unity 5 sound problems ====<br />
<br />
The sound system in Unity 5 changed and to be able to play games created with it you must most likely install and run [[PulseAudio]].<br />
<br />
Another solution is to disable the Steam runtime: in the launch options for the game, write this: {{ic|1=LD_LIBRARY_PATH="" %command%}}<br />
<br />
Another solution is to prevent Unity from trying to use pulseaudio using {{AUR|pulsenomore}} package from the [[AUR]]. Once it is installed, use the following as launch options :{{ic|/usr/bin/pulsenomore %command%}}<br />
<br />
Affected games: ''Kerbal Space Program, SUPERHOT, ClusterTruck''<br />
<br />
==== Game launching on wrong monitor in fullscreen mode ====<br />
<br />
Unity games that do not support monitor selection will most likely launch the game on a wrong monitor.<br />
<br />
The problem is that Unity games write the default parameter {{ic|1=<pref name="UnitySelectMonitor" type="int">-1</pref>}} to the game config file.<br />
<br />
This will lead to the game launching on a non-primary monitor.<br />
<br />
When changing to value into {{ic|1=<pref name="UnitySelectMonitor" type="int">'''0'''</pref>}} for the according game, the game will start on the correct (primary) monitor.<br />
<br />
A Unity game config file usually resides in {{ic|~/.config/unity3d/''CompanyName''/''ProductName''/prefs}}.<br />
<br />
Affected games: ''Cities: Skylines, Tabletop Simulator, Assault Android Cactus, Wasteland 2, Tyranny, Beat Cop''.<br />
<br />
Be aware that some games do not support setting that parameter, it will simply be ignored. This is the case for ''Pillars of Eternity'', ''Kentucky Route Zero'', ''Sunless Sea''.<br />
<br />
==== Chinese/Japanese/Korean display bug ====<br />
<br />
Install {{pkg|wqy-microhei}} and {{pkg|wqy-microhei-lite}}. Then<br />
<br />
#fc-cache -fv<br />
<br />
==== Game does not respond ====<br />
<br />
Add the following line to your [[launch option]]s :<br />
<br />
SDL_DYNAMIC_API=/usr/lib/libSDL2-2.0.so %command%<br />
<br />
=== Unrest ===<br />
<br />
Requires {{pkg|fluidsynth}}.<br />
<br />
=== Volgarr the Viking ===<br />
<br />
Delete the {{ic|lib}} directory in the game directory to get rid of the libGL errors.<br />
<br />
=== War Thunder ===<br />
<br />
==== No audio ====<br />
<br />
If there is no audio after launching the game, install {{pkg|pulseaudio-alsa}}.<br />
<br />
==== Blank screen ====<br />
<br />
If having a green or blank screen on startup, run the game with {{ic|1=MESA_GL_VERSION_OVERRIDE=4.1COMPAT}}. [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 />
=== Warhammer 40,000: Dawn of War II ===<br />
<br />
Dependencies:<br />
<br />
* {{Pkg|alsa-lib}}<br />
* {{Pkg|librtmp0}}<br />
<br />
The start script does not point to the right direction of {{ic|libasound.so.2}}.<br />
<br />
To fix it open {{ic|''GAME''/DawnOfWar2.sh}} and replace the following lines:<br />
<br />
{{bc|<nowiki>HAS_LSB_RELEASE=$(command -v lsb_release)<br />
if [ -n "${HAS_LSB_RELEASE}" ] && [ "$(lsb_release -c | cut -f2)" = "trusty" ]; then<br />
LD_PRELOAD_ADDITIONS="/usr/lib/x86_64-linux-gnu/libasound.so.2:${LD_PRELOAD_ADDITIONS}"<br />
fi </nowiki>}}<br />
<br />
with:<br />
<br />
{{bc|1=LD_PRELOAD_ADDITIONS="/usr/lib64/libasound.so.2:${LD_PRELOAD_ADDITIONS}"}}<br />
<br />
=== We Were Here ===<br />
<br />
==== Stuck on black screen or logo on launch ====<br />
<br />
Add {{ic|-screen-fullscreen 0}} to launch options. [https://steamcommunity.com/app/582500/discussions/1/1470840994974091613/]<br />
<br />
=== Worms W.M.D ===<br />
<br />
The game includes several workarounds in the {{ic|Run.sh}} script, however these may not work and it is easy to get the game running without this script.<br />
<br />
First, try running the game directly from its game directory using {{ic|Worms W.M.Dx64}}. If you get a "No such file or directory" error about libcurl-gnutls, install {{pkg|libcurl-gnutls}}. If the game crashes after playing the intro movies, add the Steam Runtime dbus libraries to the game's library directory:<br />
<br />
$ ln -s ~/.steam/steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/*dbus* ~/.steam/steam/steamapps/common/WormsWMD/lib<br />
<br />
Now the game should run using the default "Play Worms W.M.D" option. See also Steam community discussions [https://steamcommunity.com/app/327030/discussions/2/133257959065155871/] and [https://steamcommunity.com/app/327030/discussions/1/343785380902286766/].<br />
<br />
On some systems there are terrain bugs where holes in terrain are not rendered properly and worms can fall through terrain unexpectedly. These bugs can make the game unplayable in many situations and there is no known fix for them.<br />
<br />
=== Witcher 2: Assassin of Kings ===<br />
<br />
Dependencies:<br />
<br />
* {{Pkg|lib32-gnutls}}<br />
* {{Pkg|lib32-libcurl-compat}}<br />
* {{Pkg|lib32-libcurl-gnutls}}<br />
* {{Pkg|lib32-sdl2_image}}<br />
* {{Pkg|lib32-sdl2}}<br />
<br />
==== Game does not start ====<br />
<br />
If the game does not run, enable error messages:<br />
<br />
$ LIBGL_DEBUG=verbose ./witcher2<br />
<br />
=== Wizardry 6: Bane of the Cosmic Forge ===<br />
<br />
Requires [[DOSBox]].<br />
<br />
To fix the crash at start, open {{ic|''GAME''/dosbox_linux/launch_wizardry6.sh}} and:<br />
<br />
# comment the line {{ic|1=export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:./libs}}<br />
# change the beginning of the line starting with {{ic|exec ./dosbox}} to {{ic|exec dosbox}}<br />
<br />
=== World of Goo ===<br />
<br />
==== Changing resolution ====<br />
To change the game resolution edit the ''Graphics display'' section in {{ic|''GAME''/properties/config.txt}}. For example:<br />
<br />
<nowiki><!-- Graphics display --></nowiki><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 />
=== X3: Terran Conflict ===<br />
<br />
==== Game crashes on startup ==== <br />
<br />
The game may crash on startup because it's linked to libz version 1.2.9, while the latest version of this library in Arch Linux is higher. The following message in the terminals appears in this case:<br />
./X3TC_config: lib/libz.so.1: version 'ZLIB_1.2.9' not found (required by /usr/lib32/libpng16.so.16<br />
<br />
Running the game with {{ic|1=LD_PRELOAD='/usr/lib32/libz.so.1.2.11'}} may help.<br />
<br />
=== XCOM ===<br />
<br />
Dependencies:<br />
<br />
* {{Pkg|librtmp0}}<br />
* {{Pkg|sdl2_image}} (required to enable keyboard functionality in-game)<br />
<br />
==== Hangs on startup ====<br />
<br />
If you are running a [[hybrid graphics]] system, try:<br />
<br />
__GL_THREADED_OPTIMIZATIONS=0 primusrun %command%<br />
<br />
==== Graphical glitches on Intel HD ====<br />
<br />
XCOM: Enemy Unknown may not recognize the SDL2 shared libraries shipped with the Steam runtime.<br />
Check if the binary finds all required files and install missing packages if necessary ({{Pkg|sdl2}} and {{Pkg|sdl2_image}}).<br />
<br />
{{bc|ldd binaries/linux/game.x86_64 | grep "not found"}}</div>J!PRAhttps://wiki.archlinux.org/index.php?title=VMware&diff=528539VMware2018-07-03T04:45:59Z<p>J!PRA: More refining</p>
<hr />
<div>[[Category:Hypervisors]]<br />
[[it:VMware]]<br />
[[ja:VMware]]<br />
[[ru:VMware]]<br />
[[zh-hans:VMware]]<br />
{{Related articles start}}<br />
{{Related|:Category:Hypervisors}}<br />
{{Related|VMware/Installing Arch as a guest}}<br />
{{Related|Moving an existing install into (or out of) a virtual machine}}<br />
{{Related articles end}}<br />
<br />
This article is about installing VMware in Arch Linux; you may also be interested in [[VMware/Installing Arch as a guest]].<br />
{{Note|<br />
*This article is about the latest major VMware versions, meaning VMware Workstation Pro and Player 12.5 and 14. <br />
*For older versions, use the {{AUR|vmware-patch}} package.<br />
}}<br />
<br />
== Installation ==<br />
<br />
You can either install using VMware bundle or package {{aur|vmware-workstation}}. The latter is preferred if using ''VMware Workstation'' on x86_64.<br />
<br />
{{Note|VMware version 14 drops support for a number of CPUs including early Intel Core i7 CPUs. Check the [https://docs.vmware.com/en/VMware-Workstation-Pro/14.0/com.vmware.ws.using.doc/GUID-BBD199AA-C346-4334-9F56-5A42F7328594.html Processor Requirements for Host Systems]. If version 14 does not support your CPU then you can use {{aur|vmware-workstation12}}.}}<br />
<br />
=== VMware bundle ===<br />
<br />
[[Install]] the correct dependencies:<br />
*{{pkg|fuse2}} - for ''vmware-vmblock-fuse''<br />
*{{pkg|gtkmm}} - for the GUI<br />
*{{pkg|linux-headers}}&nbsp;- for module compilation<br />
*{{AUR|ncurses5-compat-libs}} - needed by the {{ic|--console}} installer<br />
*{{pkg|libcanberra}} - for event sounds<br />
*{{pkg|pcsclite}} <br />
<br />
Download the latest [https://www.vmware.com/go/tryworkstation VMware Workstation Pro] or [https://www.vmware.com/go/downloadplayer Player] (or a [https://communities.vmware.com/community/vmtn/beta beta] version, if available).<br />
<br />
Start the installation:<br />
# sh VMware-''edition''-''version''.''release''.''architecture''.bundle<br />
<br />
{{Tip|Some useful flags:<br />
*{{ic|--eulas-agreed}} - Skip the EULAs<br />
*{{ic|--console}} - Use the console UI.<br />
*{{ic|--custom}} - Allows changing the install directory to e.g. {{ic|/usr/local}} (make sure to update the {{ic|vmware-usbarbitrator.service}} paths in [[#systemd services]]).<br />
*{{ic|-I}}, {{ic|--ignore-errors}} - Ignore fatal errors.<br />
*{{ic|1=--set-setting=vmware-workstation serialNumber XXXXX-XXXXX-XXXXX-XXXXX-XXXXX}} - Set the serial number during install (good for scripted installs).<br />
*{{ic|--required}} - Only ask mandatory questions (results in silent install when combined with {{ic|--eulas-agreed}} and {{ic|--console}}).<br />
}}<br />
<br />
For the {{ic|System service scripts directory}}, use {{ic|/etc/init.d}} (the default).<br />
<br />
{{Note|During the installation you will get an error about {{ic|"No rc*.d style init script directories"}} being given. This can be safely ignored, since Arch uses [[systemd]].}}<br />
<br />
{{Tip|To (re)build the modules from terminal later on, use:<br />
# vmware-modconfig --console --install-all<br />
}}<br />
<br />
=== Package build for x86_64 ===<br />
<br />
Install {{aur|vmware-workstation}}, {{aur|vmware-workstation12}} or {{aur|vmware-workstation11}} for respectively versions 14, 12 and 11 of ''VMware Workstation''. It is also necessary to install the appropriate headers package(s) for your installed kernel(s): for example {{Pkg|linux-headers}} or {{Pkg|linux-lts-headers}}.<br />
<br />
Then, as desired, enable some of the following services:<br />
* {{ic|vmware-networks.service}} for guest network access<br />
* {{ic|vmware-usbarbitrator.service}} for connecting USB devices to guest<br />
* {{ic|vmware-hostd.service}} for sharing virtual machines<br />
<br />
Lastly, load the VMware modules:<br />
# modprobe -a vmw_vmci vmmon<br />
<br />
== Configuration ==<br />
<br />
=== Kernel modules ===<br />
<br />
VMware Workstation 12.5 supports kernels up to 4.8 out of the box.<br />
<br />
For VMware bundle versions, a collection of patches needed for the VMware host modules to build against recent kernels can be found from the following GitHub repository, [https://github.com/mkubecek/vmware-host-modules/ vmware-host-modules]. See the INSTALL document found on the repository for the most up-to-date module installation instructions for VMware versions from 12.5.5 and up.<br />
<br />
Alternatively, the modules can be patched installing the {{AUR|vmware-patch}} package and executing:<br />
# vmware-patch -f<br />
<br />
=== systemd services ===<br />
<br />
''(Optional)'' Instead of using {{ic|/etc/init.d/vmware}} ({{ic|<nowiki>start|stop|status|restart</nowiki>}}) and {{ic|/usr/bin/vmware-usbarbitrator}} directly to manage the services, you may also use {{ic|.service}} files (also available in the {{AUR|vmware-systemd-services}} package, and also included in {{AUR|vmware-patch}} and {{AUR|vmware-workstation}} with a few differences):<br />
<br />
{{hc|/etc/systemd/system/vmware.service|<br />
2=[Unit]<br />
Description=VMware daemon<br />
Requires=vmware-usbarbitrator.service<br />
Before=vmware-usbarbitrator.service<br />
After=network.target<br />
<br />
[Service]<br />
ExecStart=/etc/init.d/vmware start<br />
ExecStop=/etc/init.d/vmware stop<br />
PIDFile=/var/lock/subsys/vmware<br />
RemainAfterExit=yes<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
}}<br />
<br />
{{hc|/etc/systemd/system/vmware-usbarbitrator.service|<br />
2=[Unit]<br />
Description=VMware USB Arbitrator<br />
Requires=vmware.service<br />
After=vmware.service<br />
<br />
[Service]<br />
ExecStart=/usr/bin/vmware-usbarbitrator<br />
ExecStop=/usr/bin/vmware-usbarbitrator --kill<br />
RemainAfterExit=yes<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
}}<br />
<br />
Add this service as well, if you want to connect to your VMware Workstation installation from another Workstation Server Console:<br />
<br />
{{hc|/etc/systemd/system/vmware-workstation-server.service|<br />
2=[Unit]<br />
Description=VMware Workstation Server<br />
Requires=vmware.service<br />
After=vmware.service<br />
<br />
[Service]<br />
ExecStart=/etc/init.d/vmware-workstation-server start<br />
ExecStop=/etc/init.d/vmware-workstation-server stop<br />
PIDFile=/var/lock/subsys/vmware-workstation-server<br />
RemainAfterExit=yes<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
}}<br />
<br />
After which you can [[enable]] them on boot.<br />
<br />
==== Workstation Server service ====<br />
<br />
The {{ic|vmware-workstation-server.service}} calls {{ic|wssc-adminTool}} in its command chain, despite having been renamed to {{ic|vmware-wssc-adminTool}}.<br />
<br />
To prevent the service startup, this can be fixed with a symlink:<br />
<br />
# ln -s wssc-adminTool /usr/lib/vmware/bin/vmware-wssc-adminTool<br />
<br />
== Launching the application ==<br />
<br />
To open VMware Workstation Pro:<br />
$ vmware<br />
<br />
or Player:<br />
$ vmplayer<br />
<br />
== Tips and tricks ==<br />
<br />
=== Entering the Workstation Pro license key ===<br />
<br />
==== From terminal ====<br />
<br />
# /usr/lib/vmware/bin/vmware-vmx-debug --new-sn XXXXX-XXXXX-XXXXX-XXXXX-XXXXX<br />
<br />
Where {{ic|XXXXX-XXXXX-XXXXX-XXXXX-XXXXX}} is your license key.<br />
<br />
{{Note|The {{ic|-debug}} binary informs the user of an incorrect license.}}<br />
<br />
==== From GUI ====<br />
<br />
If the above does not work, you can try:<br />
<br />
# /usr/lib/vmware/bin/vmware-enter-serial<br />
<br />
=== Extracting the VMware BIOS ===<br />
<br />
$ objcopy /usr/lib/vmware/bin/vmware-vmx -O binary -j bios440 --set-section-flags bios440=a bios440.rom.Z<br />
$ perl -e 'use Compress::Zlib; my $v; read STDIN, $v, '$(stat -c%s "./bios440.rom.Z")'; $v = uncompress($v); print $v;' < bios440.rom.Z > bios440.rom<br />
<br />
=== Extracting the installer ===<br />
<br />
To view the contents of the installer {{ic|.bundle}}:<br />
<br />
$ sh VMware-''edition''-''version''.''release''.''architecture''.bundle --extract ''/tmp/vmware-bundle/''<br />
<br />
==== Using the modified BIOS ====<br />
<br />
If and when you decide to modify the extracted BIOS you can make your virtual machine use it by moving it to {{ic|~/vmware/''Virtual_machine_name''}}:<br />
$ mv bios440.rom ~/vmware/''Virtual_machine_name''/<br />
<br />
then adding the name to the {{ic|''Virtual_machine_name''.vmx}} file:<br />
{{hc|~/vmware/''Virtual_machine_name''/''Virtual_machine_name''.vmx|2=bios440.filename = "bios440.rom"}}<br />
<br />
=== Enable 3D graphics on Intel and Optimus ===<br />
<br />
Some graphics drivers are blacklisted by default, due to poor and/or unstable 3D acceleration. After enabling ''Accelerate 3D graphics'', the log may show something like:<br />
<br />
Disabling 3D on this host due to presence of Mesa DRI driver. Set mks.gl.allowBlacklistedDrivers = TRUE to override.<br />
<br />
This means the append the following line to the file using your prefered editor:<br />
<br />
{{hc|~/.vmware/preferences|2=<br />
mks.gl.allowBlacklistedDrivers = TRUE<br />
}}<br />
<br />
== Troubleshooting ==<br />
<br />
=== Kernel headers for version 4.x-xxxx were not found. If you installed them[...] ===<br />
<br />
Install the headers ({{Pkg|linux-headers}}).<br />
<br />
{{Note|Upgrading the kernel and the headers will require you to boot to the new kernel to match the version of the headers. This is a relatively common error.}}<br />
<br />
=== USB devices not recognized ===<br />
<br />
{{Tip|Also handled by {{AUR|vmware-patch}}.}}<br />
<br />
If not using the [[#systemd services|systemd service]] to automatically handle the services, you need to manually start the {{ic|vmware-usbarbitrator}} binary as root each time.<br />
<br />
To start:<br />
<br />
# vmware-usbarbitrator<br />
<br />
To stop:<br />
<br />
# vmware-usbarbitrator --kill<br />
<br />
=== Incorrect login/password when trying to access VMware remotely ===<br />
<br />
VMware Workstation provides the possibility to remotely manage Shared VMs through the {{ic|vmware-workstation-server}} service. However, this will fail with the error {{ic|"incorrect username/password"}} due to incorrect [[PAM]] configuration of the {{ic|vmware-authd}} service. To fix it, edit {{ic|/etc/pam.d/vmware-authd}} like this:<br />
<br />
{{hc|/etc/pam.d/vmware-authd|<br />
#%PAM-1.0<br />
auth ''required pam_unix.so''<br />
account ''required pam_unix.so''<br />
password ''required pam_permit.so''<br />
session ''required pam_unix.so''<br />
}}<br />
<br />
and restart the {{ic|vmware}} [[systemd]] service.<br />
<br />
Now you can connect to the server with the credentials provided during the installation.<br />
<br />
{{Note|{{Pkg|libxslt}} may be required for starting virtual machines.}}<br />
<br />
=== Issues with ALSA output ===<br />
<br />
[http://bankimbhavsar.blogspot.co.nz/2011/09/hd-audio-in-vmware-fusion-4-and-vmware.html To fix] sound quality issues or enabling proper HD audio output, first run:<br />
$ aplay -L<br />
<br />
If interested in playing 5.1 ''surround sound'' from the guest, look for {{ic|1=surround51:CARD=''vendor_name'',DEV=''num''}}, if experiencing quality issues, look for {{ic|1=front:CARD=''vendor_name'',DEV=''num''}}. Finally put the name in the {{ic|.vmx}}:<br />
<br />
{{hc|~/vmware/''Virtual_machine_name''/''Virtual_machine_name''.vmx|2=<br />
sound.fileName=''"surround51:CARD=Live,DEV=0"''<br />
sound.autodetect=''"FALSE"''<br />
}}<br />
<br />
[[Advanced_Linux_Sound_Architecture#OSS_compatibility|OSS emulation]] should also be disabled.<br />
<br />
=== Kernel-based Virtual Machine (KVM) is running ===<br />
<br />
To disable {{ic|KVM}} on boot, you can use something like:<br />
<br />
{{hc|/etc/modprobe.d/vmware.conf|<br />
blacklist kvm<br />
blacklist kvm-amd # For AMD CPUs<br />
blacklist kvm-intel # For Intel CPUs<br />
}}<br />
<br />
=== Module Issues ===<br />
<br />
==== /dev/vmmon not found ====<br />
<br />
The full error is:<br />
<br />
Could not open /dev/vmmon: No such file or directory.<br />
Please make sure that the kernel module 'vmmon' is loaded.<br />
<br />
This means that at least the {{ic|vmmon}} module is not loaded. See the [[#systemd services]] section for automatic loading.<br />
<br />
==== /dev/vmci not found ====<br />
<br />
The full error is:<br />
<br />
Failed to open device "/dev/vmci": No such file or directory<br />
Please make sure that the kernel module 'vmci' is loaded.<br />
<br />
Try to recompile VMware kernel modules with:<br />
<br />
# vmware-modconfig --console --install-all<br />
<br />
=== Installer Fails to Start ===<br />
<br />
If you just get back to the prompt when opening the {{ic|.bundle}}, then you probably have a deprecated or broken version of the VMware installer and it should removed (you may also refer to the [[#Uninstallation|uninstallation]] section of this article):<br />
# rm -r /etc/vmware-installer/<br />
<br />
==== User interface initialization failed ====<br />
<br />
You may also see an error like this:<br />
<br />
Extracting VMware Installer...done.<br />
No protocol specified<br />
No protocol specified<br />
User interface initialization failed. Exiting. Check the log for details.<br />
<br />
This can be fixed by either installing the {{AUR|ncurses5-compat-libs}} dependency or temporarily allowing root access to X:<br />
<br />
$ xhost +<br />
$ sudo ./<vmware filename>.bundle<br />
$ xhost -<br />
<br />
=== VMware Fails to Start ===<br />
<br />
==== Module CPUIDEarly power on failed ====<br />
<br />
Version 14 has stricter CPU requirements than version 12. If you try to start a virtual machine with an affected CPU, the following message will appear:<br />
<br />
This host does not support virtualizing real mode.<br />
The Intel "VMX Unrestricted Guest" feature is necessary to run this virtual machine on an Intel processor.<br />
<br />
The solution is to uninstall version 14 and install version 12 ({{aur|vmware-workstation12}}).<br />
<br />
==== Segmentation fault at startup due to old Intel microcode ====<br />
<br />
Old Intel microcode may result in the following kind of segmentation fault at startup:<br />
<br />
/usr/bin/vmware: line 31: 4941 Segmentation fault "$BINDIR"/vmware-modconfig --appname="VMware Workstation" --icon="vmware-workstation"<br />
<br />
See [[Microcode]] for how to update the microcode.<br />
<br />
==== vmplayer/vmware fails to start from version 12.5.4 ====<br />
<br />
As per [https://bbs.archlinux.org/viewtopic.php?id=224667] the temporary workaround is to downgrade the package {{ic|libpng}} to version 1.6.28-1 and keep it in the {{ic|IgnorePkg}} parameter in [[Pacman#Skip_package_from_being_upgraded|/etc/pacman.conf]].<br />
<br />
An easier workaround is to make VMWare use the system's version of zlib instead of its own one:<br />
<br />
# cd /usr/lib/vmware/lib/libz.so.1<br />
# mv libz.so.1 libz.so.1.old<br />
# ln -s /usr/lib/libz.so.1 .<br />
<br />
==== vmplayer/vmware fails to start from version 12.5.3 to version 12.5.5 ====<br />
<br />
It seems to be a problem with the file {{ic|/usr/lib/vmware/lib/libstdc++.so.6/libstdc++.so.6}}, missing {{ic|CXXABI_1.3.8}}.<br />
<br />
If the system have installed {{pkg|gcc-libs}}, that library is already installed. Therefore, it's possible to remove that file and vmplayer will use the one provided by gcc-libs instead. As root do:<br />
<br />
# mv /usr/lib/vmware/lib/libstdc++.so.6/libstdc++.so.6 /usr/lib/vmware/lib/libstdc++.so.6/libstdc++.so.6.bak<br />
<br />
Also there is a workaround: <br />
<br />
# export VMWARE_USE_SHIPPED_LIBS='yes'<br />
<br />
==== vmware 12 process terminates immediately after start, no GUI is launched ====<br />
<br />
Registered bug at [https://bugs.mageia.org/show_bug.cgi?id=9739 Mageia], but it seems that there are no error messages shown in terminal with arch. When inspecting the logs, which are in {{ic|/tmp/vmware-<id>}}, there are {{ic|VMWARE_SHIPPED_LIBS_LIST is not set}}, {{ic|VMWARE_SYSTEM_LIBS_LIST is not set}}, {{ic|VMWARE_USE_SHIPPED_LIBS is not set}}, {{ic|VMWARE_USE_SYSTEM_LIBS is not set}} issues. Process simply terminates with {{ic|Unable to execute /usr/lib/vmware/bin/vmware-modconfig.}} after vmware or vmplayer is executed. Solution is the same, as root do:<br />
<br />
# mv /etc/vmware/icu/icudt44l.dat /etc/vmware/icu/icudt44l.dat.bak<br />
<br />
Also there is a workaround: <br />
<br />
# export VMWARE_USE_SHIPPED_LIBS='yes'<br />
<br />
Despite setting the VMWARE_USE_SHIPPED_LIBS variable, VMWare may still fail to find certain libraries. An example is the libfontconfig.so.1 library. Check vmware logs in the tmp directory to see which libraries are still not found. Copy them to the appropriate path with libraries existing on the system:<br />
<br />
# cp /usr/lib/libfontconfig.so.1 /usr/lib/vmware/lib/libfontconfig.so.1/<br />
<br />
Instead of copying all these files manually, you may want to try exporting an additional setting:<br />
<br />
# export VMWARE_USE_SYSTEM_LIBS='yes'<br />
<br />
On systems with fontconfig version '''2.13.0''' and above, it may be needed to replace the shipped libfontconfig file with version '''2.12.6''' library file and force VMware to use that file instead of the newer system file. This applies for at least VMware version '''12.5.9'''. As root do:<br />
<br />
# cd /usr/lib/vmware/lib/libfontconfig.so.1<br />
# wget https://archive.archlinux.org/packages/f/fontconfig/fontconfig-2.12.6-1-x86_64.pkg.tar.xz<br />
# tar -xvf fontconfig-2.12.6-1-x86_64.pkg.tar.xz usr/lib/libfontconfig.so.1.10.1<br />
# mv libfontconfig.so.1 libfontconfig.so.1.old<br />
# mv ./usr/lib/libfontconfig.so.1.10.1 ./libfontconfig.so.1<br />
# rm -r ./usr ./fontconfig-2.12.6-1-x86_64.pkg.tar.xz<br />
# export LD_LIBRARY_PATH=/usr/lib/vmware/lib/libfontconfig.so.1:$LD_LIBRARY_PATH<br />
<br />
=== Guest Issues ===<br />
<br />
==== Unable to download VMware Tools for Guests ====<br />
<br />
To download the tools manually, visit the [http://softwareupdate.vmware.com/cds/vmw-desktop/ VMware repository].<br />
<br />
Navigate to: "''application name'' / ''version'' / ''build ID'' / linux / packages/" and download the appropriate Tools.<br />
<br />
Extract with:<br />
<br />
$ tar -xvf vmware-tools-''name''-''version''-''buildID''.x86_64.component.tar<br />
<br />
And install using the VMware installer:<br />
<br />
# vmware-installer --install-component=''/path/''vmware-tools-''name''-''version''-''buildID''.x86_64.component<br />
<br />
If the above does not work, try installing {{AUR|ncurses5-compat-libs}}.<br />
<br />
==== Guests have incorrect system clocks or are unable to boot: "[...]timeTracker_user.c:234 bugNr=148722" ====<br />
<br />
This is due to [http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&externalId=1591 incomplete] support of power management features ([[Wikipedia:Intel speedstep|Intel SpeedStep]] and [[Wikipedia:AMD powernow|AMD PowerNow!]]/[[Wikipedia:Cool'n'Quiet|Cool'n'Quiet]]) in VMware Linux that vary the CPU frequency. In March 2012, with the release of [https://projects.archlinux.org/svntogit/packages.git/commit/trunk/config.x86_64?h=packages/linux&id=9abe018d91a5d8c3af7523d30b8aa73f86b680be linux 3.3-1] the maximum frequency [[CPU frequency governors|Performance]] governor was replaced with the dynamic ''Ondemand''. When the host CPU frequency changes, the Guest system clock runs too quickly or too slowly, but may also render the whole Guest unbootable.<br />
<br />
To prevent this, the maximum host CPU frequency can be specified, and [[Wikipedia:Time Stamp Counter|Time Stamp Counter]] (TSC) disabled, in the global configuration:<br />
<br />
{{hc|/etc/vmware/config|2=<br />
host.cpukHz = "X" # The maximum speed in KHz, e.g. 3GHz is "3000000".<br />
host.noTSC = "TRUE" # Keep the Guest system clock accurate even when<br />
ptsc.noTSC = "TRUE" # the time stamp counter (TSC) is slow.<br />
}}<br />
<br />
{{Tip|To periodically correct the time (once per minute), in the ''Options'' tab of VMware Tools, enable: ''"Time synchronization between the virtual machine and the host operating system"''.}}<br />
<br />
==== Networking on Guests not available after system restart ====<br />
<br />
This is likely due to the {{ic|vmnet}} module not being loaded [http://www.linuxquestions.org/questions/slackware-14/could-not-connect-ethernet0-to-virtual-network-dev-vmnet8-796095/]. See also the [[#systemd services]] section for automatic loading.<br />
<br />
== Uninstallation ==<br />
<br />
To uninstall VMware you need the product name (either {{ic|vmware-workstation}} or {{ic|vmware-player}}). To list all the installed products:<br />
$ vmware-installer -l<br />
<br />
and uninstall with ({{ic|--required}}&nbsp;skips the confirmation):<br />
# vmware-installer -u ''product'' --required<br />
<br />
{{Tip|Use {{ic|--console}} for the console UI.}}<br />
<br />
Remember to also [[disable]] and remove the services:<br />
# rm /etc/systemd/system/vmware.service<br />
# rm /etc/systemd/system/vmware-usbarbitrator.service<br />
<br />
You may also want to have a look at the module directories in {{ic|/usr/lib/modules/''kernel_name''/misc/}} for any leftovers, and remove {{ic|/etc/init.d/}} if now empty.</div>J!PRAhttps://wiki.archlinux.org/index.php?title=VMware&diff=515531VMware2018-04-01T15:12:05Z<p>J!PRA: /* VMware Fails to Start */ Added an additional troubleshooting step for VMware version 12.5.9.</p>
<hr />
<div>[[Category:Hypervisors]]<br />
[[it:VMware]]<br />
[[ja:VMware]]<br />
[[ru:VMware]]<br />
[[zh-hans:VMware]]<br />
{{Related articles start}}<br />
{{Related|:Category:Hypervisors}}<br />
{{Related|VMware/Installing Arch as a guest}}<br />
{{Related|Moving an existing install into (or out of) a virtual machine}}<br />
{{Related articles end}}<br />
<br />
This article is about installing VMware in Arch Linux; you may also be interested in [[VMware/Installing Arch as a guest]].<br />
{{Note|<br />
*This article is about the latest major VMware versions, meaning VMware Workstation Pro and Player 12.5 and 14. <br />
*For older versions, use the {{AUR|vmware-patch}} package.<br />
}}<br />
<br />
== Installation ==<br />
<br />
You can either install using VMware bundle or package {{aur|vmware-workstation}}. The latter is preferred if using ''VMware Workstation'' on x86_64.<br />
<br />
=== VMware bundle ===<br />
<br />
[[Install]] the correct dependencies:<br />
*{{pkg|fuse2}} - for ''vmware-vmblock-fuse''<br />
*{{pkg|gksu}} - for root operations (memory allocations, registering license, etc.)<br />
*{{pkg|gtkmm}} - for the GUI<br />
*{{pkg|linux-headers}}&nbsp;- for module compilation<br />
*{{AUR|ncurses5-compat-libs}} - needed by the {{ic|--console}} installer<br />
*{{pkg|libcanberra}} - for event sounds<br />
*{{pkg|pcsclite}} <br />
<br />
Download the latest [https://www.vmware.com/go/tryworkstation VMware Workstation Pro] or [https://www.vmware.com/go/downloadplayer Player] (or a [https://communities.vmware.com/community/vmtn/beta beta] version, if available).<br />
<br />
Start the installation:<br />
# sh VMware-''edition''-''version''.''release''.''architecture''.bundle<br />
<br />
{{Tip|Some useful flags:<br />
*{{ic|--eulas-agreed}} - Skip the EULAs<br />
*{{ic|--console}} - Use the console UI.<br />
*{{ic|--custom}} - Allows changing the install directory to e.g. {{ic|/usr/local}} (make sure to update the {{ic|vmware-usbarbitrator.service}} paths in [[#systemd services]]).<br />
*{{ic|-I}}, {{ic|--ignore-errors}} - Ignore fatal errors.<br />
*{{ic|1=--set-setting=vmware-workstation serialNumber XXXXX-XXXXX-XXXXX-XXXXX-XXXXX}} - Set the serial number during install (good for scripted installs).<br />
*{{ic|--required}} - Only ask mandatory questions (results in silent install when combined with {{ic|--eulas-agreed}} and {{ic|--console}}).<br />
}}<br />
<br />
For the {{ic|System service scripts directory}}, use {{ic|/etc/init.d}} (the default).<br />
<br />
{{Note|During the installation you will get an error about {{ic|"No rc*.d style init script directories"}} being given. This can be safely ignored, since Arch uses [[systemd]].}}<br />
<br />
{{Tip|To (re)build the modules from terminal later on, use:<br />
# vmware-modconfig --console --install-all<br />
}}<br />
<br />
=== Package build for x86_64 ===<br />
<br />
Install {{aur|vmware-workstation}}, {{aur|vmware-workstation12}} or {{aur|vmware-workstation11}} for respectively versions 14, 12 and 11 of ''VMware Workstation''. It is also necessary to install the appropriate headers package(s) for your installed kernel(s): for example {{Pkg|linux-headers}} or {{Pkg|linux-lts-headers}}.<br />
<br />
Then, as desired, enable some of the following services:<br />
* {{ic|vmware-networks.service}} for guest network access<br />
* {{ic|vmware-usbarbitrator.service}} for connecting USB devices to guest<br />
* {{ic|vmware-hostd.service}} for sharing virtual machines<br />
<br />
Lastly, load the VMware modules:<br />
# modprobe -a vmw_vmci vmmon<br />
<br />
== Configuration ==<br />
<br />
=== Kernel modules ===<br />
<br />
VMware Workstation 12.5 supports kernels up to 4.8 out of the box.<br />
<br />
For VMware bundle versions, a collection of patches needed for the VMware host modules to build against recent kernels can be found from the following GitHub repository, [https://github.com/mkubecek/vmware-host-modules/ vmware-host-modules]. See the INSTALL document found on the repository for the most up-to-date module installation instructions for VMware versions from 12.5.5 and up.<br />
<br />
Alternatively, the modules can be patched installing the {{AUR|vmware-patch}} package and executing:<br />
# vmware-patch -f<br />
<br />
=== systemd services ===<br />
<br />
''(Optional)'' Instead of using {{ic|/etc/init.d/vmware}} ({{ic|<nowiki>start|stop|status|restart</nowiki>}}) and {{ic|/usr/bin/vmware-usbarbitrator}} directly to manage the services, you may also use {{ic|.service}} files (also available in the {{AUR|vmware-systemd-services}} package, and also included in {{AUR|vmware-patch}} and {{AUR|vmware-workstation}} with a few differences):<br />
<br />
{{hc|/etc/systemd/system/vmware.service|<br />
2=[Unit]<br />
Description=VMware daemon<br />
Requires=vmware-usbarbitrator.service<br />
Before=vmware-usbarbitrator.service<br />
After=network.target<br />
<br />
[Service]<br />
ExecStart=/etc/init.d/vmware start<br />
ExecStop=/etc/init.d/vmware stop<br />
PIDFile=/var/lock/subsys/vmware<br />
RemainAfterExit=yes<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
}}<br />
<br />
{{hc|/etc/systemd/system/vmware-usbarbitrator.service|<br />
2=[Unit]<br />
Description=VMware USB Arbitrator<br />
Requires=vmware.service<br />
After=vmware.service<br />
<br />
[Service]<br />
ExecStart=/usr/bin/vmware-usbarbitrator<br />
ExecStop=/usr/bin/vmware-usbarbitrator --kill<br />
RemainAfterExit=yes<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
}}<br />
<br />
Add this service as well, if you want to connect to your VMware Workstation installation from another Workstation Server Console:<br />
<br />
{{hc|/etc/systemd/system/vmware-workstation-server.service|<br />
2=[Unit]<br />
Description=VMware Workstation Server<br />
Requires=vmware.service<br />
After=vmware.service<br />
<br />
[Service]<br />
ExecStart=/etc/init.d/vmware-workstation-server start<br />
ExecStop=/etc/init.d/vmware-workstation-server stop<br />
PIDFile=/var/lock/subsys/vmware-workstation-server<br />
RemainAfterExit=yes<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
}}<br />
<br />
After which you can [[enable]] them on boot.<br />
<br />
==== Workstation Server service ====<br />
<br />
The {{ic|vmware-workstation-server.service}} calls {{ic|wssc-adminTool}} in its command chain, despite having been renamed to {{ic|vmware-wssc-adminTool}}.<br />
<br />
To prevent the service startup, this can be fixed with a symlink:<br />
<br />
# ln -s wssc-adminTool /usr/lib/vmware/bin/vmware-wssc-adminTool<br />
<br />
== Launching the application ==<br />
<br />
To open VMware Workstation Pro:<br />
$ vmware<br />
<br />
or Player:<br />
$ vmplayer<br />
<br />
== Tips and tricks ==<br />
<br />
=== Entering the Workstation Pro license key ===<br />
<br />
==== From terminal ====<br />
<br />
# /usr/lib/vmware/bin/vmware-vmx-debug --new-sn XXXXX-XXXXX-XXXXX-XXXXX-XXXXX<br />
<br />
Where {{ic|XXXXX-XXXXX-XXXXX-XXXXX-XXXXX}} is your license key.<br />
<br />
{{Note|The {{ic|-debug}} binary informs the user of an incorrect license.}}<br />
<br />
==== From GUI ====<br />
<br />
If the above does not work, you can try:<br />
<br />
# /usr/lib/vmware/bin/vmware-enter-serial<br />
<br />
=== Extracting the VMware BIOS ===<br />
<br />
$ objcopy /usr/lib/vmware/bin/vmware-vmx -O binary -j bios440 --set-section-flags bios440=a bios440.rom.Z<br />
$ perl -e 'use Compress::Zlib; my $v; read STDIN, $v, '$(stat -c%s "./bios440.rom.Z")'; $v = uncompress($v); print $v;' < bios440.rom.Z > bios440.rom<br />
<br />
=== Extracting the installer ===<br />
<br />
To view the contents of the installer {{ic|.bundle}}:<br />
<br />
$ sh VMware-''edition''-''version''.''release''.''architecture''.bundle --extract ''/tmp/vmware-bundle/''<br />
<br />
==== Using the modified BIOS ====<br />
<br />
If and when you decide to modify the extracted BIOS you can make your virtual machine use it by moving it to {{ic|~/vmware/''Virtual_machine_name''}}:<br />
$ mv bios440.rom ~/vmware/''Virtual_machine_name''/<br />
<br />
then adding the name to the {{ic|''Virtual_machine_name''.vmx}} file:<br />
{{hc|~/vmware/''Virtual_machine_name''/''Virtual_machine_name''.vmx|2=bios440.filename = "bios440.rom"}}<br />
<br />
=== Enable 3D graphics on Intel and Optimus ===<br />
<br />
Some graphics drivers are blacklisted by default, due to poor and/or unstable 3D acceleration. After enabling ''Accelerate 3D graphics'', the log may show something like:<br />
<br />
Disabling 3D on this host due to presence of Mesa DRI driver. Set mks.gl.allowBlacklistedDrivers = TRUE to override.<br />
<br />
This means the following:<br />
<br />
{{hc|~/.vmware/preferences|2=<br />
mks.gl.allowBlacklistedDrivers = TRUE<br />
}}<br />
<br />
== Troubleshooting ==<br />
<br />
=== Kernel headers for version 4.x-xxxx were not found. If you installed them[...] ===<br />
<br />
Install the headers ({{Pkg|linux-headers}}).<br />
<br />
{{Note|Upgrading the kernel and the headers will require you to boot to the new kernel to match the version of the headers. This is a relatively common error.}}<br />
<br />
=== USB devices not recognized ===<br />
<br />
{{Tip|Also handled by {{AUR|vmware-patch}}.}}<br />
<br />
If not using the [[#systemd services|systemd service]] to automatically handle the services, you need to manually start the {{ic|vmware-usbarbitrator}} binary as root each time.<br />
<br />
To start:<br />
<br />
# vmware-usbarbitrator<br />
<br />
To stop:<br />
<br />
# vmware-usbarbitrator --kill<br />
<br />
=== Incorrect login/password when trying to access VMware remotely ===<br />
<br />
VMware Workstation provides the possibility to remotely manage Shared VMs through the {{ic|vmware-workstation-server}} service. However, this will fail with the error {{ic|"incorrect username/password"}} due to incorrect [[PAM]] configuration of the {{ic|vmware-authd}} service. To fix it, edit {{ic|/etc/pam.d/vmware-authd}} like this:<br />
<br />
{{hc|/etc/pam.d/vmware-authd|<br />
#%PAM-1.0<br />
auth ''required pam_unix.so''<br />
account ''required pam_unix.so''<br />
password ''required pam_permit.so''<br />
session ''required pam_unix.so''<br />
}}<br />
<br />
and restart the {{ic|vmware}} [[systemd]] service.<br />
<br />
Now you can connect to the server with the credentials provided during the installation.<br />
<br />
{{Note|{{Pkg|libxslt}} may be required for starting virtual machines.}}<br />
<br />
=== Issues with ALSA output ===<br />
<br />
[http://bankimbhavsar.blogspot.co.nz/2011/09/hd-audio-in-vmware-fusion-4-and-vmware.html To fix] sound quality issues or enabling proper HD audio output, first run:<br />
$ aplay -L<br />
<br />
If interested in playing 5.1 ''surround sound'' from the guest, look for {{ic|1=surround51:CARD=''vendor_name'',DEV=''num''}}, if experiencing quality issues, look for {{ic|1=front:CARD=''vendor_name'',DEV=''num''}}. Finally put the name in the {{ic|.vmx}}:<br />
<br />
{{hc|~/vmware/''Virtual_machine_name''/''Virtual_machine_name''.vmx|2=<br />
sound.fileName=''"surround51:CARD=Live,DEV=0"''<br />
sound.autodetect=''"FALSE"''<br />
}}<br />
<br />
[[Advanced_Linux_Sound_Architecture#OSS_compatibility|OSS emulation]] should also be disabled.<br />
<br />
=== Kernel-based Virtual Machine (KVM) is running ===<br />
<br />
To disable {{ic|KVM}} on boot, you can use something like:<br />
<br />
{{hc|/etc/modprobe.d/vmware.conf|<br />
blacklist kvm<br />
blacklist kvm-amd # For AMD CPUs<br />
blacklist kvm-intel # For Intel CPUs<br />
}}<br />
<br />
=== Module Issues ===<br />
<br />
==== /dev/vmmon not found ====<br />
<br />
The full error is:<br />
<br />
Could not open /dev/vmmon: No such file or directory.<br />
Please make sure that the kernel module 'vmmon' is loaded.<br />
<br />
This means that at least the {{ic|vmmon}} module is not loaded. See the [[#systemd services]] section for automatic loading.<br />
<br />
==== /dev/vmci not found ====<br />
<br />
The full error is:<br />
<br />
Failed to open device "/dev/vmci": No such file or directory<br />
Please make sure that the kernel module 'vmci' is loaded.<br />
<br />
Try to recompile VMware kernel modules with:<br />
<br />
# vmware-modconfig --console --install-all<br />
<br />
==== Kernel modules fail to build after Linux 4.9 ====<br />
<br />
{{Remove|Should not be necessary with the info in [[#Kernel modules]].}}<br />
<br />
On VMware Workstation Pro 12.5.2, the module source needs to be modified to be successfully compiled under kernel 4.9 [http://rglinuxtech.com/?p=1847].<br />
<br />
# cd /usr/lib/vmware/modules/source<br />
# tar xf vmmon.tar<br />
# mv vmmon.tar vmmon.old.tar<br />
# sed -i 's/uvAddr, numPages, 0, 0/uvAddr, numPages, 0/g' vmmon-only/linux/hostif.c<br />
# tar cf vmmon.tar vmmon-only<br />
# rm -r vmmon-only<br />
<br />
# tar xf vmnet.tar<br />
# mv vmnet.tar vmnet.old.tar<br />
# sed -i 's/addr, 1, 1, 0/addr, 1, 0/g' vmnet-only/userif.c<br />
# tar cf vmnet.tar vmnet-only<br />
# rm -r vmnet-only<br />
<br />
==== vmware modules fail to build on kernel 4.11+ and GCC 7 ====<br />
<br />
{{Remove|Should not be necessary with the info in [[#Kernel modules]].}}<br />
<br />
Running vmware-modconfig yields:<br />
Failed to get gcc information.<br />
<br />
The actual error can be found in the logs:<br />
modconfig| I125: Got gcc version "6.3.1".<br />
modconfig| I125: GCC major version 6 does not match Kernel GCC major version 7.<br />
modconfig| I125: The GCC compiler "/sbin/gcc" cannot be used for the target kernel.<br />
<br />
To skip the check, use this workaround:<br />
# sed 's/gcc version 6/gcc version 7/' /proc/version > /tmp/version<br />
# mount --bind /tmp/version /proc/version<br />
# vmware-modconfig --console --install-all<br />
# umount /proc/version && rm /tmp/version<br />
<br />
==== Kernel modules fail to build on Linux 4.13 ====<br />
<br />
{{Remove|Should not be necessary with the info in [[#Kernel modules]].}}<br />
<br />
On VMware Workstation Pro 12.5.7, the module source needs to be modified to be successfully compiled under kernel 4.13 [https://communities.vmware.com/thread/568089].<br />
<br />
# cd /usr/lib/vmware/modules/source<br />
# tar xf vmnet.tar<br />
# mv vmnet.tar vmnet.old.tar<br />
# sed -i 's/atomic_inc(&clone->users);/clone = skb_get(clone);/g' vmnet-only/bridge.c<br />
# tar cf vmnet.tar vmnet-only<br />
# rm -r vmnet-only<br />
<br />
==== Kernel modules fail to build on Linux 4.14 ====<br />
<br />
{{Remove|Should not be necessary with the info in [[#Kernel modules]].}}<br />
<br />
In kernel 4.14 the name of a function was changed for no reason [https://patchwork.kernel.org/patch/9874655/][https://github.com/mkubecek/vmware-host-modules/commit/770c7ffe611520ac96490d235399554c64e87d9f?diff=unified].<br />
<br />
# cd /usr/lib/vmware/modules/source<br />
# tar xf vmmon.tar<br />
# mv vmmon.tar vmmon.old.tar<br />
# wget https://github.com/mkubecek/vmware-host-modules/commit/770c7ffe611520ac96490d235399554c64e87d9f.diff<br />
# patch vmmon-only/linux/hostif.c 770c7ffe611520ac96490d235399554c64e87d9f.diff<br />
# tar cf vmmon.tar vmmon-only<br />
# rm -r vmmon-only 770c7ffe611520ac96490d235399554c64e87d9f.diff<br />
<br />
==== Failed to lock page for guest RAM on Linux 4.13 ====<br />
<br />
{{Remove|Should not be necessary with the info in [[#Kernel modules]].}}<br />
<br />
VMware Workstation Pro versions from 12.5 up to 14.0 can lock up both guest and host systems while running a virtual machine under kernel 4.13 without a patch to the {{ic|vmmon}} module due to the virtual machine being unable to reserve memory on the host machine. The VM-specific log files show the following errors:<br />
<br />
I125: [msg.monitorInit.mem.lockFailed] The virtual machine is unable to reserve memory.<br />
...<br />
E105: PANIC: Failed to lock page for guest RAM!<br />
<br />
A readily patched {{ic|vmmon}} source code can be found from the following GitHub repository, [https://github.com/mkubecek/vmware-host-modules/tree/b50848c985f1a6c0a341187346d77f0119d0a835 vmware-host-modules]. The host module can also be patched using {{AUR|vmware-patch}} package.<br />
<br />
=== Installer Fails to Start ===<br />
<br />
If you just get back to the prompt when opening the {{ic|.bundle}}, then you probably have a deprecated or broken version of the VMware installer and it should removed (you may also refer to the [[#Uninstallation|uninstallation]] section of this article):<br />
# rm -r /etc/vmware-installer/<br />
<br />
==== User interface initialization failed ====<br />
<br />
You may also see an error like this:<br />
<br />
Extracting VMware Installer...done.<br />
No protocol specified<br />
No protocol specified<br />
User interface initialization failed. Exiting. Check the log for details.<br />
<br />
This can be fixed by either installing the {{AUR|ncurses5-compat-libs}} dependency or temporarily allowing root access to X:<br />
<br />
$ xhost +<br />
$ sudo ./<vmware filename>.bundle<br />
$ xhost -<br />
<br />
=== VMware Fails to Start ===<br />
<br />
==== Segmentation fault at startup due to old Intel microcode ====<br />
<br />
Old Intel microcode may result in the following kind of segmentation fault at startup:<br />
<br />
/usr/bin/vmware: line 31: 4941 Segmentation fault "$BINDIR"/vmware-modconfig --appname="VMware Workstation" --icon="vmware-workstation"<br />
<br />
See [[Microcode]] for how to update the microcode.<br />
<br />
==== vmplayer/vmware fails to start from version 12.5.4 ====<br />
<br />
As per [https://bbs.archlinux.org/viewtopic.php?id=224667] the temporary workaround is to downgrade the package {{ic|libpng}} to version 1.6.28-1 and keep it in the {{ic|IgnorePkg}} parameter in [[Pacman#Skip_package_from_being_upgraded|/etc/pacman.conf]].<br />
<br />
An easier workaround is to make VMWare use the system's version of zlib instead of its own one:<br />
<br />
# cd /usr/lib/vmware/lib/libz.so.1<br />
# mv libz.so.1 libz.so.1.old<br />
# ln -s /usr/lib/libz.so.1 .<br />
<br />
==== vmplayer/vmware fails to start from version 12.5.3 to version 12.5.5 ====<br />
<br />
It seems to be a problem with the file {{ic|/usr/lib/vmware/lib/libstdc++.so.6/libstdc++.so.6}}, missing {{ic|CXXABI_1.3.8}}.<br />
<br />
If the system have installed {{pkg|gcc-libs}}, that library is already installed. Therefore, it's possible to remove that file and vmplayer will use the one provided by gcc-libs instead. As root do:<br />
<br />
# mv /usr/lib/vmware/lib/libstdc++.so.6/libstdc++.so.6 /usr/lib/vmware/lib/libstdc++.so.6/libstdc++.so.6.bak<br />
<br />
Also there is a workaround: <br />
<br />
# export VMWARE_USE_SHIPPED_LIBS='yes'<br />
<br />
==== vmware 12 process terminates immediately after start, no GUI is launched ====<br />
<br />
Registered bug at [https://bugs.mageia.org/show_bug.cgi?id=9739 Mageia], but it seems that there are no error messages shown in terminal with arch. When inspecting the logs, which are in {{ic|/tmp/vmware-<id>}}, there are {{ic|VMWARE_SHIPPED_LIBS_LIST is not set}}, {{ic|VMWARE_SYSTEM_LIBS_LIST is not set}}, {{ic|VMWARE_USE_SHIPPED_LIBS is not set}}, {{ic|VMWARE_USE_SYSTEM_LIBS is not set}} issues. Process simply terminates with {{ic|Unable to execute /usr/lib/vmware/bin/vmware-modconfig.}} after vmware or vmplayer is executed. Solution is the same, as root do:<br />
<br />
# mv /etc/vmware/icu/icudt44l.dat /etc/vmware/icu/icudt44l.dat.bak<br />
<br />
Also there is a workaround: <br />
<br />
# export VMWARE_USE_SHIPPED_LIBS='yes'<br />
<br />
If it happens on '''12.5.7''' and moving {{ic|icudt44l.dat}} or setting {{ic|VMWARE_USE_SHIPPED_LIBS}} to {{ic|yes}} has no effect or if executing {{ic|vmplayer}} on terminal shows no message, try as root:<br />
<br />
# cd /usr/lib/vmware/lib/libz.so.1<br />
# mv libz.so.1 libz.so.1.old<br />
# ln -s /usr/lib/libz.so.1 .<br />
<br />
Despite setting the VMWARE_USE_SHIPPED_LIBS variable, VMWare may still fail to find certain libraries. An example is the libfontconfig.so.1 library. Check vmware logs in the tmp directory to see which libraries are still not found. Copy them to the appropriate path with libraries existing on the system:<br />
<br />
# cp /usr/lib/libfontconfig.so.1 /usr/lib/vmware/lib/libfontconfig.so.1/<br />
<br />
Instead of copying all these files manually, you may want to try exporting an additional setting:<br />
<br />
# export VMWARE_USE_SYSTEM_LIBS='yes'<br />
<br />
On systems with fontconfig version '''2.13.0''' and above, it may be needed to replace the shipped libfontconfig file with version '''2.12.6''' library file and force VMware to use that file instead of the newer system file. This applies for at least VMware version '''12.5.9'''. As root do:<br />
<br />
# cd /usr/lib/vmware/lib/libfontconfig.so.1<br />
# wget https://archive.archlinux.org/packages/f/fontconfig/fontconfig-2.12.6-1-x86_64.pkg.tar.xz<br />
# tar -xvf fontconfig-2.12.6-1-x86_64.pkg.tar.xz usr/lib/libfontconfig.so.1.10.1<br />
# mv libfontconfig.so.1 libfontconfig.so.1.old<br />
# mv ./usr/lib/libfontconfig.so.1.10.1 ./libfontconfig.so.1<br />
# rm -r ./usr ./fontconfig-2.12.6-1-x86_64.pkg.tar.xz<br />
# export LD_LIBRARY_PATH=/usr/lib/vmware/lib/libfontconfig.so.1:$LD_LIBRARY_PATH<br />
<br />
=== Guest Issues ===<br />
<br />
==== Unable to download VMware Tools for Guests ====<br />
<br />
To download the tools manually, visit the [http://softwareupdate.vmware.com/cds/vmw-desktop/ VMware repository].<br />
<br />
Navigate to: "''application name'' / ''version'' / ''build ID'' / linux / packages/" and download the appropriate Tools.<br />
<br />
Extract with:<br />
<br />
$ tar -xvf vmware-tools-''name''-''version''-''buildID''.x86_64.component.tar<br />
<br />
And install using the VMware installer:<br />
<br />
# vmware-installer --install-component=''/path/''vmware-tools-''name''-''version''-''buildID''.x86_64.component<br />
<br />
If the above does not work, try installing {{AUR|ncurses5-compat-libs}}.<br />
<br />
==== Guests have incorrect system clocks or are unable to boot: "[...]timeTracker_user.c:234 bugNr=148722" ====<br />
<br />
This is due to [http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&externalId=1591 incomplete] support of power management features ([[Wikipedia:Intel speedstep|Intel SpeedStep]] and [[Wikipedia:AMD powernow|AMD PowerNow!]]/[[Wikipedia:Cool'n'Quiet|Cool'n'Quiet]]) in VMware Linux that vary the CPU frequency. In March 2012, with the release of [https://projects.archlinux.org/svntogit/packages.git/commit/trunk/config.x86_64?h=packages/linux&id=9abe018d91a5d8c3af7523d30b8aa73f86b680be linux 3.3-1] the maximum frequency [[CPU frequency governors|Performance]] governor was replaced with the dynamic ''Ondemand''. When the host CPU frequency changes, the Guest system clock runs too quickly or too slowly, but may also render the whole Guest unbootable.<br />
<br />
To prevent this, the maximum host CPU frequency can be specified, and [[Wikipedia:Time Stamp Counter|Time Stamp Counter]] (TSC) disabled, in the global configuration:<br />
<br />
{{hc|/etc/vmware/config|2=<br />
host.cpukHz = "X" # The maximum speed in KHz, e.g. 3GHz is "3000000".<br />
host.noTSC = "TRUE" # Keep the Guest system clock accurate even when<br />
ptsc.noTSC = "TRUE" # the time stamp counter (TSC) is slow.<br />
}}<br />
<br />
{{Tip|To periodically correct the time (once per minute), in the ''Options'' tab of VMware Tools, enable: ''"Time synchronization between the virtual machine and the host operating system"''.}}<br />
<br />
==== Networking on Guests not available after system restart ====<br />
<br />
This is likely due to the {{ic|vmnet}} module not being loaded [http://www.linuxquestions.org/questions/slackware-14/could-not-connect-ethernet0-to-virtual-network-dev-vmnet8-796095/]. See also the [[#systemd services]] section for automatic loading.<br />
<br />
== Uninstallation ==<br />
<br />
To uninstall VMware you need the product name (either {{ic|vmware-workstation}} or {{ic|vmware-player}}). To list all the installed products:<br />
$ vmware-installer -l<br />
<br />
and uninstall with ({{ic|--required}}&nbsp;skips the confirmation):<br />
# vmware-installer -u ''product'' --required<br />
<br />
{{Tip|Use {{ic|--console}} for the console UI.}}<br />
<br />
Remember to also [[disable]] and remove the services:<br />
# rm /etc/systemd/system/vmware.service<br />
# rm /etc/systemd/system/vmware-usbarbitrator.service<br />
<br />
You may also want to have a look at the module directories in {{ic|/usr/lib/modules/''kernel_name''/misc/}} for any leftovers, and remove {{ic|/etc/init.d/}} if now empty.</div>J!PRAhttps://wiki.archlinux.org/index.php?title=VMware&diff=510114VMware2018-02-08T01:10:34Z<p>J!PRA: /* Failed to lock page for guest RAM on Linux 4.13 */ Added a missing instruction part.</p>
<hr />
<div>[[Category:Hypervisors]]<br />
[[it:VMware]]<br />
[[ja:VMware]]<br />
[[ru:VMware]]<br />
[[zh-hans:VMware]]<br />
{{Related articles start}}<br />
{{Related|:Category:Hypervisors}}<br />
{{Related|VMware/Installing Arch as a guest}}<br />
{{Related|Moving an existing install into (or out of) a virtual machine}}<br />
{{Related articles end}}<br />
<br />
This article is about installing VMware in Arch Linux; you may also be interested in [[VMware/Installing Arch as a guest]].<br />
{{Note|<br />
*This article is about the latest major VMware versions, meaning VMware Workstation Pro and Player 12.5 and 14. <br />
*For older versions, use the {{AUR|vmware-patch}} package.<br />
}}<br />
<br />
== Installation ==<br />
<br />
You can either install using VMware bundle or package {{aur|vmware-workstation}}. The latter is preferred if using ''VMware Workstation'' on x86_64.<br />
<br />
=== VMware bundle ===<br />
<br />
[[Install]] the correct dependencies:<br />
*{{pkg|fuse2}} - for ''vmware-vmblock-fuse''<br />
*{{pkg|gksu}} - for root operations (memory allocations, registering license, etc.)<br />
*{{pkg|gtkmm}} - for the GUI<br />
*{{pkg|linux-headers}}&nbsp;- for module compilation<br />
*{{AUR|ncurses5-compat-libs}} - needed by the {{ic|--console}} installer<br />
*{{pkg|libcanberra}} - for event sounds<br />
*{{pkg|pcsclite}} <br />
<br />
Download the latest [https://www.vmware.com/go/tryworkstation VMware Workstation Pro] or [https://www.vmware.com/go/downloadplayer Player] (or a [https://communities.vmware.com/community/vmtn/beta beta] version, if available).<br />
<br />
Start the installation:<br />
# sh VMware-''edition''-''version''.''release''.''architecture''.bundle<br />
<br />
{{Tip|Some useful flags:<br />
*{{ic|--eulas-agreed}} - Skip the EULAs<br />
*{{ic|--console}} - Use the console UI.<br />
*{{ic|--custom}} - Allows changing the install directory to e.g. {{ic|/usr/local}} (make sure to update the {{ic|vmware-usbarbitrator.service}} paths in [[#systemd services]]).<br />
*{{ic|-I}}, {{ic|--ignore-errors}} - Ignore fatal errors.<br />
*{{ic|1=--set-setting=vmware-workstation serialNumber XXXXX-XXXXX-XXXXX-XXXXX-XXXXX}} - Set the serial number during install (good for scripted installs).<br />
*{{ic|--required}} - Only ask mandatory questions (results in silent install when combined with {{ic|--eulas-agreed}} and {{ic|--console}}).<br />
}}<br />
<br />
For the {{ic|System service scripts directory}}, use {{ic|/etc/init.d}} (the default).<br />
<br />
{{Note|During the installation you will get an error about {{ic|"No rc*.d style init script directories"}} being given. This can be safely ignored, since Arch uses [[systemd]].}}<br />
<br />
{{Tip|To (re)build the modules from terminal later on, use:<br />
# vmware-modconfig --console --install-all<br />
}}<br />
<br />
=== Package build for x86_64 ===<br />
<br />
Install {{aur|vmware-workstation}}, {{aur|vmware-workstation12}} or {{aur|vmware-workstation11}} for respectively versions 14, 12 and 11 of ''VMware Workstation''. It is also necessary to install the appropriate headers package(s) for your installed kernel(s): for example {{Pkg|linux-headers}} or {{Pkg|linux-lts-headers}}.<br />
<br />
Then, as desired, enable some of the following services:<br />
* {{ic|vmware-networks.service}} for guest network access<br />
* {{ic|vmware-usbarbitrator.service}} for connecting USB devices to guest<br />
* {{ic|vmware-hostd.service}} for sharing virtual machines<br />
<br />
Lastly, load the VMware modules:<br />
# modprobe -a vmw_vmci vmmon<br />
<br />
== Configuration ==<br />
<br />
=== Kernel modules ===<br />
<br />
VMware Workstation 12.5 supports kernels up to 4.8 out of the box.<br />
<br />
For VMware bundle versions, a collection of patches needed for the VMware host modules to build against recent kernels can be found from the following GitHub repository, [https://github.com/mkubecek/vmware-host-modules/ vmware-host-modules]. See the INSTALL document found on the repository for the most up-to-date module installation instructions for VMware versions from 12.5.5 and up.<br />
<br />
Alternatively, the modules can be patched installing the {{AUR|vmware-patch}} package and executing:<br />
# vmware-patch -f<br />
<br />
=== systemd services ===<br />
<br />
''(Optional)'' Instead of using {{ic|/etc/init.d/vmware}} ({{ic|<nowiki>start|stop|status|restart</nowiki>}}) and {{ic|/usr/bin/vmware-usbarbitrator}} directly to manage the services, you may also use {{ic|.service}} files (also available in the {{AUR|vmware-systemd-services}} package, and also included in {{AUR|vmware-patch}} and {{AUR|vmware-workstation}} with a few differences):<br />
<br />
{{hc|/etc/systemd/system/vmware.service|<br />
2=[Unit]<br />
Description=VMware daemon<br />
Requires=vmware-usbarbitrator.service<br />
Before=vmware-usbarbitrator.service<br />
After=network.target<br />
<br />
[Service]<br />
ExecStart=/etc/init.d/vmware start<br />
ExecStop=/etc/init.d/vmware stop<br />
PIDFile=/var/lock/subsys/vmware<br />
RemainAfterExit=yes<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
}}<br />
<br />
{{hc|/etc/systemd/system/vmware-usbarbitrator.service|<br />
2=[Unit]<br />
Description=VMware USB Arbitrator<br />
Requires=vmware.service<br />
After=vmware.service<br />
<br />
[Service]<br />
ExecStart=/usr/bin/vmware-usbarbitrator<br />
ExecStop=/usr/bin/vmware-usbarbitrator --kill<br />
RemainAfterExit=yes<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
}}<br />
<br />
Add this service as well, if you want to connect to your VMware Workstation installation from another Workstation Server Console:<br />
<br />
{{hc|/etc/systemd/system/vmware-workstation-server.service|<br />
2=[Unit]<br />
Description=VMware Workstation Server<br />
Requires=vmware.service<br />
After=vmware.service<br />
<br />
[Service]<br />
ExecStart=/etc/init.d/vmware-workstation-server start<br />
ExecStop=/etc/init.d/vmware-workstation-server stop<br />
PIDFile=/var/lock/subsys/vmware-workstation-server<br />
RemainAfterExit=yes<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
}}<br />
<br />
After which you can [[enable]] them on boot.<br />
<br />
==== Workstation Server service ====<br />
<br />
The {{ic|vmware-workstation-server.service}} calls {{ic|wssc-adminTool}} in its command chain, despite having been renamed to {{ic|vmware-wssc-adminTool}}.<br />
<br />
To prevent the service startup, this can be fixed with a symlink:<br />
<br />
# ln -s wssc-adminTool /usr/lib/vmware/bin/vmware-wssc-adminTool<br />
<br />
== Launching the application ==<br />
<br />
To open VMware Workstation Pro:<br />
$ vmware<br />
<br />
or Player:<br />
$ vmplayer<br />
<br />
== Tips and tricks ==<br />
<br />
=== Entering the Workstation Pro license key ===<br />
<br />
==== From terminal ====<br />
<br />
# /usr/lib/vmware/bin/vmware-vmx-debug --new-sn XXXXX-XXXXX-XXXXX-XXXXX-XXXXX<br />
<br />
Where {{ic|XXXXX-XXXXX-XXXXX-XXXXX-XXXXX}} is your license key.<br />
<br />
{{Note|The {{ic|-debug}} binary informs the user of an incorrect license.}}<br />
<br />
==== From GUI ====<br />
<br />
If the above does not work, you can try:<br />
<br />
# /usr/lib/vmware/bin/vmware-enter-serial<br />
<br />
=== Extracting the VMware BIOS ===<br />
<br />
$ objcopy /usr/lib/vmware/bin/vmware-vmx -O binary -j bios440 --set-section-flags bios440=a bios440.rom.Z<br />
$ perl -e 'use Compress::Zlib; my $v; read STDIN, $v, '$(stat -c%s "./bios440.rom.Z")'; $v = uncompress($v); print $v;' < bios440.rom.Z > bios440.rom<br />
<br />
=== Extracting the installer ===<br />
<br />
To view the contents of the installer {{ic|.bundle}}:<br />
<br />
$ sh VMware-''edition''-''version''.''release''.''architecture''.bundle --extract ''/tmp/vmware-bundle/''<br />
<br />
==== Using the modified BIOS ====<br />
<br />
If and when you decide to modify the extracted BIOS you can make your virtual machine use it by moving it to {{ic|~/vmware/''Virtual_machine_name''}}:<br />
$ mv bios440.rom ~/vmware/''Virtual_machine_name''/<br />
<br />
then adding the name to the {{ic|''Virtual_machine_name''.vmx}} file:<br />
{{hc|~/vmware/''Virtual_machine_name''/''Virtual_machine_name''.vmx|2=bios440.filename = "bios440.rom"}}<br />
<br />
=== Enable 3D graphics on Intel and Optimus ===<br />
<br />
Some graphics drivers are blacklisted by default, due to poor and/or unstable 3D acceleration. After enabling ''Accelerate 3D graphics'', the log may show something like:<br />
<br />
Disabling 3D on this host due to presence of Mesa DRI driver. Set mks.gl.allowBlacklistedDrivers = TRUE to override.<br />
<br />
This means the following:<br />
<br />
{{hc|~/.vmware/preferences|2=<br />
mks.gl.allowBlacklistedDrivers = TRUE<br />
}}<br />
<br />
== Troubleshooting ==<br />
<br />
=== Kernel headers for version 4.x-xxxx were not found. If you installed them[...] ===<br />
<br />
Install the headers ({{Pkg|linux-headers}}).<br />
<br />
{{Note|Upgrading the kernel and the headers will require you to boot to the new kernel to match the version of the headers. This is a relatively common error.}}<br />
<br />
=== USB devices not recognized ===<br />
<br />
{{Tip|Also handled by {{AUR|vmware-patch}}.}}<br />
<br />
If not using the [[#systemd services|systemd service]] to automatically handle the services, you need to manually start the {{ic|vmware-usbarbitrator}} binary as root each time.<br />
<br />
To start:<br />
<br />
# vmware-usbarbitrator<br />
<br />
To stop:<br />
<br />
# vmware-usbarbitrator --kill<br />
<br />
=== Incorrect login/password when trying to access VMware remotely ===<br />
<br />
VMware Workstation provides the possibility to remotely manage Shared VMs through the {{ic|vmware-workstation-server}} service. However, this will fail with the error {{ic|"incorrect username/password"}} due to incorrect [[PAM]] configuration of the {{ic|vmware-authd}} service. To fix it, edit {{ic|/etc/pam.d/vmware-authd}} like this:<br />
<br />
{{hc|/etc/pam.d/vmware-authd|<br />
#%PAM-1.0<br />
auth ''required pam_unix.so''<br />
account ''required pam_unix.so''<br />
password ''required pam_permit.so''<br />
session ''required pam_unix.so''<br />
}}<br />
<br />
and restart the {{ic|vmware}} [[systemd]] service.<br />
<br />
Now you can connect to the server with the credentials provided during the installation.<br />
<br />
{{Note|{{Pkg|libxslt}} may be required for starting virtual machines.}}<br />
<br />
=== Issues with ALSA output ===<br />
<br />
[http://bankimbhavsar.blogspot.co.nz/2011/09/hd-audio-in-vmware-fusion-4-and-vmware.html To fix] sound quality issues or enabling proper HD audio output, first run:<br />
$ aplay -L<br />
<br />
If interested in playing 5.1 ''surround sound'' from the guest, look for {{ic|1=surround51:CARD=''vendor_name'',DEV=''num''}}, if experiencing quality issues, look for {{ic|1=front:CARD=''vendor_name'',DEV=''num''}}. Finally put the name in the {{ic|.vmx}}:<br />
<br />
{{hc|~/vmware/''Virtual_machine_name''/''Virtual_machine_name''.vmx|2=<br />
sound.fileName=''"surround51:CARD=Live,DEV=0"''<br />
sound.autodetect=''"FALSE"''<br />
}}<br />
<br />
[[Advanced_Linux_Sound_Architecture#OSS_compatibility|OSS emulation]] should also be disabled.<br />
<br />
=== Kernel-based Virtual Machine (KVM) is running ===<br />
<br />
To disable {{ic|KVM}} on boot, you can use something like:<br />
<br />
{{hc|/etc/modprobe.d/vmware.conf|<br />
blacklist kvm<br />
blacklist kvm-amd # For AMD CPUs<br />
blacklist kvm-intel # For Intel CPUs<br />
}}<br />
<br />
=== Module Issues ===<br />
<br />
==== /dev/vmmon not found ====<br />
<br />
The full error is:<br />
<br />
Could not open /dev/vmmon: No such file or directory.<br />
Please make sure that the kernel module 'vmmon' is loaded.<br />
<br />
This means that at least the {{ic|vmmon}} module is not loaded. See the [[#systemd services]] section for automatic loading.<br />
<br />
==== /dev/vmci not found ====<br />
<br />
The full error is:<br />
<br />
Failed to open device "/dev/vmci": No such file or directory<br />
Please make sure that the kernel module 'vmci' is loaded.<br />
<br />
Try to recompile VMware kernel modules with:<br />
<br />
# vmware-modconfig --console --install-all<br />
<br />
==== Kernel modules fail to build after Linux 4.9 ====<br />
<br />
On VMware Workstation Pro 12.5.2, the module source needs to be modified to be successfully compiled under kernel 4.9 [http://rglinuxtech.com/?p=1847].<br />
<br />
# cd /usr/lib/vmware/modules/source<br />
# tar xf vmmon.tar<br />
# mv vmmon.tar vmmon.old.tar<br />
# sed -i 's/uvAddr, numPages, 0, 0/uvAddr, numPages, 0/g' vmmon-only/linux/hostif.c<br />
# tar cf vmmon.tar vmmon-only<br />
# rm -r vmmon-only<br />
<br />
# tar xf vmnet.tar<br />
# mv vmnet.tar vmnet.old.tar<br />
# sed -i 's/addr, 1, 1, 0/addr, 1, 0/g' vmnet-only/userif.c<br />
# tar cf vmnet.tar vmnet-only<br />
# rm -r vmnet-only<br />
<br />
==== vmware modules fail to build on kernel 4.11+ and GCC 7 ====<br />
<br />
Running vmware-modconfig yields:<br />
Failed to get gcc information.<br />
<br />
The actual error can be found in the logs:<br />
modconfig| I125: Got gcc version "6.3.1".<br />
modconfig| I125: GCC major version 6 does not match Kernel GCC major version 7.<br />
modconfig| I125: The GCC compiler "/sbin/gcc" cannot be used for the target kernel.<br />
<br />
To skip the check, use this workaround:<br />
# sed 's/gcc version 6/gcc version 7/' /proc/version > /tmp/version<br />
# mount --bind /tmp/version /proc/version<br />
# vmware-modconfig --console --install-all<br />
# umount /proc/version && rm /tmp/version<br />
<br />
==== Kernel modules fail to build on Linux 4.13 ====<br />
<br />
On VMware Workstation Pro 12.5.7, the module source needs to be modified to be successfully compiled under kernel 4.13 [https://communities.vmware.com/thread/568089].<br />
<br />
# cd /usr/lib/vmware/modules/source<br />
# tar xf vmnet.tar<br />
# mv vmnet.tar vmnet.old.tar<br />
# sed -i 's/atomic_inc(&clone->users);/clone = skb_get(clone);/g' vmnet-only/bridge.c<br />
# tar cf vmnet.tar vmnet-only<br />
# rm -r vmnet-only<br />
<br />
==== Failed to lock page for guest RAM on Linux 4.13 ====<br />
<br />
VMware Workstation Pro versions from 12.5 up to 14.0 can lock up both guest and host systems while running a virtual machine under kernel 4.13 without a patch to the {{ic|vmmon}} module due to the virtual machine being unable to reserve memory on the host machine. The VM-specific log files show the following errors:<br />
<br />
I125: [msg.monitorInit.mem.lockFailed] The virtual machine is unable to reserve memory.<br />
...<br />
E105: PANIC: Failed to lock page for guest RAM!<br />
<br />
A readily patched {{ic|vmmon}} source code can be found from the following GitHub repository, [https://github.com/mkubecek/vmware-host-modules/tree/b50848c985f1a6c0a341187346d77f0119d0a835 vmware-host-modules]. The host module can also be patched using {{AUR|vmware-patch}} package.<br />
<br />
=== Installer Fails to Start ===<br />
<br />
If you just get back to the prompt when opening the {{ic|.bundle}}, then you probably have a deprecated or broken version of the VMware installer and it should removed (you may also refer to the [[#Uninstallation|uninstallation]] section of this article):<br />
# rm -r /etc/vmware-installer/<br />
<br />
==== User interface initialization failed ====<br />
<br />
You may also see an error like this:<br />
<br />
Extracting VMware Installer...done.<br />
No protocol specified<br />
No protocol specified<br />
User interface initialization failed. Exiting. Check the log for details.<br />
<br />
This can be fixed by either installing the {{AUR|ncurses5-compat-libs}} dependency or temporarily allowing root access to X:<br />
<br />
$ xhost +<br />
$ sudo ./<vmware filename>.bundle<br />
$ xhost -<br />
<br />
=== VMware Fails to Start ===<br />
<br />
==== Segmentation fault at startup due to old Intel microcode ====<br />
<br />
Old Intel microcode may result in the following kind of segmentation fault at startup:<br />
<br />
/usr/bin/vmware: line 31: 4941 Segmentation fault "$BINDIR"/vmware-modconfig --appname="VMware Workstation" --icon="vmware-workstation"<br />
<br />
See [[Microcode]] for how to update the microcode.<br />
<br />
==== vmplayer/vmware fails to start from version 12.5.4 ====<br />
<br />
As per [https://bbs.archlinux.org/viewtopic.php?id=224667] the temporary workaround is to downgrade the package {{ic|libpng}} to version 1.6.28-1 and keep it in the {{ic|IgnorePkg}} parameter in [[Pacman#Skip_package_from_being_upgraded|/etc/pacman.conf]].<br />
<br />
An easier workaround is to make VMWare use the system's version of zlib instead of its own one:<br />
<br />
# cd /usr/lib/vmware/lib/libz.so.1<br />
# mv libz.so.1 libz.so.1.old<br />
# ln -s /usr/lib/libz.so.1 .<br />
<br />
==== vmplayer/vmware fails to start from version 12.5.3 to version 12.5.5 ====<br />
<br />
It seems to be a problem with the file {{ic|/usr/lib/vmware/lib/libstdc++.so.6/libstdc++.so.6}}, missing {{ic|CXXABI_1.3.8}}.<br />
<br />
If the system have installed {{pkg|gcc-libs}}, that library is already installed. Therefore, it's possible to remove that file and vmplayer will use the one provided by gcc-libs instead. As root do:<br />
<br />
# mv /usr/lib/vmware/lib/libstdc++.so.6/libstdc++.so.6 /usr/lib/vmware/lib/libstdc++.so.6/libstdc++.so.6.bak<br />
<br />
Also there is a workaround: <br />
<br />
# export VMWARE_USE_SHIPPED_LIBS='yes'<br />
<br />
==== vmware 12 process terminates immediately after start, no GUI is launched ====<br />
<br />
Registered bug at [https://bugs.mageia.org/show_bug.cgi?id=9739 Mageia], but it seems that there are no error messages shown in terminal with arch. When inspecting the logs, which are in {{ic|/tmp/vmware-<id>}}, there are {{ic|VMWARE_SHIPPED_LIBS_LIST is not set}}, {{ic|VMWARE_SYSTEM_LIBS_LIST is not set}}, {{ic|VMWARE_USE_SHIPPED_LIBS is not set}}, {{ic|VMWARE_USE_SYSTEM_LIBS is not set}} issues. Process simply terminates with {{ic|Unable to execute /usr/lib/vmware/bin/vmware-modconfig.}} after vmware or vmplayer is executed. Solution is the same, as root do:<br />
<br />
# mv /etc/vmware/icu/icudt44l.dat /etc/vmware/icu/icudt44l.dat.bak<br />
<br />
Also there is a workaround: <br />
<br />
# export VMWARE_USE_SHIPPED_LIBS='yes'<br />
<br />
If it happens on '''12.5.7''' and moving {{ic|icudt44l.dat}} or setting {{ic|VMWARE_USE_SHIPPED_LIBS}} to {{ic|yes}} has no effect or if executing {{ic|vmplayer}} on terminal shows no message, try as root:<br />
<br />
# cd /usr/lib/vmware/lib/libz.so.1<br />
# mv libz.so.1 libz.so.1.old<br />
# ln -s /usr/lib/libz.so.1 .<br />
<br />
Despite setting the VMWARE_USE_SHIPPED_LIBS variable, VMWare may still fail to find certain libraries. An example is the libfontconfig.so.1 library. Check vmware logs in the tmp directory to see which libraries are still not found. Copy them to the appropriate path with libraries existing on the system:<br />
<br />
# cp /usr/lib/libfontconfig.so.1 /usr/lib/vmware/lib/libfontconfig.so.1/<br />
<br />
Instead of copying all these files manually, you may want to try exporting an additional setting:<br />
<br />
# export VMWARE_USE_SYSTEM_LIBS='yes'<br />
<br />
=== Guest Issues ===<br />
<br />
==== Unable to download VMware Tools for Guests ====<br />
<br />
To download the tools manually, visit the [http://softwareupdate.vmware.com/cds/vmw-desktop/ VMware repository].<br />
<br />
Navigate to: "''application name'' / ''version'' / ''build ID'' / linux / packages/" and download the appropriate Tools.<br />
<br />
Extract with:<br />
<br />
$ tar -xvf vmware-tools-''name''-''version''-''buildID''.x86_64.component.tar<br />
<br />
And install using the VMware installer:<br />
<br />
# vmware-installer --install-component=''/path/''vmware-tools-''name''-''version''-''buildID''.x86_64.component<br />
<br />
If the above does not work, try installing {{AUR|ncurses5-compat-libs}}.<br />
<br />
==== Guests have incorrect system clocks or are unable to boot: "[...]timeTracker_user.c:234 bugNr=148722" ====<br />
<br />
This is due to [http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&externalId=1591 incomplete] support of power management features ([[Wikipedia:Intel speedstep|Intel SpeedStep]] and [[Wikipedia:AMD powernow|AMD PowerNow!]]/[[Wikipedia:Cool'n'Quiet|Cool'n'Quiet]]) in VMware Linux that vary the CPU frequency. In March 2012, with the release of [https://projects.archlinux.org/svntogit/packages.git/commit/trunk/config.x86_64?h=packages/linux&id=9abe018d91a5d8c3af7523d30b8aa73f86b680be linux 3.3-1] the maximum frequency [[CPU frequency governors|Performance]] governor was replaced with the dynamic ''Ondemand''. When the host CPU frequency changes, the Guest system clock runs too quickly or too slowly, but may also render the whole Guest unbootable.<br />
<br />
To prevent this, the maximum host CPU frequency can be specified, and [[Wikipedia:Time Stamp Counter|Time Stamp Counter]] (TSC) disabled, in the global configuration:<br />
<br />
{{hc|/etc/vmware/config|2=<br />
host.cpukHz = "X" # The maximum speed in KHz, e.g. 3GHz is "3000000".<br />
host.noTSC = "TRUE" # Keep the Guest system clock accurate even when<br />
ptsc.noTSC = "TRUE" # the time stamp counter (TSC) is slow.<br />
}}<br />
<br />
{{Tip|To periodically correct the time (once per minute), in the ''Options'' tab of VMware Tools, enable: ''"Time synchronization between the virtual machine and the host operating system"''.}}<br />
<br />
==== Networking on Guests not available after system restart ====<br />
<br />
This is likely due to the {{ic|vmnet}} module not being loaded [http://www.linuxquestions.org/questions/slackware-14/could-not-connect-ethernet0-to-virtual-network-dev-vmnet8-796095/]. See also the [[#systemd services]] section for automatic loading.<br />
<br />
== Uninstallation ==<br />
<br />
To uninstall VMware you need the product name (either {{ic|vmware-workstation}} or {{ic|vmware-player}}). To list all the installed products:<br />
$ vmware-installer -l<br />
<br />
and uninstall with ({{ic|--required}}&nbsp;skips the confirmation):<br />
# vmware-installer -u ''product'' --required<br />
<br />
{{Tip|Use {{ic|--console}} for the console UI.}}<br />
<br />
Remember to also [[disable]] and remove the services:<br />
# rm /etc/systemd/system/vmware.service<br />
# rm /etc/systemd/system/vmware-usbarbitrator.service<br />
<br />
You may also want to have a look at the module directories in {{ic|/usr/lib/modules/''kernel_name''/misc/}} for any leftovers, and remove {{ic|/etc/init.d/}} if now empty.</div>J!PRAhttps://wiki.archlinux.org/index.php?title=VMware&diff=510107VMware2018-02-08T00:06:17Z<p>J!PRA: Updated and moved the module patching instructions of VMware bundle versions from Troubleshooting to Configuration section.</p>
<hr />
<div>[[Category:Hypervisors]]<br />
[[it:VMware]]<br />
[[ja:VMware]]<br />
[[ru:VMware]]<br />
[[zh-hans:VMware]]<br />
{{Related articles start}}<br />
{{Related|:Category:Hypervisors}}<br />
{{Related|VMware/Installing Arch as a guest}}<br />
{{Related|Moving an existing install into (or out of) a virtual machine}}<br />
{{Related articles end}}<br />
<br />
This article is about installing VMware in Arch Linux; you may also be interested in [[VMware/Installing Arch as a guest]].<br />
{{Note|<br />
*This article is about the latest major VMware versions, meaning VMware Workstation Pro and Player 12.5 and 14. <br />
*For older versions, use the {{AUR|vmware-patch}} package.<br />
}}<br />
<br />
== Installation ==<br />
<br />
You can either install using VMware bundle or package {{aur|vmware-workstation}}. The latter is preferred if using ''VMware Workstation'' on x86_64.<br />
<br />
=== VMware bundle ===<br />
<br />
[[Install]] the correct dependencies:<br />
*{{pkg|fuse2}} - for ''vmware-vmblock-fuse''<br />
*{{pkg|gksu}} - for root operations (memory allocations, registering license, etc.)<br />
*{{pkg|gtkmm}} - for the GUI<br />
*{{pkg|linux-headers}}&nbsp;- for module compilation<br />
*{{AUR|ncurses5-compat-libs}} - needed by the {{ic|--console}} installer<br />
*{{pkg|libcanberra}} - for event sounds<br />
*{{pkg|pcsclite}} <br />
<br />
Download the latest [https://www.vmware.com/go/tryworkstation VMware Workstation Pro] or [https://www.vmware.com/go/downloadplayer Player] (or a [https://communities.vmware.com/community/vmtn/beta beta] version, if available).<br />
<br />
Start the installation:<br />
# sh VMware-''edition''-''version''.''release''.''architecture''.bundle<br />
<br />
{{Tip|Some useful flags:<br />
*{{ic|--eulas-agreed}} - Skip the EULAs<br />
*{{ic|--console}} - Use the console UI.<br />
*{{ic|--custom}} - Allows changing the install directory to e.g. {{ic|/usr/local}} (make sure to update the {{ic|vmware-usbarbitrator.service}} paths in [[#systemd services]]).<br />
*{{ic|-I}}, {{ic|--ignore-errors}} - Ignore fatal errors.<br />
*{{ic|1=--set-setting=vmware-workstation serialNumber XXXXX-XXXXX-XXXXX-XXXXX-XXXXX}} - Set the serial number during install (good for scripted installs).<br />
*{{ic|--required}} - Only ask mandatory questions (results in silent install when combined with {{ic|--eulas-agreed}} and {{ic|--console}}).<br />
}}<br />
<br />
For the {{ic|System service scripts directory}}, use {{ic|/etc/init.d}} (the default).<br />
<br />
{{Note|During the installation you will get an error about {{ic|"No rc*.d style init script directories"}} being given. This can be safely ignored, since Arch uses [[systemd]].}}<br />
<br />
{{Tip|To (re)build the modules from terminal later on, use:<br />
# vmware-modconfig --console --install-all<br />
}}<br />
<br />
=== Package build for x86_64 ===<br />
<br />
Install {{aur|vmware-workstation}}, {{aur|vmware-workstation12}} or {{aur|vmware-workstation11}} for respectively versions 14, 12 and 11 of ''VMware Workstation''. It is also necessary to install the appropriate headers package(s) for your installed kernel(s): for example {{Pkg|linux-headers}} or {{Pkg|linux-lts-headers}}.<br />
<br />
Then, as desired, enable some of the following services:<br />
* {{ic|vmware-networks.service}} for guest network access<br />
* {{ic|vmware-usbarbitrator.service}} for connecting USB devices to guest<br />
* {{ic|vmware-hostd.service}} for sharing virtual machines<br />
<br />
Lastly, load the VMware modules:<br />
# modprobe -a vmw_vmci vmmon<br />
<br />
== Configuration ==<br />
<br />
=== Kernel modules ===<br />
<br />
VMware Workstation 12.5 supports kernels up to 4.8 out of the box.<br />
<br />
For VMware bundle versions, a collection of patches needed for the VMware host modules to build against recent kernels can be found from the following GitHub repository, [https://github.com/mkubecek/vmware-host-modules/ vmware-host-modules]. See the INSTALL document found on the repository for the most up-to-date module installation instructions for VMware versions from 12.5.5 and up.<br />
<br />
Alternatively, the modules can be patched installing the {{AUR|vmware-patch}} package and executing:<br />
# vmware-patch -f<br />
<br />
=== systemd services ===<br />
<br />
''(Optional)'' Instead of using {{ic|/etc/init.d/vmware}} ({{ic|<nowiki>start|stop|status|restart</nowiki>}}) and {{ic|/usr/bin/vmware-usbarbitrator}} directly to manage the services, you may also use {{ic|.service}} files (also available in the {{AUR|vmware-systemd-services}} package, and also included in {{AUR|vmware-patch}} and {{AUR|vmware-workstation}} with a few differences):<br />
<br />
{{hc|/etc/systemd/system/vmware.service|<br />
2=[Unit]<br />
Description=VMware daemon<br />
Requires=vmware-usbarbitrator.service<br />
Before=vmware-usbarbitrator.service<br />
After=network.target<br />
<br />
[Service]<br />
ExecStart=/etc/init.d/vmware start<br />
ExecStop=/etc/init.d/vmware stop<br />
PIDFile=/var/lock/subsys/vmware<br />
RemainAfterExit=yes<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
}}<br />
<br />
{{hc|/etc/systemd/system/vmware-usbarbitrator.service|<br />
2=[Unit]<br />
Description=VMware USB Arbitrator<br />
Requires=vmware.service<br />
After=vmware.service<br />
<br />
[Service]<br />
ExecStart=/usr/bin/vmware-usbarbitrator<br />
ExecStop=/usr/bin/vmware-usbarbitrator --kill<br />
RemainAfterExit=yes<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
}}<br />
<br />
Add this service as well, if you want to connect to your VMware Workstation installation from another Workstation Server Console:<br />
<br />
{{hc|/etc/systemd/system/vmware-workstation-server.service|<br />
2=[Unit]<br />
Description=VMware Workstation Server<br />
Requires=vmware.service<br />
After=vmware.service<br />
<br />
[Service]<br />
ExecStart=/etc/init.d/vmware-workstation-server start<br />
ExecStop=/etc/init.d/vmware-workstation-server stop<br />
PIDFile=/var/lock/subsys/vmware-workstation-server<br />
RemainAfterExit=yes<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
}}<br />
<br />
After which you can [[enable]] them on boot.<br />
<br />
==== Workstation Server service ====<br />
<br />
The {{ic|vmware-workstation-server.service}} calls {{ic|wssc-adminTool}} in its command chain, despite having been renamed to {{ic|vmware-wssc-adminTool}}.<br />
<br />
To prevent the service startup, this can be fixed with a symlink:<br />
<br />
# ln -s wssc-adminTool /usr/lib/vmware/bin/vmware-wssc-adminTool<br />
<br />
== Launching the application ==<br />
<br />
To open VMware Workstation Pro:<br />
$ vmware<br />
<br />
or Player:<br />
$ vmplayer<br />
<br />
== Tips and tricks ==<br />
<br />
=== Entering the Workstation Pro license key ===<br />
<br />
==== From terminal ====<br />
<br />
# /usr/lib/vmware/bin/vmware-vmx-debug --new-sn XXXXX-XXXXX-XXXXX-XXXXX-XXXXX<br />
<br />
Where {{ic|XXXXX-XXXXX-XXXXX-XXXXX-XXXXX}} is your license key.<br />
<br />
{{Note|The {{ic|-debug}} binary informs the user of an incorrect license.}}<br />
<br />
==== From GUI ====<br />
<br />
If the above does not work, you can try:<br />
<br />
# /usr/lib/vmware/bin/vmware-enter-serial<br />
<br />
=== Extracting the VMware BIOS ===<br />
<br />
$ objcopy /usr/lib/vmware/bin/vmware-vmx -O binary -j bios440 --set-section-flags bios440=a bios440.rom.Z<br />
$ perl -e 'use Compress::Zlib; my $v; read STDIN, $v, '$(stat -c%s "./bios440.rom.Z")'; $v = uncompress($v); print $v;' < bios440.rom.Z > bios440.rom<br />
<br />
=== Extracting the installer ===<br />
<br />
To view the contents of the installer {{ic|.bundle}}:<br />
<br />
$ sh VMware-''edition''-''version''.''release''.''architecture''.bundle --extract ''/tmp/vmware-bundle/''<br />
<br />
==== Using the modified BIOS ====<br />
<br />
If and when you decide to modify the extracted BIOS you can make your virtual machine use it by moving it to {{ic|~/vmware/''Virtual_machine_name''}}:<br />
$ mv bios440.rom ~/vmware/''Virtual_machine_name''/<br />
<br />
then adding the name to the {{ic|''Virtual_machine_name''.vmx}} file:<br />
{{hc|~/vmware/''Virtual_machine_name''/''Virtual_machine_name''.vmx|2=bios440.filename = "bios440.rom"}}<br />
<br />
=== Enable 3D graphics on Intel and Optimus ===<br />
<br />
Some graphics drivers are blacklisted by default, due to poor and/or unstable 3D acceleration. After enabling ''Accelerate 3D graphics'', the log may show something like:<br />
<br />
Disabling 3D on this host due to presence of Mesa DRI driver. Set mks.gl.allowBlacklistedDrivers = TRUE to override.<br />
<br />
This means the following:<br />
<br />
{{hc|~/.vmware/preferences|2=<br />
mks.gl.allowBlacklistedDrivers = TRUE<br />
}}<br />
<br />
== Troubleshooting ==<br />
<br />
=== Kernel headers for version 4.x-xxxx were not found. If you installed them[...] ===<br />
<br />
Install the headers ({{Pkg|linux-headers}}).<br />
<br />
{{Note|Upgrading the kernel and the headers will require you to boot to the new kernel to match the version of the headers. This is a relatively common error.}}<br />
<br />
=== USB devices not recognized ===<br />
<br />
{{Tip|Also handled by {{AUR|vmware-patch}}.}}<br />
<br />
If not using the [[#systemd services|systemd service]] to automatically handle the services, you need to manually start the {{ic|vmware-usbarbitrator}} binary as root each time.<br />
<br />
To start:<br />
<br />
# vmware-usbarbitrator<br />
<br />
To stop:<br />
<br />
# vmware-usbarbitrator --kill<br />
<br />
=== Incorrect login/password when trying to access VMware remotely ===<br />
<br />
VMware Workstation provides the possibility to remotely manage Shared VMs through the {{ic|vmware-workstation-server}} service. However, this will fail with the error {{ic|"incorrect username/password"}} due to incorrect [[PAM]] configuration of the {{ic|vmware-authd}} service. To fix it, edit {{ic|/etc/pam.d/vmware-authd}} like this:<br />
<br />
{{hc|/etc/pam.d/vmware-authd|<br />
#%PAM-1.0<br />
auth ''required pam_unix.so''<br />
account ''required pam_unix.so''<br />
password ''required pam_permit.so''<br />
session ''required pam_unix.so''<br />
}}<br />
<br />
and restart the {{ic|vmware}} [[systemd]] service.<br />
<br />
Now you can connect to the server with the credentials provided during the installation.<br />
<br />
{{Note|{{Pkg|libxslt}} may be required for starting virtual machines.}}<br />
<br />
=== Issues with ALSA output ===<br />
<br />
[http://bankimbhavsar.blogspot.co.nz/2011/09/hd-audio-in-vmware-fusion-4-and-vmware.html To fix] sound quality issues or enabling proper HD audio output, first run:<br />
$ aplay -L<br />
<br />
If interested in playing 5.1 ''surround sound'' from the guest, look for {{ic|1=surround51:CARD=''vendor_name'',DEV=''num''}}, if experiencing quality issues, look for {{ic|1=front:CARD=''vendor_name'',DEV=''num''}}. Finally put the name in the {{ic|.vmx}}:<br />
<br />
{{hc|~/vmware/''Virtual_machine_name''/''Virtual_machine_name''.vmx|2=<br />
sound.fileName=''"surround51:CARD=Live,DEV=0"''<br />
sound.autodetect=''"FALSE"''<br />
}}<br />
<br />
[[Advanced_Linux_Sound_Architecture#OSS_compatibility|OSS emulation]] should also be disabled.<br />
<br />
=== Kernel-based Virtual Machine (KVM) is running ===<br />
<br />
To disable {{ic|KVM}} on boot, you can use something like:<br />
<br />
{{hc|/etc/modprobe.d/vmware.conf|<br />
blacklist kvm<br />
blacklist kvm-amd # For AMD CPUs<br />
blacklist kvm-intel # For Intel CPUs<br />
}}<br />
<br />
=== Module Issues ===<br />
<br />
==== /dev/vmmon not found ====<br />
<br />
The full error is:<br />
<br />
Could not open /dev/vmmon: No such file or directory.<br />
Please make sure that the kernel module 'vmmon' is loaded.<br />
<br />
This means that at least the {{ic|vmmon}} module is not loaded. See the [[#systemd services]] section for automatic loading.<br />
<br />
==== /dev/vmci not found ====<br />
<br />
The full error is:<br />
<br />
Failed to open device "/dev/vmci": No such file or directory<br />
Please make sure that the kernel module 'vmci' is loaded.<br />
<br />
Try to recompile VMware kernel modules with:<br />
<br />
# vmware-modconfig --console --install-all<br />
<br />
==== Kernel modules fail to build after Linux 4.9 ====<br />
<br />
On VMware Workstation Pro 12.5.2, the module source needs to be modified to be successfully compiled under kernel 4.9 [http://rglinuxtech.com/?p=1847].<br />
<br />
# cd /usr/lib/vmware/modules/source<br />
# tar xf vmmon.tar<br />
# mv vmmon.tar vmmon.old.tar<br />
# sed -i 's/uvAddr, numPages, 0, 0/uvAddr, numPages, 0/g' vmmon-only/linux/hostif.c<br />
# tar cf vmmon.tar vmmon-only<br />
# rm -r vmmon-only<br />
<br />
# tar xf vmnet.tar<br />
# mv vmnet.tar vmnet.old.tar<br />
# sed -i 's/addr, 1, 1, 0/addr, 1, 0/g' vmnet-only/userif.c<br />
# tar cf vmnet.tar vmnet-only<br />
# rm -r vmnet-only<br />
<br />
==== vmware modules fail to build on kernel 4.11+ and GCC 7 ====<br />
<br />
Running vmware-modconfig yields:<br />
Failed to get gcc information.<br />
<br />
The actual error can be found in the logs:<br />
modconfig| I125: Got gcc version "6.3.1".<br />
modconfig| I125: GCC major version 6 does not match Kernel GCC major version 7.<br />
modconfig| I125: The GCC compiler "/sbin/gcc" cannot be used for the target kernel.<br />
<br />
To skip the check, use this workaround:<br />
# sed 's/gcc version 6/gcc version 7/' /proc/version > /tmp/version<br />
# mount --bind /tmp/version /proc/version<br />
# vmware-modconfig --console --install-all<br />
# umount /proc/version && rm /tmp/version<br />
<br />
==== Kernel modules fail to build on Linux 4.13 ====<br />
<br />
On VMware Workstation Pro 12.5.7, the module source needs to be modified to be successfully compiled under kernel 4.13 [https://communities.vmware.com/thread/568089].<br />
<br />
# cd /usr/lib/vmware/modules/source<br />
# tar xf vmnet.tar<br />
# mv vmnet.tar vmnet.old.tar<br />
# sed -i 's/atomic_inc(&clone->users);/clone = skb_get(clone);/g' vmnet-only/bridge.c<br />
# tar cf vmnet.tar vmnet-only<br />
# rm -r vmnet-only<br />
<br />
==== Failed to lock page for guest RAM on Linux 4.13 ====<br />
<br />
VMware Workstation Pro versions from 12.5 up to 14.0 can lock up both guest and host systems while running a virtual machine under kernel 4.13 without a patch to the {{ic|vmmon}} module due to the virtual machine being unable to reserve memory on the host machine. The VM-specific log files show the following errors:<br />
<br />
I125: [msg.monitorInit.mem.lockFailed] The virtual machine is unable to reserve memory.<br />
...<br />
E105: PANIC: Failed to lock page for guest RAM!<br />
<br />
=== Installer Fails to Start ===<br />
<br />
If you just get back to the prompt when opening the {{ic|.bundle}}, then you probably have a deprecated or broken version of the VMware installer and it should removed (you may also refer to the [[#Uninstallation|uninstallation]] section of this article):<br />
# rm -r /etc/vmware-installer/<br />
<br />
==== User interface initialization failed ====<br />
<br />
You may also see an error like this:<br />
<br />
Extracting VMware Installer...done.<br />
No protocol specified<br />
No protocol specified<br />
User interface initialization failed. Exiting. Check the log for details.<br />
<br />
This can be fixed by either installing the {{AUR|ncurses5-compat-libs}} dependency or temporarily allowing root access to X:<br />
<br />
$ xhost +<br />
$ sudo ./<vmware filename>.bundle<br />
$ xhost -<br />
<br />
=== VMware Fails to Start ===<br />
<br />
==== Segmentation fault at startup due to old Intel microcode ====<br />
<br />
Old Intel microcode may result in the following kind of segmentation fault at startup:<br />
<br />
/usr/bin/vmware: line 31: 4941 Segmentation fault "$BINDIR"/vmware-modconfig --appname="VMware Workstation" --icon="vmware-workstation"<br />
<br />
See [[Microcode]] for how to update the microcode.<br />
<br />
==== vmplayer/vmware fails to start from version 12.5.4 ====<br />
<br />
As per [https://bbs.archlinux.org/viewtopic.php?id=224667] the temporary workaround is to downgrade the package {{ic|libpng}} to version 1.6.28-1 and keep it in the {{ic|IgnorePkg}} parameter in [[Pacman#Skip_package_from_being_upgraded|/etc/pacman.conf]].<br />
<br />
An easier workaround is to make VMWare use the system's version of zlib instead of its own one:<br />
<br />
# cd /usr/lib/vmware/lib/libz.so.1<br />
# mv libz.so.1 libz.so.1.old<br />
# ln -s /usr/lib/libz.so.1 .<br />
<br />
==== vmplayer/vmware fails to start from version 12.5.3 to version 12.5.5 ====<br />
<br />
It seems to be a problem with the file {{ic|/usr/lib/vmware/lib/libstdc++.so.6/libstdc++.so.6}}, missing {{ic|CXXABI_1.3.8}}.<br />
<br />
If the system have installed {{pkg|gcc-libs}}, that library is already installed. Therefore, it's possible to remove that file and vmplayer will use the one provided by gcc-libs instead. As root do:<br />
<br />
# mv /usr/lib/vmware/lib/libstdc++.so.6/libstdc++.so.6 /usr/lib/vmware/lib/libstdc++.so.6/libstdc++.so.6.bak<br />
<br />
Also there is a workaround: <br />
<br />
# export VMWARE_USE_SHIPPED_LIBS='yes'<br />
<br />
==== vmware 12 process terminates immediately after start, no GUI is launched ====<br />
<br />
Registered bug at [https://bugs.mageia.org/show_bug.cgi?id=9739 Mageia], but it seems that there are no error messages shown in terminal with arch. When inspecting the logs, which are in {{ic|/tmp/vmware-<id>}}, there are {{ic|VMWARE_SHIPPED_LIBS_LIST is not set}}, {{ic|VMWARE_SYSTEM_LIBS_LIST is not set}}, {{ic|VMWARE_USE_SHIPPED_LIBS is not set}}, {{ic|VMWARE_USE_SYSTEM_LIBS is not set}} issues. Process simply terminates with {{ic|Unable to execute /usr/lib/vmware/bin/vmware-modconfig.}} after vmware or vmplayer is executed. Solution is the same, as root do:<br />
<br />
# mv /etc/vmware/icu/icudt44l.dat /etc/vmware/icu/icudt44l.dat.bak<br />
<br />
Also there is a workaround: <br />
<br />
# export VMWARE_USE_SHIPPED_LIBS='yes'<br />
<br />
If it happens on '''12.5.7''' and moving {{ic|icudt44l.dat}} or setting {{ic|VMWARE_USE_SHIPPED_LIBS}} to {{ic|yes}} has no effect or if executing {{ic|vmplayer}} on terminal shows no message, try as root:<br />
<br />
# cd /usr/lib/vmware/lib/libz.so.1<br />
# mv libz.so.1 libz.so.1.old<br />
# ln -s /usr/lib/libz.so.1 .<br />
<br />
Despite setting the VMWARE_USE_SHIPPED_LIBS variable, VMWare may still fail to find certain libraries. An example is the libfontconfig.so.1 library. Check vmware logs in the tmp directory to see which libraries are still not found. Copy them to the appropriate path with libraries existing on the system:<br />
<br />
# cp /usr/lib/libfontconfig.so.1 /usr/lib/vmware/lib/libfontconfig.so.1/<br />
<br />
Instead of copying all these files manually, you may want to try exporting an additional setting:<br />
<br />
# export VMWARE_USE_SYSTEM_LIBS='yes'<br />
<br />
=== Guest Issues ===<br />
<br />
==== Unable to download VMware Tools for Guests ====<br />
<br />
To download the tools manually, visit the [http://softwareupdate.vmware.com/cds/vmw-desktop/ VMware repository].<br />
<br />
Navigate to: "''application name'' / ''version'' / ''build ID'' / linux / packages/" and download the appropriate Tools.<br />
<br />
Extract with:<br />
<br />
$ tar -xvf vmware-tools-''name''-''version''-''buildID''.x86_64.component.tar<br />
<br />
And install using the VMware installer:<br />
<br />
# vmware-installer --install-component=''/path/''vmware-tools-''name''-''version''-''buildID''.x86_64.component<br />
<br />
If the above does not work, try installing {{AUR|ncurses5-compat-libs}}.<br />
<br />
==== Guests have incorrect system clocks or are unable to boot: "[...]timeTracker_user.c:234 bugNr=148722" ====<br />
<br />
This is due to [http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&externalId=1591 incomplete] support of power management features ([[Wikipedia:Intel speedstep|Intel SpeedStep]] and [[Wikipedia:AMD powernow|AMD PowerNow!]]/[[Wikipedia:Cool'n'Quiet|Cool'n'Quiet]]) in VMware Linux that vary the CPU frequency. In March 2012, with the release of [https://projects.archlinux.org/svntogit/packages.git/commit/trunk/config.x86_64?h=packages/linux&id=9abe018d91a5d8c3af7523d30b8aa73f86b680be linux 3.3-1] the maximum frequency [[CPU frequency governors|Performance]] governor was replaced with the dynamic ''Ondemand''. When the host CPU frequency changes, the Guest system clock runs too quickly or too slowly, but may also render the whole Guest unbootable.<br />
<br />
To prevent this, the maximum host CPU frequency can be specified, and [[Wikipedia:Time Stamp Counter|Time Stamp Counter]] (TSC) disabled, in the global configuration:<br />
<br />
{{hc|/etc/vmware/config|2=<br />
host.cpukHz = "X" # The maximum speed in KHz, e.g. 3GHz is "3000000".<br />
host.noTSC = "TRUE" # Keep the Guest system clock accurate even when<br />
ptsc.noTSC = "TRUE" # the time stamp counter (TSC) is slow.<br />
}}<br />
<br />
{{Tip|To periodically correct the time (once per minute), in the ''Options'' tab of VMware Tools, enable: ''"Time synchronization between the virtual machine and the host operating system"''.}}<br />
<br />
==== Networking on Guests not available after system restart ====<br />
<br />
This is likely due to the {{ic|vmnet}} module not being loaded [http://www.linuxquestions.org/questions/slackware-14/could-not-connect-ethernet0-to-virtual-network-dev-vmnet8-796095/]. See also the [[#systemd services]] section for automatic loading.<br />
<br />
== Uninstallation ==<br />
<br />
To uninstall VMware you need the product name (either {{ic|vmware-workstation}} or {{ic|vmware-player}}). To list all the installed products:<br />
$ vmware-installer -l<br />
<br />
and uninstall with ({{ic|--required}}&nbsp;skips the confirmation):<br />
# vmware-installer -u ''product'' --required<br />
<br />
{{Tip|Use {{ic|--console}} for the console UI.}}<br />
<br />
Remember to also [[disable]] and remove the services:<br />
# rm /etc/systemd/system/vmware.service<br />
# rm /etc/systemd/system/vmware-usbarbitrator.service<br />
<br />
You may also want to have a look at the module directories in {{ic|/usr/lib/modules/''kernel_name''/misc/}} for any leftovers, and remove {{ic|/etc/init.d/}} if now empty.</div>J!PRAhttps://wiki.archlinux.org/index.php?title=Nemo&diff=508747Nemo2018-01-28T12:27:05Z<p>J!PRA: /* Desktop icons not shown */ Fixed a minor typo.</p>
<hr />
<div>[[Category:File managers]]<br />
[[ar:Nemo]]<br />
[[ja:Nemo]]<br />
{{Related articles start}}<br />
{{Related|Cinnamon}}<br />
{{Related|File manager functionality}}<br />
{{Related|GNOME Files}}<br />
{{Related|Thunar}}<br />
{{Related|PCManFM}}<br />
{{Related articles end}}<br />
<br />
[https://github.com/linuxmint/nemo Nemo] is a fork of [[GNOME Files]]. It is also the default file manager of the [[Cinnamon]] desktop. Nemo is based on the Files 3.4 code. It was created as a response to the changes in Files 3.6 which saw features such as type ahead find and split pane view removed.<br />
<br />
== Installation ==<br />
<br />
[[Pacman|Install]] {{Pkg|nemo}} from the [[official repositories]].<br />
<br />
=== Extensions ===<br />
<br />
Some programs can add extra functionality to Nemo. Here are a few packages that do just that:<br />
<br />
* {{App|Nemo File Roller|File archiver extension for Nemo.|https://github.com/linuxmint/nemo-extensions/tree/master/nemo-fileroller|{{Pkg|nemo-fileroller}}}}<br />
* {{App|Nemo Compare|An utility which compares two files using {{Pkg|meld}}.|https://github.com/linuxmint/nemo-extensions/tree/master/nemo-compare|{{AUR|nemo-compare}}}}<br />
* {{App|Nemo Preview|GtkClutter and Javascript-based quick previewer for Nemo.|https://github.com/linuxmint/nemo-extensions/tree/master/nemo-preview|{{Pkg|nemo-preview}}}}<br />
* {{App|Nemo Seahorse|PGP encryption and signing extension for Nemo.|https://github.com/linuxmint/nemo-extensions/tree/master/nemo-seahorse|{{Pkg|nemo-seahorse}}}}<br />
* {{App|Nemo Share|Samba extension for Nemo.|https://github.com/linuxmint/nemo-extensions/tree/master/nemo-share|{{Pkg|nemo-share}}}}<br />
* {{App|Nemo Terminal|Embedded terminal window for Nemo|https://github.com/linuxmint/nemo-extensions/tree/master/nemo-terminal|{{Pkg|nemo-terminal}}}}<br />
* {{App|RabbitVCS Nemo|Integrate RabbitVCS into Nemo.|http://www.rabbitvcs.org/|{{AUR|rabbitvcs-nemo}}}}<br />
<br />
See [https://aur.archlinux.org/packages/?O=0&K=nemo- AUR] and [https://github.com/linuxmint/nemo-extensions nemo-extensions github repo] for all extensions.<br />
<br />
== Configuration ==<br />
<br />
Nemo is simple to configure graphically but not all options are in the preferences screen in Nemo. More options are available in the ''dconf-editor'' under {{ic|org.nemo}}. To set Nemo as the default file browser, see [[Xdg-open#Set the default file-browser]]{{Broken section link}}.<br />
<br />
=== Show / hide desktop icons ===<br />
<br />
To enable/disable desktop icons rendering feature in nemo, change the following setting true or false (false to hide, true to show): <br />
<br />
$ gsettings set org.nemo.desktop show-desktop-icons false<br />
<br />
This fixes the console warning <code>WARNING **: Can not determine workarea, guessing at layout</code> for tiling window managers (such as i3).<br />
<br />
=== Change application for "Open in terminal" context menu entry ===<br />
<br />
{{Pkg|gnome-terminal}} is set as the default, if it is not installed this feature will not work.<br />
<br />
Alternatively, change the default setting with ''gsettings'' to the preferred terminal application.<br />
<br />
$ gsettings set org.cinnamon.desktop.default-applications.terminal exec <terminal-name><br />
<br />
== Tips and tricks ==<br />
<br />
=== Nemo Actions ===<br />
<br />
Nemo allows the user to add new entries to the context menu. The file {{ic|[https://github.com/linuxmint/nemo/blob/master/files/usr/share/nemo/actions/sample.nemo_action /usr/share/nemo/actions/sample.nemo_action]}} contains an example of a Nemo action. Directories to place custom action files:<br />
* {{ic|/usr/share/nemo/actions/}} for system-wide actions<br />
* {{ic|~/.local/share/nemo/actions/}} for user actions<br />
<br />
Action files must have the {{ic|.nemo_action}} file extension.<br />
<br />
==== Clam Scan ====<br />
<br />
{{hc|clamscan.nemo_action|<br />
2=[Nemo Action]<br />
Name=Clam Scan<br />
Comment=Clam Scan<br />
<br />
Exec=gnome-terminal -x sh -c "clamscan -r %F {{!}} less"<br />
<br />
Icon-Name=bug-buddy<br />
<br />
Selection=Any<br />
<br />
Extensions=dir;exe;dll;zip;gz;7z;rar;<br />
}}<br />
<br />
==== Moving files ====<br />
<br />
{{hc|archive.nemo_action|<br />
2=[Nemo Action]<br />
Active=true<br />
Name=Archive %N<br />
Comment=Archiving %N will add .archive to the object.<br />
Exec=<archive.py %F><br />
Selection=S<br />
Extensions=any;<br />
}}<br />
<br />
{{hc|archive.py|<br />
2=#! /usr/bin/python2 -OOt<br />
import sys<br />
import os<br />
import shutil<br />
<br />
filename = sys.argv[0]<br />
print "Running " + filename<br />
print "With the following arguments:"<br />
for arg in sys.argv:<br />
if filename == arg:<br />
continue<br />
else:<br />
print arg<br />
#os.rename('%s','%s.archive') % (arg,arg)<br />
shutil.move(arg, arg+".archive")<br />
}}<br />
<br />
==== Meld compare ====<br />
<br />
{{hc|compare-save-for-later.nemo_action|2=<br />
[Nemo Action]<br />
Active=true<br />
Name=Compare later<br />
Comment=Save file for comparison later.<br />
Exec=<compare.sh save %F><br />
Icon-Name=meld<br />
Selection=S<br />
Extensions=any<br />
}}<br />
<br />
{{hc|compare-with-saved.nemo_action|2=<br />
[Nemo Action]<br />
Active=true<br />
Name=Compare with saved element<br />
Comment=Compare %F saved file or directory.<br />
Exec=<compare.sh compare %F><br />
Icon-Name=meld<br />
Selection=S<br />
Extensions=any<br />
}}<br />
<br />
{{hc|compare.sh|2=<br />
#!/bin/bash<br />
savedfile=/var/tmp/compare-save-for-later.$USER<br />
comparator=meld<br />
if [ "$1" == "save" ]; then<br />
echo "$2" > "$savedfile"<br />
else<br />
"$comparator" $(cat "$savedfile") "$2"<br />
fi<br />
}}<br />
<br />
==== Filenames containing spaces ====<br />
<br />
By default, Nemo does not escape filenames. This means that actions for multiple files with some names containing spaces are broken. To fix this, use {{ic|1=Quote=double}}.<br />
<br />
== Troubleshooting ==<br />
<br />
=== Thumbnail generation errors shown in the console ===<br />
<br />
By default, nemo does not generate thumbnails for certain video files due to licensing or patent problems (AVC encoded mp4 and mkv files for example). As such, you might see errors similar to the following in the console: <br />
CinnamonDesktop-WARNING **: Error creating thumbnail for file:///home/username/video.mp4: Unrecognized image file format <br />
for mp4 and other video files.<br />
<br />
To fix this, ensure that you have a thumbnailer for video files installed - see [[File manager functionality#Thumbnail previews]] - and also ensure you have the necessary [[GStreamer]] packages installed that will allow the video file to be played.<br />
<br />
{{Tip|Once thumbnail generation for video files is working, you can use {{ic|nemo-preview}} to preview video files.}}<br />
<br />
=== Desktop icons not shown ===<br />
<br />
Since Nemo v3.4.2, the desktop is managed by `nemo-desktop`. This can be configured to auto start by copying the file {{ic|/usr/share/applications/nemo-autostart.desktop}} to {{ic|~/.config/autostart/nemo-autostart.desktop}} and removing the line "OnlyShowIn=X-Cinnamon;".</div>J!PRAhttps://wiki.archlinux.org/index.php?title=Power_management/Suspend_and_hibernate&diff=494770Power management/Suspend and hibernate2017-11-02T15:41:21Z<p>J!PRA: /* Instantaneous wakeups from suspend */ Fixed a small typo.</p>
<hr />
<div>[[Category:Power management]]<br />
[[ja:サスペンドとハイバネート]]<br />
[[ru:Power management/Suspend and hibernate]]<br />
[[zh-hans:Suspend hybrid-sleep and hibernate]]<br />
{{Related articles start}}<br />
{{Related|Uswsusp}}<br />
{{Related|TuxOnIce}}<br />
{{Related|systemd}}<br />
{{Related|pm-utils}}<br />
{{Related|hibernate-script}}<br />
{{Related|Power management}}<br />
{{Related articles end}}<br />
Currently there are three methods of suspending available: '''suspend to RAM''' (usually called just '''suspend'''), '''suspend to disk''' (usually known as '''hibernate'''), and '''hybrid suspend''' (sometimes aptly called '''suspend to both'''):<br />
<br />
* '''Suspend to RAM''' method cuts power to most parts of the machine aside from the RAM, which is required to restore the machine's state. Because of the large power savings, it is advisable for laptops to automatically enter this mode when the computer is running on batteries and the lid is closed (or the user is inactive for some time).<br />
<br />
* '''Suspend to disk''' method saves the machine's state into [[swap space]] and completely powers off the machine. When the machine is powered on, the state is restored. Until then, there is zero power consumption.<br />
<br />
* '''Suspend to both''' method saves the machine's state into swap space, but does not power off the machine. Instead, it invokes usual suspend to RAM. Therefore, if the battery is not depleted, the system can resume from RAM. If the battery is depleted, the system can be resumed from disk, which is much slower than resuming from RAM, but the machine's state has not been lost.<br />
<br />
There are multiple low level interfaces (backends) providing basic functionality, and some high level interfaces providing tweaks to handle problematic hardware drivers/kernel modules (e.g. video card re-initialization).<br />
<br />
== Low level interfaces ==<br />
<br />
Though these interfaces can be used directly, it is advisable to use some of [[#High level interfaces|high level interfaces]] to suspend/hibernate. Using low level interfaces directly is significantly faster than using any high level interface, since running all the pre- and post-suspend hooks takes time, but hooks can properly set hardware clock, restore wireless etc.<br />
<br />
=== kernel (swsusp) ===<br />
<br />
The most straightforward approach is to directly inform the in-kernel software suspend code (swsusp) to enter a suspended state; the exact method and state depends on the level of hardware support. On modern kernels, writing appropriate strings to {{ic|/sys/power/state}} is the primary mechanism to trigger this suspend.<br />
<br />
See [https://www.kernel.org/doc/Documentation/power/states.txt kernel documentation] for details.<br />
<br />
=== uswsusp ===<br />
<br />
The uswsusp ('Userspace Software Suspend') is a wrapper around the kernel's suspend-to-RAM mechanism, which performs some graphics adapter manipulations from userspace before suspending and after resuming.<br />
<br />
See main article [[Uswsusp]].<br />
<br />
=== tuxonice ===<br />
<br />
TuxOnIce is a fork of the kernel implementation of suspend/hibernate that provides kernel patches to improve the default implementation. It requires a custom kernel to achieve this purpose.<br />
<br />
See main article [[TuxOnIce]].<br />
<br />
== High level interfaces ==<br />
<br />
{{Note|The end goal of these packages is to provide binaries/scripts that can be invoked to perform suspend/hibernate. Actually hooking them up to power buttons or menu clicks or laptop lid events is usually left to other tools. To automatically suspend/hibernate on certain power events, such as laptop lid close or battery depletion percentage, you may want to look into running [[Acpid]].}}<br />
<br />
=== systemd ===<br />
<br />
[[systemd]] provides native commands for suspend, hibernate and a hybrid suspend, see [[Power management#Power management with systemd]] for details. This is the default interface used in Arch Linux.<br />
<br />
See [[Power management#Sleep hooks]] for additional information on configuring suspend/hibernate hooks. Also see {{man|1|systemctl}}, {{man|8|systemd-sleep}}, and {{man|7|systemd.special}}.<br />
<br />
=== pm-utils ===<br />
<br />
pm-utils is a set of shell scripts that encapsulate the backend's suspend/hibernate functionality. It comes with a set of pre- and post-suspend tweaks and various hooks to customize the process.<br />
<br />
See main article [[pm-utils]].<br />
<br />
== Hibernation ==<br />
<br />
In order to use hibernation, you need to create a [[swap]] partition or file. You will need to point the kernel to your swap using the {{ic|1=resume=}} kernel parameter, which is configured via the boot loader. You will also need to [[#Configure the initramfs|configure the initramfs]]. This tells the kernel to attempt resuming from the specified swap in early userspace. These three steps are described in detail below.<br />
<br />
=== About swap partition/file size ===<br />
<br />
Even if your swap partition is smaller than RAM, you still have a big chance of hibernating successfully. According to [https://www.kernel.org/doc/Documentation/power/interface.txt kernel documentation]:<br />
<br />
: ''{{ic|/sys/power/image_size}} controls the size of the image created by the suspend-to-disk mechanism. It can be written a string representing a non-negative integer that will be used as an upper limit of the image size, in bytes. The suspend-to-disk mechanism will do its best to ensure the image size will not exceed that number. However, if this turns out to be impossible, it will try to suspend anyway using the smallest image possible. In particular, if "0" is written to this file, the suspend image will be as small as possible. Reading from this file will display the current image size limit, which is set to 2/5 of available RAM by default.''<br />
<br />
You may either decrease the value of {{ic|/sys/power/image_size}} to make the suspend image as small as possible (for small swap partitions), or increase it to possibly speed up the hibernation process.<br />
<br />
=== Required kernel parameters ===<br />
<br />
The kernel parameter {{ic|1=resume=''swap_partition''}} has to be used. Either the name the kernel assigns to the partition or its [[UUID]] can be used as {{ic|''swap_partition''}}. For example:<br />
<br />
* {{ic|1=resume=/dev/sda1}}<br />
* {{ic|1=resume=UUID=4209c845-f495-4c43-8a03-5363dd433153}}<br />
* {{ic|1=resume=/dev/mapper/archVolumeGroup-archLogicVolume}} -- example if using LVM<br />
<br />
Generally, the naming method used for the {{ic|resume}} parameter should be the same as used for the {{ic|root}} parameter.<br />
<br />
The configuration depends on the used [[boot loader]], refer to [[Kernel parameters]] for details.<br />
<br />
==== Hibernation into swap file ====<br />
<br />
{{Warning|[[Btrfs#Swap file|Btrfs]] does not support swap files. Failure to heed this warning may result in file system corruption. While a swap file may be used on Btrfs when mounted through a loop device, this will result in severely degraded swap performance.}}<br />
<br />
Using a swap file instead of a swap partition requires an additional kernel parameter {{ic|1=resume_offset=''swap_file_offset''}}.<br />
<br />
The value of {{ic|''swap_file_offset''}} can be obtained by running {{ic|filefrag -v ''swap_file''}}, the output is in a table format and the required value is located in the first row of the {{ic|physical_offset}} column. For example:<br />
<br />
{{hc|# filefrag -v /swapfile|<nowiki><br />
Filesystem type is: ef53<br />
File size of /swapfile is 4294967296 (1048576 blocks of 4096 bytes)<br />
ext: logical_offset: physical_offset: length: expected: flags:<br />
0: 0.. 0: 38912.. 38912: 1: <br />
1: 1.. 22527: 38913.. 61439: 22527: unwritten<br />
2: 22528.. 53247: 899072.. 929791: 30720: 61440: unwritten<br />
...<br />
</nowiki>}}<br />
<br />
In the example the value of {{ic|''swap_file_offset''}} is the first {{ic|38912}} with the two periods.<br />
<br />
The value of {{ic|''swap_file_offset''}} can also be obtained by running {{ic|swap-offset ''swap_file''}}. The ''swap-offset'' binary is provided by package {{AUR|uswsusp-git}}.<br />
<br />
{{Note|<br />
* The {{ic|resume}} kernel parameter specifies the device of the partition that contains the swap file, not swap file itself! The parameter {{ic|resume_offset}} informs the system where the swap file starts on the resume device. Before the first hibernation a reboot is required for them to be active.<br />
* If using [[uswsusp]], then these two parameters have to be provided in {{ic|/etc/suspend.conf}} via the keys {{ic|resume device}} and {{ic|resume offset}}. No reboot is required in this case.}}<br />
<br />
{{Tip|You might want to decrease the [[Swap#Swappiness]] for your swapfile if the only purpose is to be able to hibernate and not expand RAM.}}<br />
<br />
=== Configure the initramfs ===<br />
<br />
* When an [[initramfs]] with the {{ic|base}} hook is used, which is the default, the {{ic|resume}} hook is required in {{ic|/etc/mkinitcpio.conf}}. Whether by label or by UUID, the swap partition is referred to with a udev device node, so the {{ic|resume}} hook must go ''after'' the {{ic|udev}} hook. This example was made starting from the default hook configuration:<br />
<br />
:{{bc|1=HOOKS="base udev '''resume''' autodetect modconf block filesystems keyboard fsck"}}<br />
<br />
:Remember to [[Mkinitcpio#Image creation and activation|rebuild the initramfs]] for these changes to take effect.<br />
<br />
:{{Note|[[LVM]] users should add the {{ic|resume}} hook after {{ic|lvm2}}.}}<br />
<br />
* When an initramfs with the {{ic|systemd}} hook is used, a resume mechanism is already provided, and no further hooks need to be added.<br />
<br />
== Troubleshooting ==<br />
<br />
=== ACPI_OS_NAME ===<br />
<br />
You might want to tweak your '''DSDT table''' to make it work. See [[DSDT]] article<br />
<br />
=== VAIO Users ===<br />
<br />
Add acpi_sleep=nonvs kernel flag to your loader, and you are done!<br />
<br />
=== Suspend/hibernate doesn't work, or not consistently ===<br />
<br />
There have been many reports about the screen going black without easily viewable errors or the ability to do anything when going into and coming back from suspend and/or hibernate. These problems have been seen on both laptops and desktops. This is not an official solution, but switching to an older kernel, especially the LTS-kernel, will probably fix this.<br />
<br />
Sometimes the screen goes black due to device initialization from within the initramfs. Removing any modules you might have in [[Mkinitcpio#MODULES]] and rebuilding the initramfs, can possibly solve this issue, specially graphics drivers for [[Kernel_mode_setting#Early_KMS_start|early KMS]]. Initializing such devices before resuming can cause inconsistencies that prevents the system resuming from hibernation. This does not affect resuming from RAM. Also, check this [https://01.org/blogs/rzhang/2015/best-practice-debug-linux-suspend/hibernate-issues article] for the best practices to debug suspend/hibernate issues.<br />
<br />
For Intel graphics drivers, enabling early KMS may help to solve the blank screen issue. Refer to [[Kernel mode setting#Early KMS start]] for details.<br />
<br />
=== Wake-on-LAN ===<br />
<br />
If [[Wake-on-LAN]] is active, the network interface card will consume power even if the computer is hibernated.<br />
<br />
=== Instantaneous wakeups from suspend ===<br />
<br />
For some Intel Haswell systems with the LynxPoint and LynxPoint-LP chipset, instantaneous wakeups after suspend are reported. They are linked to erroneous BIOS ACPI implementations and how the {{ic|xhci_hcd}} module interprets it during boot. As a work-around reported affected systems are added to a blacklist (named {{ic|XHCI_SPURIOUS_WAKEUP}}) by the kernel case-by-case.[https://bugzilla.kernel.org/show_bug.cgi?id=66171#c6] <br />
<br />
Instantaneous resume may happen, for example, if a USB device is plugged during suspend and ACPI wakeup triggers are enabled. A viable work-around for such a system, if it is not on the blacklist yet, is to disable the wakeup triggers. An example to disable wakeup through USB is described as follows.[https://bbs.archlinux.org/viewtopic.php?pid=1575617] <br />
<br />
To view the current configuration:<br />
<br />
{{hc|$ cat /proc/acpi/wakeup|<br />
Device S-state Status Sysfs node<br />
...<br />
EHC1 S3 *enabled pci:0000:00:1d.0<br />
EHC2 S3 *enabled pci:0000:00:1a.0<br />
XHC S3 *enabled pci:0000:00:14.0<br />
...<br />
}}<br />
<br />
The relevant devices are {{ic|EHC1}}, {{ic|EHC2}} and {{ic|XHC}} (for USB 3.0). To toggle their state you have to echo the device name to the file as root.<br />
<br />
# echo EHC1 > /proc/acpi/wakeup<br />
# echo EHC2 > /proc/acpi/wakeup<br />
# echo XHC > /proc/acpi/wakeup<br />
<br />
This should result in suspension working again. However, this settings are only temporary and would have to be set at every reboot. To automate this take a look at [[systemd#Writing unit files]]. See [https://bbs.archlinux.org/viewtopic.php?pid=1575617#p1575617 BBS thread] for a possible solution and more information.<br />
<br />
== See also ==<br />
<br />
* [https://wiki.sabayon.org/index.php?title=Auto_hibernate_after_suspend Auto hibernate after suspend]</div>J!PRAhttps://wiki.archlinux.org/index.php?title=VMware&diff=492786VMware2017-10-09T14:29:25Z<p>J!PRA: /* Module Issues */ Added information for patching vmmon module on kernel 4.13 to avoid guest (and possibly also host) machine freezing due to virtual machine being unable to reserve memory.</p>
<hr />
<div>[[Category:Hypervisors]]<br />
[[it:VMware]]<br />
[[ja:VMware]]<br />
[[ru:VMware]]<br />
[[uk:VMware]]<br />
[[zh-hans:VMware]]<br />
{{Related articles start}}<br />
{{Related|:Category:Hypervisors}}<br />
{{Related|VMware/Installing Arch as a guest}}<br />
{{Related|Moving an existing install into (or out of) a virtual machine}}<br />
{{Related articles end}}<br />
<br />
This article is about installing VMware in Arch Linux; you may also be interested in [[VMware/Installing Arch as a guest]].<br />
{{Note|<br />
*This article is about the latest major VMware versions, meaning VMware Workstation Pro and Player 12.5.<br />
*For older versions, use the {{AUR|vmware-patch}} package.<br />
}}<br />
<br />
== Installation ==<br />
<br />
[[Install]] the correct dependencies:<br />
*{{pkg|fuse2}} - for ''vmware-vmblock-fuse''<br />
*{{pkg|gksu}} - for root operations (memory allocations, registering license, etc.)<br />
*{{pkg|gtkmm}} - for the GUI<br />
*{{pkg|linux-headers}}&nbsp;- for module compilation<br />
*{{AUR|ncurses5-compat-libs}} - needed by the {{ic|--console}} installer<br />
*{{pkg|libcanberra}} - for event sounds<br />
<br />
Download the latest [https://www.vmware.com/go/tryworkstation VMware Workstation Pro] or [https://www.vmware.com/go/downloadplayer Player] (or a [https://communities.vmware.com/community/vmtn/beta beta] version, if available).<br />
<br />
Start the installation:<br />
# sh VMware-''edition''-''version''.''release''.''architecture''.bundle<br />
<br />
{{Tip|Some useful flags:<br />
*{{ic|--eulas-agreed}} - Skip the EULAs<br />
*{{ic|--console}} - Use the console UI.<br />
*{{ic|--custom}} - Allows changing the install directory to e.g. {{ic|/usr/local}} (make sure to update the {{ic|vmware-usbarbitrator.service}} paths in [[#systemd services]]).<br />
*{{ic|-I}}, {{ic|--ignore-errors}} - Ignore fatal errors.<br />
*{{ic|1=--set-setting=vmware-workstation serialNumber XXXXX-XXXXX-XXXXX-XXXXX-XXXXX}} - Set the serial number during install (good for scripted installs).<br />
*{{ic|--required}} - Only ask mandatory questions (results in silent install when combined with {{ic|--eulas-agreed}} and {{ic|--console}}).<br />
}}<br />
<br />
For the {{ic|System service scripts directory}}, use {{ic|/etc/init.d}} (the default).<br />
<br />
{{Note|During the installation you will get an error about {{ic|"No rc*.d style init script directories"}} being given. This can be safely ignored, since Arch uses [[systemd]].}}<br />
<br />
{{Tip|To (re)build the modules from terminal later on, use:<br />
# vmware-modconfig --console --install-all<br />
}}<br />
<br />
== Configuration ==<br />
<br />
=== Kernel modules ===<br />
<br />
VMware Workstation 12.5 supports kernels up to 4.8 out of the box.<br />
<br />
=== systemd services ===<br />
<br />
''(Optional)'' Instead of using {{ic|/etc/init.d/vmware}} ({{ic|<nowiki>start|stop|status|restart</nowiki>}}) and {{ic|/usr/bin/vmware-usbarbitrator}} directly to manage the services, you may also use {{ic|.service}} files (also available in the {{AUR|vmware-systemd-services}} package, and also included in {{AUR|vmware-patch}}):<br />
<br />
{{hc|/etc/systemd/system/vmware.service|<br />
2=[Unit]<br />
Description=VMware daemon<br />
Requires=vmware-usbarbitrator.service<br />
Before=vmware-usbarbitrator.service<br />
After=network.target<br />
<br />
[Service]<br />
ExecStart=/etc/init.d/vmware start<br />
ExecStop=/etc/init.d/vmware stop<br />
PIDFile=/var/lock/subsys/vmware<br />
RemainAfterExit=yes<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
}}<br />
<br />
{{hc|/etc/systemd/system/vmware-usbarbitrator.service|<br />
2=[Unit]<br />
Description=VMware USB Arbitrator<br />
Requires=vmware.service<br />
After=vmware.service<br />
<br />
[Service]<br />
ExecStart=/usr/bin/vmware-usbarbitrator<br />
ExecStop=/usr/bin/vmware-usbarbitrator --kill<br />
RemainAfterExit=yes<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
}}<br />
<br />
Add this service as well, if you want to connect to your VMware Workstation installation from another Workstation Server Console:<br />
<br />
{{hc|/etc/systemd/system/vmware-workstation-server.service|<br />
2=[Unit]<br />
Description=VMware Workstation Server<br />
Requires=vmware.service<br />
After=vmware.service<br />
<br />
[Service]<br />
ExecStart=/etc/init.d/vmware-workstation-server start<br />
ExecStop=/etc/init.d/vmware-workstation-server stop<br />
PIDFile=/var/lock/subsys/vmware-workstation-server<br />
RemainAfterExit=yes<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
}}<br />
<br />
After which you can [[enable]] them on boot.<br />
<br />
==== Workstation Server service ====<br />
<br />
The {{ic|vmware-workstation-server.service}} calls {{ic|wssc-adminTool}} in its command chain, despite having been renamed to {{ic|vmware-wssc-adminTool}}.<br />
<br />
To prevent the service startup, this can be fixed with a symlink:<br />
<br />
# ln -s wssc-adminTool /usr/lib/vmware/bin/vmware-wssc-adminTool<br />
<br />
== Launching the application ==<br />
<br />
To open VMware Workstation Pro:<br />
$ vmware<br />
<br />
or Player:<br />
$ vmplayer<br />
<br />
== Tips and tricks ==<br />
<br />
=== Entering the Workstation Pro license key ===<br />
<br />
==== From terminal ====<br />
<br />
# /usr/lib/vmware/bin/vmware-vmx-debug --new-sn XXXXX-XXXXX-XXXXX-XXXXX-XXXXX<br />
<br />
Where {{ic|XXXXX-XXXXX-XXXXX-XXXXX-XXXXX}} is your license key.<br />
<br />
{{Note|The {{ic|-debug}} binary informs the user of an incorrect license.}}<br />
<br />
==== From GUI ====<br />
<br />
If the above does not work, you can try:<br />
<br />
# /usr/lib/vmware/bin/vmware-enter-serial<br />
<br />
=== Extracting the VMware BIOS ===<br />
<br />
$ objcopy /usr/lib/vmware/bin/vmware-vmx -O binary -j bios440 --set-section-flags bios440=a bios440.rom.Z<br />
$ perl -e 'use Compress::Zlib; my $v; read STDIN, $v, '$(stat -c%s "./bios440.rom.Z")'; $v = uncompress($v); print $v;' < bios440.rom.Z > bios440.rom<br />
<br />
=== Extracting the installer ===<br />
<br />
To view the contents of the installer {{ic|.bundle}}:<br />
<br />
$ sh VMware-''edition''-''version''.''release''.''architecture''.bundle --extract ''/tmp/vmware-bundle/''<br />
<br />
==== Using the modified BIOS ====<br />
<br />
If and when you decide to modify the extracted BIOS you can make your virtual machine use it by moving it to {{ic|~/vmware/''Virtual_machine_name''}}:<br />
$ mv bios440.rom ~/vmware/''Virtual_machine_name''/<br />
<br />
then adding the name to the {{ic|''Virtual_machine_name''.vmx}} file:<br />
{{hc|~/vmware/''Virtual_machine_name''/''Virtual_machine_name''.vmx|2=bios440.filename = "bios440.rom"}}<br />
<br />
=== Enable 3D graphics on Intel and Optimus ===<br />
<br />
Some graphics drivers are blacklisted by default, due to poor and/or unstable 3D acceleration. After enabling ''Accelerate 3D graphics'', the log may show something like:<br />
<br />
Disabling 3D on this host due to presence of Mesa DRI driver. Set mks.gl.allowBlacklistedDrivers = TRUE to override.<br />
<br />
This means the following:<br />
<br />
{{hc|~/.vmware/preferences|2=<br />
mks.gl.allowBlacklistedDrivers = TRUE<br />
}}<br />
<br />
== Troubleshooting ==<br />
<br />
=== Kernel headers for version 4.x-xxxx were not found. If you installed them[...] ===<br />
<br />
Install the headers ({{Pkg|linux-headers}}).<br />
<br />
{{Note|Upgrading the kernel and the headers will require you to boot to the new kernel to match the version of the headers. This is a relatively common error.}}<br />
<br />
=== USB devices not recognized ===<br />
<br />
{{Tip|Also handled by {{AUR|vmware-patch}}.}}<br />
<br />
If not using the [[#systemd services|systemd service]] to automatically handle the services, you need to manually start the {{ic|vmware-usbarbitrator}} binary as root each time.<br />
<br />
To start:<br />
<br />
# vmware-usbarbitrator<br />
<br />
To stop:<br />
<br />
# vmware-usbarbitrator --kill<br />
<br />
=== Incorrect login/password when trying to access VMware remotely ===<br />
<br />
VMware Workstation provides the possibility to remotely manage Shared VMs through the {{ic|vmware-workstation-server}} service. However, this will fail with the error {{ic|"incorrect username/password"}} due to incorrect [[PAM]] configuration of the {{ic|vmware-authd}} service. To fix it, edit {{ic|/etc/pam.d/vmware-authd}} like this:<br />
<br />
{{hc|/etc/pam.d/vmware-authd|<br />
#%PAM-1.0<br />
auth ''required pam_unix.so''<br />
account ''required pam_unix.so''<br />
password ''required pam_permit.so''<br />
session ''required pam_unix.so''<br />
}}<br />
<br />
and restart the {{ic|vmware}} [[systemd]] service.<br />
<br />
Now you can connect to the server with the credentials provided during the installation.<br />
<br />
{{Note|{{Pkg|libxslt}} may be required for starting virtual machines.}}<br />
<br />
=== Issues with ALSA output ===<br />
<br />
[http://bankimbhavsar.blogspot.co.nz/2011/09/hd-audio-in-vmware-fusion-4-and-vmware.html To fix] sound quality issues or enabling proper HD audio output, first run:<br />
$ aplay -L<br />
<br />
If interested in playing 5.1 ''surround sound'' from the guest, look for {{ic|1=surround51:CARD=''vendor_name'',DEV=''num''}}, if experiencing quality issues, look for {{ic|1=front:CARD=''vendor_name'',DEV=''num''}}. Finally put the name in the {{ic|.vmx}}:<br />
<br />
{{hc|~/vmware/''Virtual_machine_name''/''Virtual_machine_name''.vmx|2=<br />
sound.fileName=''"surround51:CARD=Live,DEV=0"''<br />
sound.autodetect=''"FALSE"''<br />
}}<br />
<br />
[[Advanced_Linux_Sound_Architecture#OSS_compatibility|OSS emulation]] should also be disabled.<br />
<br />
=== Kernel-based Virtual Machine (KVM) is running ===<br />
<br />
To disable {{ic|KVM}} on boot, you can use something like:<br />
<br />
{{hc|/etc/modprobe.d/vmware.conf|<br />
blacklist kvm<br />
blacklist kvm-amd # For AMD CPUs<br />
blacklist kvm-intel # For Intel CPUs<br />
}}<br />
<br />
=== Module Issues ===<br />
<br />
==== /dev/vmmon not found ====<br />
<br />
The full error is:<br />
<br />
Could not open /dev/vmmon: No such file or directory.<br />
Please make sure that the kernel module 'vmmon' is loaded.<br />
<br />
This means that at least the {{ic|vmmon}} module is not loaded. See the [[#systemd services]] section for automatic loading.<br />
<br />
==== /dev/vmci not found ====<br />
<br />
The full error is:<br />
<br />
Failed to open device "/dev/vmci": No such file or directory<br />
Please make sure that the kernel module 'vmci' is loaded.<br />
<br />
Try to recompile VMware kernel modules with:<br />
<br />
# vmware-modconfig --console --install-all<br />
<br />
==== Kernel modules fail to build after Linux 4.9 ====<br />
<br />
On VMware Workstation Pro 12.5.2, the module source needs to be modified to be successfully compiled under kernel 4.9 [http://rglinuxtech.com/?p=1847].<br />
<br />
# cd /usr/lib/vmware/modules/source<br />
# tar xf vmmon.tar<br />
# mv vmmon.tar vmmon.old.tar<br />
# sed -i 's/uvAddr, numPages, 0, 0/uvAddr, numPages, 0/g' vmmon-only/linux/hostif.c<br />
# tar cf vmmon.tar vmmon-only<br />
# rm -r vmmon-only<br />
<br />
# tar xf vmnet.tar<br />
# mv vmnet.tar vmnet.old.tar<br />
# sed -i 's/addr, 1, 1, 0/addr, 1, 0/g' vmnet-only/userif.c<br />
# tar cf vmnet.tar vmnet-only<br />
# rm -r vmnet-only<br />
<br />
==== vmware modules fail to build on kernel 4.11+ and GCC 7 ====<br />
<br />
Running vmware-modconfig yields:<br />
Failed to get gcc information.<br />
<br />
The actual error can be found in the logs:<br />
modconfig| I125: Got gcc version "6.3.1".<br />
modconfig| I125: GCC major version 6 does not match Kernel GCC major version 7.<br />
modconfig| I125: The GCC compiler "/sbin/gcc" cannot be used for the target kernel.<br />
<br />
To skip the check, use this workaround:<br />
# sed 's/gcc version 6/gcc version 7/' /proc/version > /tmp/version<br />
# mount --bind /tmp/version /proc/version<br />
# vmware-modconfig --console --install-all<br />
# umount /proc/version && rm /tmp/version<br />
<br />
==== Kernel modules fail to build on Linux 4.13 ====<br />
<br />
On VMware Workstation Pro 12.5.7, the module source needs to be modified to be successfully compiled under kernel 4.13 [https://communities.vmware.com/thread/568089].<br />
<br />
# cd /usr/lib/vmware/modules/source<br />
# tar xf vmnet.tar<br />
# mv vmnet.tar vmnet.old.tar<br />
# sed -i 's/atomic_inc(&clone->users);/clone = skb_get(clone);/g' vmnet-only/bridge.c<br />
# tar cf vmnet.tar vmnet-only<br />
# rm -r vmnet-only<br />
<br />
==== Failed to lock page for guest RAM on Linux 4.13 ====<br />
<br />
VMware Workstation Pro versions from 12.5 up to 14.0 can lock up both guest and host systems while running a virtual machine under kernel 4.13 without a patch to the {{ic|vmmon}} module due to the virtual machine being unable to reserve memory on the host machine. The VM-specific log files show the following errors:<br />
<br />
I125: [msg.monitorInit.mem.lockFailed] The virtual machine is unable to reserve memory.<br />
...<br />
E105: PANIC: Failed to lock page for guest RAM!<br />
<br />
A collection of patches needed for the VMware host modules to build against recent kernels can be found from the following GitHub repository, [https://github.com/mkubecek/vmware-host-modules/tree/b50848c985f1a6c0a341187346d77f0119d0a835 vmware-host-modules].<br />
<br />
=== Installer Fails to Start ===<br />
<br />
If you just get back to the prompt when opening the {{ic|.bundle}}, then you probably have a deprecated or broken version of the VMware installer and it should removed (you may also refer to the [[#Uninstallation|uninstallation]] section of this article):<br />
# rm -r /etc/vmware-installer/<br />
<br />
==== User interface initialization failed ====<br />
<br />
You may also see an error like this:<br />
<br />
Extracting VMware Installer...done.<br />
No protocol specified<br />
No protocol specified<br />
User interface initialization failed. Exiting. Check the log for details.<br />
<br />
This can be fixed by either installing the {{AUR|ncurses5-compat-libs}} dependency or temporarily allowing root access to X:<br />
<br />
$ xhost +<br />
$ sudo ./<vmware filename>.bundle<br />
$ xhost -<br />
<br />
=== VMware Fails to Start ===<br />
<br />
==== Segmentation fault at startup due to old Intel microcode ====<br />
<br />
Old Intel microcode may result in the following kind of segmentation fault at startup:<br />
<br />
/usr/bin/vmware: line 31: 4941 Segmentation fault "$BINDIR"/vmware-modconfig --appname="VMware Workstation" --icon="vmware-workstation"<br />
<br />
See [[Microcode]] for how to update the microcode.<br />
<br />
==== vmplayer/vmware fails to start from version 12.5.4 ====<br />
<br />
As per [https://bbs.archlinux.org/viewtopic.php?id=224667] the temporary workaround is to downgrade the package {{ic|libpng}} to version 1.6.28-1 and keep it in the {{ic|IgnorePkg}} parameter in [[Pacman#Skip_package_from_being_upgraded|/etc/pacman.conf]].<br />
<br />
An easier workaround is to make VMWare use the system's version of zlib instead of its own one:<br />
<br />
# cd /usr/lib/vmware/lib/libz.so.1<br />
# mv libz.so.1 libz.so.1.old<br />
# ln -s /usr/lib/libz.so.1 .<br />
<br />
==== vmplayer/vmware fails to start from version 12.5.3 to version 12.5.5 ====<br />
<br />
It seems to be a problem with the file {{ic|/usr/lib/vmware/lib/libstdc++.so.6/libstdc++.so.6}}, missing {{ic|CXXABI_1.3.8}}.<br />
<br />
If the system have installed {{pkg|gcc-libs}} or {{pkg|gcc-libs-multilib}}, that library is already installed. Therefore, it's possible to remove that file and vmplayer will use the one provided by gcc-libs instead. As root do:<br />
<br />
# mv /usr/lib/vmware/lib/libstdc++.so.6/libstdc++.so.6 /usr/lib/vmware/lib/libstdc++.so.6/libstdc++.so.6.bak<br />
<br />
Also there is a workaround: <br />
<br />
# export VMWARE_USE_SHIPPED_LIBS='yes'<br />
<br />
==== vmware 12 process terminates immediately after start, no GUI is launched ====<br />
<br />
Registered bug at [https://bugs.mageia.org/show_bug.cgi?id=9739 Mageia], but it seems that there are no error messages shown in terminal with arch. When inspecting the logs, which are in {{ic|/tmp/vmware-<id>}}, there are {{ic|VMWARE_SHIPPED_LIBS_LIST is not set}}, {{ic|VMWARE_SYSTEM_LIBS_LIST is not set}}, {{ic|VMWARE_USE_SHIPPED_LIBS is not set}}, {{ic|VMWARE_USE_SYSTEM_LIBS is not set}} issues. Process simply terminates with {{ic|Unable to execute /usr/lib/vmware/bin/vmware-modconfig.}} after vmware or vmplayer is executed. Solution is the same, as root do:<br />
<br />
# mv /etc/vmware/icu/icudt44l.dat /etc/vmware/icu/icudt44l.dat.bak<br />
<br />
Also there is a workaround: <br />
<br />
# export VMWARE_USE_SHIPPED_LIBS='yes'<br />
<br />
If it happens on '''12.5.7''' and moving {{ic|icudt44l.dat}} or setting {{ic|VMWARE_USE_SHIPPED_LIBS}} to {{ic|yes}} has no effect or if executing {{ic|vmplayer}} on terminal shows no message, try as root:<br />
<br />
# cd /usr/lib/vmware/lib/libz.so.1<br />
# mv libz.so.1 libz.so.1.old<br />
# ln -s /usr/lib/libz.so.1 .<br />
<br />
Despite setting the VMWARE_USE_SHIPPED_LIBS variable, VMWare may still fail to find certain libraries. An example is the libfontconfig.so.1 library. Check vmware logs in the tmp directory to see which libraries are still not found. Copy them to the appropriate path with libraries existing on the system:<br />
<br />
# cp /usr/lib/libfontconfig.so.1 /usr/lib/vmware/lib/libfontconfig.so.1/<br />
<br />
Instead of copying all these files manually, you may want to try exporting an additional setting:<br />
<br />
# export VMWARE_USE_SYSTEM_LIBS='yes'<br />
<br />
=== Guest Issues ===<br />
<br />
==== Unable to download VMware Tools for Guests ====<br />
<br />
To download the tools manually, visit the [http://softwareupdate.vmware.com/cds/vmw-desktop/ VMware repository].<br />
<br />
Navigate to: "''application name'' / ''version'' / ''build ID'' / linux / packages/" and download the appropriate Tools.<br />
<br />
Extract with:<br />
<br />
$ tar -xvf vmware-tools-''name''-''version''-''buildID''.x86_64.component.tar<br />
<br />
And install using the VMware installer:<br />
<br />
# vmware-installer --install-component=''/path/''vmware-tools-''name''-''version''-''buildID''.x86_64.component<br />
<br />
If the above does not work, try installing {{AUR|ncurses5-compat-libs}}.<br />
<br />
==== Guests have incorrect system clocks or are unable to boot: "[...]timeTracker_user.c:234 bugNr=148722" ====<br />
<br />
This is due to [http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&externalId=1591 incomplete] support of power management features ([[Wikipedia:Intel speedstep|Intel SpeedStep]] and [[Wikipedia:AMD powernow|AMD PowerNow!]]/[[Wikipedia:Cool'n'Quiet|Cool'n'Quiet]]) in VMware Linux that vary the CPU frequency. In March 2012, with the release of [https://projects.archlinux.org/svntogit/packages.git/commit/trunk/config.x86_64?h=packages/linux&id=9abe018d91a5d8c3af7523d30b8aa73f86b680be linux 3.3-1] the maximum frequency [[CPU frequency governors|Performance]] governor was replaced with the dynamic ''Ondemand''. When the host CPU frequency changes, the Guest system clock runs too quickly or too slowly, but may also render the whole Guest unbootable.<br />
<br />
To prevent this, the maximum host CPU frequency can be specified, and [[Wikipedia:Time Stamp Counter|Time Stamp Counter]] (TSC) disabled, in the global configuration:<br />
<br />
{{hc|/etc/vmware/config|2=<br />
host.cpukHz = "X" # The maximum speed in KHz, e.g. 3GHz is "3000000".<br />
host.noTSC = "TRUE" # Keep the Guest system clock accurate even when<br />
ptsc.noTSC = "TRUE" # the time stamp counter (TSC) is slow.<br />
}}<br />
<br />
{{Tip|To periodically correct the time (once per minute), in the ''Options'' tab of VMware Tools, enable: ''"Time synchronization between the virtual machine and the host operating system"''.}}<br />
<br />
==== Networking on Guests not available after system restart ====<br />
<br />
This is likely due to the {{ic|vmnet}} module not being loaded [http://www.linuxquestions.org/questions/slackware-14/could-not-connect-ethernet0-to-virtual-network-dev-vmnet8-796095/]. See also the [[#systemd services]] section for automatic loading.<br />
<br />
== Uninstallation ==<br />
<br />
To uninstall VMware you need the product name (either {{ic|vmware-workstation}} or {{ic|vmware-player}}). To list all the installed products:<br />
$ vmware-installer -l<br />
<br />
and uninstall with ({{ic|--required}}&nbsp;skips the confirmation):<br />
# vmware-installer -u ''product'' --required<br />
<br />
{{Tip|Use {{ic|--console}} for the console UI.}}<br />
<br />
Remember to also [[disable]] and remove the services:<br />
# rm /etc/systemd/system/vmware.service<br />
# rm /etc/systemd/system/vmware-usbarbitrator.service<br />
<br />
You may also want to have a look at the module directories in {{ic|/usr/lib/modules/''kernel_name''/misc/}} for any leftovers, and remove {{ic|/etc/init.d/}} if now empty.</div>J!PRAhttps://wiki.archlinux.org/index.php?title=VMware/Install_Arch_Linux_as_a_guest&diff=444247VMware/Install Arch Linux as a guest2016-08-02T11:26:43Z<p>J!PRA: /* Drag and drop, copy/paste */ A more specific instruction to get this feature working on Arch.</p>
<hr />
<div>[[Category:Getting and installing Arch]]<br />
[[Category:Hypervisors]]<br />
[[es:VMware/Installing Arch as a guest]]<br />
[[ja:VMware に Arch Linux をインストール]]<br />
[[nl:VMware/Installing Arch as a guest]]<br />
[[zh-cn:VMware/Installing Arch as a guest]]<br />
{{Related articles start}}<br />
{{Related|VMware}}<br />
{{Related|Installing VMWare vCLI}}<br />
{{Related articles end}}<br />
This article is about installing Arch Linux in a [[VMware]] product, such as [http://www.vmware.com/products/player/ Player (Plus)], [http://www.vmware.com/products/fusion/ Fusion] or [http://www.vmware.com/products/workstation/ Workstation].<br />
<br />
== In-kernel drivers ==<br />
<br />
*{{ic|vmw_balloon}} - The physical memory management driver. It acts like a "balloon" that can be inflated to reclaim physical pages by reserving them in the guest and invalidating them in the monitor, freeing up the underlying machine pages so they can be allocated to other guests. It can also be deflated to allow the guest to use more physical memory. Deallocated Virtual Machine memory can be reused in the host without terminating the guest.<br />
*{{ic|vmw_pvscsi}} - For VMware's Paravirtual SCSI (PVSCSI) HBA.<br />
*{{ic|vmw_vmci}} - The Virtual Machine Communication Interface. It enables high-speed communication between host and guest in a virtual environment via the VMCI virtual device.<br />
*{{ic|vmwgfx}} - For 3D acceleration. This is a KMS enabled DRM driver for the VMware SVGA2 virtual hardware.<br />
*{{ic|vmxnet3}} - For VMware's vmxnet3 virtual ethernet NIC.<br />
* a fuse-based hgfs implementation has been added to {{ic|open-vm-tools}} 10.0+ and is supported from kernel version 4.0+.<br />
{{Expansion|1=The {{ic|vsock}} and {{ic|vmw_vsock_vmci_transport}} drivers need a better description: When are they needed?].}}<br />
These drivers are only needed if you are running Arch Linux on a hypervisor like [http://www.vmware.com/products/vsphere-hypervisor VMware vSphere Hypervisor]<br />
*{{ic|vsock}} - The Virtual Socket Protocol. It is similar to the TCP/IP socket protocol, allowing communication between Virtual Machines and hypervisor or host.<br />
*{{ic|vmw_vsock_vmci_transport}} - Implements a VMCI transport for Virtual Sockets.<br />
<br />
{{Note|Arch's [[Udev]] auto-detects and enables a few of these modules. Additional modules, such as {{ic|vmw_balloon}}, may need to be added to your [[Mkinitcpio]]'s {{ic|MODULES}} list. For example:<br />
{{hc| # cat /etc/mkinitcpio.conf|output=<br />
...<br />
MODULES="... vmw_balloon vmw_pvscsi vsock vmw_vsock_vmci_transport ..."}}<br />
<br />
Make sure to rebuild with:<br />
# mkinitcpio -p linux<br />
<br />
Some modules, such as the legacy {{ic|vmhgfs}} shared folder module, will require additional work to manually {{ic|compile}} and systemd {{ic|enable}} in order to function properly.<br />
<br />
}}<br />
<br />
== VMware Tools versus Open-VM-Tools ==<br />
<br />
In 2007, VMware released large partitions of the [http://kb.vmware.com/kb/340 VMware Tools] under the LGPL as [http://sourceforge.net/projects/open-vm-tools/ Open-VM-Tools]. The official Tools are not available [http://packages.vmware.com/tools/esx/latest/repos/index.html separately] for Arch Linux.<br />
<br />
Originally, VMware Tools provided the best drivers for network and storage, combined with the functionality for other features such as time synchronization. However, for quite a while now the drivers for the network/SCSI adapter are part of the Linux kernel, and VMware Tools is only needed for extra features like Unity mode.<br />
<br />
Both VMware Tools and Open-VM-Tools require the installation of {{Pkg|xf86-video-vmware}}.<br />
<br />
== Open-VM-Tools ==<br />
<br />
=== Utilities ===<br />
<br />
The {{Pkg|open-vm-tools}} package comes namely with the following utilities:<br />
<br />
* {{ic|vmtoolsd}} - Service responsible for the Virtual Machine status report.<br />
* {{ic|vmware-checkvm}} - Tool to check whether a program is running in the guest.<br />
* {{ic|vmware-toolbox-cmd}} - Tool to obtain Virtual Machine information of the host.<br />
* {{ic|vmware-user-suid-wrapper}} - Tool to enable clipboard sharing (copy/paste) between host and guest.<br />
* {{ic|vmware-vmblock-fuse}} - Filesystem utility. Enables drag & drop functionality between host and guest through [[Wikipedia:Filesystem in Userspace|FUSE]] (Filesystem in Userspace).<br />
* {{ic|vmware-xferlogs}} - Dumps logging/debugging information to the Virtual Machine logfile.<br />
* {{ic|vmhgfs-fuse}} - Utility for mounting vmhgfs shared folders.<br />
<br />
=== Modules ===<br />
<br />
The {{AUR|open-vm-tools-dkms}} package comes with the following modules:<br />
<br />
*{{ic|vmhgfs}} - Legacy filesystem driver. Enables legacy sharing implementation between host and guest.<br />
*{{ic|vmxnet}} - for the old VMXNET network adapter.<br />
<br />
=== Installation ===<br />
<br />
[[Install]] {{Pkg|open-vm-tools}} from the [[official repositories]]. If you want to use shared folders you also need to install {{AUR|open-vm-tools-dkms}} from the [[AUR]].<br />
<br />
Open-VM-Tools reads version information from {{ic|/etc/arch-release}}, which is empty:<br />
<br />
# cat /proc/version > /etc/arch-release<br />
<br />
==== Multi-User Target ====<br />
If you're booting into the {{ic|multi-user.target}} then follow the steps mentioned here. If you're booting into the graphical.target then please skip this section and read the instructions for the {{ic|graphical.target}}.<br />
<br />
[[Start]] {{ic|vmtoolsd.service}} and enable it on boot, if desired.<br />
<br />
{{Note|1=There is a bug in {{ic|vmtoolsd}}, where the service is not able to properly shut down and hangs for 60 seconds. A quick workaround is described in [https://bbs.archlinux.org/viewtopic.php?pid=1206006#p1206006 the forums].}}<br />
<br />
==== Graphical Target ====<br />
If you are booting into a graphical environment then follow these steps to enable the VMware tools.<br />
<br />
Enable the {{ic|vmware-vmblock-fuse.service}} Systemd service.<br />
<br />
If you have installed {{AUR|open-vm-tools-dkms}} then you should enable the {{ic|dkms.service}} Systemd service which automatically recompiles the kernel modules after a kernel update.<br />
<br />
Try to install {{Pkg|gtkmm}} manually if it does not work properly.<br />
<br />
=== Resolution update on window resize ===<br />
[https://bbs.archlinux.org/viewtopic.php?pid=1081629#p1081629 Start] {{ic|/usr/bin/vmware-user-suid-wrapper}} from within X.<br />
<br />
== Official VMware Tools ==<br />
<br />
=== Modules ===<br />
<br />
*{{ic|vmblock}} - Filesystem driver. Enables drag & drop functionality between host and guest ([https://www.mail-archive.com/open-vm-tools-devel@lists.sourceforge.net/msg00213.html superseded] by the {{ic|vmware-vmblock-fuse}} utility).<br />
*{{ic|vmci}} - High performance communication interface between host and guest.<br />
*{{ic|vmmon}} - Virtual Machine Monitor.<br />
*{{ic|vmnet}} - Networking driver.<br />
*{{ic|vsock}} - VMCI sockets.<br />
<br />
{{Note|There is no module for {{ic|vmware-vmblock-fuse}}, and {{ic|vmblock}} has been removed from the kernel unless you disable {{ic|fuse}}. Instead, systemd services need to be {{ic|enabled}} to allow these functions. See instructions below.<br />
}}<br />
<br />
=== Installation (from guest) ===<br />
<br />
Install the dependencies: {{Grp|base-devel}} (for building), {{Pkg|net-tools}} (for {{ic|ifconfig}}, used by the installer) and {{Pkg|linux-headers}} (for kernel headers).<br />
<br />
Then, create bogus init directories for the installer:<br />
# for x in {0..6}; do mkdir -p /etc/init.d/rc${x}.d; done<br />
<br />
The installer can then be mounted:<br />
# mount /dev/cdrom /mnt<br />
<br />
Extracted (e.g. to {{ic|/root}}):<br />
# tar xf /mnt/VMwareTools*.tar.gz -C /root<br />
<br />
And started:<br />
# perl /root/vmware-tools-distrib/vmware-install.pl<br />
<br />
You can safely ignore the following build failures:<br />
<br />
* VMNEXT 3 virtual network card<br />
* "Warning: This script could not find mkinitrd or update-initramfs and cannot remake the initrd file!"<br />
* Fuse components not found on the system.<br />
<br />
Enable {{ic|vmware-vmblock-fuse}} systemd services:<br />
<br />
# abs community/open-vm-tools<br />
# cp /var/abs/community/open-vm-tools/vmware-* /usr/lib/systemd/system<br />
# systemctl enable vmware-vmblock-fuse.service<br />
<br />
Reboot the Virtual Machine:<br />
<br />
# systemctl reboot<br />
<br />
Log in and start the VMware Tools:<br />
<br />
# /etc/init.d/rc6.d/K99vmware-tools start<br />
<br />
{{Tip|There is also a [https://github.com/rasa/vmware-tools-patches project] in GitHub trying to automate all this.}}<br />
<br />
== Xorg configuration ==<br />
<br />
{{Note|To use Xorg in a Virtual Machine, a minimum of 32MB VGA memory is needed.}}<br />
<br />
Install the dependencies: {{Pkg|xf86-input-vmmouse}}, {{Pkg|xf86-video-vmware}}, and {{Pkg|mesa}}.<br />
<br />
If booting into a {{ic|graphical target}} you are almost done. {{ic|/etc/xdg/autostart/vmware-user.desktop}} will get started which will setup most of the things needed to work with the Virtual Machine.<br />
<br />
However, if booting into {{ic|multi-user.target}} or using an uncommon setup (e.g. multiple monitors), then {{ic|vmtoolsd.service}} needs to be [[enable]]d. In addition to this, edit:<br />
<br />
{{hc|head=/etc/X11/Xwrapper.config|output=<br />
needs_root_rights=yes<br />
}}<br />
<br />
to give permission for loading drivers.<br />
<br />
== Tips and tricks ==<br />
<br />
<br />
=== Shared Folders with {{ic|vmhgfs-fuse}} utility ===<br />
<br />
{{Note|This functionality is only available with {{ic|open-vm-tools}} v.10.x and kernel 4.x onwards and with VMware Workstation and Fusion.}}<br />
<br />
Share a folder by selecting ''Edit virtual machine settings > Options > Shared Folders > Always enabled'', and creating a new share.<br />
<br />
You should be able to see the shared folders by running vmware-hgfsclient command:<br />
<br />
$ vmware-hgfsclient<br />
<br />
Now you can mount the folder:<br />
<br />
# mkdir <shared folders root directory><br />
# vmhgfs-fuse -o allow_other -o auto_unmount .host:/''<shared_folder>'' ''<shared folders root directory>''<br />
<br />
Other {{ic|vmhgfs-fuse}} mount options can be viewed by using the {{ic|-h}} input flag:<br />
<br />
# vmhgfs-fuse -h<br />
<br />
===== fstab =====<br />
<br />
Add a rule for each share:<br />
<br />
{{hc|/etc/fstab|<br />
.host:/''<shared_folder>'' ''/home/user1/shares'' fuse.vmhgfs-fuse defaults 0 0<br />
}}<br />
<br />
Create and mount the Shared Folders:<br />
<br />
# mkdir /home/user1/shares<br />
# mount /home/user1/shares<br />
<br />
===== Systemd =====<br />
<br />
Create the following {{ic|.service}}:<br />
<br />
{{hc|head=/etc/systemd/system/''<shared folders root directory>''-''<shared_folder>''.service|output=<br />
[Unit]<br />
Description=Load VMware shared folders<br />
Requires=vmware-vmblock-fuse.service<br />
After=vmware-vmblock-fuse.service<br />
ConditionPathExists=.host:/''<shared_folder>''<br />
ConditionVirtualization=vmware<br />
<br />
[Service]<br />
Type=oneshot<br />
RemainAfterExit=yes<br />
ExecStart=<br />
ExecStart=/usr/bin/vmhgfs-fuse -o allow_other -o auto_unmount .host:/''<shared_folder>'' ''<shared folders root directory>''<br />
<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
}}<br />
<br />
Make sure the {{ic|''<shared folders root directory>''}} folder exists on your system. If this folder does not exist then you have to create it as the systemd service depends on it:<br />
<br />
# mkdir -p ''<shared folders root directory>''<br />
<br />
[[Enable]] the {{ic|<shared folders root directory>-<shared_folder>.service}} mount target.<br />
<br />
If you want to mount all shared folders automatically then omit ''<shared_folder>''.<br />
<br />
=== Legacy Shared Folders with vmhgfs module ===<br />
<br />
{{Note|This functionality is only available in VMware Workstation and Fusion}}<br />
<br />
Share a folder by selecting ''Edit virtual machine settings > Options > Shared Folders > Always enabled'', and creating a new share.<br />
<br />
Make sure the {{ic|vmhgfs}} driver is loaded:<br />
<br />
# modprobe vmhgfs<br />
<br />
You should be able to see the shared folders by running vmware-hgfsclient command:<br />
<br />
$ vmware-hgfsclient<br />
<br />
Now you can mount the folder:<br />
<br />
# mkdir /home/user1/shares<br />
# mount -n -t vmhgfs .host:/''<shared_folder>'' /home/user1/shares<br />
<br />
==== Enable at boot ====<br />
<br />
Edit your {{ic|mkinitcpio.conf}} like this:<br />
{{hc| # cat /etc/mkinitcpio.conf|output=<br />
...<br />
MODULES="... vmhgfs"<br />
...<br />
}}<br />
and then update your ramdisk:<br />
# mkinitcpio -p linux<br />
<br />
===== fstab =====<br />
<br />
Add a rule for each share:<br />
<br />
{{hc|/etc/fstab|<br />
.host:/''<shared_folder>'' ''/home/user1/shares'' vmhgfs defaults 0 0<br />
}}<br />
<br />
Create and mount the Shared Folders:<br />
<br />
# mkdir /home/user1/shares<br />
# mount /home/user1/shares<br />
<br />
===== Systemd =====<br />
<br />
For shared folders to be working you need to have loaded the {{ic|vmhgfs}} driver. Simply create the following {{ic|.service}}s:<br />
<br />
{{hc|head=/etc/systemd/system/''<shared folders root directory>''-''<shared_folder>''.mount|output=<br />
[Unit]<br />
Description=Load VMware shared folders<br />
ConditionPathExists=.host:/''<shared_folder>''<br />
ConditionVirtualization=vmware<br />
<br />
[Mount]<br />
What=.host:/''<shared_folder>''<br />
Where=''<shared folders root directory>''/''<shared_folder>''<br />
Type=vmhgfs<br />
Options=defaults,noatime<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
}}<br />
<br />
{{hc|head=/etc/systemd/system/''<shared folders root directory>''-''<shared_folder>''.automount|output=<br />
[Unit]<br />
Description=Load VMware shared folders<br />
ConditionPathExists=.host:/''<shared_folder>''<br />
ConditionVirtualization=vmware<br />
<br />
[Automount]<br />
Where=''<shared folders root directory>''/''<shared_folder>''<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
}}<br />
<br />
Make sure the {{ic|''<shared folders root directory>''}} folder exists on your system. If this folder does not exist then you have to create it as the systemd scripts depend on it:<br />
<br />
# mkdir -p ''<shared folders root directory>''<br />
<br />
[[Enable]] the {{ic|mnt-hgfs.automount}} mount target.<br />
<br />
If you want to mount all shared folders automatically then omit ''<shared_folder>''.<br />
<br />
==== Prune mlocate DB ====<br />
<br />
When using [[mlocate]], it is useless to index the shared directories in the {{ic|locate DB}}. Therefore, add the directories to {{ic|PRUNEPATHS}} in {{ic|/etc/updatedb}}.<br />
<br />
=== 3D Acceleration ===<br />
<br />
If not selected at guest creation time, 3D Acceleration can be enabled in: ''Edit virtual machine settings > Hardware > Display > Accelerate 3D graphics''.<br />
<br />
==== OpenGL and GLSL support ====<br />
<br />
It is possible to update OpenGL and GLSL with new kernel modules, overriding Arch-controlled versions. <br />
<br />
At the time of this writing, OpenGL 3.3 and GLSL 3.30 can be supported. See https://bbs.archlinux.org/viewtopic.php?id=202713 for more details.<br />
<br />
=== Time synchronization ===<br />
<br />
Configuring time synchronization in a Virtual Machine is important; fluctuations are bound to occur more easily in a guest, compared to a physical host. This is mostly due to the CPU being shared by more than one guest.<br />
<br />
There are 2 options to set up time synchronization: the host or an external source.<br />
<br />
==== Host machine as time source ====<br />
<br />
To use the host as a time source, ensure {{ic|vmtoolsd.service}} is [[start]]ed. Then enable the time synchronization:<br />
<br />
# vmware-toolbox-cmd timesync enable<br />
<br />
To synchronize the guest after suspending the host:<br />
<br />
# hwclock --hctosys --localtime<br />
<br />
==== External server as time source ====<br />
<br />
See [[NTP]].<br />
<br />
=== Performance Tips ===<br />
<br />
{{Merge|VMware|Applies to all sort of VMs, particularly the last section}}<br />
<br />
You can try the followings tips to improve the performance of your virtual machine.<br />
<br />
==== Paravirtual SCSI adapter ====<br />
<br />
[http://kb.vmware.com/kb/1010398 VMware Paravirtual SCSI (PVSCSI) adapters] are high-performance storage adapters for VMware ESXi that can result in greater throughput and lower CPU utilization. PVSCSI adapters are best suited for environments, where hardware or applications drive a very high amount of I/O throughput.<br />
<br />
The SCSI adapter type {{ic|VMware Paravirtual}} is available in the Virtual Machine settings.<br />
<br />
If you do not have these settings in your virtual machine configuration you can still use the paravirtual SCSI adapter like this:<br />
Make sure that the paravirtual SCSI adapter is included in your kernel image. For this you have to modify your {{ic|mkinitcpio.conf}}<br />
{{hc| cat /etc/mkinitcpio.conf|output=<br />
{{ic|...}}<br />
MODULES="{{ic|...}} vmw_pvscsi"<br />
{{ic|...}}<br />
}}<br />
Rebuild your ramdisk:<br />
# mkinitcpio -p linux<br />
Shutdown your virtual machine and change the SCSI adapter your {{ic|.vmx}} to the following:<br />
scsi0.virtualDev = "pvscsi"<br />
<br />
==== Paravirtual Network Adapater ====<br />
<br />
VMware offers [http://kb.vmware.com/kb/1001805 multiple network adapters] for the guest OS. The default adapter used is usually the {{ic|e1000}} adapter, which emulates an Intel 82545EM Gigabit Ethernet NIC. This Intel adapter is generally compatible with the built-in drivers across most operating systems, include Arch.<br />
<br />
For [http://rickardnobel.se/vmxnet3-vs-e1000e-and-e1000-part-1/ much more performance and additional features] (such as multiqueue support), the VMware native {{ic|vmxnet3}} network adapter can be used.<br />
<br />
Arch has the {{ic|vmxnet3}} kernel module available with a default install. Once enabled in [[mkinitcpio]] (or if it is auto-detected, check by running {{ic|<nowiki>$ lsmod | grep vmxnet3</nowiki>}} to see if it is loaded), shutdown and change the network adapter type in your ''.vmx'' file to the following:<br />
<br />
ethernet0.virtualDev = "vmxnet3"<br />
<br />
After changing network adapters, you will need to update your network and [[dhcpcd]] settings to use the new adapter name and mac address.<br />
<br />
# dhcpcd ''new_interface_name''<br />
# systemctl enable dhcpcd@''new_interface_name''.service<br />
<br />
You can get the new interface name by running {{ic|ip link}}<br />
<br />
==== Virtual Machine Settings ====<br />
These settings could help improve the responsiveness of your virtual machine by reducing disk I/O at the expense of using more host memory. [http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1008885 Vmware's KB1008885] provides the following optimizations:<br />
<br />
mainMem.useNamedFile = "FALSE"<br />
MemTrimRate = "0"<br />
prefvmx.useRecommendedLockedMemSize = "TRUE"<br />
MemAllowAutoScaleDown = "FALSE"<br />
sched.mem.pshare.enable = "FALSE"<br />
<br />
* '''mainMem.useNamedFile''': This will only work for Windows hosts and you can use this parameter if you experience high disk activity on shutting down the virtual machine. This will prevent VMware from creating a ''.vmem'' file. Use ''mainmem.backing = "swap"'' on Linux hosts instead.<br />
* '''MemTrimRate''': This setting prevents that memory whichc was released by the guest is released on the host also.<br />
* '''prefvmx.useRecommendedLockedMemSize''': Unfortunately there does not seem to exist a proper explanation for this setting. This setting seems to prevent the host system from swapping parts of the guest memory.<br />
* '''MemAllowAutoScaleDown''': Prevents that VMware adjusts the memory size of the virtual machine in case it cannot allocate enough memory.<br />
* '''sched.mem.pshare.enable''': If several virtual machines are running simultaneously VMware will try to locate identical pages and share these between the virtual machines. This can be very I/O intensive.<br />
<br />
The following settings could also be set in the configuration dialog of VMware Workstation(''Edit -> Preferences... -> Memory/Priority'').<br />
prefvmx.minVmMemPct = "100"<br />
mainMem.partialLazySave = "FALSE"<br />
mainMem.partialLazyRestore = "FALSE"<br />
* '''prefvmx.minVmMemPct''': Sets amount of RAM in percent which should be reserved by the virtual machine on the host system. If you set this to a lower value it is possible to assign the virtual machine more memory than available in the host system. Be careful though in this case as this will most likely lead to excessive hard drive usage. If you have enough RAM then leave this value at 100.<br />
* '''mainMem.partialLazySave''' and '''mainMem.partialLazyRestore''': These two parameters will prevent the virtual machine from creating partial snapshots for suspends. When you use these parameters and you suspend your virtual machine it will take a little bit longer, but there should be less hard disk activity from VMware trying to store this information.<br />
<br />
== Troubleshooting ==<br />
<br />
=== Mouse problems ===<br />
<br />
The following problems may occur with mouse:<br />
<br />
*The automatic grab/ungrab feature will not automatically grab input when cursor enters the window<br />
*Input lag<br />
*Clicks are not registered in some applications<br />
*Mouse cursor jumps when entering/leaving virtual machine<br />
*Mouse position jumps to where it left the guest VM<br />
<br />
You can try to [[Remove]] the {{Pkg|xf86-input-vmmouse}} package. {{Pkg|xf86-input-vmmouse}} and {{Pkg|xf86-input-libinput}} should be sufficient for handling mouse and keyboard inputs.<br />
<br />
You can try to add these settings to your {{ic|.vmx}} configuration file ([https://forums.mageia.org/en/viewtopic.php?f=7&t=7977 Mouse position jumps to where it left the guest VM]):<br />
{{hc|~/vmware/''<Virtual Machine name>''/''<Virtual Machine name>''.vmx|2=<br />
mouse.vusb.enable = "TRUE"<br />
mouse.vusb.useBasicMouse = "FALSE"<br />
usb.generic.allowHID = "TRUE"<br />
<br />
VMware attempts to automatically optimize mouse for gaming. If experiencing problems, disabling it is recommended: ''Edit > Preferences > Input > Optimize mouse for games: Never''<br />
}}<br />
<br />
Alternatively, attempting to [http://www.spinics.net/lists/xorg/msg53932.html disable] the {{ic|catchall}} event in {{ic|60-libinput.conf}} may be needed:<br />
<br />
{{hc|/usr/share/X11/xorg.conf.d/60-libinput.conf|<br />
#Section "InputClass"<br />
# Identifier "libinput pointer catchall"<br />
# MatchIsPointer "on"<br />
# MatchDevicePath "/dev/input/event*"<br />
# Driver "libinput"<br />
#EndSection<br />
}}<br />
<br />
==== Missing buttons ====<br />
<br />
If not by default, all mouse buttons should be working after adding {{ic|1=[https://communities.vmware.com/thread/457313?start=15&tstart=0 mouse.vusb.useBasicMouse = "FALSE"]}} to the {{ic|.vmx}}.<br />
<br />
{{hc|~/vmware/''<Virtual Machine name>''/''<Virtual Machine name>''.vmx|2=<br />
mouse.vusb.useBasicMouse = "FALSE"<br />
}}<br />
<br />
=== Boot problems ===<br />
<br />
==== Slow boot time ====<br />
<br />
You may see the following errors if VMWare's memory hot-add feature is enabled.<br />
<br />
*add_memory failed<br />
*acpi_memory_enable_device() error<br />
<br />
Disable the memory hot-add feature by setting {{ic|1=mem.hotadd = "FALSE"}} to the {{ic|.vmx}}.<br />
<br />
{{hc|~/vmware/''<Virtual Machine name>''/''<Virtual Machine name>''.vmx|2=<br />
mem.hotadd = "FALSE"<br />
}}<br />
<br />
==== Shutdown/Reboot hangs ====<br />
<br />
Adjust the timeout for the vmtoolsd service (defaults to 90 seconds).<br />
<br />
{{hc|/etc/systemd/system/vmtoolsd.service.d/timeout.conf|2=<br />
[Service]<br />
TimeoutStopSec=1<br />
}}<br />
<br />
=== Autofit problems ===<br />
<br />
If VMWare is stretching instead of changing the resolution even with the system service enabled, you may need to add the modules to mkinitcpio.conf.<br />
<br />
{{hc|1=/etc/mkinitcpio.conf|2=<br />
MODULES="vsock vmw_vsock_vmci_transport vmw_balloon vmw_vmci vmwgfx"<br />
}}<br />
<br />
Do not forget to run:<br />
<br />
{{bc|# mkinitcpio -p linux}}<br />
<br />
=== Drag and drop, copy/paste ===<br />
<br />
The drag-and-drop (copy/paste) feature requires both {{Pkg|open-vm-tools}} and {{Pkg|gtkmm}} packages to be installed in order to work.<br />
<br />
{{ic|/etc/xdg/autostart/vmware-user.desktop}} may try to start ''vmware-user-suid-wrapper'' properly when you log in, but there is an unspecified relationship between it and ''gtkmm'' that causes it to silently fail. This is documented in {{Bug|43159}}.<br />
<br />
=== Problems when running as a shared VM on Workstation 11 ===<br />
<br />
Workstation 11 has a bug where vmware-hostd crashes if an Arch guest is running as a shared VM and vmtoolsd is running in the guest. A patch to open-vm-tools to work around the bug is [https://github.com/vmware/open-vm-tools/issues/31 here].<br />
<br />
=== Shared folder not mounted after system upgrade ===<br />
<br />
{{Style|Broken english}}<br />
<br />
This is probably only happens to {{Pkg|open-vm-tools}}. Since the vmhgfs module belongs to {{AUR|open-vm-tools-dkms}} which belongs to AUR repositiory, therefore would not get's updated automatically by the {{ic|pacman -Syu}} command. Always update the {{AUR|open-vm-tools-dkms}} manually before the system upgrade. <br />
<br />
If you happened to get in to this situation, you need to remove the automount for shared file system, upgrade and do a {{ic|mkinitcpio -p linux}}.</div>J!PRAhttps://wiki.archlinux.org/index.php?title=LibreOffice&diff=420965LibreOffice2016-02-16T17:26:52Z<p>J!PRA: /* Spell checking */ Replaced a link to a missing AUR package with a new working link.</p>
<hr />
<div>[[Category:Office]]<br />
[[ar:LibreOffice]]<br />
[[de:LibreOffice]]<br />
[[es:LibreOffice]]<br />
[[fr:LibreOffice]]<br />
[[it:LibreOffice]]<br />
[[ja:LibreOffice]]<br />
[[ru:LibreOffice]]<br />
[[zh-CN:LibreOffice]]<br />
{{Related articles start}}<br />
{{Related|Apache OpenOffice}}<br />
{{Related articles end}}<br />
<br />
From [http://www.libreoffice.org/ Home - LibreOffice]:<br />
<br />
:''LibreOffice is the free power-packed Open Source personal productivity suite for Windows, Macintosh and Linux, that gives you six feature-rich applications for all your document production and data processing needs: Writer, Calc, Impress, Draw, Math and Base. [http://www.libreoffice.org/get-help/ Support] and [http://www.libreoffice.org/get-help/documentation/ documentation] is free from our large, dedicated community of users, contributors and developers. [http://www.libreoffice.org/get-involved/ You, too, can also get involved!]''<br />
<br />
== LibreOffice in Arch Linux ==<br />
<br />
Official support for [[OpenOffice.org]] was dropped in favor of LibreOffice, the "Document Foundation" fork of the project, which also includes enhancements and additional features. See [https://mailman.archlinux.org/pipermail/arch-general/2011-March/018819.html Dropping Oracle OpenOffice (arch-general)].<br />
<br />
== Installation ==<br />
<br />
[[Install]] one of the following packages from the [[official repositories]]: <br />
<br />
* {{Pkg|libreoffice-fresh}} is the feature branch, with new program enhancements.<br />
* {{Pkg|libreoffice-still}} is the maintenance branch.<br />
<br />
{{Note|<br />
* In the past, the installation of at least 1 language pack was required. Currently, LibreOffice detects your system defaults; manual installation of a language pack is no longer mandatory. See [https://help.libreoffice.org/Scalc/cui/ui/optlanguagespage/ignorelanguagechange#User_interface help.libreoffice.org] for additional information.<br />
* If you want the UK-English language pack, install {{Pkg|libreoffice-fresh-en-GB}}, not {{Pkg|libreoffice-fresh-uk}} (Ukrainian) or {{Pkg|libreoffice-fresh-br}} (Breton)!<br />
* For SDK install {{Pkg|libreoffice-fresh-sdk}}.<br />
* For Qt and GTK+ visual integration, see [[#Theme]].<br />
}}<br />
<br />
Check the optional dependencies pacman displays. If you want to use LibreOffice Base, you must install a Java Runtime Environment: see [[Java]]. You may need {{AUR|hsqldb2-java}} to use [https://wiki.documentfoundation.org/Base#Java_and_HSQLDB some modules] in LibreOffice Base.<br />
<br />
== Theme ==<br />
{{Out of date|With version 5.0, GTK3 is the default, it isn't completely working however.}}<br />
LibreOffice includes support for [[GTK+]] and [[Qt]] theme integration. See also [[Uniform look for Qt and GTK applications]].<br />
<br />
As of LibreOffice v3.5.x toolkit libraries are checked in the following order:<br />
<br />
gtk > kde4 > generic<br />
<br />
To force the use of a certain VCL UI interface, use one of the {{ic|1=SAL_USE_VCLPLUGIN=gen}}, {{ic|1=SAL_USE_VCLPLUGIN=kde4}}, {{ic|1=SAL_USE_VCLPLUGIN=gtk}} or {{ic|1=SAL_USE_VCLPLUGIN=gtk3}} [[environment variables]]. These variables can be uncommented in {{ic|1=/etc/profile.d/libreoffice-fresh.sh}} or {{ic|1=/etc/profile.d/libreoffice-still.sh}}.<br />
<br />
{{Note|The new GTK3 UI is experimental and will only be available if you enable "experimental features" in LibreOffice main configuration dialog.}}<br />
<br />
However, if it looks like it is using Windows 95/98 icons, go to ''Tools > Options...'' in the menus (which presents the Options Dialog), then select ''LibreOffice > Accessibility'' and uncheck "Automatically detect high-contrast mode of operating system".<br />
<br />
If that does not work immediately, you may need to change the icon set that is in use; this is also in the Options Dialog, under ''LibreOffice > View'' with two pop-up boxes for "Icon size and style" (the latter pop-up box should be changed to something other than "High-contrast").<br />
<br />
=== Firefox themes ===<br />
<br />
LibreOffice 4.x series is able to use Firefox themes. Enter LibreOffice options and choose ''Personalization > Select Theme'', then paste the URL of your favourite one. A convenient button in the dialog box lets you open the browser.<br />
<br />
Themes can be found on [https://addons.mozilla.org/en-US/firefox/themes/ Mozilla's theme repository].<br />
<br />
=== Disable startup logo ===<br />
<br />
If you prefer to disable the startup logo, open {{ic|/etc/libreoffice/sofficerc}}, find the {{ic|1=Logo=}} line and set {{ic|1=Logo=0}}.<br />
<br />
{{Note|This variable is unrelated with the Logo scripting support.}}<br />
<br />
== Extension management ==<br />
<br />
The following additional extensions are available in the [[official repositories]]:<br />
<br />
*{{Pkg|libreoffice-extension-texmaths}}<br />
*{{Pkg|libreoffice-extension-writer2latex}}<br />
<br />
For more extensions, check the [[AUR]], the built-in LibreOffice Extension manager, or [http://libreplanet.org/wiki/Group:OpenOfficeExtensions/List libreplanet].<br />
<br />
== Language aids ==<br />
<br />
=== Spell checking ===<br />
<br />
For spell checking, please make sure {{Pkg|hunspell}} is properly installed; this should be the case for both still and fresh LibreOffice versions. Then install a language dictionary for hunspell like {{Pkg|hunspell-en}} for English, {{Pkg|hunspell-de}} for German, etc. Then enable the Writing aids by selecting the check-box in ''Tools -> Options -> Language Settings -> Writing Aids -> Hunspell SpellChecker''.<br />
<br />
;Finnish<br />
Unlike other languages, Finnish dictionaries use different naming. These four packages should be installed (in this order): {{Pkg|libvoikko}}, {{AUR|malaga}}, {{AUR|voikko-fi-malaga}}, {{AUR|hfstospell}} and {{AUR|voikko-libreoffice}}.<br />
<br />
=== Hyphenation rules ===<br />
<br />
For hyphenation rules, you will need {{Pkg|hyphen}} and a language hyphen rule set ({{Pkg|hyphen-en}} for English, {{Pkg|hyphen-de}} for German, etc).<br />
<br />
=== Thesaurus ===<br />
<br />
For the thesaurus option, you will need {{Pkg|libmythes}} and a mythes language thesaurus (like {{Pkg|mythes-en}} for English, {{Pkg|mythes-de}} for German, etc).<br />
<br />
=== Grammar checking ===<br />
<br />
For grammar checking, several tools are available. The most common is [https://www.languagetool.org/ LanguageTool]. While the {{Pkg|languagetool}} is available in the [[official repositories]], the later is not packaged as a LibreOffice extension. It is thus recommended to install it with via the [[AUR]] package {{AUR|libreoffice-extension-languagetool}} instead. Even if this AUR package comes bundled with LanguageTool, this does not conflict with the one in the official repositories. In the future, it could even be possible to make that AUR package depend on the official {{Pkg|languagetool}} package.<br />
<br />
After this package has been installed, please make sure you have a [[Java]] runtime installed. Indeed, Languagetool uses Java and may slow down or briefly hang LibreOffice, particularly while opening documents. Fortunately this is usually only when initially opening a document and is usually not apparent otherwise.<br />
<br />
Other grammar tools can also be found on the [http://libreplanet.org/wiki/Group:OpenOfficeExtensions/List LibrePlanet extension page], on the [http://extensions.libreoffice.org/ official LibreOffice Extensions website] or [http://lingucomponent.openoffice.org/grammar.html OpenOffice's Website]. Please note all OpenOffice extensions are guaranteed to work with LibreOffice.<br />
<br />
;French<br />
French-speaking users are advantaged here: they do not need to install LanguageTool nor Java. Dicollecte provides a nice Python extension, specifically designed for Frenchs. You can install it [http://www.dicollecte.org/grammalecte/telecharger.php from the website] or via this [[AUR]] package: {{aur|libreoffice-extension-grammalecte-fr}}. In any case, this extensions also comes with the French dictionaries otherwise provided by {{Pkg|hunspell-fr}}.<br />
<br />
=== Offline help for en-US ===<br />
<br />
As of version 5.2.2, {{Pkg|libreoffice-fresh}} provides the offline help files for en-US. Help files for different locales is provided by the appropriate libreoffice language package, (i.e., {{Pkg|libreoffice-fresh-en-ZA}} provides the help files for en-ZA locales).<br />
<br />
== Installing macros ==<br />
<br />
If you intend to use macros, you must have a Java Runtime Environment enabled. A Java Runtime Environment is enabled by default, but disabling it [[#Speed up LibreOffice|speeds up the program]].<br />
<br />
The default path for macros in Arch Linux is different from most Linux distributions. Its location is:<br />
~/.config/libreoffice/4/user/Scripts/<br />
<br />
== Speed up LibreOffice ==<br />
<br />
Some settings may improve LibreOffice's loading time and responsiveness. However, some also increase RAM usage, so use them carefully. They can all be accessed under ''Tools > Options''.<br />
* Under ''Memory'':<br />
** Reduce the number of Undo steps to a figure lower than 100, to something like 20 or 30 steps<br />
** Under ''Graphics cache'', set Use for LibreOffice to 128&nbsp;MB (up from the original 20&nbsp;MB)<br />
** Set ''Memory per object'' to 20&nbsp;MB (up from the default 5&nbsp;MB).<br />
** If LibreOffice is used often, check ''Enable systray Quickstarter''<br />
* Under ''Advanced'', uncheck ''Use a Java runtime environment''<br />
{{Note|For a list of functionality written in Java only, see: https://wiki.documentfoundation.org/Development/Java.}}<br />
<br />
== Troubleshooting ==<br />
<br />
=== Font substitution ===<br />
<br />
These settings can be changed in the LibreOffice options. From the drop-down menu, select ''Tools > Options > LibreOffice > Fonts''. Check the box that says ''Apply Replacement Table''. Type {{ic|Andale Sans UI}} in the font box and choose your desired font for the ''Replace with'' option. When done, click the ''checkmark''. Then choose the ''Always'' and ''Screen only'' options in the box below. Click OK.<br />
You will then need to go to ''Tools > Options > LibreOffice > View'', and uncheck "Use system font for user interface". If you use a non-antialised font, such as Arial, you will also need to uncheck "Screen font antialiasing" before menu fonts render correctly.<br />
<br />
=== Anti-aliasing ===<br />
<br />
{{Merge|Font configuration}}<br />
Execute:<br />
$ echo "Xft.lcdfilter: lcddefault" | xrdb -merge<br />
<br />
To make the change persistent, add {{ic|Xft.lcdfilter: lcddefault}} to your {{ic|~/.Xresources}} file, and make sure to run {{ic|$ xrdb -merge ~/.Xresources}} ([https://bugs.launchpad.net/ubuntu/+source/openoffice.org/+bug/271283/comments/19 source]. See [[X resources]] for more details.<br />
<br />
If this does not work, you can also try adding {{ic|Xft.lcdfilter: lcddefault}} to your {{ic|~/.Xdefaults}}. If you do not have this file, you will have to create it.<br />
<br />
=== Hanging when using NFSv3 shares ===<br />
<br />
If LibreOffice hangs when trying to open or save a document located on a NFSv3 share, try prepending the following lines with a {{ic|#}} in {{ic|/usr/lib/libreoffice/program/soffice}}:<br />
# file locking now enabled by default<br />
SAL_ENABLE_FILE_LOCKING=1<br />
export SAL_ENABLE_FILE_LOCKING<br />
<br />
To avoid overwriting on update you can copy {{ic|/usr/lib/libreoffice/program/soffice}} in {{ic|/usr/local/bin}}. Original post [http://www.crazysquirrel.com/computing/debian/bugs/openoffice-over-nfs.jspx here].<br />
<br />
=== LibreOffice does not detect my certificates ===<br />
<br />
If you cannot see the certificates when trying to sign a document, you will need to have the certificates configured in Mozilla Firefox (or Thunderbird). If after that LibreOffice still does not show them, set the {{ic|MOZILLA_CERTIFICATE_FOLDER}} environment variable to point to your Mozilla Firefox (or Thunderbird) folder:<br />
export MOZILLA_CERTIFICATE_FOLDER=$HOME/.mozilla/firefox/XXXXXX.default/<br />
<br />
[http://wiki.openoffice.org/wiki/Certificate_Detection Certificate detection].<br />
<br />
=== Run .pps files in edit mode (without slideshow) ===<br />
<br />
The only solution is to rename the {{ic|.pps}} file to {{ic|.ppt}}.<br />
<br />
Add the following script to your home directory and use it to open every .pps file. Very useful to open {{ic|.pps}} files received by email without the need to save them.<br />
<br />
{{bc|<nowiki><br />
#!/bin/bash<br />
<br />
f=$(mktemp)<br />
cp "$1" "${f}.ppt" && libreoffice "${f}.ppt" && rm -f "${f}.ppt"<br />
</nowiki>}}<br />
<br />
=== Application Error (not starting) ===<br />
<br />
When using a different GTK theme than ''Adwaita'', LibreOffice may fail to start:<br />
<br />
(soffice:2148): GLib-GObject-CRITICAL **: g_value_set_boxed: assertion 'G_VALUE_HOLDS_BOXED (value)' failed<br />
<br />
(soffice:2148): GLib-GObject-WARNING **: gtype.c:4268: type id '0' is invalid<br />
<br />
(soffice:2148): GLib-GObject-WARNING **: can't peek value table for type '<invalid>' which is not currently referenced<br />
Application Error<br />
<br />
See {{Bug|46614}}.<br />
<br />
=== Exit while pushing the save button ===<br />
<br />
Try either of the following workarounds:<br />
<br />
* Delete the {{ic|~/.config/libreoffice}} folder. It will erase all the settings linked to LibreOffice and so, LibreOffice will recreate them on the next launch.<br />
<br />
* Go to menu Tools > Options > LibreOffice > General and check {{ic|Use LibreOffice dialogs}}.<br />
<br />
* The GTK3 integration provided by {{ic|libvclplug_gtk3lo.so}} has been identified as the cause of this problem. [https://forums.opensuse.org/showthread.php/510439-LibreOffice-crashes-when-saving] See [[#Theme]] to use a different VCL, such as {{ic|gtk}}.<br />
<br />
=== Media support ===<br />
<br />
If embedded videos are just gray boxes, make sure to have installed the [[GStreamer#Current version plugins|GStreamer plugins]] required.<br />
<br />
=== Default paper size in Writer and Draw ===<br />
<br />
If the default paper size in blank Writer and Draw documents is persistently incorrect for your locale, try installing the {{pkg|libpaper}} optional dependency and either updating {{ic|/etc/papersize}} (for a system-wide change) or exporting the {{ic|PAPERSIZE}} environment variable (for a user change) with your preferred paper size.<br />
<br />
{{note|{{pkg|libpaper}} defaults to '''Letter''' paper size if nothing else has been set.}}</div>J!PRAhttps://wiki.archlinux.org/index.php?title=VMware&diff=420322VMware2016-02-12T22:23:17Z<p>J!PRA: Sorry, I broke the template output but it's now fixed.</p>
<hr />
<div>[[Category:Hypervisors]]<br />
[[it:VMware]]<br />
[[ja:VMware]]<br />
[[ru:VMware]]<br />
[[uk:VMware]]<br />
[[zh-CN:VMware]]<br />
{{Related articles start}}<br />
{{Related|:Category:Hypervisors}}<br />
{{Related|VMware/Installing Arch as a guest}}<br />
{{Related|Moving an existing install into (or out of) a virtual machine}}<br />
{{Related articles end}}<br />
<br />
This article is about installing VMware in Arch Linux; you may also be interested in [[VMware/Installing Arch as a guest]].<br />
{{Note|<br />
*This article is about the latest major VMware versions, meaning VMware Workstation Pro and Player 12.<br />
*For older versions, use the {{AUR|vmware-patch}} package.<br />
}}<br />
<br />
== Installation ==<br />
<br />
[[Install]] the correct dependencies:<br />
*{{pkg|fuse}} - the {{ic|vmware-vmblock-fuse}} service is [https://www.mail-archive.com/open-vm-tools-devel@lists.sourceforge.net/msg00213.html favored] over the {{ic|vmblock}} module, and the vmblock module not built anymore without disabling [http://cateee.net/lkddb/web-lkddb/FUSE_FS.html fuse] in the kernel<br />
*{{pkg|gtkmm}} - for the GUI<br />
*{{pkg|linux-headers}} - for module compilation<br />
*{{AUR|ncurses5-compat-libs}} - needed by at least the installer<br />
<br />
Download the latest [https://www.vmware.com/go/tryworkstation VMware Workstation Pro] or [https://www.vmware.com/go/downloadplayer Player] (or a [https://communities.vmware.com/community/vmtn/beta beta] version, if available).<br />
<br />
Start the installation:<br />
# sh VMware-''edition''-''version''.''release''.''architecture''.bundle<br />
<br />
{{Tip|Some useful flags:<br />
*{{ic|--eulas-agreed}} - Skip the EULAs<br />
*{{ic|--console}} - Use the console UI.<br />
*{{ic|-I}}, {{ic|--ignore-errors}} - Ignore fatal errors.<br />
*{{ic|1=--set-setting=vmware-workstation serialNumber XXXXX-XXXXX-XXXXX-XXXXX-XXXXX}} - Set the serial number during install (good for scripted installs).<br />
*{{ic|--required}} - Only ask mandatory questions (results in silent install when combined with {{ic|--eulas-agreed}} and {{ic|--console}}).<br />
}}<br />
<br />
For the {{ic|System service scripts directory}}, use {{ic|/etc/init.d}} (the default).<br />
<br />
{{Note|During the installation you will get an error about {{ic|"No rc*.d style init script directories"}} being given. This can be safely ignored, since Arch uses [[systemd]].}}<br />
<br />
{{Tip|To (re)build the modules from terminal later on, use:<br />
# vmware-modconfig --console --install-all<br />
}}<br />
<br />
== Configuration ==<br />
<br />
{{Tip|There is also a package called {{AUR|vmware-patch}} with the intention of trying to automate this section (it also supports older VMware versions).}}<br />
<br />
=== Kernel modules ===<br />
<br />
{{Note|1=Due to Workstation 12 taking advantage of the [http://www.phoronix.com/scan.php?page=news_item&px=MTI3MTE mainlined] kernel modules, patching the VMCI/VSOCK sources is no longer required.}}<br />
<br />
VMware Workstation 12 supports kernels up to 4.2.<br />
<br />
=== systemd services ===<br />
<br />
''(Optional)'' Instead of using {{ic|/etc/init.d/vmware}} ({{ic|<nowiki>start|stop|status|restart</nowiki>}}) and {{ic|/usr/bin/vmware-usbarbitrator}} directly to manage the services, you may also use {{ic|.service}} files (also available in the [[AUR]] as {{AUR|vmware-systemd-services}}):<br />
<br />
{{hc|/etc/systemd/system/vmware.service|<br />
2=[Unit]<br />
Description=VMware daemon<br />
Requires=vmware-usbarbitrator.service<br />
Before=vmware-usbarbitrator.service<br />
After=network.target<br />
<br />
[Service]<br />
ExecStart=/etc/init.d/vmware start<br />
ExecStop=/etc/init.d/vmware stop<br />
PIDFile=/var/lock/subsys/vmware<br />
RemainAfterExit=yes<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
}}<br />
<br />
{{hc|/etc/systemd/system/vmware-usbarbitrator.service|<br />
2=[Unit]<br />
Description=VMware USB Arbitrator<br />
Requires=vmware.service<br />
After=vmware.service<br />
<br />
[Service]<br />
ExecStart=/usr/bin/vmware-usbarbitrator<br />
ExecStop=/usr/bin/vmware-usbarbitrator --kill<br />
RemainAfterExit=yes<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
}}<br />
<br />
Add this service as well, if you want to connect to your VMware Workstation installation from another Workstation Server Console:<br />
<br />
{{hc|/etc/systemd/system/vmware-workstation-server.service|<br />
2=[Unit]<br />
Description=VMware Workstation Server<br />
Requires=vmware.service<br />
After=vmware.service<br />
<br />
[Service]<br />
ExecStart=/etc/init.d/vmware-workstation-server start<br />
ExecStop=/etc/init.d/vmware-workstation-server stop<br />
PIDFile=/var/lock/subsys/vmware-workstation-server<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
}}<br />
<br />
After which you can [[enable]] them on boot.<br />
<br />
== Launching the application ==<br />
<br />
To open VMware Workstation Pro:<br />
$ vmware<br />
<br />
or Player:<br />
$ vmplayer<br />
<br />
== Tips and tricks ==<br />
<br />
=== Entering the Workstation Pro license key ===<br />
<br />
==== From terminal ====<br />
<br />
# /usr/lib/vmware/bin/vmware-vmx-debug --new-sn XXXXX-XXXXX-XXXXX-XXXXX-XXXXX<br />
<br />
Where {{ic|XXXXX-XXXXX-XXXXX-XXXXX-XXXXX}} is your license key.<br />
<br />
{{Note|The {{ic|-debug}} binary informs the user of an incorrect license.}}<br />
<br />
==== From GUI ====<br />
<br />
If the above does not work, you can try:<br />
<br />
# /usr/lib/vmware/bin/vmware-enter-serial<br />
<br />
=== Extracting the VMware BIOS ===<br />
<br />
$ objcopy /usr/lib/vmware/bin/vmware-vmx -O binary -j bios440 --set-section-flags bios440=a bios440.rom.Z<br />
$ perl -e 'use Compress::Zlib; my $v; read STDIN, $v, '$(stat -c%s "./bios440.rom.Z")'; $v = uncompress($v); print $v;' < bios440.rom.Z > bios440.rom<br />
<br />
=== Extracting the installer ===<br />
<br />
To view the contents of the installer {{ic|.bundle}}:<br />
<br />
$ sh VMware-''edition''-''version''.''release''.''architecture''.bundle --extract ''/tmp/vmware-bundle/''<br />
<br />
==== Using the modified BIOS ====<br />
<br />
If and when you decide to modify the extracted BIOS you can make your virtual machine use it by moving it to {{ic|~/vmware/''Virtual_machine_name''}}:<br />
$ mv bios440.rom ~/vmware/''Virtual_machine_name''/<br />
<br />
then adding the name to the {{ic|''Virtual_machine_name''.vmx}} file:<br />
{{hc|~/vmware/''Virtual_machine_name''/''Virtual_machine_name''.vmx|2=bios440.filename = "bios440.rom"}}<br />
<br />
=== Using DKMS to manage the modules ===<br />
<br />
{{Out of date|<br />
* Is this needed for VMWare 12? Above it is mentioned that the kernel modules are now mainlined.<br />
* Using [[DKMS]] like described below might not work, or this is not the only valid/working solution. There are several packages in the AUR, like {{AUR|vmware-modules-dkms}}.<br />
}}<br />
<br />
The [[Dynamic Kernel Module Support|Dynamic Kernel Module Support (DKMS)]] can be used to manage VMware modules and to void from re-running {{ic|vmware-modconfig}} each time the kernel changes. The following example uses a custom {{ic|Makefile}} to compile and install the modules through {{ic|vmware-modconfig}}. Afterwards they are removed from the current kernel tree.<br />
<br />
==== Preparation ====<br />
<br />
First, [[install]] the {{Pkg|dkms}} package.<br />
<br />
Then create a source directory for the {{ic|Makefile}} and the {{ic|dkms.conf}}:<br />
# mkdir /usr/src/vmware-modules-12/<br />
<br />
==== Build configuration ====<br />
<br />
Fetch the files with {{pkg|git}} or use the ones below.<br />
<br />
===== 1) Using Git =====<br />
<br />
$ cd /tmp<br />
$ git clone git://github.com/bawaaaaah/dkms-workstation.git<br />
$ sed -i 's/9/12/' dkms-workstation/dkms.conf<br />
# cp dkms-workstation/Makefile dkms-workstation/dkms.conf /usr/src/vmware-modules-12/<br />
<br />
===== 2) Manual setup =====<br />
<br />
The {{ic|dkms.conf}} describes the module names and the compilation/installation procedure. {{ic|1=AUTOINSTALL="yes"}} tells the modules to be recompiled/installed automatically each time:<br />
<br />
{{hc|/usr/src/vmware-modules-12/dkms.conf|2=<br />
PACKAGE_NAME="vmware-modules"<br />
PACKAGE_VERSION="12"<br />
<br />
MAKE[0]="make all"<br />
CLEAN="make clean"<br />
<br />
BUILT_MODULE_NAME[0]="vmmon"<br />
BUILT_MODULE_LOCATION[0]="modules"<br />
<br />
BUILT_MODULE_NAME[1]="vmnet"<br />
BUILT_MODULE_LOCATION[1]="modules"<br />
<br />
BUILT_MODULE_NAME[2]="vmblock"<br />
BUILT_MODULE_LOCATION[2]="modules"<br />
<br />
BUILT_MODULE_NAME[3]="vmci"<br />
BUILT_MODULE_LOCATION[3]="modules"<br />
<br />
BUILT_MODULE_NAME[4]="vsock"<br />
BUILT_MODULE_LOCATION[4]="modules"<br />
<br />
DEST_MODULE_LOCATION[0]="/extra/vmware"<br />
DEST_MODULE_LOCATION[1]="/extra/vmware"<br />
DEST_MODULE_LOCATION[2]="/extra/vmware"<br />
DEST_MODULE_LOCATION[3]="/extra/vmware"<br />
DEST_MODULE_LOCATION[4]="/extra/vmware"<br />
<br />
AUTOINSTALL="yes"<br />
}}<br />
<br />
and now the {{ic|Makefile}}:<br />
<br />
{{hc|/usr/src/vmware-modules-12/Makefile|2=<br />
KERNEL := $(KERNELRELEASE)<br />
HEADERS := /usr/lib/modules/$(KERNEL)/build/include<br />
GCC := $(shell vmware-modconfig --console --get-gcc)<br />
DEST := /lib/modules/$(KERNEL)/vmware<br />
<br />
TARGETS := vmmon vmnet vmblock vmci vsock<br />
<br />
LOCAL_MODULES := $(addsuffix .ko, $(TARGETS))<br />
<br />
all: $(LOCAL_MODULES)<br />
mkdir -p modules/<br />
mv *.ko modules/<br />
rm -rf $(DEST)<br />
depmod<br />
<br />
$(HEADERS)/linux/version.h:<br />
ln -s $(HEADERS)/generated/uapi/linux/version.h $(HEADERS)/linux/version.h<br />
<br />
%.ko: $(HEADERS)/linux/version.h<br />
vmware-modconfig --console --build-mod -k $(KERNEL) $* $(GCC) $(HEADERS) vmware/<br />
cp -f $(DEST)/$@ .<br />
<br />
clean: rm -rf modules/<br />
}}<br />
<br />
==== Installation ====<br />
<br />
The modules can then be installed with:<br />
# dkms install vmware-modules/12 -k $(uname -r)<br />
<br />
=== Enable 3D graphics on Intel and Optimus ===<br />
<br />
Some graphics drivers are blacklisted by default, due to poor and/or unstable 3D acceleration. After enabling ''Accelerate 3D graphics'', the log may show something like:<br />
<br />
Disabling 3D on this host due to presence of Mesa DRI driver. Set mks.gl.allowBlacklistedDrivers = TRUE to override.<br />
<br />
This means the following:<br />
<br />
{{hc|~/.vmware/preferences|2=<br />
mks.gl.allowBlacklistedDrivers = TRUE<br />
}}<br />
<br />
== Troubleshooting ==<br />
<br />
=== /dev/vmmon not found ===<br />
<br />
The full error is:<br />
<br />
Could not open /dev/vmmon: No such file or directory.<br />
Please make sure that the kernel module `vmmon' is loaded.<br />
<br />
This means that at least the {{Ic|vmmon}} module is not loaded. See the [[#systemd services]] section for automatic loading.<br />
<br />
=== Kernel headers for version 4.x-xxxx were not found. If you installed them[...] ===<br />
<br />
Install the headers ({{Pkg|linux-headers}}).<br />
<br />
{{Note|Upgrading the kernel and the headers will require you to boot to the new kernel to match the version of the headers. This is a relatively common error.}}<br />
<br />
=== USB devices not recognized ===<br />
<br />
{{Tip|Also handled by {{AUR|vmware-patch}}.}}<br />
<br />
If not using the [[#systemd services|systemd service]] to automatically handle the services, you need to manually start the {{ic|vmware-usbarbitrator}} binary as root each time.<br />
<br />
To start:<br />
<br />
# vmware-usbarbitrator<br />
<br />
To stop:<br />
<br />
# vmware-usbarbitrator --kill<br />
<br />
=== The installer fails to start ===<br />
<br />
If you just get back to the prompt when opening the {{ic|.bundle}}, then you probably have a deprecated or broken version of the VMware installer and it should removed (you may also refer to the [[#Uninstallation|uninstallation]] section of this article):<br />
# rm -r /etc/vmware-installer/<br />
<br />
=== Unable to download VMware Tools for Guests ===<br />
<br />
If after [[#Preventing crashes and freezes when checking for updates]] you are still unable to download the VMware Tools ISOs, you may either try running {{ic|vmware}} or {{ic|vmplayer}} as ''root'', or downloading them directly from the [http://softwareupdate.vmware.com/cds/vmw-desktop/ VMware repository].<br />
<br />
Navigate to: "''application name'' / ''version'' / ''build ID'' / linux / packages/" and download the appropriate Tools.<br />
<br />
Extract with:<br />
<br />
$ tar -xvf vmware-tools-''name''-''version''-''buildID''.x86_64.component.tar<br />
<br />
And install using the VMware installer:<br />
<br />
# vmware-installer --install-component=''/path/''vmware-tools-''name''-''version''-''buildID''.x86_64.component<br />
<br />
If the above does not work, try installing {{AUR|ncurses5-compat-libs}}.<br />
<br />
=== Incorrect login/password when trying to access VMware remotely ===<br />
<br />
VMware Workstation provides the possibility to remotely manage Shared VMs through the {{ic|vmware-workstation-server}} service. However, this will fail with the error {{ic|"incorrect username/password"}} due to incorrect PAM configuration of the {{ic|vmware-authd}} service. To fix it, edit {{ic|/etc/pam.d/vmware-authd}} like this:<br />
<br />
{{hc|/etc/pam.d/vmware-authd|<br />
#%PAM-1.0<br />
auth ''required pam_unix.so''<br />
account ''required pam_unix.so''<br />
password ''required pam_permit.so''<br />
session ''required pam_unix.so''<br />
}}<br />
<br />
and restart the {{ic|vmware}} [[systemd]] service.<br />
<br />
Now you can connect to the server with the credentials provided during the installation.<br />
<br />
{{Note|{{Pkg|libxslt}} may be required for starting virtual machines.}}<br />
<br />
=== Issues with ALSA output ===<br />
<br />
[http://bankimbhavsar.blogspot.co.nz/2011/09/hd-audio-in-vmware-fusion-4-and-vmware.html To fix] sound quality issues or enabling proper HD audio output, first run:<br />
$ aplay -L<br />
<br />
If interested in playing 5.1 ''surround sound'' from the guest, look for {{ic|1=surround51:CARD=''vendor_name'',DEV=''num''}}, if experiencing quality issues, look for {{ic|1=front:CARD=''vendor_name'',DEV=''num''}}. Finally put the name in the {{ic|.vmx}}:<br />
<br />
{{hc|~/vmware/''Virtual_machine_name''/''Virtual_machine_name''.vmx|2=<br />
sound.fileName=''"surround51:CARD=Live,DEV=0"''<br />
sound.autodetect=''"FALSE"''<br />
}}<br />
<br />
[[Advanced Linux Sound Architecture#User-space utilities|OSS emulation]] should also be disabled.<br />
<br />
=== Kernel-based Virtual Machine (KVM) is running ===<br />
<br />
To disable {{ic|KVM}} on boot, you can use something like:<br />
<br />
{{hc|/etc/modprobe.d/vmware.conf|<br />
blacklist kvm<br />
blacklist kvm-amd # For AMD CPUs<br />
blacklist kvm-intel # For Intel CPUs<br />
}}<br />
<br />
=== Segmentation fault at startup due to old Intel microcode ===<br />
<br />
Old Intel microcode may result in the following kind of segmentation fault at startup:<br />
<br />
/usr/bin/vmware: line 31: 4941 Segmentation fault "$BINDIR"/vmware-modconfig --appname="VMware Workstation" --icon="vmware-workstation"<br />
<br />
See [[Microcode]] for how to update the microcode.<br />
<br />
=== Guests have incorrect system clocks or are unable to boot: "[...]timeTracker_user.c:234 bugNr=148722" ===<br />
<br />
This is due to [http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&externalId=1591 incomplete] support of power management features ([[Wikipedia:Intel speedstep|Intel SpeedStep]] and [[Wikipedia:AMD powernow|AMD PowerNow!]]/[[Wikipedia:Cool'n'Quiet|Cool'n'Quiet]]) in VMware Linux that vary the CPU frequency. In March 2012, with the release of [https://projects.archlinux.org/svntogit/packages.git/commit/trunk/config.x86_64?h=packages/linux&id=9abe018d91a5d8c3af7523d30b8aa73f86b680be linux 3.3-1] the maximum frequency [[CPU frequency governors|Performance]] governor was replaced with the dynamic ''Ondemand''. When the host CPU frequency changes, the Guest system clock runs too quickly or too slowly, but may also render the whole Guest unbootable.<br />
<br />
To prevent this, the maximum host CPU frequency can be specified, and [[Wikipedia:Time Stamp Counter|Time Stamp Counter]] (TSC) disabled, in the global configuration:<br />
<br />
{{hc|/etc/vmware/config|2=<br />
host.cpukHz = "X" # The maximum speed in KHz, e.g. 3GHz is "3000000".<br />
host.noTSC = "TRUE" # Keep the Guest system clock accurate even when<br />
ptsc.noTSC = "TRUE" # the time stamp counter (TSC) is slow.<br />
}}<br />
<br />
{{Tip|To periodically correct the time (once per minute), in the ''Options'' tab of VMware Tools, enable: ''"Time synchronization between the virtual machine and the host operating system"''.}}<br />
<br />
=== Networking on Guests not available after system restart ===<br />
<br />
This is likely due to the {{ic|vmnet}} module not being loaded [http://www.linuxquestions.org/questions/slackware-14/could-not-connect-ethernet0-to-virtual-network-dev-vmnet8-796095/]. See also the [[#systemd services]] section for automatic loading.<br />
<br />
=== GUI doesn't show after upgrade ===<br />
<br />
{{Accuracy|Questionable reasoning, definitely needs a reference}}<br />
<br />
The following affects VMware Workstation and Player versions before 12.1.0. After upgrading to kernel 4.2 an existing installation of VMware does not start any of its GUI applications. This is because the LD library path no longer points to a compatible library. To fix this set your LD_LIBRARY_PATH in a terminal from which you run VMware.<br />
$ export LD_LIBRARY_PATH=/usr/lib/vmware/lib/libglibmm-2.4.so.1/:$LD_LIBRARY_PATH<br />
<br />
To make this change permanent only when running VMware Workstation add the following line at the beginning of the executable file:<br />
{{hc|/usr/bin/vmware|2=<br />
export LD_LIBRARY_PATH=/usr/lib/vmware/lib/libglibmm-2.4.so.1<br />
}}<br />
For VMware Player make the same change in {{ic|/usr/bin/vmplayer}}.<br />
<br />
== Uninstallation ==<br />
<br />
To uninstall VMware you need the product name (either {{ic|vmware-workstation}} or {{ic|vmware-player}}). To list all the installed products:<br />
$ vmware-installer -l<br />
<br />
and uninstall with ({{ic|--required}} skips the confirmation):<br />
# vmware-installer -u ''product'' --required<br />
<br />
{{Tip|Use {{ic|--console}} for the console UI.}}<br />
<br />
Remember to also [[disable]] and remove the services:<br />
# rm /etc/systemd/system/vmware.service<br />
# rm /etc/systemd/system/vmware-usbarbitrator.service<br />
<br />
You may also want to have a look at the module directories in {{ic|/usr/lib/modules/''kernel_name''/misc/}} for any leftovers.</div>J!PRAhttps://wiki.archlinux.org/index.php?title=VMware&diff=420306VMware2016-02-12T22:01:31Z<p>J!PRA: Corrected two typos.</p>
<hr />
<div>[[Category:Hypervisors]]<br />
[[it:VMware]]<br />
[[ja:VMware]]<br />
[[ru:VMware]]<br />
[[uk:VMware]]<br />
[[zh-CN:VMware]]<br />
{{Related articles start}}<br />
{{Related|:Category:Hypervisors}}<br />
{{Related|VMware/Installing Arch as a guest}}<br />
{{Related|Moving an existing install into (or out of) a virtual machine}}<br />
{{Related articles end}}<br />
<br />
This article is about installing VMware in Arch Linux; you may also be interested in [[VMware/Installing Arch as a guest]].<br />
{{Note|<br />
*This article is about the latest major VMware versions, meaning VMware Workstation Pro and Player 12.<br />
*For older versions, use the {{AUR|vmware-patch}} package.<br />
}}<br />
<br />
== Installation ==<br />
<br />
[[Install]] the correct dependencies:<br />
*{{pkg|fuse}} - the {{ic|vmware-vmblock-fuse}} service is [https://www.mail-archive.com/open-vm-tools-devel@lists.sourceforge.net/msg00213.html favored] over the {{ic|vmblock}} module, and the vmblock module not built anymore without disabling [http://cateee.net/lkddb/web-lkddb/FUSE_FS.html fuse] in the kernel<br />
*{{pkg|gtkmm}} - for the GUI<br />
*{{pkg|linux-headers}} - for module compilation<br />
*{{AUR|ncurses5-compat-libs}} - needed by at least the installer<br />
<br />
Download the latest [https://www.vmware.com/go/tryworkstation VMware Workstation Pro] or [https://www.vmware.com/go/downloadplayer Player] (or a [https://communities.vmware.com/community/vmtn/beta beta] version, if available).<br />
<br />
Start the installation:<br />
# sh VMware-''edition''-''version''.''release''.''architecture''.bundle<br />
<br />
{{Tip|Some useful flags:<br />
*{{ic|--eulas-agreed}} - Skip the EULAs<br />
*{{ic|--console}} - Use the console UI.<br />
*{{ic|-I}}, {{ic|--ignore-errors}} - Ignore fatal errors.<br />
*{{ic|--set-setting=vmware-workstation serialNumber XXXXX-XXXXX-XXXXX-XXXXX-XXXXX}} - Set the serial number during install (good for scripted installs).<br />
*{{ic|--required}} - Only ask mandatory questions (results in silent install when combined with {{ic|--eulas-agreed}} and {{ic|--console}}).<br />
}}<br />
<br />
For the {{ic|System service scripts directory}}, use {{ic|/etc/init.d}} (the default).<br />
<br />
{{Note|During the installation you will get an error about {{ic|"No rc*.d style init script directories"}} being given. This can be safely ignored, since Arch uses [[systemd]].}}<br />
<br />
{{Tip|To (re)build the modules from terminal later on, use:<br />
# vmware-modconfig --console --install-all<br />
}}<br />
<br />
== Configuration ==<br />
<br />
{{Tip|There is also a package called {{AUR|vmware-patch}} with the intention of trying to automate this section (it also supports older VMware versions).}}<br />
<br />
=== Kernel modules ===<br />
<br />
{{Note|1=Due to Workstation 12 taking advantage of the [http://www.phoronix.com/scan.php?page=news_item&px=MTI3MTE mainlined] kernel modules, patching the VMCI/VSOCK sources is no longer required.}}<br />
<br />
VMware Workstation 12 supports kernels up to 4.2.<br />
<br />
=== systemd services ===<br />
<br />
''(Optional)'' Instead of using {{ic|/etc/init.d/vmware}} ({{ic|<nowiki>start|stop|status|restart</nowiki>}}) and {{ic|/usr/bin/vmware-usbarbitrator}} directly to manage the services, you may also use {{ic|.service}} files (also available in the [[AUR]] as {{AUR|vmware-systemd-services}}):<br />
<br />
{{hc|/etc/systemd/system/vmware.service|<br />
2=[Unit]<br />
Description=VMware daemon<br />
Requires=vmware-usbarbitrator.service<br />
Before=vmware-usbarbitrator.service<br />
After=network.target<br />
<br />
[Service]<br />
ExecStart=/etc/init.d/vmware start<br />
ExecStop=/etc/init.d/vmware stop<br />
PIDFile=/var/lock/subsys/vmware<br />
RemainAfterExit=yes<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
}}<br />
<br />
{{hc|/etc/systemd/system/vmware-usbarbitrator.service|<br />
2=[Unit]<br />
Description=VMware USB Arbitrator<br />
Requires=vmware.service<br />
After=vmware.service<br />
<br />
[Service]<br />
ExecStart=/usr/bin/vmware-usbarbitrator<br />
ExecStop=/usr/bin/vmware-usbarbitrator --kill<br />
RemainAfterExit=yes<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
}}<br />
<br />
Add this service as well, if you want to connect to your VMware Workstation installation from another Workstation Server Console:<br />
<br />
{{hc|/etc/systemd/system/vmware-workstation-server.service|<br />
2=[Unit]<br />
Description=VMware Workstation Server<br />
Requires=vmware.service<br />
After=vmware.service<br />
<br />
[Service]<br />
ExecStart=/etc/init.d/vmware-workstation-server start<br />
ExecStop=/etc/init.d/vmware-workstation-server stop<br />
PIDFile=/var/lock/subsys/vmware-workstation-server<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
}}<br />
<br />
After which you can [[enable]] them on boot.<br />
<br />
== Launching the application ==<br />
<br />
To open VMware Workstation Pro:<br />
$ vmware<br />
<br />
or Player:<br />
$ vmplayer<br />
<br />
== Tips and tricks ==<br />
<br />
=== Entering the Workstation Pro license key ===<br />
<br />
==== From terminal ====<br />
<br />
# /usr/lib/vmware/bin/vmware-vmx-debug --new-sn XXXXX-XXXXX-XXXXX-XXXXX-XXXXX<br />
<br />
Where {{ic|XXXXX-XXXXX-XXXXX-XXXXX-XXXXX}} is your license key.<br />
<br />
{{Note|The {{ic|-debug}} binary informs the user of an incorrect license.}}<br />
<br />
==== From GUI ====<br />
<br />
If the above does not work, you can try:<br />
<br />
# /usr/lib/vmware/bin/vmware-enter-serial<br />
<br />
=== Extracting the VMware BIOS ===<br />
<br />
$ objcopy /usr/lib/vmware/bin/vmware-vmx -O binary -j bios440 --set-section-flags bios440=a bios440.rom.Z<br />
$ perl -e 'use Compress::Zlib; my $v; read STDIN, $v, '$(stat -c%s "./bios440.rom.Z")'; $v = uncompress($v); print $v;' < bios440.rom.Z > bios440.rom<br />
<br />
=== Extracting the installer ===<br />
<br />
To view the contents of the installer {{ic|.bundle}}:<br />
<br />
$ sh VMware-''edition''-''version''.''release''.''architecture''.bundle --extract ''/tmp/vmware-bundle/''<br />
<br />
==== Using the modified BIOS ====<br />
<br />
If and when you decide to modify the extracted BIOS you can make your virtual machine use it by moving it to {{ic|~/vmware/''Virtual_machine_name''}}:<br />
$ mv bios440.rom ~/vmware/''Virtual_machine_name''/<br />
<br />
then adding the name to the {{ic|''Virtual_machine_name''.vmx}} file:<br />
{{hc|~/vmware/''Virtual_machine_name''/''Virtual_machine_name''.vmx|2=bios440.filename = "bios440.rom"}}<br />
<br />
=== Using DKMS to manage the modules ===<br />
<br />
{{Out of date|<br />
* Is this needed for VMWare 12? Above it is mentioned that the kernel modules are now mainlined.<br />
* Using [[DKMS]] like described below might not work, or this is not the only valid/working solution. There are several packages in the AUR, like {{AUR|vmware-modules-dkms}}.<br />
}}<br />
<br />
The [[Dynamic Kernel Module Support|Dynamic Kernel Module Support (DKMS)]] can be used to manage VMware modules and to void from re-running {{ic|vmware-modconfig}} each time the kernel changes. The following example uses a custom {{ic|Makefile}} to compile and install the modules through {{ic|vmware-modconfig}}. Afterwards they are removed from the current kernel tree.<br />
<br />
==== Preparation ====<br />
<br />
First, [[install]] the {{Pkg|dkms}} package.<br />
<br />
Then create a source directory for the {{ic|Makefile}} and the {{ic|dkms.conf}}:<br />
# mkdir /usr/src/vmware-modules-12/<br />
<br />
==== Build configuration ====<br />
<br />
Fetch the files with {{pkg|git}} or use the ones below.<br />
<br />
===== 1) Using Git =====<br />
<br />
$ cd /tmp<br />
$ git clone git://github.com/bawaaaaah/dkms-workstation.git<br />
$ sed -i 's/9/12/' dkms-workstation/dkms.conf<br />
# cp dkms-workstation/Makefile dkms-workstation/dkms.conf /usr/src/vmware-modules-12/<br />
<br />
===== 2) Manual setup =====<br />
<br />
The {{ic|dkms.conf}} describes the module names and the compilation/installation procedure. {{ic|1=AUTOINSTALL="yes"}} tells the modules to be recompiled/installed automatically each time:<br />
<br />
{{hc|/usr/src/vmware-modules-12/dkms.conf|2=<br />
PACKAGE_NAME="vmware-modules"<br />
PACKAGE_VERSION="12"<br />
<br />
MAKE[0]="make all"<br />
CLEAN="make clean"<br />
<br />
BUILT_MODULE_NAME[0]="vmmon"<br />
BUILT_MODULE_LOCATION[0]="modules"<br />
<br />
BUILT_MODULE_NAME[1]="vmnet"<br />
BUILT_MODULE_LOCATION[1]="modules"<br />
<br />
BUILT_MODULE_NAME[2]="vmblock"<br />
BUILT_MODULE_LOCATION[2]="modules"<br />
<br />
BUILT_MODULE_NAME[3]="vmci"<br />
BUILT_MODULE_LOCATION[3]="modules"<br />
<br />
BUILT_MODULE_NAME[4]="vsock"<br />
BUILT_MODULE_LOCATION[4]="modules"<br />
<br />
DEST_MODULE_LOCATION[0]="/extra/vmware"<br />
DEST_MODULE_LOCATION[1]="/extra/vmware"<br />
DEST_MODULE_LOCATION[2]="/extra/vmware"<br />
DEST_MODULE_LOCATION[3]="/extra/vmware"<br />
DEST_MODULE_LOCATION[4]="/extra/vmware"<br />
<br />
AUTOINSTALL="yes"<br />
}}<br />
<br />
and now the {{ic|Makefile}}:<br />
<br />
{{hc|/usr/src/vmware-modules-12/Makefile|2=<br />
KERNEL := $(KERNELRELEASE)<br />
HEADERS := /usr/lib/modules/$(KERNEL)/build/include<br />
GCC := $(shell vmware-modconfig --console --get-gcc)<br />
DEST := /lib/modules/$(KERNEL)/vmware<br />
<br />
TARGETS := vmmon vmnet vmblock vmci vsock<br />
<br />
LOCAL_MODULES := $(addsuffix .ko, $(TARGETS))<br />
<br />
all: $(LOCAL_MODULES)<br />
mkdir -p modules/<br />
mv *.ko modules/<br />
rm -rf $(DEST)<br />
depmod<br />
<br />
$(HEADERS)/linux/version.h:<br />
ln -s $(HEADERS)/generated/uapi/linux/version.h $(HEADERS)/linux/version.h<br />
<br />
%.ko: $(HEADERS)/linux/version.h<br />
vmware-modconfig --console --build-mod -k $(KERNEL) $* $(GCC) $(HEADERS) vmware/<br />
cp -f $(DEST)/$@ .<br />
<br />
clean: rm -rf modules/<br />
}}<br />
<br />
==== Installation ====<br />
<br />
The modules can then be installed with:<br />
# dkms install vmware-modules/12 -k $(uname -r)<br />
<br />
=== Enable 3D graphics on Intel and Optimus ===<br />
<br />
Some graphics drivers are blacklisted by default, due to poor and/or unstable 3D acceleration. After enabling ''Accelerate 3D graphics'', the log may show something like:<br />
<br />
Disabling 3D on this host due to presence of Mesa DRI driver. Set mks.gl.allowBlacklistedDrivers = TRUE to override.<br />
<br />
This means the following:<br />
<br />
{{hc|~/.vmware/preferences|2=<br />
mks.gl.allowBlacklistedDrivers = TRUE<br />
}}<br />
<br />
== Troubleshooting ==<br />
<br />
=== /dev/vmmon not found ===<br />
<br />
The full error is:<br />
<br />
Could not open /dev/vmmon: No such file or directory.<br />
Please make sure that the kernel module `vmmon' is loaded.<br />
<br />
This means that at least the {{Ic|vmmon}} module is not loaded. See the [[#systemd services]] section for automatic loading.<br />
<br />
=== Kernel headers for version 4.x-xxxx were not found. If you installed them[...] ===<br />
<br />
Install the headers ({{Pkg|linux-headers}}).<br />
<br />
{{Note|Upgrading the kernel and the headers will require you to boot to the new kernel to match the version of the headers. This is a relatively common error.}}<br />
<br />
=== USB devices not recognized ===<br />
<br />
{{Tip|Also handled by {{AUR|vmware-patch}}.}}<br />
<br />
If not using the [[#systemd services|systemd service]] to automatically handle the services, you need to manually start the {{ic|vmware-usbarbitrator}} binary as root each time.<br />
<br />
To start:<br />
<br />
# vmware-usbarbitrator<br />
<br />
To stop:<br />
<br />
# vmware-usbarbitrator --kill<br />
<br />
=== The installer fails to start ===<br />
<br />
If you just get back to the prompt when opening the {{ic|.bundle}}, then you probably have a deprecated or broken version of the VMware installer and it should removed (you may also refer to the [[#Uninstallation|uninstallation]] section of this article):<br />
# rm -r /etc/vmware-installer/<br />
<br />
=== Unable to download VMware Tools for Guests ===<br />
<br />
If after [[#Preventing crashes and freezes when checking for updates]] you are still unable to download the VMware Tools ISOs, you may either try running {{ic|vmware}} or {{ic|vmplayer}} as ''root'', or downloading them directly from the [http://softwareupdate.vmware.com/cds/vmw-desktop/ VMware repository].<br />
<br />
Navigate to: "''application name'' / ''version'' / ''build ID'' / linux / packages/" and download the appropriate Tools.<br />
<br />
Extract with:<br />
<br />
$ tar -xvf vmware-tools-''name''-''version''-''buildID''.x86_64.component.tar<br />
<br />
And install using the VMware installer:<br />
<br />
# vmware-installer --install-component=''/path/''vmware-tools-''name''-''version''-''buildID''.x86_64.component<br />
<br />
If the above does not work, try installing {{AUR|ncurses5-compat-libs}}.<br />
<br />
=== Incorrect login/password when trying to access VMware remotely ===<br />
<br />
VMware Workstation provides the possibility to remotely manage Shared VMs through the {{ic|vmware-workstation-server}} service. However, this will fail with the error {{ic|"incorrect username/password"}} due to incorrect PAM configuration of the {{ic|vmware-authd}} service. To fix it, edit {{ic|/etc/pam.d/vmware-authd}} like this:<br />
<br />
{{hc|/etc/pam.d/vmware-authd|<br />
#%PAM-1.0<br />
auth ''required pam_unix.so''<br />
account ''required pam_unix.so''<br />
password ''required pam_permit.so''<br />
session ''required pam_unix.so''<br />
}}<br />
<br />
and restart the {{ic|vmware}} [[systemd]] service.<br />
<br />
Now you can connect to the server with the credentials provided during the installation.<br />
<br />
{{Note|{{Pkg|libxslt}} may be required for starting virtual machines.}}<br />
<br />
=== Issues with ALSA output ===<br />
<br />
[http://bankimbhavsar.blogspot.co.nz/2011/09/hd-audio-in-vmware-fusion-4-and-vmware.html To fix] sound quality issues or enabling proper HD audio output, first run:<br />
$ aplay -L<br />
<br />
If interested in playing 5.1 ''surround sound'' from the guest, look for {{ic|1=surround51:CARD=''vendor_name'',DEV=''num''}}, if experiencing quality issues, look for {{ic|1=front:CARD=''vendor_name'',DEV=''num''}}. Finally put the name in the {{ic|.vmx}}:<br />
<br />
{{hc|~/vmware/''Virtual_machine_name''/''Virtual_machine_name''.vmx|2=<br />
sound.fileName=''"surround51:CARD=Live,DEV=0"''<br />
sound.autodetect=''"FALSE"''<br />
}}<br />
<br />
[[Advanced Linux Sound Architecture#User-space utilities|OSS emulation]] should also be disabled.<br />
<br />
=== Kernel-based Virtual Machine (KVM) is running ===<br />
<br />
To disable {{ic|KVM}} on boot, you can use something like:<br />
<br />
{{hc|/etc/modprobe.d/vmware.conf|<br />
blacklist kvm<br />
blacklist kvm-amd # For AMD CPUs<br />
blacklist kvm-intel # For Intel CPUs<br />
}}<br />
<br />
=== Segmentation fault at startup due to old Intel microcode ===<br />
<br />
Old Intel microcode may result in the following kind of segmentation fault at startup:<br />
<br />
/usr/bin/vmware: line 31: 4941 Segmentation fault "$BINDIR"/vmware-modconfig --appname="VMware Workstation" --icon="vmware-workstation"<br />
<br />
See [[Microcode]] for how to update the microcode.<br />
<br />
=== Guests have incorrect system clocks or are unable to boot: "[...]timeTracker_user.c:234 bugNr=148722" ===<br />
<br />
This is due to [http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&externalId=1591 incomplete] support of power management features ([[Wikipedia:Intel speedstep|Intel SpeedStep]] and [[Wikipedia:AMD powernow|AMD PowerNow!]]/[[Wikipedia:Cool'n'Quiet|Cool'n'Quiet]]) in VMware Linux that vary the CPU frequency. In March 2012, with the release of [https://projects.archlinux.org/svntogit/packages.git/commit/trunk/config.x86_64?h=packages/linux&id=9abe018d91a5d8c3af7523d30b8aa73f86b680be linux 3.3-1] the maximum frequency [[CPU frequency governors|Performance]] governor was replaced with the dynamic ''Ondemand''. When the host CPU frequency changes, the Guest system clock runs too quickly or too slowly, but may also render the whole Guest unbootable.<br />
<br />
To prevent this, the maximum host CPU frequency can be specified, and [[Wikipedia:Time Stamp Counter|Time Stamp Counter]] (TSC) disabled, in the global configuration:<br />
<br />
{{hc|/etc/vmware/config|2=<br />
host.cpukHz = "X" # The maximum speed in KHz, e.g. 3GHz is "3000000".<br />
host.noTSC = "TRUE" # Keep the Guest system clock accurate even when<br />
ptsc.noTSC = "TRUE" # the time stamp counter (TSC) is slow.<br />
}}<br />
<br />
{{Tip|To periodically correct the time (once per minute), in the ''Options'' tab of VMware Tools, enable: ''"Time synchronization between the virtual machine and the host operating system"''.}}<br />
<br />
=== Networking on Guests not available after system restart ===<br />
<br />
This is likely due to the {{ic|vmnet}} module not being loaded [http://www.linuxquestions.org/questions/slackware-14/could-not-connect-ethernet0-to-virtual-network-dev-vmnet8-796095/]. See also the [[#systemd services]] section for automatic loading.<br />
<br />
=== GUI doesn't show after upgrade ===<br />
<br />
{{Accuracy|Questionable reasoning, definitely needs a reference}}<br />
<br />
The following affects VMware Workstation and Player versions before 12.1.0. After upgrading to kernel 4.2 an existing installation of VMware does not start any of its GUI applications. This is because the LD library path no longer points to a compatible library. To fix this set your LD_LIBRARY_PATH in a terminal from which you run VMware.<br />
$ export LD_LIBRARY_PATH=/usr/lib/vmware/lib/libglibmm-2.4.so.1/:$LD_LIBRARY_PATH<br />
<br />
To make this change permanent only when running VMware Workstation add the following line at the beginning of the executable file:<br />
{{hc|/usr/bin/vmware|2=<br />
export LD_LIBRARY_PATH=/usr/lib/vmware/lib/libglibmm-2.4.so.1<br />
}}<br />
For VMware Player make the same change in {{ic|/usr/bin/vmplayer}}.<br />
<br />
== Uninstallation ==<br />
<br />
To uninstall VMware you need the product name (either {{ic|vmware-workstation}} or {{ic|vmware-player}}). To list all the installed products:<br />
$ vmware-installer -l<br />
<br />
and uninstall with ({{ic|--required}} skips the confirmation):<br />
# vmware-installer -u ''product'' --required<br />
<br />
{{Tip|Use {{ic|--console}} for the console UI.}}<br />
<br />
Remember to also [[disable]] and remove the services:<br />
# rm /etc/systemd/system/vmware.service<br />
# rm /etc/systemd/system/vmware-usbarbitrator.service<br />
<br />
You may also want to have a look at the module directories in {{ic|/usr/lib/modules/''kernel_name''/misc/}} for any leftovers.</div>J!PRA