https://wiki.archlinux.org/api.php?action=feedcontributions&user=Majewsky&feedformat=atomArchWiki - User contributions [en]2024-03-29T09:03:00ZUser contributionsMediaWiki 1.41.0https://wiki.archlinux.org/index.php?title=Laptop/Lenovo&diff=548728Laptop/Lenovo2018-10-20T12:22:31Z<p>Majewsky: /* E series */ - video and sound works</p>
<hr />
<div>[[Category:Lenovo]]<br />
[[ja:ノートパソコン/Lenovo]]<br />
{{Laptops navigation}}<br />
{{Related articles start}}<br />
{{Related|ThinkPad docks}}<br />
{{Related articles end}}<br />
<br />
== IBM/Lenovo ==<br />
<br />
=== ThinkPad ===<br />
<br />
==== Edge series ====<br />
<br />
{{HCL/Laptops table header}}<br />
| [[Lenovo ThinkPad Edge E330]] || NA || Yes || Yes || Yes || Yes || Yes || Yes || NA || ||<br />
|-<br />
| [[Lenovo ThinkPad Edge E335]] || NA || Yes || Yes || Yes || Yes || NA || Yes || NA || ||<br />
|-<br />
| Lenovo ThinkPad Edge E420s || Yes || Yes || Yes || Yes || Yes || Yes || NA || NA || SDcard (Yes), Webcam (Yes), Trackpoint (No) || <br />
|-<br />
| [[Lenovo ThinkPad Edge E430]] || Yes || Yes || Yes* || Yes* || Not tested || Yes || NA || NA || SD card (yes) || <br />
|-<br />
| [[Lenovo ThinkPad Edge E455]] || 2015.04.01 || Yes* || Yes || Yes || Yes || Yes || Yes || NA || ||<br />
|-<br />
| Lenovo ThinkPad Edge E470 || 2017.09.01 || Yes || Yes || Yes || Yes || Not tested || NA || NA || trackpoint (yes) ||<br />
|-<br />
| Lenovo ThinkPad Edge E530 || Yes || Yes || Yes* || Yes* || Yes || Yes || NA || NA || SD card (yes), Finger Print (yes) || E530 without fingerprint reader can be equipt with one.<br />
|-<br />
| Lenovo ThinkPad Edge E531 || Yes || Yes || Yes || Yes || Yes* || Yes || Yes || NA || SD card (yes), Touch Pad/Trackpoint (yes), Webcam (yes) || WiFi only works with {{Pkg|broadcom-wl-dkms}}<br />
|-<br />
| Lenovo ThinkPad Edge E540 || 2015.08.01 || Yes || Yes || Yes || Yes || Yes || Yes* || NA || SD card (yes), Finger Print (yes), touch pad and trackpoint (yes), Webcam (yes) || <br />
|-<br />
| Lenovo ThinkPad Edge E545 || NA || Yes || Yes || Yes || Yes* || Not tested || Yes || NA || SD card (yes), touch pad and trackpoint (yes) Webcam (yes) || wifi works only with {{Pkg|broadcom-wl-dkms}}<br />
|-<br />
| Lenovo ThinkPad Edge E580 || 2018.05.01 || Yes || Yes || Yes || Yes || Yes || Yes || NA || Fingerprint sensor doesn't work because of proprietary firmware || ||<br />
|-<br />
|}<br />
<br />
==== E series ====<br />
<br />
{{HCL/Laptops table header}}<br />
| Lenovo ThinkPad E485 || 2018-10-01 || Yes || Yes || Yes || Yes || Not tested || Not tested || N/A || || if screen stays black immediately after boot, add <code>iommu=soft</code> in [[kernel parameters]]<br />
|-<br />
|}<br />
<br />
==== L series ====<br />
<br />
{{HCL/Laptops table header}}<br />
| [[Lenovo ThinkPad L380 Yoga]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || Trackpoint*, Fingerprint reader ||<br />
|-<br />
| Lenovo ThinkPad L420 || Yes || Yes || Yes || Yes || Yes || Not tested || Yes || NA || ||<br />
|-<br />
| Lenovo ThinkPad L430 || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || Trackpoint* ||<br />
|-<br />
| Lenovo ThinkPad L520 || 2018.09.01-x86_64|| Yes || Yes || Yes || Yes || Not tested|| Not tested|| Not tested|| Not tested ||<br />
|-<br />
| Lenovo ThinkPad L530 || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || Trackpoint*, Fingerprint reader ||<br />
|-<br />
|}<br />
<br />
==== P series ====<br />
<br />
{{HCL/Laptops table header}}<br />
| [[Lenovo ThinkPad P50]] || 2016.04 || Yes || Yes || Yes || Yes || Yes || Suspend working, hibernate not tested || NA || SD card (Yes), Webcam (Yes), Fingerprint Reader ({{AUR|libfprint-vfs0090-git}}), || Wifi requires Kernel 4.3.3+ <br />
|-<br />
| [[Lenovo ThinkPad P70]] || 2016.04 || Yes || Yes || Yes || Yes || Yes || Suspend working, hibernate not tested || NA || SD card (Yes), Webcam (Yes), Fingerprint Reader (No), || Wifi requires Kernel 4.3.3+ <br />
|-<br />
| Lenovo ThinkPad P51 || Unknown || Yes || Yes || Yes || Yes || Yes || Yes || Yes (No GNSS/GPS) ||<br />
* Working: SD card, Webcam, Express card, Smartcard reader, Fingerprint Reader ({{AUR|libfprint-vfs0097-git}})<br />
* Not working: TPM, Color calibrator, UEFI flash <br />
|| HDMI audio requires nvhda module<br />
|-<br />
| [[Lenovo ThinkPad P52]] || 2018.09 || Yes || Yes || Yes || Yes || Unknown || Suspend working, hibernate not tested || NA || Touchpad (No) ||<br />
|-<br />
|}<br />
<br />
==== T series ====<br />
<br />
{{HCL/Laptops table header}}<br />
| IBM ThinkPad T60 || Yes || Yes || Yes || Yes || Yes || Yes || ? || NA || ||<br />
|-<br />
| IBM ThinkPad T60p || Yes || Yes || Yes || Yes || Yes || Yes || ? || NA || ThinkFinger ||<br />
|-<br />
| [[IBM ThinkPad T61]] || Yes || Yes || Yes || Yes || Yes || Yes || NA || || ||<br />
|-<br />
| IBM ThinkPad T61p || Yes || Yes || Yes || Yes || Yes || Yes || NA || || ||<br />
|-<br />
| [[Lenovo ThinkPad T400]] || Yes || Yes || Yes || Yes || Yes || Yes || NA || NA || ||<br />
|-<br />
| [[Lenovo ThinkPad T400s]] || Yes || Yes || Yes || Yes || Yes || Yes || NA || NA || ||<br />
|-<br />
| Lenovo ThinkPad T410 || Yes || Yes || Yes || Yes || Yes || Yes || NA || NA || ||<br />
|-<br />
| [[Lenovo ThinkPad T420]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || Card reader tested, no Fingerprint scanner||<br />
|-<br />
| [[Lenovo ThinkPad T420s]] || Yes || Yes || Yes || Yes || Yes || Yes || NA || NA || Card Reader ||<br />
|-<br />
| [[Lenovo ThinkPad T430]] || Yes || Yes || Yes || Yes || Yes || Yes* || Yes* || Not tested || ||<br />
|-<br />
| [[#Lenovo ThinkPad T440p|Lenovo ThinkPad T440p]] || Yes || Yes || Yes || Yes || Yes || Yes* || NA || NA || Card Reader || See below<br />
|-<br />
| [[Lenovo ThinkPad T440s]] || Yes || Yes || Yes || Yes || Yes* || ? || Yes || ? || || See wiki page for more details about wireless<br />
|-<br />
| [[Lenovo ThinkPad T450s]] || 2015.10.01 || Yes || Yes || Yes || Yes || Yes || ? || NA || SD Card reader; fingerprint scanner|| <br />
|-<br />
| [[Lenovo ThinkPad T460s]] || Yes || Yes || no beep || Yes || Yes || Yes || ? || NA || SD Card reader|| <br />
|-<br />
| [[Lenovo ThinkPad T25]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD Card reader; fingerprint scanner; Touchscreen|| <br />
|-<br />
| [[Lenovo ThinkPad T470]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD Card reader; fingerprint scanner|| <br />
|-<br />
| [[Lenovo ThinkPad T470s]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD Card reader; fingerprint scanner|| <br />
|-<br />
| [[Lenovo ThinkPad T480]] || 2018.07.01 || Yes || Yes || Yes || Yes || Yes || ? || NA || Thunderbolt 3 (USB-C); SD Card reader; fingerprint scanner|| <br />
|-<br />
| [[Lenovo ThinkPad T480s]] || 2018.03.01 || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD Card reader; Thunderbolt 3 (USB-C)|| For [[Hardware_video_acceleration|video h/w acceleration]] install {{AUR|chromium-vaapi-bin}} and ensure to enable acceleration in {{ic|about:flags}}. Check everything is working in {{ic|about:gpu}}.<br />
|-<br />
| Lenovo ThinkPad T500 || Yes || Yes || Yes || Yes || Yes || Yes || NA || NA || ||<br />
|-<br />
| [[Lenovo ThinkPad T520]] || Yes || Yes || Yes || Yes || Yes || Yes || NA || NA || ||<br />
|-<br />
| [[Lenovo ThinkPad T530]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || ||<br />
|-<br />
| [[Lenovo ThinkPad T550]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || DisplayPort ||<br />
|-<br />
| Lenovo ThinkPad T560 || Yes || Yes || Yes || Yes || Yes || Yes || Yes* || NA || MiniDP; Fingerprint scanner; Intel + Nvidia GPU; Card Reader || See special notes for the hardware specifications of this test device<br />
|-<br />
| [[Lenovo ThinkPad T570]] || Yes || Yes || Yes || Yes || Yes || ? || Yes* || NA || not yet fully tested || <br />
|-<br />
| Lenovo ThinkPad T580 || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD Card Reader is supported; [https://forums.lenovo.com/t5/Linux-Discussion/Thinkpad-T580-Synaptics-Metallica-MIS-Touch-Fingerprint-Reader/m-p/4057745 Fingerprint reader is not supported] || Tested on ''2 May 2018'' (with ''Linux 4.16.5'')<br />
|}<br />
<br />
==== W series ====<br />
{{HCL/Laptops table header}}<br />
|-<br />
| Lenovo ThinkPad W510 || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD card (Yes), Webcam (Yes), Touchscreen (Yes), Fingerprint Reader (Not tested) || Tested April 2017 / Linux 4.10.8<br />
|-<br />
| Lenovo ThinkPad W530 || 2016.03 || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD card (Yes), Webcam (Yes), Fingerprint Reader (Yes) || Tested April 2018 / Linux 4.15.15<br />
|-<br />
| Lenovo ThinkPad W540 || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD card (Yes), Webcam (Yes), Fingerprint Reader (Yes) || Tested April 2017 / Linux 4.10.8<br />
|-<br />
| Lenovo ThinkPad W541 || Yes || Yes || Yes || Yes || Yes || Yes || Yes || Not tested || SD card (Yes), Webcam (Yes), Fingerprint Reader (Not tested) || Tested August 2018 / Linux 4.17.12<br />
|-<br />
| Lenovo ThinkPad W550s || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD card (Yes), Webcam (Yes), Fingerprint Reader (Yes) || Tested April 2018 / Linux 4.15.15<br />
|-<br />
|}<br />
<br />
==== X series ====<br />
<br />
{{HCL/Laptops table header}}<br />
| [[IBM ThinkPad X60s]] || Yes|| Yes || Yes || Yes || Yes || Yes || NA || NA || ||<br />
|-<br />
| Lenovo ThinkPad X61s || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD slot ||<br />
|-<br />
| [[Lenovo ThinkPad X100e]] || Yes|| Yes || Yes || Yes || Yes || Yes || Not tested || NA || SD card (Yes), Webcam (Yes) ||<br />
|-<br />
| [[Lenovo ThinkPad X200]] || Yes || Yes || Yes || Yes || Yes || Yes || NA || Yes || ||<br />
|-<br />
| [[Lenovo ThinkPad X200S]] || Yes || Yes || Yes || Yes || Yes || Not tested || NA || Not tested || Everything worked out of the box. However, fingerprint, SD card and webcam were not tested ||<br />
|-<br />
| [[Lenovo ThinkPad X201]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || Not tested || ||<br />
|-<br />
| [[Lenovo ThinkPad X220]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD card (Yes), Webcam (Yes) ||<br />
|-<br />
| [[Lenovo ThinkPad X230]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD card (Yes), Webcam (Yes), UMTS Modem (Yes) ||<br />
|-<br />
| [[Lenovo ThinkPad X240]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || WWAN LTE (yes) || SD card (Yes), Webcam (Yes), Fingerprint (yes) ||<br />
|-<br />
| [[Lenovo ThinkPad X250]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD card (Yes), Webcam (Yes), Fingerprint (yes) ||<br />
|-<br />
| [[Lenovo ThinkPad X260]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD card (Yes), Webcam (Yes), Fingerprint (yes) ||<br />
|-<br />
| Lenovo ThinkPad X270 || Yes || Yes || Yes || Yes || Yes || Not tested || Yes || NA || Webcam (yes) ||<br />
|-<br />
| Lenovo ThinkPad X280 || Yes || Yes || Yes || Yes || Yes || Not tested || Yes || NA || Webcam (yes) ||<br />
|-<br />
| [[Lenovo ThinkPad X1 Carbon]] || NA || Yes || Yes || Yes || Yes || Proprietary/nonfree || Yes || NA || ||<br />
|-<br />
| [[Lenovo ThinkPad X1 Carbon (Gen 2)]] || NA || Yes || Yes || Yes || Yes || Yes || Yes || NA || ||<br />
|-<br />
| [[Lenovo ThinkPad X1 Carbon (Gen 3)]] || NA || Yes || Yes || Yes || Yes || Yes || Yes || NA || ||<br />
|-<br />
| [[Lenovo ThinkPad X1 Carbon (Gen 4)]] || NA || Yes || Yes || Yes || Yes || Yes || Yes || NA || ||<br />
|-<br />
| [[Lenovo ThinkPad X1 Carbon (Gen 5)]] || NA || Yes || Yes || Yes || Yes || Yes || Yes || Yes || ||<br />
|-<br />
| [[Lenovo ThinkPad X1 Carbon (Gen 6)]] || NA || Yes || Yes || Yes || Yes || Yes || Yes || Yes || ||<br />
|_<br />
|}<br />
<br />
==== Yoga Series ====<br />
{{HCL/Laptops table header}}<br />
| [[Lenovo ThinkPad Yoga 260]] || USB || Yes || Yes || Yes || Yes || Yes || Unknown || Yes || SD card (Yes), Webcam (Yes), Fingerprint Reader (Unknown), Touchscreen (Yes), Tablet (Partial), Accelerometer (No) || Wifi requires Kernel 4.3.3+<br />
|-<br />
|}<br />
<br />
==== Helix Series ====<br />
{{HCL/Laptops table header}}<br />
| [[Lenovo ThinkPad Helix]] || Unknown || YES || YES || NA || YES || YES || NA || Touchscreen (yes), Pen (yes), Sensors (yes) || ||<br />
|-<br />
| [[Lenovo ThinkPad Helix 2nd Gen]] || 2018.04.01 (USB) || YES || YES || NA || YES || Not tested || Yes* (with updated BIOS) || Touchscreen (yes), Pen (not tested), Sensors (w/ patched kernel) || NA || Only suspend-to-idle ("freeze") is supported<br />
|-<br />
|}<br />
== Lenovo ==<br />
<br />
=== IdeaPad ===<br />
<br />
{{HCL/Laptops table header}}<br />
| Lenovo IdeaPad 120S || 2018-04-26 || Yes || Yes || NA || Yes || Yes || Yes || NA || Everything works ||<br />
|-<br />
| [[Lenovo IdeaPad Flex 10]] || Yes || Yes* || Yes || NA || Yes || Yes || Yes || NA || Touchscreen* ||<br />
|-<br />
| [[Lenovo IdeaPad S10]] || Yes || Yes || Yes || Yes || Yes || Yes || NA || NA || ||<br />
|-<br />
| [[Lenovo IdeaPad S400 Touch]] || Yes || Yes || Yes || Yes || Yes || Yes || Not tested || NA || ||<br />
|-<br />
| Lenovo IdeaPad U430p || Yes || Yes || Yes || Yes || Yes || Yes || Not tested || NA || ||<br />
|-<br />
| Lenovo IdeaPad Y700 || 2015.12.01 || Yes || Yes* || Yes || Yes || Yes || Not tested || NA || Trackpad - [https://unix.stackexchange.com/questions/362165/lenovo-y700-elantech-touchpad-query-0x01-failed buggy] || [https://bugzilla.kernel.org/show_bug.cgi?id=151681 Trackpad requires pata_legacy to be blacklisted]<br />
|-<br />
| [[Lenovo IdeaPad Z580]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || ||<br />
|-<br />
| [[Lenovo IdeaPad 720s]] || 2018.03.01 || Yes || Yes || NA* || Yes || Yes || Yes || NA || Fingerprint reader not working || *requires USB or USB C dongle<br />
|-<br />
| [[Lenovo IdeaPad 720s (Ryzen)]] || 2018.02.01 || Not tested || Not tested || Yes* || No || Not tested || Not tested || NA || Fingerprint reader not tested but most likely not working || *requires USB or USB C dongle<br />
|-<br />
| Lenovo Ideapad 320 || 2018.03.01 || Not tested || Not tested || Yes || Not tested || Not tested || Not tested || NA || To stop constant annoying messages by AMD-Vi, use 'iommu=soft' & 'amd_iommu=off' in kernel arguments || <br />
|-<br />
| Lenovo Ideapad N24 || 2018.04.01 || Yes || Yes || NA || Yes || Not tested || Not tested || NA || Touchscreen || <br />
|-<br />
|}<br />
<br />
=== B series ===<br />
<br />
{{HCL/Laptops table header}}<br />
| Lenovo B50 || NA || Yes || Yes || Yes || Yes || Not tested || Not tested || Not tested || ||<br />
|-<br />
| Lenovo B50-70 || Yes || Yes* ||Yes || Yes || Yes || Yes || Not tested || NA || See below* ||<br />
|-<br />
| Lenovo B450 || Yes || Yes ||Yes || Yes || Yes || NA || Not tested || NA || ||<br />
|-<br />
|}<br />
<br />
=== K series ===<br />
<br />
{{HCL/Laptops table header}}<br />
| Lenovo K450e || NA || Yes || Yes || Yes || Yes || Not tested || Yes || Not tested || ||<br />
|-<br />
|}<br />
<br />
=== N series ===<br />
<br />
{{HCL/Laptops table header}}<br />
| Lenovo N200 (3000) || Yes || Yes* || Yes || Yes || Yes || Yes* || NA || NA || See below ||<br />
|-<br />
|}<br />
<br />
=== S series ===<br />
<br />
{{HCL/Laptops table header}}<br />
| Lenovo S21e-20 || 2015.07.01 || Yes || Yes || NA || Yes* || ? || Yes || NA || SD Card (Yes), USB 3.0 (Yes), HDMI Out (?), Touchpad (Yes*) ||<br />
|-<br />
|}<br />
<br />
=== U Series ===<br />
<br />
{{HCL/Laptops table header}}<br />
| Lenovo U31-70 || 2015.10.01 || Yes || Yes || Yes || Yes* || Yes || Yes || NA || SD Card (Yes), USB 3.0 (Yes), HDMI Out (Yes), Touchpad (Yes), Webcam (Yes) ||<br />
|-<br />
|}<br />
<br />
=== V Series ===<br />
<br />
{{HCL/Laptops table header}}<br />
| Lenovo V110-15ISK || ??? || Yes || Yes || Yes || Yes || Not Tested || Yes || NA || SD Card (Not Tested), USB 3.0 (Not Tested), HDMI Out (Not Tested), Touchpad (Yes), Webcam (Yes) ||<br />
|-<br />
|}<br />
<br />
=== Y series ===<br />
{{HCL/Laptops table header}}<br />
| Lenovo Legion Y520 || 2017.12.01 || Yes || Yes || Yes || Yes || Yes || Yes || Yes || SD card (Not tested), Webcam (Not tested), USB & USB 3.0 (Yes) || Tested December 2017 / Linux 4.14.8. Must change SATA configuration in BIOS from RAID to AHCI in order to recognize SSD.<br />
|-<br />
|}<br />
<br />
== Special Notes (*): ==<br />
<br />
{{Accuracy|Lots of vague or unproven bugs/workarounds, poor writing}}<br />
<br />
=== Lenovo U31-70 ===<br />
Wireless needs {{Pkg|linux}} >= 4.3 and latest {{Pkg|linux-firmware}}, both packages are currently in testing. Copy one of the firmware blobs {{ic|eeprom_ar6320_2p1_NFA345i.bin}} or {{ic|eeprom_ar6320_2p1_NFA345i_highTX.bin}} from the windows driver to {{ic|/usr/lib/firmware/ath10k/QCA6174/hw2.1/board-pci-168c:0041:17aa:3545.bin}}.<br />
<br />
Wireless with firmware blobs from windows driver may no longer work on {{Pkg|linux}} >= 4.4. Download firmware blob https://github.com/kvalo/ath10k-firmware/blob/f428f53b36b144971c9c4c3d2ebd5fa8cae86c89/QCA6174/hw2.1/board-2.bin and copy it to {{ic|/usr/lib/firmware/ath10k/QCA6174/hw2.1/board-2.bin}}. Tested with {{Pkg|linux}} 4.4.5-1 and {{Pkg|linux-firmware}} 20160113.40e9ae8-1nu<br />
<br />
With packages {{Pkg|linux}} 4.6.1-2 and {{Pkg|linux-firmware}} 20160516.80d463b-1 being in stable, wireless works without any additional steps needed.<br />
<br />
=== Lenovo B50-70 ===<br />
* UEFI:<br />
** to be able to disable Secure Boot (necessary for dual boot, not needed for Linux only), you have to switch from "UEFI first" to "UEFI only" (or something like this) in UEFI setup menu; the Secure Boot option appears then on the Security tab<br />
** after UEFI update having Linux and Windows installed, the Linux bootloader ceased to be the default one, UEFI started to load Windows by default and it was impossible to select the Linux one in the UEFI boot menu and in the UEFI setup - reinstalling the bootloader helped; having no access to a boot media that supports UEFI, a solution might be also replacing the Windows EFI bootloader file with a Linux one temporalily, in order to be able to boot Linux from HDD<br />
** for the UEFI update, a Windows OS is needed<br />
* Touchpad:<br />
** Synaptics - works after installing Synaptics drivers from repo, possible to change behaviour (like reaction for double tap) according to your wish<br />
* Video:<br />
** in laptops with dual video card (Intel and ATI) - detects both, Intel is active as a default, not checked if it's possible at all to switch between them<br />
<br />
==== Operation with a HDD caddy ====<br />
When you install an SSD in the place of the plate HDD drive and you want to have your HDD still inside the laptop, it is possible to install it in the place of the optical drive in a special "HDD caddy". The optical drive is of 9 mm height, but a 9,5 mm caddy (ultra slim) fits in the slot. A caddy with a SATA interface is needed. It is difficult to separate the front bezel from the original optical drive (and opening its case does not help, but brings a danger of making a mess in the opening mechanism; the only option is just to pull the bezel using a bit of force, but you risk breaking the latches).<br />
<br />
While the HDD installed instead of the optical drive operates flawlessly in Windows, it was not going to work out of the box in Linux, at least in one case. The kernel tries to establish a connection with the disk, but fails to do it (''SATA link down'' entry in /var/log/messages). The solution is to force a 1.5 Gbps transfer speed (instead of 6 Gbps) by adding a ''libata.force='' kernel parameter. See [https://www.kernel.org/doc/Documentation/kernel-parameters.txt] for details.<br />
<br />
=== Lenovo K450e ===<br />
<br />
After installing Arch Linux and booting, a single beep may be heard. To disable this beep, press F1 during startup, then change Boot Priority to 'UEFI First', as well as enabling 'CSM'.<br />
<br />
=== ThinkPad X1 Carbon 3rd ===<br />
<br />
* http://natalian.org/archives/2015/02/18/Archlinux_on_a_Lenovo_X1C3/<br />
<br />
=== Lenovo 3000 N200 ===<br />
<br />
* Sound:<br />
** You may have to append {{ic|1=options snd_hda_intel model=lenovo}} to {{ic|/etc/modprobe.d/modprobe.conf}} for sound to work.<br />
<br />
=== Lenovo ThinkPad T430 ===<br />
{{Accuracy | I was not able to reproduce this bug as of September 2017 }}<br />
<br />
* Bluetooth (0a5c:21e6 Broadcom Corp. BCM20702 Bluetooth 4.0 [ThinkPad]) appears to be functional, even during standby or hibernation.<br />
<br />
=== Lenovo ThinkPad T440p ===<br />
<br />
* ClickPad: the whole trackpad clicks, and disabling the trackpad using older versions of synclient makes the trackpoint essentially unusable. This has been resolved in newer versions of {{Pkg|xf86-input-synaptics}}.<br />
** See [http://who-t.blogspot.com.au/2014/03/xorg-synaptics-support-for-lenovo-t440.html this article] and [http://who-t.blogspot.com.au/2013/12/lenovo-t440-touchpad-button.html previous version].<br />
** Install {{AUR|xf86-input-synlx40}}{{Broken package link|{{aur-mirror|xf86-input-synlx40}}}} and {{AUR|xf86-input-mtrack}} for alternative drivers.<br />
* Audio:<br />
** HDMI audio is the default audio output device. Consult the [[ALSA]] page for details on changing the default.<br />
** As the X100e/Mini10, it's possible to mute the headset and speaker outputs separately to the master. Muting the speaker output improves bass output on the headset port.<br />
** If the system fails to wake from sleep, it can lose sync with the internal audio card and speakers/headphones may fail to work. In this case, put the system to sleep, and wake it again and audio functionality should be restored. <br />
* The fingerprint sensor is a Validity VFS5011, which requires [https://github.com/abbradar/fprint_vfs5011 a patched fprintd] and is apparently highly unreliable.<br />
* thinkpad_acpi:<br />
** Controlling the Fn-Lock, Mute, Mic Mute or 'glowing I' LEDs is apparently not possible.<br />
** fan control does not seem to work.<br />
* Graphics and Video:<br />
** With the integrated GPU, [[xrandr]] can crash while attaching or detaching displays connected via the dock.<br />
** The built-in miniDisplayPort will sometimes spew I²C issues into the kernel log.<br />
** [[Hardware video acceleration]] is highly recommended as it performs significantly better than CPU decoding of large media files.<br />
** '''The BIOS should not be upgraded past version 1.14, as newer BIOSes cause memory corruption when used with Bumblebee.''' See [https://github.com/Bumblebee-Project/bbswitch/issues/78#issuecomment-42741698 Bumblebee GitHub]<br />
* Connectivity:<br />
** Bluetooth is ''extremely'' fragile. The controller works fine most of the time, but can cause the system to wedge totally on sleep/wake cycles, especially if a connection was active at sleep. Disable the controller using {{ic|bluetoothctl}} before sleeping.<br />
<br />
=== Lenovo ThinkPad T560 ===<br />
* No automatic brightness adjusting when switching power supply battery <-> AC<br />
<br />
* Hardware specifications of test device<br />
** CPU: Intel CORE i7-6600U @ 2.60GHz or Intel CORE i5-6200U @ 2.30GHz or Intel CORE i5-6300U @ 2.40GHz<br />
** GPU Primary: Intel HD 520<br />
** GPU Secondary: Nvidia GeForce 940MX or None<br />
** WiFi: Intel 8260<br />
** Ethernet: Intel I219-LM<br />
** Card reader: Realtek RTS522A<br />
<br />
=== Lenovo S21e-20 ===<br />
* Tested with {{Pkg|broadcom-wl-dkms}} 802.11 wireless driver<br />
* Synaptics touchpad required 3 patches to {{Pkg|linux}}:drivers/hid/hid-rmi.c on 2015-07-26 ([https://bugs.freedesktop.org/show_bug.cgi?id=91102 bug report], [https://github.com/harisokanovic/archlinux-packages/commit/f4550c211ca7809ecf926f8074c7b7250a74bd92 kernel recipe patch]). The current 4.3 kernel includes these patches. You will also need to install the xf86_64-input-synaptics package([https://www.archlinux.org/packages/?name=xf86-input-synaptics]) <br />
<br />
==== tpacpi-bat ====<br />
<br />
There is an issue with tpacpi-bat not reporting the right value for the stop threshold. This seems to be related to a buggy BIOS and can not be fixed application wise. <br />
<br />
See https://github.com/teleshoes/tpacpi-bat/issues/44<br />
<br />
==== ThinkPad Edge E420s Delay with Space Bar====<br />
Solution: Update BIOS (at least 1.08).<br />
<br />
=== Lenovo IdeaPad Y700 ===<br />
* The subwoofer does not work out of the box.<br />
** Updating to Kernel 4.15 or later seems to fix the subwoofer.<br />
<br />
== See also ==<br />
* [http://www.thinkwiki.org/wiki Think wiki]</div>Majewskyhttps://wiki.archlinux.org/index.php?title=Laptop/Lenovo&diff=548692Laptop/Lenovo2018-10-20T10:47:56Z<p>Majewsky: fix header level</p>
<hr />
<div>[[Category:Lenovo]]<br />
[[ja:ノートパソコン/Lenovo]]<br />
{{Laptops navigation}}<br />
{{Related articles start}}<br />
{{Related|ThinkPad docks}}<br />
{{Related articles end}}<br />
<br />
== IBM/Lenovo ==<br />
<br />
=== ThinkPad ===<br />
<br />
==== Edge series ====<br />
<br />
{{HCL/Laptops table header}}<br />
| [[Lenovo ThinkPad Edge E330]] || NA || Yes || Yes || Yes || Yes || Yes || Yes || NA || ||<br />
|-<br />
| [[Lenovo ThinkPad Edge E335]] || NA || Yes || Yes || Yes || Yes || NA || Yes || NA || ||<br />
|-<br />
| Lenovo ThinkPad Edge E420s || Yes || Yes || Yes || Yes || Yes || Yes || NA || NA || SDcard (Yes), Webcam (Yes), Trackpoint (No) || <br />
|-<br />
| [[Lenovo ThinkPad Edge E430]] || Yes || Yes || Yes* || Yes* || Not tested || Yes || NA || NA || SD card (yes) || <br />
|-<br />
| [[Lenovo ThinkPad Edge E455]] || 2015.04.01 || Yes* || Yes || Yes || Yes || Yes || Yes || NA || ||<br />
|-<br />
| Lenovo ThinkPad Edge E470 || 2017.09.01 || Yes || Yes || Yes || Yes || Not tested || NA || NA || trackpoint (yes) ||<br />
|-<br />
| Lenovo ThinkPad Edge E530 || Yes || Yes || Yes* || Yes* || Yes || Yes || NA || NA || SD card (yes), Finger Print (yes) || E530 without fingerprint reader can be equipt with one.<br />
|-<br />
| Lenovo ThinkPad Edge E531 || Yes || Yes || Yes || Yes || Yes* || Yes || Yes || NA || SD card (yes), Touch Pad/Trackpoint (yes), Webcam (yes) || WiFi only works with {{Pkg|broadcom-wl-dkms}}<br />
|-<br />
| Lenovo ThinkPad Edge E540 || 2015.08.01 || Yes || Yes || Yes || Yes || Yes || Yes* || NA || SD card (yes), Finger Print (yes), touch pad and trackpoint (yes), Webcam (yes) || <br />
|-<br />
| Lenovo ThinkPad Edge E545 || NA || Yes || Yes || Yes || Yes* || Not tested || Yes || NA || SD card (yes), touch pad and trackpoint (yes) Webcam (yes) || wifi works only with {{Pkg|broadcom-wl-dkms}}<br />
|-<br />
| Lenovo ThinkPad Edge E580 || 2018.05.01 || Yes || Yes || Yes || Yes || Yes || Yes || NA || Fingerprint sensor doesn't work because of proprietary firmware || ||<br />
|-<br />
|}<br />
<br />
==== E series ====<br />
<br />
{{HCL/Laptops table header}}<br />
| Lenovo ThinkPad E485 || 2018-10-01 || Not tested || Not tested || Yes || Yes || Not tested || Not tested || N/A || || if screen stays black immediately after boot, add <code>iommu=soft</code> in [[kernel parameters]]<br />
|-<br />
|}<br />
<br />
==== L series ====<br />
<br />
{{HCL/Laptops table header}}<br />
| [[Lenovo ThinkPad L380 Yoga]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || Trackpoint*, Fingerprint reader ||<br />
|-<br />
| Lenovo ThinkPad L420 || Yes || Yes || Yes || Yes || Yes || Not tested || Yes || NA || ||<br />
|-<br />
| Lenovo ThinkPad L430 || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || Trackpoint* ||<br />
|-<br />
| Lenovo ThinkPad L520 || 2018.09.01-x86_64|| Yes || Yes || Yes || Yes || Not tested|| Not tested|| Not tested|| Not tested ||<br />
|-<br />
| Lenovo ThinkPad L530 || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || Trackpoint*, Fingerprint reader ||<br />
|-<br />
|}<br />
<br />
==== P series ====<br />
<br />
{{HCL/Laptops table header}}<br />
| [[Lenovo ThinkPad P50]] || 2016.04 || Yes || Yes || Yes || Yes || Yes || Suspend working, hibernate not tested || NA || SD card (Yes), Webcam (Yes), Fingerprint Reader ({{AUR|libfprint-vfs0090-git}}), || Wifi requires Kernel 4.3.3+ <br />
|-<br />
| [[Lenovo ThinkPad P70]] || 2016.04 || Yes || Yes || Yes || Yes || Yes || Suspend working, hibernate not tested || NA || SD card (Yes), Webcam (Yes), Fingerprint Reader (No), || Wifi requires Kernel 4.3.3+ <br />
|-<br />
| Lenovo ThinkPad P51 || Unknown || Yes || Yes || Yes || Yes || Yes || Yes || Yes (No GNSS/GPS) ||<br />
* Working: SD card, Webcam, Express card, Smartcard reader, Fingerprint Reader ({{AUR|libfprint-vfs0097-git}})<br />
* Not working: TPM, Color calibrator, UEFI flash <br />
|| HDMI audio requires nvhda module<br />
|-<br />
| [[Lenovo ThinkPad P52]] || 2018.09 || Yes || Yes || Yes || Yes || Unknown || Suspend working, hibernate not tested || NA || Touchpad (No) ||<br />
|-<br />
|}<br />
<br />
==== T series ====<br />
<br />
{{HCL/Laptops table header}}<br />
| IBM ThinkPad T60 || Yes || Yes || Yes || Yes || Yes || Yes || ? || NA || ||<br />
|-<br />
| IBM ThinkPad T60p || Yes || Yes || Yes || Yes || Yes || Yes || ? || NA || ThinkFinger ||<br />
|-<br />
| [[IBM ThinkPad T61]] || Yes || Yes || Yes || Yes || Yes || Yes || NA || || ||<br />
|-<br />
| IBM ThinkPad T61p || Yes || Yes || Yes || Yes || Yes || Yes || NA || || ||<br />
|-<br />
| [[Lenovo ThinkPad T400]] || Yes || Yes || Yes || Yes || Yes || Yes || NA || NA || ||<br />
|-<br />
| [[Lenovo ThinkPad T400s]] || Yes || Yes || Yes || Yes || Yes || Yes || NA || NA || ||<br />
|-<br />
| Lenovo ThinkPad T410 || Yes || Yes || Yes || Yes || Yes || Yes || NA || NA || ||<br />
|-<br />
| [[Lenovo ThinkPad T420]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || Card reader tested, no Fingerprint scanner||<br />
|-<br />
| [[Lenovo ThinkPad T420s]] || Yes || Yes || Yes || Yes || Yes || Yes || NA || NA || Card Reader ||<br />
|-<br />
| [[Lenovo ThinkPad T430]] || Yes || Yes || Yes || Yes || Yes || Yes* || Yes* || Not tested || ||<br />
|-<br />
| [[#Lenovo ThinkPad T440p|Lenovo ThinkPad T440p]] || Yes || Yes || Yes || Yes || Yes || Yes* || NA || NA || Card Reader || See below<br />
|-<br />
| [[Lenovo ThinkPad T440s]] || Yes || Yes || Yes || Yes || Yes* || ? || Yes || ? || || See wiki page for more details about wireless<br />
|-<br />
| [[Lenovo ThinkPad T450s]] || 2015.10.01 || Yes || Yes || Yes || Yes || Yes || ? || NA || SD Card reader; fingerprint scanner|| <br />
|-<br />
| [[Lenovo ThinkPad T460s]] || Yes || Yes || no beep || Yes || Yes || Yes || ? || NA || SD Card reader|| <br />
|-<br />
| [[Lenovo ThinkPad T25]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD Card reader; fingerprint scanner; Touchscreen|| <br />
|-<br />
| [[Lenovo ThinkPad T470]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD Card reader; fingerprint scanner|| <br />
|-<br />
| [[Lenovo ThinkPad T470s]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD Card reader; fingerprint scanner|| <br />
|-<br />
| [[Lenovo ThinkPad T480]] || 2018.07.01 || Yes || Yes || Yes || Yes || Yes || ? || NA || Thunderbolt 3 (USB-C); SD Card reader; fingerprint scanner|| <br />
|-<br />
| [[Lenovo ThinkPad T480s]] || 2018.03.01 || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD Card reader; Thunderbolt 3 (USB-C)|| For [[Hardware_video_acceleration|video h/w acceleration]] install {{AUR|chromium-vaapi-bin}} and ensure to enable acceleration in {{ic|about:flags}}. Check everything is working in {{ic|about:gpu}}.<br />
|-<br />
| Lenovo ThinkPad T500 || Yes || Yes || Yes || Yes || Yes || Yes || NA || NA || ||<br />
|-<br />
| [[Lenovo ThinkPad T520]] || Yes || Yes || Yes || Yes || Yes || Yes || NA || NA || ||<br />
|-<br />
| [[Lenovo ThinkPad T530]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || ||<br />
|-<br />
| [[Lenovo ThinkPad T550]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || DisplayPort ||<br />
|-<br />
| Lenovo ThinkPad T560 || Yes || Yes || Yes || Yes || Yes || Yes || Yes* || NA || MiniDP; Fingerprint scanner; Intel + Nvidia GPU; Card Reader || See special notes for the hardware specifications of this test device<br />
|-<br />
| [[Lenovo ThinkPad T570]] || Yes || Yes || Yes || Yes || Yes || ? || Yes* || NA || not yet fully tested || <br />
|-<br />
| Lenovo ThinkPad T580 || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD Card Reader is supported; [https://forums.lenovo.com/t5/Linux-Discussion/Thinkpad-T580-Synaptics-Metallica-MIS-Touch-Fingerprint-Reader/m-p/4057745 Fingerprint reader is not supported] || Tested on ''2 May 2018'' (with ''Linux 4.16.5'')<br />
|}<br />
<br />
==== W series ====<br />
{{HCL/Laptops table header}}<br />
|-<br />
| Lenovo ThinkPad W510 || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD card (Yes), Webcam (Yes), Touchscreen (Yes), Fingerprint Reader (Not tested) || Tested April 2017 / Linux 4.10.8<br />
|-<br />
| Lenovo ThinkPad W530 || 2016.03 || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD card (Yes), Webcam (Yes), Fingerprint Reader (Yes) || Tested April 2018 / Linux 4.15.15<br />
|-<br />
| Lenovo ThinkPad W540 || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD card (Yes), Webcam (Yes), Fingerprint Reader (Yes) || Tested April 2017 / Linux 4.10.8<br />
|-<br />
| Lenovo ThinkPad W541 || Yes || Yes || Yes || Yes || Yes || Yes || Yes || Not tested || SD card (Yes), Webcam (Yes), Fingerprint Reader (Not tested) || Tested August 2018 / Linux 4.17.12<br />
|-<br />
| Lenovo ThinkPad W550s || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD card (Yes), Webcam (Yes), Fingerprint Reader (Yes) || Tested April 2018 / Linux 4.15.15<br />
|-<br />
|}<br />
<br />
==== X series ====<br />
<br />
{{HCL/Laptops table header}}<br />
| [[IBM ThinkPad X60s]] || Yes|| Yes || Yes || Yes || Yes || Yes || NA || NA || ||<br />
|-<br />
| Lenovo ThinkPad X61s || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD slot ||<br />
|-<br />
| [[Lenovo ThinkPad X100e]] || Yes|| Yes || Yes || Yes || Yes || Yes || Not tested || NA || SD card (Yes), Webcam (Yes) ||<br />
|-<br />
| [[Lenovo ThinkPad X200]] || Yes || Yes || Yes || Yes || Yes || Yes || NA || Yes || ||<br />
|-<br />
| [[Lenovo ThinkPad X200S]] || Yes || Yes || Yes || Yes || Yes || Not tested || NA || Not tested || Everything worked out of the box. However, fingerprint, SD card and webcam were not tested ||<br />
|-<br />
| [[Lenovo ThinkPad X201]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || Not tested || ||<br />
|-<br />
| [[Lenovo ThinkPad X220]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD card (Yes), Webcam (Yes) ||<br />
|-<br />
| [[Lenovo ThinkPad X230]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD card (Yes), Webcam (Yes), UMTS Modem (Yes) ||<br />
|-<br />
| [[Lenovo ThinkPad X240]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || WWAN LTE (yes) || SD card (Yes), Webcam (Yes), Fingerprint (yes) ||<br />
|-<br />
| [[Lenovo ThinkPad X250]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD card (Yes), Webcam (Yes), Fingerprint (yes) ||<br />
|-<br />
| [[Lenovo ThinkPad X260]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD card (Yes), Webcam (Yes), Fingerprint (yes) ||<br />
|-<br />
| Lenovo ThinkPad X270 || Yes || Yes || Yes || Yes || Yes || Not tested || Yes || NA || Webcam (yes) ||<br />
|-<br />
| Lenovo ThinkPad X280 || Yes || Yes || Yes || Yes || Yes || Not tested || Yes || NA || Webcam (yes) ||<br />
|-<br />
| [[Lenovo ThinkPad X1 Carbon]] || NA || Yes || Yes || Yes || Yes || Proprietary/nonfree || Yes || NA || ||<br />
|-<br />
| [[Lenovo ThinkPad X1 Carbon (Gen 2)]] || NA || Yes || Yes || Yes || Yes || Yes || Yes || NA || ||<br />
|-<br />
| [[Lenovo ThinkPad X1 Carbon (Gen 3)]] || NA || Yes || Yes || Yes || Yes || Yes || Yes || NA || ||<br />
|-<br />
| [[Lenovo ThinkPad X1 Carbon (Gen 4)]] || NA || Yes || Yes || Yes || Yes || Yes || Yes || NA || ||<br />
|-<br />
| [[Lenovo ThinkPad X1 Carbon (Gen 5)]] || NA || Yes || Yes || Yes || Yes || Yes || Yes || Yes || ||<br />
|-<br />
| [[Lenovo ThinkPad X1 Carbon (Gen 6)]] || NA || Yes || Yes || Yes || Yes || Yes || Yes || Yes || ||<br />
|_<br />
|}<br />
<br />
==== Yoga Series ====<br />
{{HCL/Laptops table header}}<br />
| [[Lenovo ThinkPad Yoga 260]] || USB || Yes || Yes || Yes || Yes || Yes || Unknown || Yes || SD card (Yes), Webcam (Yes), Fingerprint Reader (Unknown), Touchscreen (Yes), Tablet (Partial), Accelerometer (No) || Wifi requires Kernel 4.3.3+<br />
|-<br />
|}<br />
<br />
==== Helix Series ====<br />
{{HCL/Laptops table header}}<br />
| [[Lenovo ThinkPad Helix]] || Unknown || YES || YES || NA || YES || YES || NA || Touchscreen (yes), Pen (yes), Sensors (yes) || ||<br />
|-<br />
| [[Lenovo ThinkPad Helix 2nd Gen]] || 2018.04.01 (USB) || YES || YES || NA || YES || Not tested || Yes* (with updated BIOS) || Touchscreen (yes), Pen (not tested), Sensors (w/ patched kernel) || NA || Only suspend-to-idle ("freeze") is supported<br />
|-<br />
|}<br />
== Lenovo ==<br />
<br />
=== IdeaPad ===<br />
<br />
{{HCL/Laptops table header}}<br />
| Lenovo IdeaPad 120S || 2018-04-26 || Yes || Yes || NA || Yes || Yes || Yes || NA || Everything works ||<br />
|-<br />
| [[Lenovo IdeaPad Flex 10]] || Yes || Yes* || Yes || NA || Yes || Yes || Yes || NA || Touchscreen* ||<br />
|-<br />
| [[Lenovo IdeaPad S10]] || Yes || Yes || Yes || Yes || Yes || Yes || NA || NA || ||<br />
|-<br />
| [[Lenovo IdeaPad S400 Touch]] || Yes || Yes || Yes || Yes || Yes || Yes || Not tested || NA || ||<br />
|-<br />
| Lenovo IdeaPad U430p || Yes || Yes || Yes || Yes || Yes || Yes || Not tested || NA || ||<br />
|-<br />
| Lenovo IdeaPad Y700 || 2015.12.01 || Yes || Yes* || Yes || Yes || Yes || Not tested || NA || Trackpad - [https://unix.stackexchange.com/questions/362165/lenovo-y700-elantech-touchpad-query-0x01-failed buggy] || [https://bugzilla.kernel.org/show_bug.cgi?id=151681 Trackpad requires pata_legacy to be blacklisted]<br />
|-<br />
| [[Lenovo IdeaPad Z580]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || ||<br />
|-<br />
| [[Lenovo IdeaPad 720s]] || 2018.03.01 || Yes || Yes || NA* || Yes || Yes || Yes || NA || Fingerprint reader not working || *requires USB or USB C dongle<br />
|-<br />
| [[Lenovo IdeaPad 720s (Ryzen)]] || 2018.02.01 || Not tested || Not tested || Yes* || No || Not tested || Not tested || NA || Fingerprint reader not tested but most likely not working || *requires USB or USB C dongle<br />
|-<br />
| Lenovo Ideapad 320 || 2018.03.01 || Not tested || Not tested || Yes || Not tested || Not tested || Not tested || NA || To stop constant annoying messages by AMD-Vi, use 'iommu=soft' & 'amd_iommu=off' in kernel arguments || <br />
|-<br />
| Lenovo Ideapad N24 || 2018.04.01 || Yes || Yes || NA || Yes || Not tested || Not tested || NA || Touchscreen || <br />
|-<br />
|}<br />
<br />
=== B series ===<br />
<br />
{{HCL/Laptops table header}}<br />
| Lenovo B50 || NA || Yes || Yes || Yes || Yes || Not tested || Not tested || Not tested || ||<br />
|-<br />
| Lenovo B50-70 || Yes || Yes* ||Yes || Yes || Yes || Yes || Not tested || NA || See below* ||<br />
|-<br />
| Lenovo B450 || Yes || Yes ||Yes || Yes || Yes || NA || Not tested || NA || ||<br />
|-<br />
|}<br />
<br />
=== K series ===<br />
<br />
{{HCL/Laptops table header}}<br />
| Lenovo K450e || NA || Yes || Yes || Yes || Yes || Not tested || Yes || Not tested || ||<br />
|-<br />
|}<br />
<br />
=== N series ===<br />
<br />
{{HCL/Laptops table header}}<br />
| Lenovo N200 (3000) || Yes || Yes* || Yes || Yes || Yes || Yes* || NA || NA || See below ||<br />
|-<br />
|}<br />
<br />
=== S series ===<br />
<br />
{{HCL/Laptops table header}}<br />
| Lenovo S21e-20 || 2015.07.01 || Yes || Yes || NA || Yes* || ? || Yes || NA || SD Card (Yes), USB 3.0 (Yes), HDMI Out (?), Touchpad (Yes*) ||<br />
|-<br />
|}<br />
<br />
=== U Series ===<br />
<br />
{{HCL/Laptops table header}}<br />
| Lenovo U31-70 || 2015.10.01 || Yes || Yes || Yes || Yes* || Yes || Yes || NA || SD Card (Yes), USB 3.0 (Yes), HDMI Out (Yes), Touchpad (Yes), Webcam (Yes) ||<br />
|-<br />
|}<br />
<br />
=== V Series ===<br />
<br />
{{HCL/Laptops table header}}<br />
| Lenovo V110-15ISK || ??? || Yes || Yes || Yes || Yes || Not Tested || Yes || NA || SD Card (Not Tested), USB 3.0 (Not Tested), HDMI Out (Not Tested), Touchpad (Yes), Webcam (Yes) ||<br />
|-<br />
|}<br />
<br />
=== Y series ===<br />
{{HCL/Laptops table header}}<br />
| Lenovo Legion Y520 || 2017.12.01 || Yes || Yes || Yes || Yes || Yes || Yes || Yes || SD card (Not tested), Webcam (Not tested), USB & USB 3.0 (Yes) || Tested December 2017 / Linux 4.14.8. Must change SATA configuration in BIOS from RAID to AHCI in order to recognize SSD.<br />
|-<br />
|}<br />
<br />
== Special Notes (*): ==<br />
<br />
{{Accuracy|Lots of vague or unproven bugs/workarounds, poor writing}}<br />
<br />
=== Lenovo U31-70 ===<br />
Wireless needs {{Pkg|linux}} >= 4.3 and latest {{Pkg|linux-firmware}}, both packages are currently in testing. Copy one of the firmware blobs {{ic|eeprom_ar6320_2p1_NFA345i.bin}} or {{ic|eeprom_ar6320_2p1_NFA345i_highTX.bin}} from the windows driver to {{ic|/usr/lib/firmware/ath10k/QCA6174/hw2.1/board-pci-168c:0041:17aa:3545.bin}}.<br />
<br />
Wireless with firmware blobs from windows driver may no longer work on {{Pkg|linux}} >= 4.4. Download firmware blob https://github.com/kvalo/ath10k-firmware/blob/f428f53b36b144971c9c4c3d2ebd5fa8cae86c89/QCA6174/hw2.1/board-2.bin and copy it to {{ic|/usr/lib/firmware/ath10k/QCA6174/hw2.1/board-2.bin}}. Tested with {{Pkg|linux}} 4.4.5-1 and {{Pkg|linux-firmware}} 20160113.40e9ae8-1nu<br />
<br />
With packages {{Pkg|linux}} 4.6.1-2 and {{Pkg|linux-firmware}} 20160516.80d463b-1 being in stable, wireless works without any additional steps needed.<br />
<br />
=== Lenovo B50-70 ===<br />
* UEFI:<br />
** to be able to disable Secure Boot (necessary for dual boot, not needed for Linux only), you have to switch from "UEFI first" to "UEFI only" (or something like this) in UEFI setup menu; the Secure Boot option appears then on the Security tab<br />
** after UEFI update having Linux and Windows installed, the Linux bootloader ceased to be the default one, UEFI started to load Windows by default and it was impossible to select the Linux one in the UEFI boot menu and in the UEFI setup - reinstalling the bootloader helped; having no access to a boot media that supports UEFI, a solution might be also replacing the Windows EFI bootloader file with a Linux one temporalily, in order to be able to boot Linux from HDD<br />
** for the UEFI update, a Windows OS is needed<br />
* Touchpad:<br />
** Synaptics - works after installing Synaptics drivers from repo, possible to change behaviour (like reaction for double tap) according to your wish<br />
* Video:<br />
** in laptops with dual video card (Intel and ATI) - detects both, Intel is active as a default, not checked if it's possible at all to switch between them<br />
<br />
==== Operation with a HDD caddy ====<br />
When you install an SSD in the place of the plate HDD drive and you want to have your HDD still inside the laptop, it is possible to install it in the place of the optical drive in a special "HDD caddy". The optical drive is of 9 mm height, but a 9,5 mm caddy (ultra slim) fits in the slot. A caddy with a SATA interface is needed. It is difficult to separate the front bezel from the original optical drive (and opening its case does not help, but brings a danger of making a mess in the opening mechanism; the only option is just to pull the bezel using a bit of force, but you risk breaking the latches).<br />
<br />
While the HDD installed instead of the optical drive operates flawlessly in Windows, it was not going to work out of the box in Linux, at least in one case. The kernel tries to establish a connection with the disk, but fails to do it (''SATA link down'' entry in /var/log/messages). The solution is to force a 1.5 Gbps transfer speed (instead of 6 Gbps) by adding a ''libata.force='' kernel parameter. See [https://www.kernel.org/doc/Documentation/kernel-parameters.txt] for details.<br />
<br />
=== Lenovo K450e ===<br />
<br />
After installing Arch Linux and booting, a single beep may be heard. To disable this beep, press F1 during startup, then change Boot Priority to 'UEFI First', as well as enabling 'CSM'.<br />
<br />
=== ThinkPad X1 Carbon 3rd ===<br />
<br />
* http://natalian.org/archives/2015/02/18/Archlinux_on_a_Lenovo_X1C3/<br />
<br />
=== Lenovo 3000 N200 ===<br />
<br />
* Sound:<br />
** You may have to append {{ic|1=options snd_hda_intel model=lenovo}} to {{ic|/etc/modprobe.d/modprobe.conf}} for sound to work.<br />
<br />
=== Lenovo ThinkPad T430 ===<br />
{{Accuracy | I was not able to reproduce this bug as of September 2017 }}<br />
<br />
* Bluetooth (0a5c:21e6 Broadcom Corp. BCM20702 Bluetooth 4.0 [ThinkPad]) appears to be functional, even during standby or hibernation.<br />
<br />
=== Lenovo ThinkPad T440p ===<br />
<br />
* ClickPad: the whole trackpad clicks, and disabling the trackpad using older versions of synclient makes the trackpoint essentially unusable. This has been resolved in newer versions of {{Pkg|xf86-input-synaptics}}.<br />
** See [http://who-t.blogspot.com.au/2014/03/xorg-synaptics-support-for-lenovo-t440.html this article] and [http://who-t.blogspot.com.au/2013/12/lenovo-t440-touchpad-button.html previous version].<br />
** Install {{AUR|xf86-input-synlx40}}{{Broken package link|{{aur-mirror|xf86-input-synlx40}}}} and {{AUR|xf86-input-mtrack}} for alternative drivers.<br />
* Audio:<br />
** HDMI audio is the default audio output device. Consult the [[ALSA]] page for details on changing the default.<br />
** As the X100e/Mini10, it's possible to mute the headset and speaker outputs separately to the master. Muting the speaker output improves bass output on the headset port.<br />
** If the system fails to wake from sleep, it can lose sync with the internal audio card and speakers/headphones may fail to work. In this case, put the system to sleep, and wake it again and audio functionality should be restored. <br />
* The fingerprint sensor is a Validity VFS5011, which requires [https://github.com/abbradar/fprint_vfs5011 a patched fprintd] and is apparently highly unreliable.<br />
* thinkpad_acpi:<br />
** Controlling the Fn-Lock, Mute, Mic Mute or 'glowing I' LEDs is apparently not possible.<br />
** fan control does not seem to work.<br />
* Graphics and Video:<br />
** With the integrated GPU, [[xrandr]] can crash while attaching or detaching displays connected via the dock.<br />
** The built-in miniDisplayPort will sometimes spew I²C issues into the kernel log.<br />
** [[Hardware video acceleration]] is highly recommended as it performs significantly better than CPU decoding of large media files.<br />
** '''The BIOS should not be upgraded past version 1.14, as newer BIOSes cause memory corruption when used with Bumblebee.''' See [https://github.com/Bumblebee-Project/bbswitch/issues/78#issuecomment-42741698 Bumblebee GitHub]<br />
* Connectivity:<br />
** Bluetooth is ''extremely'' fragile. The controller works fine most of the time, but can cause the system to wedge totally on sleep/wake cycles, especially if a connection was active at sleep. Disable the controller using {{ic|bluetoothctl}} before sleeping.<br />
<br />
=== Lenovo ThinkPad T560 ===<br />
* No automatic brightness adjusting when switching power supply battery <-> AC<br />
<br />
* Hardware specifications of test device<br />
** CPU: Intel CORE i7-6600U @ 2.60GHz or Intel CORE i5-6200U @ 2.30GHz or Intel CORE i5-6300U @ 2.40GHz<br />
** GPU Primary: Intel HD 520<br />
** GPU Secondary: Nvidia GeForce 940MX or None<br />
** WiFi: Intel 8260<br />
** Ethernet: Intel I219-LM<br />
** Card reader: Realtek RTS522A<br />
<br />
=== Lenovo S21e-20 ===<br />
* Tested with {{Pkg|broadcom-wl-dkms}} 802.11 wireless driver<br />
* Synaptics touchpad required 3 patches to {{Pkg|linux}}:drivers/hid/hid-rmi.c on 2015-07-26 ([https://bugs.freedesktop.org/show_bug.cgi?id=91102 bug report], [https://github.com/harisokanovic/archlinux-packages/commit/f4550c211ca7809ecf926f8074c7b7250a74bd92 kernel recipe patch]). The current 4.3 kernel includes these patches. You will also need to install the xf86_64-input-synaptics package([https://www.archlinux.org/packages/?name=xf86-input-synaptics]) <br />
<br />
==== tpacpi-bat ====<br />
<br />
There is an issue with tpacpi-bat not reporting the right value for the stop threshold. This seems to be related to a buggy BIOS and can not be fixed application wise. <br />
<br />
See https://github.com/teleshoes/tpacpi-bat/issues/44<br />
<br />
==== ThinkPad Edge E420s Delay with Space Bar====<br />
Solution: Update BIOS (at least 1.08).<br />
<br />
=== Lenovo IdeaPad Y700 ===<br />
* The subwoofer does not work out of the box.<br />
** Updating to Kernel 4.15 or later seems to fix the subwoofer.<br />
<br />
== See also ==<br />
* [http://www.thinkwiki.org/wiki Think wiki]</div>Majewskyhttps://wiki.archlinux.org/index.php?title=Laptop/Lenovo&diff=548691Laptop/Lenovo2018-10-20T10:47:36Z<p>Majewsky: sort E485 into the correct section</p>
<hr />
<div>[[Category:Lenovo]]<br />
[[ja:ノートパソコン/Lenovo]]<br />
{{Laptops navigation}}<br />
{{Related articles start}}<br />
{{Related|ThinkPad docks}}<br />
{{Related articles end}}<br />
<br />
== IBM/Lenovo ==<br />
<br />
=== ThinkPad ===<br />
<br />
==== Edge series ====<br />
<br />
{{HCL/Laptops table header}}<br />
| [[Lenovo ThinkPad Edge E330]] || NA || Yes || Yes || Yes || Yes || Yes || Yes || NA || ||<br />
|-<br />
| [[Lenovo ThinkPad Edge E335]] || NA || Yes || Yes || Yes || Yes || NA || Yes || NA || ||<br />
|-<br />
| Lenovo ThinkPad Edge E420s || Yes || Yes || Yes || Yes || Yes || Yes || NA || NA || SDcard (Yes), Webcam (Yes), Trackpoint (No) || <br />
|-<br />
| [[Lenovo ThinkPad Edge E430]] || Yes || Yes || Yes* || Yes* || Not tested || Yes || NA || NA || SD card (yes) || <br />
|-<br />
| [[Lenovo ThinkPad Edge E455]] || 2015.04.01 || Yes* || Yes || Yes || Yes || Yes || Yes || NA || ||<br />
|-<br />
| Lenovo ThinkPad Edge E470 || 2017.09.01 || Yes || Yes || Yes || Yes || Not tested || NA || NA || trackpoint (yes) ||<br />
|-<br />
| Lenovo ThinkPad Edge E530 || Yes || Yes || Yes* || Yes* || Yes || Yes || NA || NA || SD card (yes), Finger Print (yes) || E530 without fingerprint reader can be equipt with one.<br />
|-<br />
| Lenovo ThinkPad Edge E531 || Yes || Yes || Yes || Yes || Yes* || Yes || Yes || NA || SD card (yes), Touch Pad/Trackpoint (yes), Webcam (yes) || WiFi only works with {{Pkg|broadcom-wl-dkms}}<br />
|-<br />
| Lenovo ThinkPad Edge E540 || 2015.08.01 || Yes || Yes || Yes || Yes || Yes || Yes* || NA || SD card (yes), Finger Print (yes), touch pad and trackpoint (yes), Webcam (yes) || <br />
|-<br />
| Lenovo ThinkPad Edge E545 || NA || Yes || Yes || Yes || Yes* || Not tested || Yes || NA || SD card (yes), touch pad and trackpoint (yes) Webcam (yes) || wifi works only with {{Pkg|broadcom-wl-dkms}}<br />
|-<br />
| Lenovo ThinkPad Edge E580 || 2018.05.01 || Yes || Yes || Yes || Yes || Yes || Yes || NA || Fingerprint sensor doesn't work because of proprietary firmware || ||<br />
|-<br />
|}<br />
<br />
=== E series ===<br />
<br />
{{HCL/Laptops table header}}<br />
| Lenovo ThinkPad E485 || 2018-10-01 || Not tested || Not tested || Yes || Yes || Not tested || Not tested || N/A || || if screen stays black immediately after boot, add <code>iommu=soft</code> in [[kernel parameters]]<br />
|-<br />
|}<br />
<br />
==== L series ====<br />
<br />
{{HCL/Laptops table header}}<br />
| [[Lenovo ThinkPad L380 Yoga]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || Trackpoint*, Fingerprint reader ||<br />
|-<br />
| Lenovo ThinkPad L420 || Yes || Yes || Yes || Yes || Yes || Not tested || Yes || NA || ||<br />
|-<br />
| Lenovo ThinkPad L430 || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || Trackpoint* ||<br />
|-<br />
| Lenovo ThinkPad L520 || 2018.09.01-x86_64|| Yes || Yes || Yes || Yes || Not tested|| Not tested|| Not tested|| Not tested ||<br />
|-<br />
| Lenovo ThinkPad L530 || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || Trackpoint*, Fingerprint reader ||<br />
|-<br />
|}<br />
<br />
==== P series ====<br />
<br />
{{HCL/Laptops table header}}<br />
| [[Lenovo ThinkPad P50]] || 2016.04 || Yes || Yes || Yes || Yes || Yes || Suspend working, hibernate not tested || NA || SD card (Yes), Webcam (Yes), Fingerprint Reader ({{AUR|libfprint-vfs0090-git}}), || Wifi requires Kernel 4.3.3+ <br />
|-<br />
| [[Lenovo ThinkPad P70]] || 2016.04 || Yes || Yes || Yes || Yes || Yes || Suspend working, hibernate not tested || NA || SD card (Yes), Webcam (Yes), Fingerprint Reader (No), || Wifi requires Kernel 4.3.3+ <br />
|-<br />
| Lenovo ThinkPad P51 || Unknown || Yes || Yes || Yes || Yes || Yes || Yes || Yes (No GNSS/GPS) ||<br />
* Working: SD card, Webcam, Express card, Smartcard reader, Fingerprint Reader ({{AUR|libfprint-vfs0097-git}})<br />
* Not working: TPM, Color calibrator, UEFI flash <br />
|| HDMI audio requires nvhda module<br />
|-<br />
| [[Lenovo ThinkPad P52]] || 2018.09 || Yes || Yes || Yes || Yes || Unknown || Suspend working, hibernate not tested || NA || Touchpad (No) ||<br />
|-<br />
|}<br />
<br />
==== T series ====<br />
<br />
{{HCL/Laptops table header}}<br />
| IBM ThinkPad T60 || Yes || Yes || Yes || Yes || Yes || Yes || ? || NA || ||<br />
|-<br />
| IBM ThinkPad T60p || Yes || Yes || Yes || Yes || Yes || Yes || ? || NA || ThinkFinger ||<br />
|-<br />
| [[IBM ThinkPad T61]] || Yes || Yes || Yes || Yes || Yes || Yes || NA || || ||<br />
|-<br />
| IBM ThinkPad T61p || Yes || Yes || Yes || Yes || Yes || Yes || NA || || ||<br />
|-<br />
| [[Lenovo ThinkPad T400]] || Yes || Yes || Yes || Yes || Yes || Yes || NA || NA || ||<br />
|-<br />
| [[Lenovo ThinkPad T400s]] || Yes || Yes || Yes || Yes || Yes || Yes || NA || NA || ||<br />
|-<br />
| Lenovo ThinkPad T410 || Yes || Yes || Yes || Yes || Yes || Yes || NA || NA || ||<br />
|-<br />
| [[Lenovo ThinkPad T420]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || Card reader tested, no Fingerprint scanner||<br />
|-<br />
| [[Lenovo ThinkPad T420s]] || Yes || Yes || Yes || Yes || Yes || Yes || NA || NA || Card Reader ||<br />
|-<br />
| [[Lenovo ThinkPad T430]] || Yes || Yes || Yes || Yes || Yes || Yes* || Yes* || Not tested || ||<br />
|-<br />
| [[#Lenovo ThinkPad T440p|Lenovo ThinkPad T440p]] || Yes || Yes || Yes || Yes || Yes || Yes* || NA || NA || Card Reader || See below<br />
|-<br />
| [[Lenovo ThinkPad T440s]] || Yes || Yes || Yes || Yes || Yes* || ? || Yes || ? || || See wiki page for more details about wireless<br />
|-<br />
| [[Lenovo ThinkPad T450s]] || 2015.10.01 || Yes || Yes || Yes || Yes || Yes || ? || NA || SD Card reader; fingerprint scanner|| <br />
|-<br />
| [[Lenovo ThinkPad T460s]] || Yes || Yes || no beep || Yes || Yes || Yes || ? || NA || SD Card reader|| <br />
|-<br />
| [[Lenovo ThinkPad T25]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD Card reader; fingerprint scanner; Touchscreen|| <br />
|-<br />
| [[Lenovo ThinkPad T470]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD Card reader; fingerprint scanner|| <br />
|-<br />
| [[Lenovo ThinkPad T470s]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD Card reader; fingerprint scanner|| <br />
|-<br />
| [[Lenovo ThinkPad T480]] || 2018.07.01 || Yes || Yes || Yes || Yes || Yes || ? || NA || Thunderbolt 3 (USB-C); SD Card reader; fingerprint scanner|| <br />
|-<br />
| [[Lenovo ThinkPad T480s]] || 2018.03.01 || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD Card reader; Thunderbolt 3 (USB-C)|| For [[Hardware_video_acceleration|video h/w acceleration]] install {{AUR|chromium-vaapi-bin}} and ensure to enable acceleration in {{ic|about:flags}}. Check everything is working in {{ic|about:gpu}}.<br />
|-<br />
| Lenovo ThinkPad T500 || Yes || Yes || Yes || Yes || Yes || Yes || NA || NA || ||<br />
|-<br />
| [[Lenovo ThinkPad T520]] || Yes || Yes || Yes || Yes || Yes || Yes || NA || NA || ||<br />
|-<br />
| [[Lenovo ThinkPad T530]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || ||<br />
|-<br />
| [[Lenovo ThinkPad T550]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || DisplayPort ||<br />
|-<br />
| Lenovo ThinkPad T560 || Yes || Yes || Yes || Yes || Yes || Yes || Yes* || NA || MiniDP; Fingerprint scanner; Intel + Nvidia GPU; Card Reader || See special notes for the hardware specifications of this test device<br />
|-<br />
| [[Lenovo ThinkPad T570]] || Yes || Yes || Yes || Yes || Yes || ? || Yes* || NA || not yet fully tested || <br />
|-<br />
| Lenovo ThinkPad T580 || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD Card Reader is supported; [https://forums.lenovo.com/t5/Linux-Discussion/Thinkpad-T580-Synaptics-Metallica-MIS-Touch-Fingerprint-Reader/m-p/4057745 Fingerprint reader is not supported] || Tested on ''2 May 2018'' (with ''Linux 4.16.5'')<br />
|}<br />
<br />
==== W series ====<br />
{{HCL/Laptops table header}}<br />
|-<br />
| Lenovo ThinkPad W510 || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD card (Yes), Webcam (Yes), Touchscreen (Yes), Fingerprint Reader (Not tested) || Tested April 2017 / Linux 4.10.8<br />
|-<br />
| Lenovo ThinkPad W530 || 2016.03 || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD card (Yes), Webcam (Yes), Fingerprint Reader (Yes) || Tested April 2018 / Linux 4.15.15<br />
|-<br />
| Lenovo ThinkPad W540 || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD card (Yes), Webcam (Yes), Fingerprint Reader (Yes) || Tested April 2017 / Linux 4.10.8<br />
|-<br />
| Lenovo ThinkPad W541 || Yes || Yes || Yes || Yes || Yes || Yes || Yes || Not tested || SD card (Yes), Webcam (Yes), Fingerprint Reader (Not tested) || Tested August 2018 / Linux 4.17.12<br />
|-<br />
| Lenovo ThinkPad W550s || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD card (Yes), Webcam (Yes), Fingerprint Reader (Yes) || Tested April 2018 / Linux 4.15.15<br />
|-<br />
|}<br />
<br />
==== X series ====<br />
<br />
{{HCL/Laptops table header}}<br />
| [[IBM ThinkPad X60s]] || Yes|| Yes || Yes || Yes || Yes || Yes || NA || NA || ||<br />
|-<br />
| Lenovo ThinkPad X61s || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD slot ||<br />
|-<br />
| [[Lenovo ThinkPad X100e]] || Yes|| Yes || Yes || Yes || Yes || Yes || Not tested || NA || SD card (Yes), Webcam (Yes) ||<br />
|-<br />
| [[Lenovo ThinkPad X200]] || Yes || Yes || Yes || Yes || Yes || Yes || NA || Yes || ||<br />
|-<br />
| [[Lenovo ThinkPad X200S]] || Yes || Yes || Yes || Yes || Yes || Not tested || NA || Not tested || Everything worked out of the box. However, fingerprint, SD card and webcam were not tested ||<br />
|-<br />
| [[Lenovo ThinkPad X201]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || Not tested || ||<br />
|-<br />
| [[Lenovo ThinkPad X220]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD card (Yes), Webcam (Yes) ||<br />
|-<br />
| [[Lenovo ThinkPad X230]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD card (Yes), Webcam (Yes), UMTS Modem (Yes) ||<br />
|-<br />
| [[Lenovo ThinkPad X240]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || WWAN LTE (yes) || SD card (Yes), Webcam (Yes), Fingerprint (yes) ||<br />
|-<br />
| [[Lenovo ThinkPad X250]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD card (Yes), Webcam (Yes), Fingerprint (yes) ||<br />
|-<br />
| [[Lenovo ThinkPad X260]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD card (Yes), Webcam (Yes), Fingerprint (yes) ||<br />
|-<br />
| Lenovo ThinkPad X270 || Yes || Yes || Yes || Yes || Yes || Not tested || Yes || NA || Webcam (yes) ||<br />
|-<br />
| Lenovo ThinkPad X280 || Yes || Yes || Yes || Yes || Yes || Not tested || Yes || NA || Webcam (yes) ||<br />
|-<br />
| [[Lenovo ThinkPad X1 Carbon]] || NA || Yes || Yes || Yes || Yes || Proprietary/nonfree || Yes || NA || ||<br />
|-<br />
| [[Lenovo ThinkPad X1 Carbon (Gen 2)]] || NA || Yes || Yes || Yes || Yes || Yes || Yes || NA || ||<br />
|-<br />
| [[Lenovo ThinkPad X1 Carbon (Gen 3)]] || NA || Yes || Yes || Yes || Yes || Yes || Yes || NA || ||<br />
|-<br />
| [[Lenovo ThinkPad X1 Carbon (Gen 4)]] || NA || Yes || Yes || Yes || Yes || Yes || Yes || NA || ||<br />
|-<br />
| [[Lenovo ThinkPad X1 Carbon (Gen 5)]] || NA || Yes || Yes || Yes || Yes || Yes || Yes || Yes || ||<br />
|-<br />
| [[Lenovo ThinkPad X1 Carbon (Gen 6)]] || NA || Yes || Yes || Yes || Yes || Yes || Yes || Yes || ||<br />
|_<br />
|}<br />
<br />
==== Yoga Series ====<br />
{{HCL/Laptops table header}}<br />
| [[Lenovo ThinkPad Yoga 260]] || USB || Yes || Yes || Yes || Yes || Yes || Unknown || Yes || SD card (Yes), Webcam (Yes), Fingerprint Reader (Unknown), Touchscreen (Yes), Tablet (Partial), Accelerometer (No) || Wifi requires Kernel 4.3.3+<br />
|-<br />
|}<br />
<br />
==== Helix Series ====<br />
{{HCL/Laptops table header}}<br />
| [[Lenovo ThinkPad Helix]] || Unknown || YES || YES || NA || YES || YES || NA || Touchscreen (yes), Pen (yes), Sensors (yes) || ||<br />
|-<br />
| [[Lenovo ThinkPad Helix 2nd Gen]] || 2018.04.01 (USB) || YES || YES || NA || YES || Not tested || Yes* (with updated BIOS) || Touchscreen (yes), Pen (not tested), Sensors (w/ patched kernel) || NA || Only suspend-to-idle ("freeze") is supported<br />
|-<br />
|}<br />
== Lenovo ==<br />
<br />
=== IdeaPad ===<br />
<br />
{{HCL/Laptops table header}}<br />
| Lenovo IdeaPad 120S || 2018-04-26 || Yes || Yes || NA || Yes || Yes || Yes || NA || Everything works ||<br />
|-<br />
| [[Lenovo IdeaPad Flex 10]] || Yes || Yes* || Yes || NA || Yes || Yes || Yes || NA || Touchscreen* ||<br />
|-<br />
| [[Lenovo IdeaPad S10]] || Yes || Yes || Yes || Yes || Yes || Yes || NA || NA || ||<br />
|-<br />
| [[Lenovo IdeaPad S400 Touch]] || Yes || Yes || Yes || Yes || Yes || Yes || Not tested || NA || ||<br />
|-<br />
| Lenovo IdeaPad U430p || Yes || Yes || Yes || Yes || Yes || Yes || Not tested || NA || ||<br />
|-<br />
| Lenovo IdeaPad Y700 || 2015.12.01 || Yes || Yes* || Yes || Yes || Yes || Not tested || NA || Trackpad - [https://unix.stackexchange.com/questions/362165/lenovo-y700-elantech-touchpad-query-0x01-failed buggy] || [https://bugzilla.kernel.org/show_bug.cgi?id=151681 Trackpad requires pata_legacy to be blacklisted]<br />
|-<br />
| [[Lenovo IdeaPad Z580]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || ||<br />
|-<br />
| [[Lenovo IdeaPad 720s]] || 2018.03.01 || Yes || Yes || NA* || Yes || Yes || Yes || NA || Fingerprint reader not working || *requires USB or USB C dongle<br />
|-<br />
| [[Lenovo IdeaPad 720s (Ryzen)]] || 2018.02.01 || Not tested || Not tested || Yes* || No || Not tested || Not tested || NA || Fingerprint reader not tested but most likely not working || *requires USB or USB C dongle<br />
|-<br />
| Lenovo Ideapad 320 || 2018.03.01 || Not tested || Not tested || Yes || Not tested || Not tested || Not tested || NA || To stop constant annoying messages by AMD-Vi, use 'iommu=soft' & 'amd_iommu=off' in kernel arguments || <br />
|-<br />
| Lenovo Ideapad N24 || 2018.04.01 || Yes || Yes || NA || Yes || Not tested || Not tested || NA || Touchscreen || <br />
|-<br />
|}<br />
<br />
=== B series ===<br />
<br />
{{HCL/Laptops table header}}<br />
| Lenovo B50 || NA || Yes || Yes || Yes || Yes || Not tested || Not tested || Not tested || ||<br />
|-<br />
| Lenovo B50-70 || Yes || Yes* ||Yes || Yes || Yes || Yes || Not tested || NA || See below* ||<br />
|-<br />
| Lenovo B450 || Yes || Yes ||Yes || Yes || Yes || NA || Not tested || NA || ||<br />
|-<br />
|}<br />
<br />
=== K series ===<br />
<br />
{{HCL/Laptops table header}}<br />
| Lenovo K450e || NA || Yes || Yes || Yes || Yes || Not tested || Yes || Not tested || ||<br />
|-<br />
|}<br />
<br />
=== N series ===<br />
<br />
{{HCL/Laptops table header}}<br />
| Lenovo N200 (3000) || Yes || Yes* || Yes || Yes || Yes || Yes* || NA || NA || See below ||<br />
|-<br />
|}<br />
<br />
=== S series ===<br />
<br />
{{HCL/Laptops table header}}<br />
| Lenovo S21e-20 || 2015.07.01 || Yes || Yes || NA || Yes* || ? || Yes || NA || SD Card (Yes), USB 3.0 (Yes), HDMI Out (?), Touchpad (Yes*) ||<br />
|-<br />
|}<br />
<br />
=== U Series ===<br />
<br />
{{HCL/Laptops table header}}<br />
| Lenovo U31-70 || 2015.10.01 || Yes || Yes || Yes || Yes* || Yes || Yes || NA || SD Card (Yes), USB 3.0 (Yes), HDMI Out (Yes), Touchpad (Yes), Webcam (Yes) ||<br />
|-<br />
|}<br />
<br />
=== V Series ===<br />
<br />
{{HCL/Laptops table header}}<br />
| Lenovo V110-15ISK || ??? || Yes || Yes || Yes || Yes || Not Tested || Yes || NA || SD Card (Not Tested), USB 3.0 (Not Tested), HDMI Out (Not Tested), Touchpad (Yes), Webcam (Yes) ||<br />
|-<br />
|}<br />
<br />
=== Y series ===<br />
{{HCL/Laptops table header}}<br />
| Lenovo Legion Y520 || 2017.12.01 || Yes || Yes || Yes || Yes || Yes || Yes || Yes || SD card (Not tested), Webcam (Not tested), USB & USB 3.0 (Yes) || Tested December 2017 / Linux 4.14.8. Must change SATA configuration in BIOS from RAID to AHCI in order to recognize SSD.<br />
|-<br />
|}<br />
<br />
== Special Notes (*): ==<br />
<br />
{{Accuracy|Lots of vague or unproven bugs/workarounds, poor writing}}<br />
<br />
=== Lenovo U31-70 ===<br />
Wireless needs {{Pkg|linux}} >= 4.3 and latest {{Pkg|linux-firmware}}, both packages are currently in testing. Copy one of the firmware blobs {{ic|eeprom_ar6320_2p1_NFA345i.bin}} or {{ic|eeprom_ar6320_2p1_NFA345i_highTX.bin}} from the windows driver to {{ic|/usr/lib/firmware/ath10k/QCA6174/hw2.1/board-pci-168c:0041:17aa:3545.bin}}.<br />
<br />
Wireless with firmware blobs from windows driver may no longer work on {{Pkg|linux}} >= 4.4. Download firmware blob https://github.com/kvalo/ath10k-firmware/blob/f428f53b36b144971c9c4c3d2ebd5fa8cae86c89/QCA6174/hw2.1/board-2.bin and copy it to {{ic|/usr/lib/firmware/ath10k/QCA6174/hw2.1/board-2.bin}}. Tested with {{Pkg|linux}} 4.4.5-1 and {{Pkg|linux-firmware}} 20160113.40e9ae8-1nu<br />
<br />
With packages {{Pkg|linux}} 4.6.1-2 and {{Pkg|linux-firmware}} 20160516.80d463b-1 being in stable, wireless works without any additional steps needed.<br />
<br />
=== Lenovo B50-70 ===<br />
* UEFI:<br />
** to be able to disable Secure Boot (necessary for dual boot, not needed for Linux only), you have to switch from "UEFI first" to "UEFI only" (or something like this) in UEFI setup menu; the Secure Boot option appears then on the Security tab<br />
** after UEFI update having Linux and Windows installed, the Linux bootloader ceased to be the default one, UEFI started to load Windows by default and it was impossible to select the Linux one in the UEFI boot menu and in the UEFI setup - reinstalling the bootloader helped; having no access to a boot media that supports UEFI, a solution might be also replacing the Windows EFI bootloader file with a Linux one temporalily, in order to be able to boot Linux from HDD<br />
** for the UEFI update, a Windows OS is needed<br />
* Touchpad:<br />
** Synaptics - works after installing Synaptics drivers from repo, possible to change behaviour (like reaction for double tap) according to your wish<br />
* Video:<br />
** in laptops with dual video card (Intel and ATI) - detects both, Intel is active as a default, not checked if it's possible at all to switch between them<br />
<br />
==== Operation with a HDD caddy ====<br />
When you install an SSD in the place of the plate HDD drive and you want to have your HDD still inside the laptop, it is possible to install it in the place of the optical drive in a special "HDD caddy". The optical drive is of 9 mm height, but a 9,5 mm caddy (ultra slim) fits in the slot. A caddy with a SATA interface is needed. It is difficult to separate the front bezel from the original optical drive (and opening its case does not help, but brings a danger of making a mess in the opening mechanism; the only option is just to pull the bezel using a bit of force, but you risk breaking the latches).<br />
<br />
While the HDD installed instead of the optical drive operates flawlessly in Windows, it was not going to work out of the box in Linux, at least in one case. The kernel tries to establish a connection with the disk, but fails to do it (''SATA link down'' entry in /var/log/messages). The solution is to force a 1.5 Gbps transfer speed (instead of 6 Gbps) by adding a ''libata.force='' kernel parameter. See [https://www.kernel.org/doc/Documentation/kernel-parameters.txt] for details.<br />
<br />
=== Lenovo K450e ===<br />
<br />
After installing Arch Linux and booting, a single beep may be heard. To disable this beep, press F1 during startup, then change Boot Priority to 'UEFI First', as well as enabling 'CSM'.<br />
<br />
=== ThinkPad X1 Carbon 3rd ===<br />
<br />
* http://natalian.org/archives/2015/02/18/Archlinux_on_a_Lenovo_X1C3/<br />
<br />
=== Lenovo 3000 N200 ===<br />
<br />
* Sound:<br />
** You may have to append {{ic|1=options snd_hda_intel model=lenovo}} to {{ic|/etc/modprobe.d/modprobe.conf}} for sound to work.<br />
<br />
=== Lenovo ThinkPad T430 ===<br />
{{Accuracy | I was not able to reproduce this bug as of September 2017 }}<br />
<br />
* Bluetooth (0a5c:21e6 Broadcom Corp. BCM20702 Bluetooth 4.0 [ThinkPad]) appears to be functional, even during standby or hibernation.<br />
<br />
=== Lenovo ThinkPad T440p ===<br />
<br />
* ClickPad: the whole trackpad clicks, and disabling the trackpad using older versions of synclient makes the trackpoint essentially unusable. This has been resolved in newer versions of {{Pkg|xf86-input-synaptics}}.<br />
** See [http://who-t.blogspot.com.au/2014/03/xorg-synaptics-support-for-lenovo-t440.html this article] and [http://who-t.blogspot.com.au/2013/12/lenovo-t440-touchpad-button.html previous version].<br />
** Install {{AUR|xf86-input-synlx40}}{{Broken package link|{{aur-mirror|xf86-input-synlx40}}}} and {{AUR|xf86-input-mtrack}} for alternative drivers.<br />
* Audio:<br />
** HDMI audio is the default audio output device. Consult the [[ALSA]] page for details on changing the default.<br />
** As the X100e/Mini10, it's possible to mute the headset and speaker outputs separately to the master. Muting the speaker output improves bass output on the headset port.<br />
** If the system fails to wake from sleep, it can lose sync with the internal audio card and speakers/headphones may fail to work. In this case, put the system to sleep, and wake it again and audio functionality should be restored. <br />
* The fingerprint sensor is a Validity VFS5011, which requires [https://github.com/abbradar/fprint_vfs5011 a patched fprintd] and is apparently highly unreliable.<br />
* thinkpad_acpi:<br />
** Controlling the Fn-Lock, Mute, Mic Mute or 'glowing I' LEDs is apparently not possible.<br />
** fan control does not seem to work.<br />
* Graphics and Video:<br />
** With the integrated GPU, [[xrandr]] can crash while attaching or detaching displays connected via the dock.<br />
** The built-in miniDisplayPort will sometimes spew I²C issues into the kernel log.<br />
** [[Hardware video acceleration]] is highly recommended as it performs significantly better than CPU decoding of large media files.<br />
** '''The BIOS should not be upgraded past version 1.14, as newer BIOSes cause memory corruption when used with Bumblebee.''' See [https://github.com/Bumblebee-Project/bbswitch/issues/78#issuecomment-42741698 Bumblebee GitHub]<br />
* Connectivity:<br />
** Bluetooth is ''extremely'' fragile. The controller works fine most of the time, but can cause the system to wedge totally on sleep/wake cycles, especially if a connection was active at sleep. Disable the controller using {{ic|bluetoothctl}} before sleeping.<br />
<br />
=== Lenovo ThinkPad T560 ===<br />
* No automatic brightness adjusting when switching power supply battery <-> AC<br />
<br />
* Hardware specifications of test device<br />
** CPU: Intel CORE i7-6600U @ 2.60GHz or Intel CORE i5-6200U @ 2.30GHz or Intel CORE i5-6300U @ 2.40GHz<br />
** GPU Primary: Intel HD 520<br />
** GPU Secondary: Nvidia GeForce 940MX or None<br />
** WiFi: Intel 8260<br />
** Ethernet: Intel I219-LM<br />
** Card reader: Realtek RTS522A<br />
<br />
=== Lenovo S21e-20 ===<br />
* Tested with {{Pkg|broadcom-wl-dkms}} 802.11 wireless driver<br />
* Synaptics touchpad required 3 patches to {{Pkg|linux}}:drivers/hid/hid-rmi.c on 2015-07-26 ([https://bugs.freedesktop.org/show_bug.cgi?id=91102 bug report], [https://github.com/harisokanovic/archlinux-packages/commit/f4550c211ca7809ecf926f8074c7b7250a74bd92 kernel recipe patch]). The current 4.3 kernel includes these patches. You will also need to install the xf86_64-input-synaptics package([https://www.archlinux.org/packages/?name=xf86-input-synaptics]) <br />
<br />
==== tpacpi-bat ====<br />
<br />
There is an issue with tpacpi-bat not reporting the right value for the stop threshold. This seems to be related to a buggy BIOS and can not be fixed application wise. <br />
<br />
See https://github.com/teleshoes/tpacpi-bat/issues/44<br />
<br />
==== ThinkPad Edge E420s Delay with Space Bar====<br />
Solution: Update BIOS (at least 1.08).<br />
<br />
=== Lenovo IdeaPad Y700 ===<br />
* The subwoofer does not work out of the box.<br />
** Updating to Kernel 4.15 or later seems to fix the subwoofer.<br />
<br />
== See also ==<br />
* [http://www.thinkwiki.org/wiki Think wiki]</div>Majewskyhttps://wiki.archlinux.org/index.php?title=Laptop/Lenovo&diff=548488Laptop/Lenovo2018-10-19T21:43:00Z<p>Majewsky: /* Lenovo */ - add initial remarks for E485</p>
<hr />
<div>[[Category:Lenovo]]<br />
[[ja:ノートパソコン/Lenovo]]<br />
{{Laptops navigation}}<br />
{{Related articles start}}<br />
{{Related|ThinkPad docks}}<br />
{{Related articles end}}<br />
<br />
== IBM/Lenovo ==<br />
<br />
=== ThinkPad ===<br />
<br />
==== Edge series ====<br />
<br />
{{HCL/Laptops table header}}<br />
| [[Lenovo ThinkPad Edge E330]] || NA || Yes || Yes || Yes || Yes || Yes || Yes || NA || ||<br />
|-<br />
| [[Lenovo ThinkPad Edge E335]] || NA || Yes || Yes || Yes || Yes || NA || Yes || NA || ||<br />
|-<br />
| Lenovo ThinkPad Edge E420s || Yes || Yes || Yes || Yes || Yes || Yes || NA || NA || SDcard (Yes), Webcam (Yes), Trackpoint (No) || <br />
|-<br />
| [[Lenovo ThinkPad Edge E430]] || Yes || Yes || Yes* || Yes* || Not tested || Yes || NA || NA || SD card (yes) || <br />
|-<br />
| [[Lenovo ThinkPad Edge E455]] || 2015.04.01 || Yes* || Yes || Yes || Yes || Yes || Yes || NA || ||<br />
|-<br />
| Lenovo ThinkPad Edge E470 || 2017.09.01 || Yes || Yes || Yes || Yes || Not tested || NA || NA || trackpoint (yes) ||<br />
|-<br />
| Lenovo ThinkPad Edge E530 || Yes || Yes || Yes* || Yes* || Yes || Yes || NA || NA || SD card (yes), Finger Print (yes) || E530 without fingerprint reader can be equipt with one.<br />
|-<br />
| Lenovo ThinkPad Edge E531 || Yes || Yes || Yes || Yes || Yes* || Yes || Yes || NA || SD card (yes), Touch Pad/Trackpoint (yes), Webcam (yes) || WiFi only works with {{Pkg|broadcom-wl-dkms}}<br />
|-<br />
| Lenovo ThinkPad Edge E540 || 2015.08.01 || Yes || Yes || Yes || Yes || Yes || Yes* || NA || SD card (yes), Finger Print (yes), touch pad and trackpoint (yes), Webcam (yes) || <br />
|-<br />
| Lenovo ThinkPad Edge E545 || NA || Yes || Yes || Yes || Yes* || Not tested || Yes || NA || SD card (yes), touch pad and trackpoint (yes) Webcam (yes) || wifi works only with {{Pkg|broadcom-wl-dkms}}<br />
|-<br />
| Lenovo ThinkPad Edge E580 || 2018.05.01 || Yes || Yes || Yes || Yes || Yes || Yes || NA || Fingerprint sensor doesn't work because of proprietary firmware || ||<br />
|-<br />
|}<br />
<br />
==== L series ====<br />
<br />
{{HCL/Laptops table header}}<br />
| [[Lenovo ThinkPad L380 Yoga]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || Trackpoint*, Fingerprint reader ||<br />
|-<br />
| Lenovo ThinkPad L420 || Yes || Yes || Yes || Yes || Yes || Not tested || Yes || NA || ||<br />
|-<br />
| Lenovo ThinkPad L430 || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || Trackpoint* ||<br />
|-<br />
| Lenovo ThinkPad L520 || 2018.09.01-x86_64|| Yes || Yes || Yes || Yes || Not tested|| Not tested|| Not tested|| Not tested ||<br />
|-<br />
| Lenovo ThinkPad L530 || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || Trackpoint*, Fingerprint reader ||<br />
|-<br />
|}<br />
<br />
==== P series ====<br />
<br />
{{HCL/Laptops table header}}<br />
| [[Lenovo ThinkPad P50]] || 2016.04 || Yes || Yes || Yes || Yes || Yes || Suspend working, hibernate not tested || NA || SD card (Yes), Webcam (Yes), Fingerprint Reader ({{AUR|libfprint-vfs0090-git}}), || Wifi requires Kernel 4.3.3+ <br />
|-<br />
| [[Lenovo ThinkPad P70]] || 2016.04 || Yes || Yes || Yes || Yes || Yes || Suspend working, hibernate not tested || NA || SD card (Yes), Webcam (Yes), Fingerprint Reader (No), || Wifi requires Kernel 4.3.3+ <br />
|-<br />
| Lenovo ThinkPad P51 || Unknown || Yes || Yes || Yes || Yes || Yes || Yes || Yes (No GNSS/GPS) ||<br />
* Working: SD card, Webcam, Express card, Smartcard reader, Fingerprint Reader ({{AUR|libfprint-vfs0097-git}})<br />
* Not working: TPM, Color calibrator, UEFI flash <br />
|| HDMI audio requires nvhda module<br />
|-<br />
| [[Lenovo ThinkPad P52]] || 2018.09 || Yes || Yes || Yes || Yes || Unknown || Suspend working, hibernate not tested || NA || Touchpad (No) ||<br />
|-<br />
|}<br />
<br />
==== T series ====<br />
<br />
{{HCL/Laptops table header}}<br />
| IBM ThinkPad T60 || Yes || Yes || Yes || Yes || Yes || Yes || ? || NA || ||<br />
|-<br />
| IBM ThinkPad T60p || Yes || Yes || Yes || Yes || Yes || Yes || ? || NA || ThinkFinger ||<br />
|-<br />
| [[IBM ThinkPad T61]] || Yes || Yes || Yes || Yes || Yes || Yes || NA || || ||<br />
|-<br />
| IBM ThinkPad T61p || Yes || Yes || Yes || Yes || Yes || Yes || NA || || ||<br />
|-<br />
| [[Lenovo ThinkPad T400]] || Yes || Yes || Yes || Yes || Yes || Yes || NA || NA || ||<br />
|-<br />
| [[Lenovo ThinkPad T400s]] || Yes || Yes || Yes || Yes || Yes || Yes || NA || NA || ||<br />
|-<br />
| Lenovo ThinkPad T410 || Yes || Yes || Yes || Yes || Yes || Yes || NA || NA || ||<br />
|-<br />
| [[Lenovo ThinkPad T420]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || Card reader tested, no Fingerprint scanner||<br />
|-<br />
| [[Lenovo ThinkPad T420s]] || Yes || Yes || Yes || Yes || Yes || Yes || NA || NA || Card Reader ||<br />
|-<br />
| [[Lenovo ThinkPad T430]] || Yes || Yes || Yes || Yes || Yes || Yes* || Yes* || Not tested || ||<br />
|-<br />
| [[#Lenovo ThinkPad T440p|Lenovo ThinkPad T440p]] || Yes || Yes || Yes || Yes || Yes || Yes* || NA || NA || Card Reader || See below<br />
|-<br />
| [[Lenovo ThinkPad T440s]] || Yes || Yes || Yes || Yes || Yes* || ? || Yes || ? || || See wiki page for more details about wireless<br />
|-<br />
| [[Lenovo ThinkPad T450s]] || 2015.10.01 || Yes || Yes || Yes || Yes || Yes || ? || NA || SD Card reader; fingerprint scanner|| <br />
|-<br />
| [[Lenovo ThinkPad T460s]] || Yes || Yes || no beep || Yes || Yes || Yes || ? || NA || SD Card reader|| <br />
|-<br />
| [[Lenovo ThinkPad T25]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD Card reader; fingerprint scanner; Touchscreen|| <br />
|-<br />
| [[Lenovo ThinkPad T470]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD Card reader; fingerprint scanner|| <br />
|-<br />
| [[Lenovo ThinkPad T470s]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD Card reader; fingerprint scanner|| <br />
|-<br />
| [[Lenovo ThinkPad T480]] || 2018.07.01 || Yes || Yes || Yes || Yes || Yes || ? || NA || Thunderbolt 3 (USB-C); SD Card reader; fingerprint scanner|| <br />
|-<br />
| [[Lenovo ThinkPad T480s]] || 2018.03.01 || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD Card reader; Thunderbolt 3 (USB-C)|| For [[Hardware_video_acceleration|video h/w acceleration]] install {{AUR|chromium-vaapi-bin}} and ensure to enable acceleration in {{ic|about:flags}}. Check everything is working in {{ic|about:gpu}}.<br />
|-<br />
| Lenovo ThinkPad T500 || Yes || Yes || Yes || Yes || Yes || Yes || NA || NA || ||<br />
|-<br />
| [[Lenovo ThinkPad T520]] || Yes || Yes || Yes || Yes || Yes || Yes || NA || NA || ||<br />
|-<br />
| [[Lenovo ThinkPad T530]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || ||<br />
|-<br />
| [[Lenovo ThinkPad T550]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || DisplayPort ||<br />
|-<br />
| Lenovo ThinkPad T560 || Yes || Yes || Yes || Yes || Yes || Yes || Yes* || NA || MiniDP; Fingerprint scanner; Intel + Nvidia GPU; Card Reader || See special notes for the hardware specifications of this test device<br />
|-<br />
| [[Lenovo ThinkPad T570]] || Yes || Yes || Yes || Yes || Yes || ? || Yes* || NA || not yet fully tested || <br />
|-<br />
| Lenovo ThinkPad T580 || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD Card Reader is supported; [https://forums.lenovo.com/t5/Linux-Discussion/Thinkpad-T580-Synaptics-Metallica-MIS-Touch-Fingerprint-Reader/m-p/4057745 Fingerprint reader is not supported] || Tested on ''2 May 2018'' (with ''Linux 4.16.5'')<br />
|}<br />
<br />
==== W series ====<br />
{{HCL/Laptops table header}}<br />
|-<br />
| Lenovo ThinkPad W510 || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD card (Yes), Webcam (Yes), Touchscreen (Yes), Fingerprint Reader (Not tested) || Tested April 2017 / Linux 4.10.8<br />
|-<br />
| Lenovo ThinkPad W530 || 2016.03 || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD card (Yes), Webcam (Yes), Fingerprint Reader (Yes) || Tested April 2018 / Linux 4.15.15<br />
|-<br />
| Lenovo ThinkPad W540 || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD card (Yes), Webcam (Yes), Fingerprint Reader (Yes) || Tested April 2017 / Linux 4.10.8<br />
|-<br />
| Lenovo ThinkPad W541 || Yes || Yes || Yes || Yes || Yes || Yes || Yes || Not tested || SD card (Yes), Webcam (Yes), Fingerprint Reader (Not tested) || Tested August 2018 / Linux 4.17.12<br />
|-<br />
| Lenovo ThinkPad W550s || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD card (Yes), Webcam (Yes), Fingerprint Reader (Yes) || Tested April 2018 / Linux 4.15.15<br />
|-<br />
|}<br />
<br />
==== X series ====<br />
<br />
{{HCL/Laptops table header}}<br />
| [[IBM ThinkPad X60s]] || Yes|| Yes || Yes || Yes || Yes || Yes || NA || NA || ||<br />
|-<br />
| Lenovo ThinkPad X61s || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD slot ||<br />
|-<br />
| [[Lenovo ThinkPad X100e]] || Yes|| Yes || Yes || Yes || Yes || Yes || Not tested || NA || SD card (Yes), Webcam (Yes) ||<br />
|-<br />
| [[Lenovo ThinkPad X200]] || Yes || Yes || Yes || Yes || Yes || Yes || NA || Yes || ||<br />
|-<br />
| [[Lenovo ThinkPad X200S]] || Yes || Yes || Yes || Yes || Yes || Not tested || NA || Not tested || Everything worked out of the box. However, fingerprint, SD card and webcam were not tested ||<br />
|-<br />
| [[Lenovo ThinkPad X201]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || Not tested || ||<br />
|-<br />
| [[Lenovo ThinkPad X220]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD card (Yes), Webcam (Yes) ||<br />
|-<br />
| [[Lenovo ThinkPad X230]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD card (Yes), Webcam (Yes), UMTS Modem (Yes) ||<br />
|-<br />
| [[Lenovo ThinkPad X240]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || WWAN LTE (yes) || SD card (Yes), Webcam (Yes), Fingerprint (yes) ||<br />
|-<br />
| [[Lenovo ThinkPad X250]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD card (Yes), Webcam (Yes), Fingerprint (yes) ||<br />
|-<br />
| [[Lenovo ThinkPad X260]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || SD card (Yes), Webcam (Yes), Fingerprint (yes) ||<br />
|-<br />
| Lenovo ThinkPad X270 || Yes || Yes || Yes || Yes || Yes || Not tested || Yes || NA || Webcam (yes) ||<br />
|-<br />
| Lenovo ThinkPad X280 || Yes || Yes || Yes || Yes || Yes || Not tested || Yes || NA || Webcam (yes) ||<br />
|-<br />
| [[Lenovo ThinkPad X1 Carbon]] || NA || Yes || Yes || Yes || Yes || Proprietary/nonfree || Yes || NA || ||<br />
|-<br />
| [[Lenovo ThinkPad X1 Carbon (Gen 2)]] || NA || Yes || Yes || Yes || Yes || Yes || Yes || NA || ||<br />
|-<br />
| [[Lenovo ThinkPad X1 Carbon (Gen 3)]] || NA || Yes || Yes || Yes || Yes || Yes || Yes || NA || ||<br />
|-<br />
| [[Lenovo ThinkPad X1 Carbon (Gen 4)]] || NA || Yes || Yes || Yes || Yes || Yes || Yes || NA || ||<br />
|-<br />
| [[Lenovo ThinkPad X1 Carbon (Gen 5)]] || NA || Yes || Yes || Yes || Yes || Yes || Yes || Yes || ||<br />
|-<br />
| [[Lenovo ThinkPad X1 Carbon (Gen 6)]] || NA || Yes || Yes || Yes || Yes || Yes || Yes || Yes || ||<br />
|_<br />
|}<br />
<br />
==== Yoga Series ====<br />
{{HCL/Laptops table header}}<br />
| [[Lenovo ThinkPad Yoga 260]] || USB || Yes || Yes || Yes || Yes || Yes || Unknown || Yes || SD card (Yes), Webcam (Yes), Fingerprint Reader (Unknown), Touchscreen (Yes), Tablet (Partial), Accelerometer (No) || Wifi requires Kernel 4.3.3+<br />
|-<br />
|}<br />
<br />
==== Helix Series ====<br />
{{HCL/Laptops table header}}<br />
| [[Lenovo ThinkPad Helix]] || Unknown || YES || YES || NA || YES || YES || NA || Touchscreen (yes), Pen (yes), Sensors (yes) || ||<br />
|-<br />
| [[Lenovo ThinkPad Helix 2nd Gen]] || 2018.04.01 (USB) || YES || YES || NA || YES || Not tested || Yes* (with updated BIOS) || Touchscreen (yes), Pen (not tested), Sensors (w/ patched kernel) || NA || Only suspend-to-idle ("freeze") is supported<br />
|-<br />
|}<br />
== Lenovo ==<br />
<br />
=== IdeaPad ===<br />
<br />
{{HCL/Laptops table header}}<br />
| Lenovo IdeaPad 120S || 2018-04-26 || Yes || Yes || NA || Yes || Yes || Yes || NA || Everything works ||<br />
|-<br />
| [[Lenovo IdeaPad Flex 10]] || Yes || Yes* || Yes || NA || Yes || Yes || Yes || NA || Touchscreen* ||<br />
|-<br />
| [[Lenovo IdeaPad S10]] || Yes || Yes || Yes || Yes || Yes || Yes || NA || NA || ||<br />
|-<br />
| [[Lenovo IdeaPad S400 Touch]] || Yes || Yes || Yes || Yes || Yes || Yes || Not tested || NA || ||<br />
|-<br />
| Lenovo IdeaPad U430p || Yes || Yes || Yes || Yes || Yes || Yes || Not tested || NA || ||<br />
|-<br />
| Lenovo IdeaPad Y700 || 2015.12.01 || Yes || Yes* || Yes || Yes || Yes || Not tested || NA || Trackpad - [https://unix.stackexchange.com/questions/362165/lenovo-y700-elantech-touchpad-query-0x01-failed buggy] || [https://bugzilla.kernel.org/show_bug.cgi?id=151681 Trackpad requires pata_legacy to be blacklisted]<br />
|-<br />
| [[Lenovo IdeaPad Z580]] || Yes || Yes || Yes || Yes || Yes || Yes || Yes || NA || ||<br />
|-<br />
| [[Lenovo IdeaPad 720s]] || 2018.03.01 || Yes || Yes || NA* || Yes || Yes || Yes || NA || Fingerprint reader not working || *requires USB or USB C dongle<br />
|-<br />
| [[Lenovo IdeaPad 720s (Ryzen)]] || 2018.02.01 || Not tested || Not tested || Yes* || No || Not tested || Not tested || NA || Fingerprint reader not tested but most likely not working || *requires USB or USB C dongle<br />
|-<br />
| Lenovo Ideapad 320 || 2018.03.01 || Not tested || Not tested || Yes || Not tested || Not tested || Not tested || NA || To stop constant annoying messages by AMD-Vi, use 'iommu=soft' & 'amd_iommu=off' in kernel arguments || <br />
|-<br />
| Lenovo Ideapad N24 || 2018.04.01 || Yes || Yes || NA || Yes || Not tested || Not tested || NA || Touchscreen || <br />
|-<br />
|}<br />
<br />
=== B series ===<br />
<br />
{{HCL/Laptops table header}}<br />
| Lenovo B50 || NA || Yes || Yes || Yes || Yes || Not tested || Not tested || Not tested || ||<br />
|-<br />
| Lenovo B50-70 || Yes || Yes* ||Yes || Yes || Yes || Yes || Not tested || NA || See below* ||<br />
|-<br />
| Lenovo B450 || Yes || Yes ||Yes || Yes || Yes || NA || Not tested || NA || ||<br />
|-<br />
|}<br />
<br />
=== E series ===<br />
<br />
{{HCL/Laptops table header}}<br />
| Lenovo E485 || 2018-10-01 || Not tested || Not tested || Yes || Yes || Not tested || Not tested || N/A || || if screen stays black immediately after boot, add <code>iommu=soft</code> in [[kernel parameters]]<br />
|-<br />
|}<br />
<br />
=== K series ===<br />
<br />
{{HCL/Laptops table header}}<br />
| Lenovo K450e || NA || Yes || Yes || Yes || Yes || Not tested || Yes || Not tested || ||<br />
|-<br />
|}<br />
<br />
=== N series ===<br />
<br />
{{HCL/Laptops table header}}<br />
| Lenovo N200 (3000) || Yes || Yes* || Yes || Yes || Yes || Yes* || NA || NA || See below ||<br />
|-<br />
|}<br />
<br />
=== S series ===<br />
<br />
{{HCL/Laptops table header}}<br />
| Lenovo S21e-20 || 2015.07.01 || Yes || Yes || NA || Yes* || ? || Yes || NA || SD Card (Yes), USB 3.0 (Yes), HDMI Out (?), Touchpad (Yes*) ||<br />
|-<br />
|}<br />
<br />
=== U Series ===<br />
<br />
{{HCL/Laptops table header}}<br />
| Lenovo U31-70 || 2015.10.01 || Yes || Yes || Yes || Yes* || Yes || Yes || NA || SD Card (Yes), USB 3.0 (Yes), HDMI Out (Yes), Touchpad (Yes), Webcam (Yes) ||<br />
|-<br />
|}<br />
<br />
=== V Series ===<br />
<br />
{{HCL/Laptops table header}}<br />
| Lenovo V110-15ISK || ??? || Yes || Yes || Yes || Yes || Not Tested || Yes || NA || SD Card (Not Tested), USB 3.0 (Not Tested), HDMI Out (Not Tested), Touchpad (Yes), Webcam (Yes) ||<br />
|-<br />
|}<br />
<br />
=== Y series ===<br />
{{HCL/Laptops table header}}<br />
| Lenovo Legion Y520 || 2017.12.01 || Yes || Yes || Yes || Yes || Yes || Yes || Yes || SD card (Not tested), Webcam (Not tested), USB & USB 3.0 (Yes) || Tested December 2017 / Linux 4.14.8. Must change SATA configuration in BIOS from RAID to AHCI in order to recognize SSD.<br />
|-<br />
|}<br />
<br />
== Special Notes (*): ==<br />
<br />
{{Accuracy|Lots of vague or unproven bugs/workarounds, poor writing}}<br />
<br />
=== Lenovo U31-70 ===<br />
Wireless needs {{Pkg|linux}} >= 4.3 and latest {{Pkg|linux-firmware}}, both packages are currently in testing. Copy one of the firmware blobs {{ic|eeprom_ar6320_2p1_NFA345i.bin}} or {{ic|eeprom_ar6320_2p1_NFA345i_highTX.bin}} from the windows driver to {{ic|/usr/lib/firmware/ath10k/QCA6174/hw2.1/board-pci-168c:0041:17aa:3545.bin}}.<br />
<br />
Wireless with firmware blobs from windows driver may no longer work on {{Pkg|linux}} >= 4.4. Download firmware blob https://github.com/kvalo/ath10k-firmware/blob/f428f53b36b144971c9c4c3d2ebd5fa8cae86c89/QCA6174/hw2.1/board-2.bin and copy it to {{ic|/usr/lib/firmware/ath10k/QCA6174/hw2.1/board-2.bin}}. Tested with {{Pkg|linux}} 4.4.5-1 and {{Pkg|linux-firmware}} 20160113.40e9ae8-1nu<br />
<br />
With packages {{Pkg|linux}} 4.6.1-2 and {{Pkg|linux-firmware}} 20160516.80d463b-1 being in stable, wireless works without any additional steps needed.<br />
<br />
=== Lenovo B50-70 ===<br />
* UEFI:<br />
** to be able to disable Secure Boot (necessary for dual boot, not needed for Linux only), you have to switch from "UEFI first" to "UEFI only" (or something like this) in UEFI setup menu; the Secure Boot option appears then on the Security tab<br />
** after UEFI update having Linux and Windows installed, the Linux bootloader ceased to be the default one, UEFI started to load Windows by default and it was impossible to select the Linux one in the UEFI boot menu and in the UEFI setup - reinstalling the bootloader helped; having no access to a boot media that supports UEFI, a solution might be also replacing the Windows EFI bootloader file with a Linux one temporalily, in order to be able to boot Linux from HDD<br />
** for the UEFI update, a Windows OS is needed<br />
* Touchpad:<br />
** Synaptics - works after installing Synaptics drivers from repo, possible to change behaviour (like reaction for double tap) according to your wish<br />
* Video:<br />
** in laptops with dual video card (Intel and ATI) - detects both, Intel is active as a default, not checked if it's possible at all to switch between them<br />
<br />
==== Operation with a HDD caddy ====<br />
When you install an SSD in the place of the plate HDD drive and you want to have your HDD still inside the laptop, it is possible to install it in the place of the optical drive in a special "HDD caddy". The optical drive is of 9 mm height, but a 9,5 mm caddy (ultra slim) fits in the slot. A caddy with a SATA interface is needed. It is difficult to separate the front bezel from the original optical drive (and opening its case does not help, but brings a danger of making a mess in the opening mechanism; the only option is just to pull the bezel using a bit of force, but you risk breaking the latches).<br />
<br />
While the HDD installed instead of the optical drive operates flawlessly in Windows, it was not going to work out of the box in Linux, at least in one case. The kernel tries to establish a connection with the disk, but fails to do it (''SATA link down'' entry in /var/log/messages). The solution is to force a 1.5 Gbps transfer speed (instead of 6 Gbps) by adding a ''libata.force='' kernel parameter. See [https://www.kernel.org/doc/Documentation/kernel-parameters.txt] for details.<br />
<br />
=== Lenovo K450e ===<br />
<br />
After installing Arch Linux and booting, a single beep may be heard. To disable this beep, press F1 during startup, then change Boot Priority to 'UEFI First', as well as enabling 'CSM'.<br />
<br />
=== ThinkPad X1 Carbon 3rd ===<br />
<br />
* http://natalian.org/archives/2015/02/18/Archlinux_on_a_Lenovo_X1C3/<br />
<br />
=== Lenovo 3000 N200 ===<br />
<br />
* Sound:<br />
** You may have to append {{ic|1=options snd_hda_intel model=lenovo}} to {{ic|/etc/modprobe.d/modprobe.conf}} for sound to work.<br />
<br />
=== Lenovo ThinkPad T430 ===<br />
{{Accuracy | I was not able to reproduce this bug as of September 2017 }}<br />
<br />
* Bluetooth (0a5c:21e6 Broadcom Corp. BCM20702 Bluetooth 4.0 [ThinkPad]) appears to be functional, even during standby or hibernation.<br />
<br />
=== Lenovo ThinkPad T440p ===<br />
<br />
* ClickPad: the whole trackpad clicks, and disabling the trackpad using older versions of synclient makes the trackpoint essentially unusable. This has been resolved in newer versions of {{Pkg|xf86-input-synaptics}}.<br />
** See [http://who-t.blogspot.com.au/2014/03/xorg-synaptics-support-for-lenovo-t440.html this article] and [http://who-t.blogspot.com.au/2013/12/lenovo-t440-touchpad-button.html previous version].<br />
** Install {{AUR|xf86-input-synlx40}}{{Broken package link|{{aur-mirror|xf86-input-synlx40}}}} and {{AUR|xf86-input-mtrack}} for alternative drivers.<br />
* Audio:<br />
** HDMI audio is the default audio output device. Consult the [[ALSA]] page for details on changing the default.<br />
** As the X100e/Mini10, it's possible to mute the headset and speaker outputs separately to the master. Muting the speaker output improves bass output on the headset port.<br />
** If the system fails to wake from sleep, it can lose sync with the internal audio card and speakers/headphones may fail to work. In this case, put the system to sleep, and wake it again and audio functionality should be restored. <br />
* The fingerprint sensor is a Validity VFS5011, which requires [https://github.com/abbradar/fprint_vfs5011 a patched fprintd] and is apparently highly unreliable.<br />
* thinkpad_acpi:<br />
** Controlling the Fn-Lock, Mute, Mic Mute or 'glowing I' LEDs is apparently not possible.<br />
** fan control does not seem to work.<br />
* Graphics and Video:<br />
** With the integrated GPU, [[xrandr]] can crash while attaching or detaching displays connected via the dock.<br />
** The built-in miniDisplayPort will sometimes spew I²C issues into the kernel log.<br />
** [[Hardware video acceleration]] is highly recommended as it performs significantly better than CPU decoding of large media files.<br />
** '''The BIOS should not be upgraded past version 1.14, as newer BIOSes cause memory corruption when used with Bumblebee.''' See [https://github.com/Bumblebee-Project/bbswitch/issues/78#issuecomment-42741698 Bumblebee GitHub]<br />
* Connectivity:<br />
** Bluetooth is ''extremely'' fragile. The controller works fine most of the time, but can cause the system to wedge totally on sleep/wake cycles, especially if a connection was active at sleep. Disable the controller using {{ic|bluetoothctl}} before sleeping.<br />
<br />
=== Lenovo ThinkPad T560 ===<br />
* No automatic brightness adjusting when switching power supply battery <-> AC<br />
<br />
* Hardware specifications of test device<br />
** CPU: Intel CORE i7-6600U @ 2.60GHz or Intel CORE i5-6200U @ 2.30GHz or Intel CORE i5-6300U @ 2.40GHz<br />
** GPU Primary: Intel HD 520<br />
** GPU Secondary: Nvidia GeForce 940MX or None<br />
** WiFi: Intel 8260<br />
** Ethernet: Intel I219-LM<br />
** Card reader: Realtek RTS522A<br />
<br />
=== Lenovo S21e-20 ===<br />
* Tested with {{Pkg|broadcom-wl-dkms}} 802.11 wireless driver<br />
* Synaptics touchpad required 3 patches to {{Pkg|linux}}:drivers/hid/hid-rmi.c on 2015-07-26 ([https://bugs.freedesktop.org/show_bug.cgi?id=91102 bug report], [https://github.com/harisokanovic/archlinux-packages/commit/f4550c211ca7809ecf926f8074c7b7250a74bd92 kernel recipe patch]). The current 4.3 kernel includes these patches. You will also need to install the xf86_64-input-synaptics package([https://www.archlinux.org/packages/?name=xf86-input-synaptics]) <br />
<br />
==== tpacpi-bat ====<br />
<br />
There is an issue with tpacpi-bat not reporting the right value for the stop threshold. This seems to be related to a buggy BIOS and can not be fixed application wise. <br />
<br />
See https://github.com/teleshoes/tpacpi-bat/issues/44<br />
<br />
==== ThinkPad Edge E420s Delay with Space Bar====<br />
Solution: Update BIOS (at least 1.08).<br />
<br />
=== Lenovo IdeaPad Y700 ===<br />
* The subwoofer does not work out of the box.<br />
** Updating to Kernel 4.15 or later seems to fix the subwoofer.<br />
<br />
== See also ==<br />
* [http://www.thinkwiki.org/wiki Think wiki]</div>Majewskyhttps://wiki.archlinux.org/index.php?title=Mpv&diff=503404Mpv2017-12-20T13:07:52Z<p>Majewsky: /* C */ - clarify</p>
<hr />
<div>{{Lowercase title}}<br />
[[Category:Multimedia players]]<br />
[[ja:Mpv]]<br />
[[ru:Mpv]]<br />
[[zh-hans:Mpv]]<br />
{{Related articles start}}<br />
{{Related|MPlayer}}<br />
{{Related articles end}}<br />
<br />
[https://mpv.io/ mpv] is a media player based on [[MPlayer]] and the now unmaintained ''mplayer2''. It supports a wide variety of video file formats, audio and video codecs, and subtitle types. A comprehensive (although admittedly incomplete) list of differences between ''mpv'' and the aforementioned players can be found [https://github.com/mpv-player/mpv/blob/master/DOCS/mplayer-changes.rst here].<br />
<br />
== Installation ==<br />
<br />
[[Install]] the {{Pkg|mpv}} package or {{AUR|mpv-git}} for the development version.<br />
<br />
=== Front ends ===<br />
<br />
mpv comes with a minimal GUI called On Screen Controller ''(OSC)'', that appears when moving the mouse. There are also other front ends available:<br />
<br />
* {{App|Baka MPlayer|Free and open source, cross-platform, ''libmpv'' based multimedia player (Qt 5).|http://bakamplayer.u8sand.net/|{{Pkg|baka-mplayer}}, {{AUR|baka-mplayer-git}}}}<br />
* {{App|GNOME MPV|A simple frontend for ''mpv'' (GTK+ 3).|https://gnome-mpv.github.io/|{{AUR|gnome-mpv}}, {{AUR|gnome-mpv-git}}}}<br />
* {{App|Media Player Classic Qute Theater|A clone of [[Wikipedia:Media Player Classic|Media Player Classic]] reimplimented in Qt.|https://github.com/cmdrkotori/mpc-qt|{{AUR|mpc-qt-git}}}}<br />
* {{App|[[Wikipedia:SMPlayer|SMPlayer]]|Qt multimedia player with extra features (CSS themes, YouTube integration, etc.) (Qt 5).|https://www.smplayer.info/|{{Pkg|smplayer}}}}<br />
* {{App|xt7-player-mpv|Qt/Gambas GUI to mpv with a rich set of configurable options including filters and drivers, ladspa plugins support as well as library/playlist managment, YouTube, online radios, podcasts, DVB-T and more.|https://github.com/kokoko3k/xt7-player-mpv|{{AUR|xt7-player-mpv-git}}}}<br />
<br />
== Configuration ==<br />
<br />
''mpv'' comes with good all-around defaults that should work well on computers with weaker/older video cards. However, if you have a computer with a more modern video card then mpv allows you to do a great deal of configuration to achieve better video quality (limited only by the power of your video card). To do this one only needs to create a few configuration files (they do not exist by default).<br />
<br />
{{Note| Configuration files are read system-wide from {{ic|/etc/mpv}} and per-user from {{ic|~/.config/mpv}} (unless the [[environment variable]] {{ic|XDG_CONFIG_HOME}} is set), where per-user settings override system-wide settings, all of which are overridden by the command line. User specific configuration is suggested since it may require some trial and error.}}<br />
<br />
First create the {{ic|~/.config/mpv}} directory if it does not already exist.<br />
$ mkdir ~/.config/mpv<br />
<br />
To help you get you started ''mpv'' provides a couple empty sample configuration files with a lot of options commented out, they are located at {{ic|/usr/share/doc/mpv/}}. <br />
* {{ic|mpv.conf}} will contain the majority of ''mpv'''s settings.<br />
* {{ic|input.conf}} will just contain key bindings.<br />
<br />
Read through both of them to get an idea of how they work and what options are available. You may copy them to your config folder to use as a starting point if you like:<br />
$ cp /usr/share/doc/mpv/mpv.conf ~/.config/mpv/mpv.conf<br />
$ cp /usr/share/doc/mpv/input.conf ~/.config/mpv/input.conf<br />
<br />
=== General settings - mpv.conf ===<br />
<br />
==== High quality configurations ====<br />
<br />
This loads high quality OpenGL options. Most users can run these without any problems, but they are not enabled by default to avoid causing problems for the few users who cannot run them.<br />
<br />
{{hc|1=~/.config/mpv/mpv.conf|2=<br />
profile=opengl-hq<br />
}}<br />
<br />
The {{ic|opengl-hq}} profile defaults to the {{ic|spline36}} scaling filter for mid quality and speed. For the best quality video output, the manual states that if your hardware can run it, {{ic|ewa_lanczossharp}} is probably what you should use.<br />
<br />
{{hc|1=~/.config/mpv/mpv.conf|2=<br />
profile=opengl-hq<br />
scale=ewa_lanczossharp<br />
cscale=ewa_lanczossharp<br />
}}<br />
<br />
These last three options are a little more complicated. The first option makes it so that if audio and video go out of sync then instead of dropping video frames it will resample the audio (a slight change in audio pitch is often less noticeable than dropped frames). The mpv wiki has an in depth article on it titled [https://github.com/mpv-player/mpv/wiki/Display-synchronization Display Synchronization]. The remaining two essentially make motion appear smoother on your display by changing the way that frames are shown so that the source framerate jives better with your display's refresh rate (not to be confused with SVP's technique which actually converts video to 60fps). The mpv wiki has an in depth article on it titled [https://github.com/mpv-player/mpv/wiki/Interpolation Interpolation] though it is also commonly known as ''smoothmotion''.<br />
<br />
{{hc|1=~/.config/mpv/mpv.conf|2=<br />
profile=opengl-hq<br />
scale=ewa_lanczossharp<br />
cscale=ewa_lanczossharp<br />
video-sync=display-resample<br />
interpolation<br />
tscale=oversample<br />
}}<br />
<br />
Beyond this there is still a lot you can do but things become more complicated, require more powerful video cards, and are in constant development. As a brief overview, it is possible to load special shaders that perform exotic scaling and sharpening techniques including some that actually use deep neural networks trained on images (for both real world and animated content). To learn more about this take a look around the [https://github.com/mpv-player/mpv/wiki mpv wiki], particularly the [https://github.com/mpv-player/mpv/wiki/User-Scripts#user-shaders user shader's section].<br />
<br />
There are also plenty of other options you may find desirable as well. It is worthwhile taking a look at {{man|1|mpv}}. It's also helpful to run ''mpv'' from the command line to check for error messages about the config.<br />
<br />
==== Profiles ====<br />
<br />
In {{ic|mpv.conf}} it is possible to create ''profiles'' which are essentially just "groups of options" with which you can:<br />
* Quickly switch between different configurations without having to rewrite the file.<br />
* Create special profiles for special content.<br />
* ''nest'' profiles so that you can make more complicated ''profiles'' out of simpler ones.<br />
<br />
Creating a profile is easy. The area at the top of {{ic|mpv.conf}} is called the top level, any options you write there will kick into effect once ''mpv'' is started. However, once you define a profile by writing its name in brackets then every option you write below it (until you define a new profile) is considered part of that profile. Here is an example {{ic|mpv.conf}}:<br />
<br />
{{hc|1=~/.config/mpv/mpv.conf|2=<br />
profile=myprofile2 #Top level area, load myprofile2<br />
ontop=yes #Always on top<br />
<br />
[myprofile1] #A simple profile, top level area ends here<br />
profile-desc="a profile" #Optional description for profile<br />
fs=yes #Start in full screen<br />
<br />
[myprofile2] #Another simple profile<br />
profile=opengl-hq #A built in profile that comes with mpv<br />
log-file=~~/log #Sets a location for writing a log file, ~~/ translates to ~/.config/mpv<br />
}}<br />
<br />
There are only two lines within the top level area and there are two separate profiles defined below it. When ''mpv'' starts it sees the first line, loads the options in {{ic|myprofile2}} (which means it loads the options in {{ic|opengl-hq}} and {{ic|1=log-file=~~/log}}) finally it loads {{ic|1=ontop=yes}} and finishes starting up. Note, {{ic|myprofile1}} is never loaded because it's never called in the top level area.<br />
<br />
Alternatively one could call mpv from the command line with<br />
$ mpv --profile=myprofile1 video.mkv<br />
and it would ignore all options except the ones in {{ic|myprofile1}}.<br />
<br />
=== Key bindings - input.conf ===<br />
<br />
Key bindings are actually fairly straightforward given the examples in {{ic|/usr/share/doc/mpv/input.conf}} and the relevant section in the [https://mpv.io/manual/master/#command-interface manual].<br />
<br />
Here is an {{ic|input.conf}} file that attempts to reproduce [https://github.com/dragons4life/MPC-HC-config-for-MPV/blob/master/input.conf MPC-HC keybindings] in mpv.<br />
<br />
Here are some more fun examples:<br />
<br />
Alt+RIGHT add video-rotate 90<br />
Alt+LEFT add video-rotate -90<br />
Alt+- add video-zoom -0.25<br />
Alt+= add video-zoom 0.25<br />
Alt+j add video-pan-x -0.05<br />
Alt+l add video-pan-x 0.05<br />
Alt+i add video-pan-y 0.05<br />
Alt+k add video-pan-y -0.05<br />
<br />
=== Additional configuration files ===<br />
<br />
In addition there are a few more configuration files one can create:<br />
* {{ic|~/.config/mpv/lua-settings/osc.conf}} manages the [https://mpv.io/manual/master/#on-screen-controller On Screen Controller]<br />
* If you are using any Lua scripts then you can create a corresponding conf file for each one here: {{ic|~/.config/mpv/lua-settings/''scriptname''.conf}} <br />
* [https://mpv.io/manual/master/#files lots more]<br />
<br />
== Scripts ==<br />
<br />
''mpv'' has a [https://github.com/mpv-player/mpv/wiki/User-Scripts large variety of scripts] that extend the functionality of the player. To this end, it has internal bindings for both Lua and JavaScript (added recently).<br />
<br />
Scripts are typically installed by putting them in the {{ic|~/.config/mpv/scripts/}} directory (you may have to create it first). After that they will be automatically loaded when mpv starts (this behavior can be altered with other mpv options). Some scripts come with their own installation and configuration instructions, so make sure to have a look. In addition some scripts are old, broken, and unmaintained.<br />
<br />
=== JavaScript ===<br />
<br />
Since JavaScript support is still fairly new, there is currently very little in the way of scripts, but [https://mpv.io/manual/master/#javascript documentation exists] for anyone interested in making their own.<br />
<br />
JavaScript support isn't currently available in the {{Pkg|mpv}} build, but is supported by several AUR packages, including {{AUR|mpv-full}} and {{AUR|mpv-build-git}}.<br />
<br />
=== Lua ===<br />
<br />
There are a lot of interesting Lua scripts for mpv. If you would like to make your own, the relevant documentation may be found [https://github.com/mpv-player/mpv/blob/master/DOCS/man/lua.rst here].<br />
<br />
==== mpv-stats ====<br />
<br />
[https://github.com/Argon-/mpv-stats/ mpv-stats] (or simply ''stats'') is a Lua script that outputs a lot of live statistics showing how well mpv is currently doing. It is very useful for making sure that your hardware can keep up with your configuration and for comparing different configurations. Since it is very actively maintained you may have to install {{AUR|mpv-git}} in order to use it.<br />
<br />
==== mpv-webm ====<br />
<br />
[https://github.com/ElegantMonkey/mpv-webm mpv-webm] (or simply ''webm'') is a very easy to use Lua script that allows one to create WebM files while watching videos. It includes several features and does not have any extra dependencies (relies entirely on mpv).<br />
<br />
=== C ===<br />
<br />
==== mpv-mpris ====<br />
<br />
The C plugin [https://github.com/hoyon/mpv-mpris mpv-mpris] allows other applications to integrate with mpv via the MPRIS protocol. For example, with mpv-mpris installed, {{pkg|kdeconnect}} can automatically pause video playback in mpv when a phone call arrives.<br />
<br />
Install {{AUR|mpv-mpris}} and follow the post-installation instructions displayed by Pacman.<br />
<br />
== Vapoursynth ==<br />
<br />
Vapoursynth is an alternative to AviSynth that can be used on Linux and allows for Video manipulation via python scripts. Vapoursynths python scripts can be used as video filters for ''mpv''.<br />
<br />
To use vapoursynth filters you have to install the {{Pkg|vapoursynth}} package (or {{AUR|vapoursynth-git}}) and compile ''mpv'' with the {{ic|--enable-vapoursynth}} build flag.<br />
<br />
This is easier to do by first installing Vapoursynth and then installing (or re-installing if it's already installed) {{AUR|mpv-git}}. The configure script for {{AUR|mpv-git}} will auto-detect Vapoursynth (as long as it has already been installed) and it will automatically compile mpv with support for Vapoursynth without having to manually change any configure options or anything (this makes it very easy to update mpv as well).<br />
<br />
=== SVP 4 Linux (SmoothVideoProject) ===<br />
<br />
[https://www.svp-team.com/wiki/Main_Page SmoothVideoProject SVP] is a program that's primarily known for converting video to 60fps. It's free [as in beer] and full featured for 64bit Linux (costs money for Windows and OS X and is incompatible with 32bit Linux).<br />
<br />
It has three main features and each one can be disabled/enabled as one chooses (you are not forced to use motion interpolation).<br />
# [https://www.svp-team.com/wiki/Manual:FRC Motion interpolation] ([https://www.youtube.com/watch?v=Wjb6CSe4708 youtube video]) - An algorithm that converts video to 60fps. This creates the somewhat controversial "soap opera effect" that some people love and others hate. Unfortunately the algorithm is not perfect and it also introduces more than its share of weird artifacts. The algorithm can be tuned (via a slider) for either performance or quality. It also has some artifact reduction settings that interpolate actual frames with the generated frames reducing the noticeability of the artifacts. The framerate detection can be set to automatic or manual (manual seems to resolve performance issues for some users).<br />
# [https://www.svp-team.com/wiki/Manual:Outer_lighting Black bar lighting] ([https://www.youtube.com/watch?v=yTzTpW3kTBE youtube video]) - If the image has an aspect ratio that produces black bars on your display then SVP will illuminate the black bars with "lights" generated by the content on the screen. It has some amount of customization but the defaults are pretty close to optimal.<br />
# [https://www.svp-team.com/wiki/Manual:SVPlight LED ambient lighting control] ([https://www.youtube.com/watch?v=UUM2n-8kIJ8 youtube video]) - Has the ability to control LED ambient lighting attached to your television.<br />
<br />
Once you have mpv compiled with Vapoursynth support it's fairly easy to get SVP working with mpv. Simply install {{AUR|svp}}, open the SVP program to let it assess your system performance (you may want to close other programs first so that it gets an accurate reading), and finally add the following mpv profile to your mpv.conf (taken from [https://www.svp-team.com/wiki/SVP:mpv here]):<br />
{{hc|1=mpv.conf|2=<br />
[svp]<br />
input-ipc-server=/tmp/mpvsocket # Receives input from SVP<br />
hr-seek-framedrop=no # Fixes audio desync<br />
resume-playback=no # Not compatible with SVP<br />
<br />
# Can fix stuttering in some cases, in other cases probably causes it. Try it if you experience stuttering.<br />
#opengl-early-flush=yes <br />
}}<br />
Then, in order to use SVP you must have the SVP program running in the background before opening the file using mpv with that profile. Either do:<br />
$ mpv --profile=svp video.mkv<br />
or set {{ic|1=profile=svp}} in the top-level portion of the mpv [[#Profiles|config]].<br />
<br />
If you want to use hardware decoding then you must use a copy-back decoder since normal decoders are not compatible with Vapoursynth (choose a {{ic|hwdec}} option that ends in {{ic|-copy}}). For instance:<br />
hwdec=auto-copy<br />
hwdec-codecs=all<br />
Either way, hardware decoding is discouraged by mpv devs and is not likely to make a significant difference in performance.<br />
<br />
== Tips and Tricks ==<br />
<br />
=== Hardware decoding ===<br />
<br />
See [[Hardware video acceleration]].<br />
<br />
{{Warning|Hardware decoding is known to sometimes cause problems and as such it is considered "[https://github.com/mpv-player/mpv/commit/dbef5b737e2f994f02923c8214cba368b663a655 usually a bad idea unless absolutely needed]" by the developers. For that reason and because it typically offers very similar performance to software decoding it is disabled by default. Moreover, depending on the video card, drivers installed, and file being decoded hardware decoding may perform differently or may not even be used at all leading to inconsistent behavior that can be difficult to debug.}}<br />
<br />
{{Note|The main difference between hardware decoding and software decoding is that in software decoding the file will be decompressed and then moved onto the video card whereas with hardware decoding it will be moved to the video card first and then decompressed. In either case, video ''playback'' will still be hardware accelerated via the video card.}}<br />
<br />
Unlike ''mplayer'' and ''mplayer2'', ''mpv'' has both VA-API and VDPAU support built-in. To enable it, run ''mpv'' with the {{ic|1=--hwdec='method'}} option. You can find list of all available methods looking in the {{man|1|mpv}} manual. To make this persistent, add the line {{ic|1=hwdec=''method''}} to your configuration file. If hardware decoding cannot be used, ''mpv'' will automatically fall back to software decoding.<br />
<br />
The default video output driver, {{ic|opengl}}, is the preferred video output driver and all others are offered only for compatibility purposes. If one encounters problems they may choose to use either {{ic|1=vo=vdpau}} (if using {{ic|1=hwdec=vdpau}}) or {{ic|1=vo=vaapi}} (if using {{ic|1=hwdec=vaapi}}) instead. This can affect the framedrop code used and cause other small differences.<br />
<br />
Even with hardware decoding enabled, it will only be used for some codecs by default (at the time of writing this list includes: h264, vc1, wmv3, hevc, mpeg2video, vp9). In order to use hardware decoding with all codecs set {{ic|1=hwdec-codecs=all}}. It is also possible to specify an exact list of codecs for which you want hardware decoding to be used (provided it has been enabled) by setting {{ic|1=--hwdec-codecs=h264,mpeg2video}}.<br />
<br />
==== In GNOME Wayland ====<br />
<br />
Because GNOME in Wayland mode also runs an Xorg server, video acceleration will fail with {{ic|1=[vaapi] libva: va_getDriverName() failed with unknown libva error,driver_name=(null)}}.<br />
<br />
To make mpv use the Wayland compositor, add the mpv option {{ic|1=opengl-backend=wayland}}[https://github.com/01org/intel-vaapi-driver/issues/203#issuecomment-311299852]. Note however that this will prevent the display of any on-screen decorations (controls, progress bar, elapsed time and total duration...) due to Wayland security features[https://github.com/mpv-player/mpv/pull/4556#issuecomment-311593370].<br />
<br />
=== Save position on quit ===<br />
<br />
By default you can save the position and quit by pressing {{ic|Shift+q}}. The shortcut can be changed by setting <br />
{{ic|quit_watch_later}} in the key bindings configuration file.<br />
<br />
To automatically save the current playback position on quit, start ''mpv'' with {{ic|--save-position-on-quit}}, or add {{ic|save-position-on-quit}} to the configuration file.<br />
<br />
=== Volume is too low ===<br />
<br />
Set {{ic|1=volume-max=''value''}} in your configuration file to a reasonable amount, such as {{ic|1=volume-max=600}}. Additionally (or alternatively), you can utilize [[Wikipedia:Dynamic range compression|dynamic range compression]] with {{ic|1=af=acompressor}}.<br />
<br />
=== Play a DVD ===<br />
To start the main stream of a video DVD, use the command:<br />
$ mpv dvd://<br />
<br />
=== Quickly cycle between aspect ratios ===<br />
<br />
You can cycle between aspect ratios using {{ic|Shift+a}}.<br />
<br />
=== Ignoring aspect ratio ===<br />
<br />
You can ignore aspect ratio using {{ic|1=--keepaspect=''no''}}. To make option permanent, add line {{ic|1=keepaspect=''no''}} to configuration file.<br />
<br />
=== Draw to the root window ===<br />
<br />
Run ''mpv'' with {{ic|1=--wid=0}}. ''mpv'' will draw to the window with a window ID of 0.<br />
<br />
=== Always show GUI ===<br />
<br />
It may be useful to always show the GUI window, even for audio files, especially when ''mpv'' is not started from terminal. This can be done by using {{ic|--force-window}} option.<br />
<br />
=== Hide GUI for video files ===<br />
<br />
It may be useful to hide the GUI window for video files. This can be done by using {{ic|--no-video}} option.<br />
<br />
=== Restoring old OSC ===<br />
<br />
Since version 0.21.0, mpv has replaced the on-screen controls by a bottombar. In case you want on-screen controls back, you can edit the mpv configuration [https://github.com/mpv-player/mpv/wiki/FAQ#i-want-the-old-osc-back as described here].<br />
<br />
=== Use as a browser plugin ===<br />
<br />
With the help of {{AUR|mozplugger}}, ''mpv'' can be used in a supported browser to play video. See [[Browser plugins#MozPlugger]] for configuration details. This coupled with a user script such as [http://isebaro.com/viewtube/?ln=en ViewTube], allows you to use ''mpv'' in place of a site's integrated video player.<br />
<br />
It may be needed to specify a valid user agent for HTTP streaming, e.g. {{ic|1=user-agent="Mozilla/5.0 (X11; Linux x86_64; rv:49.0) Gecko/20100101 Firefox/49.0"}}.<br />
<br />
[[Browser plugins#Multimedia playback]] page shows other easy ways to watch videos.<br />
<br />
=== Improving mpv as a music player with Lua scripts ===<br />
<br />
The development of mpv's Lua scripts are documented in [https://github.com/mpv-player/mpv/blob/master/DOCS/man/lua.rst DOCS/man/lua.rst]<br />
and examples are shown in [https://github.com/mpv-player/mpv/tree/master/TOOLS/lua TOOLS/lua]<br />
of the [https://github.com/mpv-player/mpv mpv repository].<br />
[https://web.archive.org/web/20160320001546/http://bamos.github.io/2014/07/05/mpv-lua-scripting/ This blog post] introduces the<br />
[https://github.com/bamos/dotfiles/blob/master/.mpv/scripts/music.lua music.lua] script,<br />
which shows how Lua scripts can be used to improve mpv as a music player.<br />
<br />
=== Twitch.tv streaming over mpv ===<br />
<br />
If {{Pkg|youtube-dl}} is installed, mpv can directly open a Twitch livestream.<br />
<br />
Alternatively, {{Pkg|streamlink}} can be used to stream Twitch. If you want a GUI for launching these streams use {{aur|streamlink-twitch-gui}}. See [[Livestreamer#Twitch]].<br />
<br />
Another alternative based on Livestreamer is this Lua script: https://gist.github.com/ChrisK2/8701184fe3ea7701c9cc<br />
<br />
=== youtube-dl and choosing formats ===<br />
<br />
The default {{ic|--ytdl-format}} is {{ic|bestvideo+bestaudio/best}}. For youtube videos that have 4K resolutions available, this may mean that your device will struggle to decode 4K VP9 encoded video in software even if the attached monitor is much lower resolution.<br />
<br />
Setting the right youtube-dl format selectors can fix this easily though. In the following configuration example, only videos with a vertical resolution of 1080 pixels or less will be considered.<br />
<br />
ytdl-format=bestvideo[height<=?1080]+bestaudio/best<br />
<br />
If you wish to avoid a certain codec altogether because you cannot hardware-decode it, you can add this to the format selector. For example, we can additionally choose to ignore VP9 as follows:<br />
<br />
ytdl-format=bestvideo[height<=?1080][vcodec!=vp9]+bestaudio/best<br />
<br />
If you prefer best quality open codecs (VP9 and Opus), use:<br />
ytdl-format="((bestvideo[vcodec^=vp9]/bestvideo)+(bestaudio[acodec=opus]/bestaudio[acodec=vorbis]/bestaudio[acodec=aac]/bestaudio))/best"<br />
<br />
=== youtube-dl audio with search ===<br />
<br />
To find and play audio straight from your terminal with {{ic|mm "''search terms''"}} put the following function in your {{ic|.bashrc}}:<br />
<br />
function mm() {<br />
mpv --no-video --ytdl-format=bestaudio ytdl://ytsearch:"$@"<br />
}<br />
<br />
=== Use mpv with a compositor ===<br />
<br />
If you are using a compositor (e.g. in KDE Plasma 5) and find that composition is disabled (e.g. in Plasma this would make you unable to present windows or see window thumbnails in the default app switcher) when mpv is playing a video, try {{ic|1=x11-bypass-compositor=no}}<br />
<br />
=== Creating a single screenshot ===<br />
An example of creating a single screenshot, by using a start time ({{ic|HH:MM:SS}}):<br />
<br />
$ mpv --no-audio --start=00:01:30 --frames=1 /path/to/video/file --o=/path/to/screenshot.png<br />
<br />
Screenshots will be saved in /path/to/screenshot.png.<br />
<br />
=== GNOME Blank screen (Wayland) ===<br />
<br />
MPV may not suspend GNOME's Power Saving Settings if using Wayland (resulting in screen saver turning off the monitor while video is playing for example). A workaround is to add {{ic|gnome-session-inhibit}} to the beginning of the {{ic|1=Exec=}} line in {{ic|mpv.desktop}}.<br />
<br />
== Troubleshooting ==<br />
<br />
=== General debugging ===<br />
<br />
If you are having trouble with ''mpv'''s playback (or if it's flat out failing to run) then the first three things you should do are:<br />
# Run ''mpv'' from the command line. If you are lucky there will be an error message there telling you what is wrong.<br>{{ic|$ mpv video.mkv}}<br />
# Have ''mpv'' output a log file. The log file might be difficult to sift through but if something is broken you might see it there.<br>{{ic|1=$ mpv --log-file=./log video.mkv}}<br />
# Run ''mpv'' without a configuration. If this runs well then the problem is somewhere in your configuration (perhaps your hardware cannot keep up with your settings).<br>{{ic|$ mpv --no-config video.mkv}}<br />
<br />
If ''mpv'' runs but it just does not run well then a fourth thing that might be worth taking a look at is installing the [[#mpv-stats|mpv-stats]] script and using it to see exactly how it's performing.<br />
<br />
=== Fix jerky playback and tearing ===<br />
<br />
mpv defaults to using the OpenGL video output device setting on hardware that supports it. In cases such as trying to play video back on a 4K display using a Intel HD4XXX series card or similar, you will find video playback unreliable, jerky to the point of stopping entirely at times and with major tearing when using any opengl output setting. If you experience any of these issues, using the XV (XVideo) video output device may help:<br />
<br />
{{hc|1=~/.config/mpv/mpv.conf|2=vo=xv}}<br />
<br />
This VO is deprecated and will cause issues in recent versions of mpv, most noticeably is the osd looking very blurry.<br />
<br />
It is possible to increase playback performance even more (especially on lower hardware), but this decreases the video quality dramatically in most cases.<br />
<br />
The following [[#Configuration|options]] may be considered to increase the video playback performance:<br />
<br />
{{hc|~/.config/mpv/mpv.conf|2=<br />
vd-lavc-fast<br />
vd-lavc-skiploopfilter=<skipvalue><br />
vd-lavc-skipframe=<skipvalue><br />
vd-lavc-framedrop=<skipvalue><br />
vd-lavc-threads=<threads><br />
}}<br />
<br />
=== Problems with window compositors ===<br />
<br />
Window compositors such as KWin or Mutter can cause trouble for playback smoothness. In such cases, it may help to set {{ic|1=x11-bypass-compositor=yes}} to make mpv also disable window compositing when playing in windowed mode (if supported by the compositor).<br />
<br />
With KWin compositing and hardware decoding, you may also want to set {{ic|1=x11-bypass-compositor=no}} to keep compositing enabled in fullscreen, since reanabling compositing after leaving fullscreen may introduce stutter for a period of time.<br />
<br />
=== No volume bar, cannot change volume ===<br />
<br />
Spin the mouse wheel over the volume icon.</div>Majewskyhttps://wiki.archlinux.org/index.php?title=Mpv&diff=503403Mpv2017-12-20T13:07:19Z<p>Majewsky: /* Scripts */ - add mpv-mpris</p>
<hr />
<div>{{Lowercase title}}<br />
[[Category:Multimedia players]]<br />
[[ja:Mpv]]<br />
[[ru:Mpv]]<br />
[[zh-hans:Mpv]]<br />
{{Related articles start}}<br />
{{Related|MPlayer}}<br />
{{Related articles end}}<br />
<br />
[https://mpv.io/ mpv] is a media player based on [[MPlayer]] and the now unmaintained ''mplayer2''. It supports a wide variety of video file formats, audio and video codecs, and subtitle types. A comprehensive (although admittedly incomplete) list of differences between ''mpv'' and the aforementioned players can be found [https://github.com/mpv-player/mpv/blob/master/DOCS/mplayer-changes.rst here].<br />
<br />
== Installation ==<br />
<br />
[[Install]] the {{Pkg|mpv}} package or {{AUR|mpv-git}} for the development version.<br />
<br />
=== Front ends ===<br />
<br />
mpv comes with a minimal GUI called On Screen Controller ''(OSC)'', that appears when moving the mouse. There are also other front ends available:<br />
<br />
* {{App|Baka MPlayer|Free and open source, cross-platform, ''libmpv'' based multimedia player (Qt 5).|http://bakamplayer.u8sand.net/|{{Pkg|baka-mplayer}}, {{AUR|baka-mplayer-git}}}}<br />
* {{App|GNOME MPV|A simple frontend for ''mpv'' (GTK+ 3).|https://gnome-mpv.github.io/|{{AUR|gnome-mpv}}, {{AUR|gnome-mpv-git}}}}<br />
* {{App|Media Player Classic Qute Theater|A clone of [[Wikipedia:Media Player Classic|Media Player Classic]] reimplimented in Qt.|https://github.com/cmdrkotori/mpc-qt|{{AUR|mpc-qt-git}}}}<br />
* {{App|[[Wikipedia:SMPlayer|SMPlayer]]|Qt multimedia player with extra features (CSS themes, YouTube integration, etc.) (Qt 5).|https://www.smplayer.info/|{{Pkg|smplayer}}}}<br />
* {{App|xt7-player-mpv|Qt/Gambas GUI to mpv with a rich set of configurable options including filters and drivers, ladspa plugins support as well as library/playlist managment, YouTube, online radios, podcasts, DVB-T and more.|https://github.com/kokoko3k/xt7-player-mpv|{{AUR|xt7-player-mpv-git}}}}<br />
<br />
== Configuration ==<br />
<br />
''mpv'' comes with good all-around defaults that should work well on computers with weaker/older video cards. However, if you have a computer with a more modern video card then mpv allows you to do a great deal of configuration to achieve better video quality (limited only by the power of your video card). To do this one only needs to create a few configuration files (they do not exist by default).<br />
<br />
{{Note| Configuration files are read system-wide from {{ic|/etc/mpv}} and per-user from {{ic|~/.config/mpv}} (unless the [[environment variable]] {{ic|XDG_CONFIG_HOME}} is set), where per-user settings override system-wide settings, all of which are overridden by the command line. User specific configuration is suggested since it may require some trial and error.}}<br />
<br />
First create the {{ic|~/.config/mpv}} directory if it does not already exist.<br />
$ mkdir ~/.config/mpv<br />
<br />
To help you get you started ''mpv'' provides a couple empty sample configuration files with a lot of options commented out, they are located at {{ic|/usr/share/doc/mpv/}}. <br />
* {{ic|mpv.conf}} will contain the majority of ''mpv'''s settings.<br />
* {{ic|input.conf}} will just contain key bindings.<br />
<br />
Read through both of them to get an idea of how they work and what options are available. You may copy them to your config folder to use as a starting point if you like:<br />
$ cp /usr/share/doc/mpv/mpv.conf ~/.config/mpv/mpv.conf<br />
$ cp /usr/share/doc/mpv/input.conf ~/.config/mpv/input.conf<br />
<br />
=== General settings - mpv.conf ===<br />
<br />
==== High quality configurations ====<br />
<br />
This loads high quality OpenGL options. Most users can run these without any problems, but they are not enabled by default to avoid causing problems for the few users who cannot run them.<br />
<br />
{{hc|1=~/.config/mpv/mpv.conf|2=<br />
profile=opengl-hq<br />
}}<br />
<br />
The {{ic|opengl-hq}} profile defaults to the {{ic|spline36}} scaling filter for mid quality and speed. For the best quality video output, the manual states that if your hardware can run it, {{ic|ewa_lanczossharp}} is probably what you should use.<br />
<br />
{{hc|1=~/.config/mpv/mpv.conf|2=<br />
profile=opengl-hq<br />
scale=ewa_lanczossharp<br />
cscale=ewa_lanczossharp<br />
}}<br />
<br />
These last three options are a little more complicated. The first option makes it so that if audio and video go out of sync then instead of dropping video frames it will resample the audio (a slight change in audio pitch is often less noticeable than dropped frames). The mpv wiki has an in depth article on it titled [https://github.com/mpv-player/mpv/wiki/Display-synchronization Display Synchronization]. The remaining two essentially make motion appear smoother on your display by changing the way that frames are shown so that the source framerate jives better with your display's refresh rate (not to be confused with SVP's technique which actually converts video to 60fps). The mpv wiki has an in depth article on it titled [https://github.com/mpv-player/mpv/wiki/Interpolation Interpolation] though it is also commonly known as ''smoothmotion''.<br />
<br />
{{hc|1=~/.config/mpv/mpv.conf|2=<br />
profile=opengl-hq<br />
scale=ewa_lanczossharp<br />
cscale=ewa_lanczossharp<br />
video-sync=display-resample<br />
interpolation<br />
tscale=oversample<br />
}}<br />
<br />
Beyond this there is still a lot you can do but things become more complicated, require more powerful video cards, and are in constant development. As a brief overview, it is possible to load special shaders that perform exotic scaling and sharpening techniques including some that actually use deep neural networks trained on images (for both real world and animated content). To learn more about this take a look around the [https://github.com/mpv-player/mpv/wiki mpv wiki], particularly the [https://github.com/mpv-player/mpv/wiki/User-Scripts#user-shaders user shader's section].<br />
<br />
There are also plenty of other options you may find desirable as well. It is worthwhile taking a look at {{man|1|mpv}}. It's also helpful to run ''mpv'' from the command line to check for error messages about the config.<br />
<br />
==== Profiles ====<br />
<br />
In {{ic|mpv.conf}} it is possible to create ''profiles'' which are essentially just "groups of options" with which you can:<br />
* Quickly switch between different configurations without having to rewrite the file.<br />
* Create special profiles for special content.<br />
* ''nest'' profiles so that you can make more complicated ''profiles'' out of simpler ones.<br />
<br />
Creating a profile is easy. The area at the top of {{ic|mpv.conf}} is called the top level, any options you write there will kick into effect once ''mpv'' is started. However, once you define a profile by writing its name in brackets then every option you write below it (until you define a new profile) is considered part of that profile. Here is an example {{ic|mpv.conf}}:<br />
<br />
{{hc|1=~/.config/mpv/mpv.conf|2=<br />
profile=myprofile2 #Top level area, load myprofile2<br />
ontop=yes #Always on top<br />
<br />
[myprofile1] #A simple profile, top level area ends here<br />
profile-desc="a profile" #Optional description for profile<br />
fs=yes #Start in full screen<br />
<br />
[myprofile2] #Another simple profile<br />
profile=opengl-hq #A built in profile that comes with mpv<br />
log-file=~~/log #Sets a location for writing a log file, ~~/ translates to ~/.config/mpv<br />
}}<br />
<br />
There are only two lines within the top level area and there are two separate profiles defined below it. When ''mpv'' starts it sees the first line, loads the options in {{ic|myprofile2}} (which means it loads the options in {{ic|opengl-hq}} and {{ic|1=log-file=~~/log}}) finally it loads {{ic|1=ontop=yes}} and finishes starting up. Note, {{ic|myprofile1}} is never loaded because it's never called in the top level area.<br />
<br />
Alternatively one could call mpv from the command line with<br />
$ mpv --profile=myprofile1 video.mkv<br />
and it would ignore all options except the ones in {{ic|myprofile1}}.<br />
<br />
=== Key bindings - input.conf ===<br />
<br />
Key bindings are actually fairly straightforward given the examples in {{ic|/usr/share/doc/mpv/input.conf}} and the relevant section in the [https://mpv.io/manual/master/#command-interface manual].<br />
<br />
Here is an {{ic|input.conf}} file that attempts to reproduce [https://github.com/dragons4life/MPC-HC-config-for-MPV/blob/master/input.conf MPC-HC keybindings] in mpv.<br />
<br />
Here are some more fun examples:<br />
<br />
Alt+RIGHT add video-rotate 90<br />
Alt+LEFT add video-rotate -90<br />
Alt+- add video-zoom -0.25<br />
Alt+= add video-zoom 0.25<br />
Alt+j add video-pan-x -0.05<br />
Alt+l add video-pan-x 0.05<br />
Alt+i add video-pan-y 0.05<br />
Alt+k add video-pan-y -0.05<br />
<br />
=== Additional configuration files ===<br />
<br />
In addition there are a few more configuration files one can create:<br />
* {{ic|~/.config/mpv/lua-settings/osc.conf}} manages the [https://mpv.io/manual/master/#on-screen-controller On Screen Controller]<br />
* If you are using any Lua scripts then you can create a corresponding conf file for each one here: {{ic|~/.config/mpv/lua-settings/''scriptname''.conf}} <br />
* [https://mpv.io/manual/master/#files lots more]<br />
<br />
== Scripts ==<br />
<br />
''mpv'' has a [https://github.com/mpv-player/mpv/wiki/User-Scripts large variety of scripts] that extend the functionality of the player. To this end, it has internal bindings for both Lua and JavaScript (added recently).<br />
<br />
Scripts are typically installed by putting them in the {{ic|~/.config/mpv/scripts/}} directory (you may have to create it first). After that they will be automatically loaded when mpv starts (this behavior can be altered with other mpv options). Some scripts come with their own installation and configuration instructions, so make sure to have a look. In addition some scripts are old, broken, and unmaintained.<br />
<br />
=== JavaScript ===<br />
<br />
Since JavaScript support is still fairly new, there is currently very little in the way of scripts, but [https://mpv.io/manual/master/#javascript documentation exists] for anyone interested in making their own.<br />
<br />
JavaScript support isn't currently available in the {{Pkg|mpv}} build, but is supported by several AUR packages, including {{AUR|mpv-full}} and {{AUR|mpv-build-git}}.<br />
<br />
=== Lua ===<br />
<br />
There are a lot of interesting Lua scripts for mpv. If you would like to make your own, the relevant documentation may be found [https://github.com/mpv-player/mpv/blob/master/DOCS/man/lua.rst here].<br />
<br />
==== mpv-stats ====<br />
<br />
[https://github.com/Argon-/mpv-stats/ mpv-stats] (or simply ''stats'') is a Lua script that outputs a lot of live statistics showing how well mpv is currently doing. It is very useful for making sure that your hardware can keep up with your configuration and for comparing different configurations. Since it is very actively maintained you may have to install {{AUR|mpv-git}} in order to use it.<br />
<br />
==== mpv-webm ====<br />
<br />
[https://github.com/ElegantMonkey/mpv-webm mpv-webm] (or simply ''webm'') is a very easy to use Lua script that allows one to create WebM files while watching videos. It includes several features and does not have any extra dependencies (relies entirely on mpv).<br />
<br />
=== C ===<br />
<br />
==== mpv-mpris ====<br />
<br />
The C plugin [https://github.com/hoyon/mpv-mpris mpv-mpris] allows other applications to control mpv via the MPRIS protocol. For example, with mpv-mpris installed, {{pkg|kdeconnect}} can automatically pause video playback in mpv when a phone call arrives.<br />
<br />
Install {{AUR|mpv-mpris}} and follow the post-installation instructions displayed by Pacman.<br />
<br />
== Vapoursynth ==<br />
<br />
Vapoursynth is an alternative to AviSynth that can be used on Linux and allows for Video manipulation via python scripts. Vapoursynths python scripts can be used as video filters for ''mpv''.<br />
<br />
To use vapoursynth filters you have to install the {{Pkg|vapoursynth}} package (or {{AUR|vapoursynth-git}}) and compile ''mpv'' with the {{ic|--enable-vapoursynth}} build flag.<br />
<br />
This is easier to do by first installing Vapoursynth and then installing (or re-installing if it's already installed) {{AUR|mpv-git}}. The configure script for {{AUR|mpv-git}} will auto-detect Vapoursynth (as long as it has already been installed) and it will automatically compile mpv with support for Vapoursynth without having to manually change any configure options or anything (this makes it very easy to update mpv as well).<br />
<br />
=== SVP 4 Linux (SmoothVideoProject) ===<br />
<br />
[https://www.svp-team.com/wiki/Main_Page SmoothVideoProject SVP] is a program that's primarily known for converting video to 60fps. It's free [as in beer] and full featured for 64bit Linux (costs money for Windows and OS X and is incompatible with 32bit Linux).<br />
<br />
It has three main features and each one can be disabled/enabled as one chooses (you are not forced to use motion interpolation).<br />
# [https://www.svp-team.com/wiki/Manual:FRC Motion interpolation] ([https://www.youtube.com/watch?v=Wjb6CSe4708 youtube video]) - An algorithm that converts video to 60fps. This creates the somewhat controversial "soap opera effect" that some people love and others hate. Unfortunately the algorithm is not perfect and it also introduces more than its share of weird artifacts. The algorithm can be tuned (via a slider) for either performance or quality. It also has some artifact reduction settings that interpolate actual frames with the generated frames reducing the noticeability of the artifacts. The framerate detection can be set to automatic or manual (manual seems to resolve performance issues for some users).<br />
# [https://www.svp-team.com/wiki/Manual:Outer_lighting Black bar lighting] ([https://www.youtube.com/watch?v=yTzTpW3kTBE youtube video]) - If the image has an aspect ratio that produces black bars on your display then SVP will illuminate the black bars with "lights" generated by the content on the screen. It has some amount of customization but the defaults are pretty close to optimal.<br />
# [https://www.svp-team.com/wiki/Manual:SVPlight LED ambient lighting control] ([https://www.youtube.com/watch?v=UUM2n-8kIJ8 youtube video]) - Has the ability to control LED ambient lighting attached to your television.<br />
<br />
Once you have mpv compiled with Vapoursynth support it's fairly easy to get SVP working with mpv. Simply install {{AUR|svp}}, open the SVP program to let it assess your system performance (you may want to close other programs first so that it gets an accurate reading), and finally add the following mpv profile to your mpv.conf (taken from [https://www.svp-team.com/wiki/SVP:mpv here]):<br />
{{hc|1=mpv.conf|2=<br />
[svp]<br />
input-ipc-server=/tmp/mpvsocket # Receives input from SVP<br />
hr-seek-framedrop=no # Fixes audio desync<br />
resume-playback=no # Not compatible with SVP<br />
<br />
# Can fix stuttering in some cases, in other cases probably causes it. Try it if you experience stuttering.<br />
#opengl-early-flush=yes <br />
}}<br />
Then, in order to use SVP you must have the SVP program running in the background before opening the file using mpv with that profile. Either do:<br />
$ mpv --profile=svp video.mkv<br />
or set {{ic|1=profile=svp}} in the top-level portion of the mpv [[#Profiles|config]].<br />
<br />
If you want to use hardware decoding then you must use a copy-back decoder since normal decoders are not compatible with Vapoursynth (choose a {{ic|hwdec}} option that ends in {{ic|-copy}}). For instance:<br />
hwdec=auto-copy<br />
hwdec-codecs=all<br />
Either way, hardware decoding is discouraged by mpv devs and is not likely to make a significant difference in performance.<br />
<br />
== Tips and Tricks ==<br />
<br />
=== Hardware decoding ===<br />
<br />
See [[Hardware video acceleration]].<br />
<br />
{{Warning|Hardware decoding is known to sometimes cause problems and as such it is considered "[https://github.com/mpv-player/mpv/commit/dbef5b737e2f994f02923c8214cba368b663a655 usually a bad idea unless absolutely needed]" by the developers. For that reason and because it typically offers very similar performance to software decoding it is disabled by default. Moreover, depending on the video card, drivers installed, and file being decoded hardware decoding may perform differently or may not even be used at all leading to inconsistent behavior that can be difficult to debug.}}<br />
<br />
{{Note|The main difference between hardware decoding and software decoding is that in software decoding the file will be decompressed and then moved onto the video card whereas with hardware decoding it will be moved to the video card first and then decompressed. In either case, video ''playback'' will still be hardware accelerated via the video card.}}<br />
<br />
Unlike ''mplayer'' and ''mplayer2'', ''mpv'' has both VA-API and VDPAU support built-in. To enable it, run ''mpv'' with the {{ic|1=--hwdec='method'}} option. You can find list of all available methods looking in the {{man|1|mpv}} manual. To make this persistent, add the line {{ic|1=hwdec=''method''}} to your configuration file. If hardware decoding cannot be used, ''mpv'' will automatically fall back to software decoding.<br />
<br />
The default video output driver, {{ic|opengl}}, is the preferred video output driver and all others are offered only for compatibility purposes. If one encounters problems they may choose to use either {{ic|1=vo=vdpau}} (if using {{ic|1=hwdec=vdpau}}) or {{ic|1=vo=vaapi}} (if using {{ic|1=hwdec=vaapi}}) instead. This can affect the framedrop code used and cause other small differences.<br />
<br />
Even with hardware decoding enabled, it will only be used for some codecs by default (at the time of writing this list includes: h264, vc1, wmv3, hevc, mpeg2video, vp9). In order to use hardware decoding with all codecs set {{ic|1=hwdec-codecs=all}}. It is also possible to specify an exact list of codecs for which you want hardware decoding to be used (provided it has been enabled) by setting {{ic|1=--hwdec-codecs=h264,mpeg2video}}.<br />
<br />
==== In GNOME Wayland ====<br />
<br />
Because GNOME in Wayland mode also runs an Xorg server, video acceleration will fail with {{ic|1=[vaapi] libva: va_getDriverName() failed with unknown libva error,driver_name=(null)}}.<br />
<br />
To make mpv use the Wayland compositor, add the mpv option {{ic|1=opengl-backend=wayland}}[https://github.com/01org/intel-vaapi-driver/issues/203#issuecomment-311299852]. Note however that this will prevent the display of any on-screen decorations (controls, progress bar, elapsed time and total duration...) due to Wayland security features[https://github.com/mpv-player/mpv/pull/4556#issuecomment-311593370].<br />
<br />
=== Save position on quit ===<br />
<br />
By default you can save the position and quit by pressing {{ic|Shift+q}}. The shortcut can be changed by setting <br />
{{ic|quit_watch_later}} in the key bindings configuration file.<br />
<br />
To automatically save the current playback position on quit, start ''mpv'' with {{ic|--save-position-on-quit}}, or add {{ic|save-position-on-quit}} to the configuration file.<br />
<br />
=== Volume is too low ===<br />
<br />
Set {{ic|1=volume-max=''value''}} in your configuration file to a reasonable amount, such as {{ic|1=volume-max=600}}. Additionally (or alternatively), you can utilize [[Wikipedia:Dynamic range compression|dynamic range compression]] with {{ic|1=af=acompressor}}.<br />
<br />
=== Play a DVD ===<br />
To start the main stream of a video DVD, use the command:<br />
$ mpv dvd://<br />
<br />
=== Quickly cycle between aspect ratios ===<br />
<br />
You can cycle between aspect ratios using {{ic|Shift+a}}.<br />
<br />
=== Ignoring aspect ratio ===<br />
<br />
You can ignore aspect ratio using {{ic|1=--keepaspect=''no''}}. To make option permanent, add line {{ic|1=keepaspect=''no''}} to configuration file.<br />
<br />
=== Draw to the root window ===<br />
<br />
Run ''mpv'' with {{ic|1=--wid=0}}. ''mpv'' will draw to the window with a window ID of 0.<br />
<br />
=== Always show GUI ===<br />
<br />
It may be useful to always show the GUI window, even for audio files, especially when ''mpv'' is not started from terminal. This can be done by using {{ic|--force-window}} option.<br />
<br />
=== Hide GUI for video files ===<br />
<br />
It may be useful to hide the GUI window for video files. This can be done by using {{ic|--no-video}} option.<br />
<br />
=== Restoring old OSC ===<br />
<br />
Since version 0.21.0, mpv has replaced the on-screen controls by a bottombar. In case you want on-screen controls back, you can edit the mpv configuration [https://github.com/mpv-player/mpv/wiki/FAQ#i-want-the-old-osc-back as described here].<br />
<br />
=== Use as a browser plugin ===<br />
<br />
With the help of {{AUR|mozplugger}}, ''mpv'' can be used in a supported browser to play video. See [[Browser plugins#MozPlugger]] for configuration details. This coupled with a user script such as [http://isebaro.com/viewtube/?ln=en ViewTube], allows you to use ''mpv'' in place of a site's integrated video player.<br />
<br />
It may be needed to specify a valid user agent for HTTP streaming, e.g. {{ic|1=user-agent="Mozilla/5.0 (X11; Linux x86_64; rv:49.0) Gecko/20100101 Firefox/49.0"}}.<br />
<br />
[[Browser plugins#Multimedia playback]] page shows other easy ways to watch videos.<br />
<br />
=== Improving mpv as a music player with Lua scripts ===<br />
<br />
The development of mpv's Lua scripts are documented in [https://github.com/mpv-player/mpv/blob/master/DOCS/man/lua.rst DOCS/man/lua.rst]<br />
and examples are shown in [https://github.com/mpv-player/mpv/tree/master/TOOLS/lua TOOLS/lua]<br />
of the [https://github.com/mpv-player/mpv mpv repository].<br />
[https://web.archive.org/web/20160320001546/http://bamos.github.io/2014/07/05/mpv-lua-scripting/ This blog post] introduces the<br />
[https://github.com/bamos/dotfiles/blob/master/.mpv/scripts/music.lua music.lua] script,<br />
which shows how Lua scripts can be used to improve mpv as a music player.<br />
<br />
=== Twitch.tv streaming over mpv ===<br />
<br />
If {{Pkg|youtube-dl}} is installed, mpv can directly open a Twitch livestream.<br />
<br />
Alternatively, {{Pkg|streamlink}} can be used to stream Twitch. If you want a GUI for launching these streams use {{aur|streamlink-twitch-gui}}. See [[Livestreamer#Twitch]].<br />
<br />
Another alternative based on Livestreamer is this Lua script: https://gist.github.com/ChrisK2/8701184fe3ea7701c9cc<br />
<br />
=== youtube-dl and choosing formats ===<br />
<br />
The default {{ic|--ytdl-format}} is {{ic|bestvideo+bestaudio/best}}. For youtube videos that have 4K resolutions available, this may mean that your device will struggle to decode 4K VP9 encoded video in software even if the attached monitor is much lower resolution.<br />
<br />
Setting the right youtube-dl format selectors can fix this easily though. In the following configuration example, only videos with a vertical resolution of 1080 pixels or less will be considered.<br />
<br />
ytdl-format=bestvideo[height<=?1080]+bestaudio/best<br />
<br />
If you wish to avoid a certain codec altogether because you cannot hardware-decode it, you can add this to the format selector. For example, we can additionally choose to ignore VP9 as follows:<br />
<br />
ytdl-format=bestvideo[height<=?1080][vcodec!=vp9]+bestaudio/best<br />
<br />
If you prefer best quality open codecs (VP9 and Opus), use:<br />
ytdl-format="((bestvideo[vcodec^=vp9]/bestvideo)+(bestaudio[acodec=opus]/bestaudio[acodec=vorbis]/bestaudio[acodec=aac]/bestaudio))/best"<br />
<br />
=== youtube-dl audio with search ===<br />
<br />
To find and play audio straight from your terminal with {{ic|mm "''search terms''"}} put the following function in your {{ic|.bashrc}}:<br />
<br />
function mm() {<br />
mpv --no-video --ytdl-format=bestaudio ytdl://ytsearch:"$@"<br />
}<br />
<br />
=== Use mpv with a compositor ===<br />
<br />
If you are using a compositor (e.g. in KDE Plasma 5) and find that composition is disabled (e.g. in Plasma this would make you unable to present windows or see window thumbnails in the default app switcher) when mpv is playing a video, try {{ic|1=x11-bypass-compositor=no}}<br />
<br />
=== Creating a single screenshot ===<br />
An example of creating a single screenshot, by using a start time ({{ic|HH:MM:SS}}):<br />
<br />
$ mpv --no-audio --start=00:01:30 --frames=1 /path/to/video/file --o=/path/to/screenshot.png<br />
<br />
Screenshots will be saved in /path/to/screenshot.png.<br />
<br />
=== GNOME Blank screen (Wayland) ===<br />
<br />
MPV may not suspend GNOME's Power Saving Settings if using Wayland (resulting in screen saver turning off the monitor while video is playing for example). A workaround is to add {{ic|gnome-session-inhibit}} to the beginning of the {{ic|1=Exec=}} line in {{ic|mpv.desktop}}.<br />
<br />
== Troubleshooting ==<br />
<br />
=== General debugging ===<br />
<br />
If you are having trouble with ''mpv'''s playback (or if it's flat out failing to run) then the first three things you should do are:<br />
# Run ''mpv'' from the command line. If you are lucky there will be an error message there telling you what is wrong.<br>{{ic|$ mpv video.mkv}}<br />
# Have ''mpv'' output a log file. The log file might be difficult to sift through but if something is broken you might see it there.<br>{{ic|1=$ mpv --log-file=./log video.mkv}}<br />
# Run ''mpv'' without a configuration. If this runs well then the problem is somewhere in your configuration (perhaps your hardware cannot keep up with your settings).<br>{{ic|$ mpv --no-config video.mkv}}<br />
<br />
If ''mpv'' runs but it just does not run well then a fourth thing that might be worth taking a look at is installing the [[#mpv-stats|mpv-stats]] script and using it to see exactly how it's performing.<br />
<br />
=== Fix jerky playback and tearing ===<br />
<br />
mpv defaults to using the OpenGL video output device setting on hardware that supports it. In cases such as trying to play video back on a 4K display using a Intel HD4XXX series card or similar, you will find video playback unreliable, jerky to the point of stopping entirely at times and with major tearing when using any opengl output setting. If you experience any of these issues, using the XV (XVideo) video output device may help:<br />
<br />
{{hc|1=~/.config/mpv/mpv.conf|2=vo=xv}}<br />
<br />
This VO is deprecated and will cause issues in recent versions of mpv, most noticeably is the osd looking very blurry.<br />
<br />
It is possible to increase playback performance even more (especially on lower hardware), but this decreases the video quality dramatically in most cases.<br />
<br />
The following [[#Configuration|options]] may be considered to increase the video playback performance:<br />
<br />
{{hc|~/.config/mpv/mpv.conf|2=<br />
vd-lavc-fast<br />
vd-lavc-skiploopfilter=<skipvalue><br />
vd-lavc-skipframe=<skipvalue><br />
vd-lavc-framedrop=<skipvalue><br />
vd-lavc-threads=<threads><br />
}}<br />
<br />
=== Problems with window compositors ===<br />
<br />
Window compositors such as KWin or Mutter can cause trouble for playback smoothness. In such cases, it may help to set {{ic|1=x11-bypass-compositor=yes}} to make mpv also disable window compositing when playing in windowed mode (if supported by the compositor).<br />
<br />
With KWin compositing and hardware decoding, you may also want to set {{ic|1=x11-bypass-compositor=no}} to keep compositing enabled in fullscreen, since reanabling compositing after leaving fullscreen may introduce stutter for a period of time.<br />
<br />
=== No volume bar, cannot change volume ===<br />
<br />
Spin the mouse wheel over the volume icon.</div>Majewskyhttps://wiki.archlinux.org/index.php?title=Vulkan&diff=455850Vulkan2016-11-02T23:43:12Z<p>Majewsky: /* Installation */ - add reference to new vulkan-radeon package</p>
<hr />
<div>[[Category:Graphics]]<br />
[[Category:Development]]<br />
[[ja:Vulkan]]<br />
From [[wikipedia:Vulkan (API)]]:<br />
:Vulkan, initially referred to as "glNext", is a low-overhead, cross-platform 3D graphics and compute API.<br />
<br />
Learn more at [https://www.khronos.org/vulkan/ Khronos].<br />
<br />
== Installation ==<br />
<br />
To run a Vulkan application, you will need to [[install]] the {{pkg|vulkan-icd-loader}} package, as well as the Vulkan drivers for your graphics card(s):<br />
<br />
* Intel: {{pkg|vulkan-intel}}<br />
* NVIDIA: {{pkg|nvidia}}<br />
* AMD: {{pkg|vulkan-radeon}} (open-source) or {{AUR|amdgpu-pro-vulkan-driver}} (proprietary)<br />
<br />
The other drivers are not packaged yet, so you will have to install them manually:<br />
<br />
* PowerVR: https://imgtec.com/vulkan<br />
* Adreno: https://developer.qualcomm.com/software/adreno-gpu-sdk/gpu<br />
<br />
To develop a Vulkan application, you will also need the {{pkg|vulkan-headers}}, and you will probably want the {{pkg|vulkan-validation-layers}}.<br />
<br />
Once this is done, it would really be appreciated if you would share the specs of your GPU/driver combination to [http://vulkan.gpuinfo.org/ vulkan.gpuinfo.org] by running {{aur|vulkan-caps-viewer}}. Thank you!<br />
<br />
== Troubleshooting ==<br />
<br />
=== Error - vulkan: No DRI3 support ===<br />
<br />
If you get the message above, make sure to create the following file with the given content and restart your X. This should not be necessary on Wayland.<br />
<br />
{{hc|/etc/X11/xorg.conf.d/20-intel.conf|<br />
Section "Device"<br />
Identifier "Intel Graphics"<br />
Driver "intel"<br />
Option "DRI" "3"<br />
EndSection}}<br />
<br />
=== Nvidia - vulkan is not working and can not initialize ===<br />
<br />
Check if you have {{pkg|vulkan-intel}} installed, it may prevent Nvidia's vulkan driver from being detected.</div>Majewskyhttps://wiki.archlinux.org/index.php?title=DeveloperWiki_talk:NewMirrors&diff=454444DeveloperWiki talk:NewMirrors2016-10-19T22:13:21Z<p>Majewsky: size info is out-of-date</p>
<hr />
<div>* someone could please add description about the storage requirement of a archlinux mirror? --[[User:Rae|Rae]] 10:46, 28 June 2010 (EDT)<br />
* added --[[User:Romashka|Romashka]]<br />
* i believe we should have an reference script here (maybe the links?) Pierre has some scripts but there's no explanation about them. -- [[User:T-u-N-i-X|tunix]]<br />
* Storage size for the repos is out of date. as of NOV 20, 2011: community->31G, core->460M, extra->11G, multilib->229M. others may need updating too.-- [[User:Surlyjake|surlyjake]]<br />
* How much traffic should one expect from syncing alone? [[User:Ernestas|ernetas]]<br />
* The storage size is really out of date, as of 22.04.2014: iso->5G, pool/packages->11G, pool/community->26G, altogether around 42G. [[User:goll|Goll]]<br />
* As for the traffic information, I can give an example from a Tier 2 mirror as of 22.04.2014, monthly outgoing traffic is around 200 GB, weekly unique IP's around 10.000. [[User:goll|Goll]]<br />
* Typo in the ''Tier 2 requirements'' section: "If you ever '''whish''' to send downtime notifications" <-- should be '''wish''' -- [[User:sudokode|sudokode]] 2016/05/08 13:10 UTC<br />
** Thanks, fixed --[[User:Bluewind|Bluewind]] ([[User talk:Bluewind|talk]]) 13:40, 8 May 2016 (UTC)<br />
* The size information is out-of-date again. I synced off a Tier 1 today and received a pool of 48G (instead of 41G noted in the article). -- [[User:Majewsky|Majewsky]] ([[User talk:Majewsky|talk]]) 22:13, 19 October 2016 (UTC)</div>Majewskyhttps://wiki.archlinux.org/index.php?title=Unofficial_user_repositories&diff=413575Unofficial user repositories2015-12-27T11:58:20Z<p>Majewsky: /* holo */ - link to package list</p>
<hr />
<div>[[Category:Package management]]<br />
[[ja:非公式ユーザーリポジトリ]]<br />
[[zh-CN:Unofficial user repositories]]<br />
{{Expansion|Please fill in the missing information about repository maintainers.}}<br />
<br />
{{Related articles start}}<br />
{{Related|pacman-key}}<br />
{{Related|Official repositories}}<br />
{{Related articles end}}<br />
<br />
This article lists binary repositories freely created and shared by the community, often providing pre-built versions of PKGBUILDS found in the [[AUR]].<br />
<br />
{{Warning|Neither the official Arch Linux Developers nor the Trusted Users perform tests of any sort to verify the contents of these repositories; it is up to each user to decide whether to trust their maintainers, and take full responsibility for whatever their decision brings.}}<br />
<br />
In order to use these repositories, you will have to add them to {{ic|/etc/pacman.conf}}, as explained in [[pacman#Repositories]]. If a repository is signed, you will have to obtain and locally sign the associated key, as explained in [[Pacman-key#Adding unofficial keys]].<br />
<br />
If you want to create your own custom repository, follow [[pacman tips#Custom local repository]].<br />
<br />
{{Tip|To get a list of all servers listed in this page: {{bc|<nowiki>curl 'https://wiki.archlinux.org/index.php/Unofficial_user_repositories' | grep 'Server = ' | sed "s/\$arch/$(uname -m)/g" | cut -f 3 -d' '</nowiki>}}<br />
<br />
For your convenience you can, for example, open them all in a web browser to inspect the contents of their repositories.<br />
}}<br />
<br />
== Adding your repository to this page ==<br />
<br />
If you have your own repository, please add it to this page, so that all the other users will know where to find your packages. Please keep the following rules when adding new repositories:<br />
<br />
* Keep the lists in alphabetical order.<br />
* Include some information about the maintainer: include at least a (nick)name and some form of contact information (web site, email address, user page on ArchWiki or the forums, etc.).<br />
* If the repository is of the ''signed'' variety, please include a key-id, possibly using it as the anchor for a link to its keyserver; if the key is not on a keyserver, include a link to the key file.<br />
* Include some short description (e.g. the category of packages provided in the repository).<br />
* If there is a page (either on ArchWiki or external) containing more information about the repository, include a link to it.<br />
* If possible, avoid using comments in code blocks. The formatted description is much more readable. Users who want some comments in their {{ic|pacman.conf}} can easily create it on their own.<br />
<br />
== Any ==<br />
<br />
"Any" repositories are architecture-independent. In other words, they can be used on both i686 and x86_64 systems.<br />
<br />
=== Signed ===<br />
<br />
==== bioinformatics-any ====<br />
<br />
* '''Maintainer:''' [https://aur.archlinux.org/account/decryptedepsilon/ decryptedepsilon]<br />
* '''Description:''' A repository containing some python packages and genome browser for Bioinformatics<br />
* '''Key-ID:''' 60442BA4<br />
<br />
{{bc|<nowiki><br />
[bioinformatics-any]<br />
Server = http://decryptedepsilon.bl.ee/repo/any<br />
</nowiki>}}<br />
<br />
==== infinality-bundle-fonts ====<br />
<br />
* '''Maintainer:''' [http://bohoomil.com/ bohoomil]<br />
* '''Description:''' infinality-bundle-fonts repository.<br />
* '''Upstream page:''' [http://bohoomil.com/ Infinality bundle & fonts]<br />
* '''Key-ID:''' 962DDE58<br />
<br />
{{bc|<nowiki><br />
[infinality-bundle-fonts]<br />
Server = http://bohoomil.com/repo/fonts<br />
</nowiki>}}<br />
<br />
==== ivasilev ====<br />
<br />
* '''Maintainer:''' [http://ivasilev.net Ianis G. Vasilev]<br />
* '''Description:''' A variety of packages, mostly my own software and AUR builds.<br />
* '''Upstream page:''' http://ivasilev.net/pacman<br />
* '''Key-ID:''' 436BB513<br />
<br />
{{Note|I mantain 'any', 'i686' and 'x86_64' repos. Each of them includes packages from 'any'. $arch can be replaced with any of the three}}<br />
<br />
{{bc|<nowiki><br />
[ivasilev]<br />
Server = http://ivasilev.net/pacman/any<br />
# Server = http://ivasilev.net/pacman/$arch<br />
</nowiki>}}<br />
<br />
==== pkgbuilder ====<br />
<br />
* '''Maintainer:''' [https://chriswarrick.com/ Chris Warrick]<br />
* '''Description:''' A repository for PKGBUILDer, a Python AUR helper.<br />
* '''Upstream page:''' https://github.com/Kwpolska/pkgbuilder<br />
* '''Key-ID:''' 5EAAEA16<br />
<br />
{{bc|<nowiki><br />
[pkgbuilder]<br />
Server = https://pkgbuilder-repo.chriswarrick.com/<br />
</nowiki>}}<br />
<br />
==== xyne-any ====<br />
<br />
* '''Maintainer:''' [https://www.archlinux.org/trustedusers/#xyne Xyne]<br />
* '''Description:''' A repository for Xyne's own projects containing packages for "any" architecture.<br />
* '''Upstream page:''' http://xyne.archlinux.ca/projects/<br />
* '''Key-ID:''' Not needed, as maintainer is a TU<br />
<br />
{{Note|Use this repository only if there is no matching {{ic|[xyne-*]}} repository for your architecture.}}<br />
<br />
{{bc|<nowiki><br />
[xyne-any]<br />
Server = http://xyne.archlinux.ca/repos/xyne<br />
</nowiki>}}<br />
<br />
=== Unsigned ===<br />
<br />
==== archlinuxgr-any ====<br />
<br />
* '''Maintainer:'''<br />
* '''Description:''' The Hellenic (Greek) unofficial Arch Linux repository with many interesting packages.<br />
<br />
{{bc|<nowiki><br />
[archlinuxgr-any]<br />
Server = http://archlinuxgr.tiven.org/archlinux/any<br />
</nowiki>}}<br />
<br />
== Both i686 and x86_64 ==<br />
<br />
Repositories with both i686 and x86_64 versions. The {{ic|$arch}} variable will be set automatically by pacman.<br />
<br />
=== Signed ===<br />
<br />
==== arcanisrepo ====<br />
<br />
* '''Maintainer:''' [https://www.archlinux.org/trustedusers/#arcanis arcanis]<br />
* '''Description:''' A repository with some AUR packages including packages from VCS<br />
* '''Key-ID:''' Not needed, as maintainer is a TU<br />
<br />
{{bc|<nowiki><br />
[arcanisrepo]<br />
Server = ftp://repo.arcanis.name/repo/$arch<br />
</nowiki>}}<br />
<br />
==== archlinuxcn ====<br />
<br />
* '''Maintainers:''' [https://plus.google.com/+PhoenixNemo/ Phoenix Nemo (phoenixlzx)], Felix Yan (felixonmars, TU), [https://twitter.com/lilydjwg lilydjwg], and others<br />
* '''Description:''' Packages by the Chinese Arch Linux community (mostly signed)<br />
* '''Git Repo:''' https://github.com/archlinuxcn/repo<br />
* '''Mirrors:''' https://github.com/archlinuxcn/mirrorlist-repo<br />
* '''Key-ID:''' Once the repo is added, ''archlinuxcn-keyring'' package must be installed before any other.<br />
<br />
{{bc|<nowiki><br />
[archlinuxcn]<br />
SigLevel = Optional TrustedOnly<br />
Server = http://repo.archlinuxcn.org/$arch<br />
</nowiki>}}<br />
<br />
==== bbqlinux ====<br />
<br />
* '''Maintainer:''' [https://plus.google.com/u/0/+DanielHillenbrand/about Daniel Hillenbrand]<br />
* '''Description:''' Packages for Android Development<br />
* '''Upstream Page:''' http://bbqlinux.org/<br />
* '''Key-ID:''' Get the ''bbqlinux-keyring'' package, as it contains the needed keys.<br />
<br />
{{bc|<nowiki><br />
[bbqlinux]<br />
Server = http://packages.bbqlinux.org/$repo/os/$arch<br />
</nowiki>}}<br />
<br />
==== catalyst ====<br />
<br />
* '''Maintainer:''' [[User:Vi0L0|Vi0l0]]<br />
* '''Description:''' ATI Catalyst proprietary drivers.<br />
* '''Upstream Page:''' http://catalyst.wirephire.com<br />
* '''Key-ID:''' 653C3094<br />
<br />
{{bc|<nowiki><br />
[catalyst]<br />
Server = http://catalyst.wirephire.com/repo/catalyst/$arch<br />
## Mirrors, if the primary server does not work or is too slow:<br />
#Server = http://mirror.rts-informatique.fr/archlinux-catalyst/repo/catalyst/$arch<br />
#Server = http://mirror.hactar.bz/Vi0L0/catalyst/$arch<br />
</nowiki>}}<br />
<br />
==== catalyst-hd234k ====<br />
<br />
* '''Maintainer:''' [[User:Vi0L0|Vi0l0]]<br />
* '''Description:''' ATI Catalyst proprietary drivers.<br />
* '''Upstream Page:''' http://catalyst.wirephire.com<br />
* '''Key-ID:''' 653C3094<br />
<br />
{{bc|<nowiki><br />
[catalyst-hd234k]<br />
Server = http://catalyst.wirephire.com/repo/catalyst-hd234k/$arch<br />
## Mirrors, if the primary server does not work or is too slow:<br />
#Server = http://mirror.rts-informatique.fr/archlinux-catalyst/repo/catalyst-hd234k/$arch<br />
#Server = http://mirror.hactar.bz/Vi0L0/catalyst-hd234k/$arch<br />
</nowiki>}}<br />
<br />
==== city ====<br />
<br />
* '''Maintainer:''' [https://www.archlinux.org/trustedusers/#bgyorgy Balló György]<br />
* '''Description:''' Experimental/unpopular packages.<br />
* '''Upstream page:''' http://pkgbuild.com/~bgyorgy/city.html<br />
* '''Key-ID:''' Not needed, as maintainer is a TU<br />
<br />
{{bc|<nowiki><br />
[city]<br />
Server = http://pkgbuild.com/~bgyorgy/$repo/os/$arch<br />
</nowiki>}}<br />
<br />
==== demz-repo-archiso ====<br />
<br />
* '''Maintainer:''' [http://demizerone.com Jesus Alvarez (demizer)]<br />
* '''Description:''' Packages for installing ZFS from an Arch ISO live disk<br />
* '''Upstream page:''' https://github.com/demizer/archzfs<br />
* '''Key-ID:''' 5E1ABF240EE7A126<br />
<br />
{{bc|<nowiki><br />
[demz-repo-archiso]<br />
Server = http://demizerone.com/$repo/$arch<br />
</nowiki>}}<br />
<br />
==== demz-repo-core ====<br />
<br />
* '''Maintainer:''' [http://demizerone.com Jesus Alvarez (demizer)]<br />
* '''Description:''' Packages for ZFS on Arch Linux.<br />
* '''Upstream page:''' https://github.com/demizer/archzfs<br />
* '''Key-ID:''' 5E1ABF240EE7A126<br />
<br />
{{bc|<nowiki><br />
[demz-repo-core]<br />
Server = http://demizerone.com/$repo/$arch<br />
</nowiki>}}<br />
<br />
==== gnome-encfs-manager ====<br />
<br />
* '''Maintainer:''' Moritz Molch<br />
* '''Description:''' The gnome-encfs-manager can be used to integrate [[EncFS]]<br />
* '''Upstream page:''' [https://launchpad.net/gencfsm Gnome EncfsM].<br />
* '''Key ID:'''<br />
<br />
{{bc|<nowiki><br />
[home_moritzmolch_gencfsm_Arch_Extra]<br />
Server = http://download.opensuse.org/repositories/home:/moritzmolch:/gencfsm/Arch_Extra/$arch<br />
</nowiki>}}<br />
<br />
==== haskell-core ====<br />
<br />
* '''Maintainer:''' Magnus Therning<br />
* '''Description:''' Arch-Haskell repository<br />
* '''Upstream page:''' https://github.com/archhaskell/habs<br />
* '''Key-ID:''' 4209170B<br />
<br />
{{bc|<nowiki><br />
[haskell-core]<br />
Server = http://xsounds.org/~haskell/core/$arch<br />
</nowiki>}}<br />
<br />
==== infinality-bundle ====<br />
<br />
* '''Maintainer:''' [http://bohoomil.com/ bohoomil]<br />
* '''Description:''' infinality-bundle main repository.<br />
* '''Upstream page:''' [http://bohoomil.com/ Infinality bundle & fonts]<br />
* '''Key-ID:''' 962DDE58<br />
<br />
{{bc|<nowiki><br />
[infinality-bundle]<br />
Server = http://bohoomil.com/repo/$arch<br />
</nowiki>}}<br />
<br />
==== ivasilev ====<br />
<br />
* '''Maintainer:''' [http://ivasilev.net Ianis G. Vasilev]<br />
* '''Description:''' A variety of packages, mostly my own software and AUR builds.<br />
* '''Upstream page:''' http://ivasilev.net/pacman<br />
* '''Key-ID:''' 436BB513<br />
<br />
{{Note|I mantain 'any', 'i686' and 'x86_64' repos. Each of them includes packages from 'any'. $arch can be replaced with any of the three}}<br />
<br />
{{bc|<nowiki><br />
[ivasilev]<br />
Server = http://ivasilev.net/pacman/$arch<br />
</nowiki>}}<br />
<br />
==== llvm-svn ====<br />
<br />
* '''Maintainer:''' [[User:Kerberizer|Luchesar V. ILIEV (kerberizer)]]<br />
* '''Description:''' [https://aur.archlinux.org/pkgbase/llvm-svn llvm-svn] and [https://aur.archlinux.org/pkgbase/lib32-llvm-svn lib32-llvm-svn] from AUR: the LLVM compiler infrastructure, the Clang frontend, and the tools associated with it<br />
* '''Key-ID:''' [https://sks-keyservers.net/pks/lookup?op=vindex&search=0x76563F75679E4525&fingerprint=on&exact=on 0x76563F75679E4525], fingerprint <tt>D16C F22D 27D1 091A 841C 4BE9 7656 3F75 679E 4525</tt><br />
<br />
{{bc|<nowiki><br />
[llvm-svn]<br />
Server = http://repos.uni-plovdiv.net/archlinux/$repo/$arch<br />
</nowiki>}}<br />
<br />
==== markzz ====<br />
<br />
* '''Maintainer:''' [[User:Markzz|Mark Weiman (markzz)]]<br />
* '''Description:''' Packages that markzz maintains on the AUR, Linux with the vfio patch ({{AUR|linux-vfio}} and {{AUR|linux-vfio-lts}}), and packages to maintain a Debian package repository.<br />
* '''Key ID:''' 3CADDFDD<br />
<br />
{{Note|If you want to add the key by installing the ''markzz-keyring'' package, temporarily add {{ic|1=SigLevel = Never}} into the repository section.}}<br />
<br />
{{bc|<nowiki><br />
[markzz]<br />
Server = http://repo.markzz.com/arch/$repo/$arch<br />
</nowiki>}}<br />
<br />
==== metalgamer ====<br />
<br />
* '''Maintainer:''' [http://metalgamer.eu/ metalgamer]<br />
* '''Description:''' Packages I use and/or maintain on the AUR.<br />
* '''Key ID:''' F55313FB<br />
<br />
{{bc|<nowiki><br />
[metalgamer]<br />
Server = http://repo.metalgamer.eu/$arch<br />
</nowiki>}}<br />
<br />
==== miffe ====<br />
<br />
* '''Maintainer:''' [https://bbs.archlinux.org/profile.php?id=4059 miffe]<br />
* '''Description:''' AUR packages maintained by miffe, e.g. linux-mainline<br />
* '''Key ID:''' 313F5ABD<br />
<br />
{{bc|<nowiki><br />
[miffe]<br />
Server = http://arch.miffe.org/$arch/<br />
</nowiki>}}<br />
<br />
==== nullptr_t ====<br />
<br />
* '''Maintainers:''' Sebastian Lau (nullptr_t), <br />
* '''Description:''' AUR packages that have a longer build time on some machines (e.g. {{AUR|veracrypt}} or [[plymouth]])<br />
* '''Key-ID:''' 1607AC45<br />
<br />
{{bc|<nowiki><br />
[nullptr_t]<br />
Server = https://www.slau.me/archlinux/mirrors/$repo/$arch<br />
</nowiki>}}<br />
<br />
==== pipelight ====<br />
<br />
* '''Maintainer:'''<br />
* '''Description:''' Pipelight and wine-compholio<br />
* '''Upstream page:''' [http://fds-team.de/ fds-team.de]<br />
* '''Key-ID:''' E49CC0415DC2D5CA<br />
* '''Keyfile:''' http://repos.fds-team.de/Release.key<br />
<br />
{{bc|<nowiki><br />
[pipelight]<br />
Server = http://repos.fds-team.de/stable/arch/$arch<br />
</nowiki>}}<br />
<br />
==== repo-ck ====<br />
<br />
* '''Maintainer:''' [[User:Graysky|graysky]]<br />
* '''Description:''' Kernel and modules with Brain Fuck Scheduler and all the goodies in the ck1 patch set.<br />
* '''Upstream page:''' [http://repo-ck.com repo-ck.com]<br />
* '''Wiki:''' [[repo-ck]]<br />
* '''Key-ID:''' 5EE46C4C<br />
<br />
{{bc|<nowiki><br />
[repo-ck]<br />
Server = http://repo-ck.com/$arch<br />
</nowiki>}}<br />
<br />
==== seblu ====<br />
<br />
* '''Maintainer:''' [https://www.archlinux.org/developers/#seblu Sébastien Luttringer]<br />
* '''Description:''' All seblu useful pre-built packages, some homemade (virtualbox-ext-oracle, linux-seblu-meta, bedup).<br />
* '''Key-ID:''' Not required, as maintainer is a Developer<br />
<br />
{{bc|<nowiki><br />
[seblu]<br />
Server = http://seblu.net/a/$repo/$arch<br />
</nowiki>}}<br />
<br />
==== sergej-repo ====<br />
<br />
* '''Maintainer:''' [https://www.archlinux.org/trustedusers/#spupykin Sergej Pupykin]<br />
* '''Description:''' psi-plus, owncloud-git, ziproxy, android, MySQL, and other stuff. Some packages also available for armv7h.<br />
* '''Key-ID:''' Not required, as maintainer is a TU<br />
<br />
{{bc|<nowiki><br />
[sergej-repo]<br />
Server = http://repo.p5n.pp.ru/$repo/os/$arch<br />
</nowiki>}}<br />
<br />
==== tredaelli-systemd ====<br />
<br />
* '''Maintainer:''' [https://www.archlinux.org/trustedusers/#tredaelli Timothy Redaelli]<br />
* '''Description:''' systemd rebuilt with unofficial OpenVZ patch (kernel < 2.6.32-042stab111.1)<br />
* '''Key-ID:''' Not required, as maintainer is a TU<br />
<br />
{{Note|{{ic|[tredaelli-systemd]}} must be put before {{ic|[core]}} in {{ic|/etc/pacman.conf}}}}<br />
<br />
{{bc|<nowiki><br />
[tredaelli-systemd]<br />
Server = http://pkgbuild.com/~tredaelli/repo/systemd/$arch<br />
</nowiki>}}<br />
<br />
==== herecura ====<br />
<br />
* '''Maintainer:''' [https://www.archlinux.org/people/trusted-users/#idevolder Ike Devolder]<br />
* '''Description:''' additional packages not found in the ''community'' repository<br />
* '''Key-ID:''' Not required, as maintainer is a TU<br />
<br />
{{bc|<nowiki><br />
[herecura]<br />
Server = http://repo.herecura.be/$repo/$arch<br />
</nowiki>}}<br />
<br />
==== blackeagle-pre-community ====<br />
<br />
* '''Maintainer:''' [https://www.archlinux.org/people/trusted-users/#idevolder Ike Devolder]<br />
* '''Description:''' testing of the by me maintaned packages before moving to ''community'' repository<br />
* '''Key-ID:''' Not required, as maintainer is a TU<br />
<br />
{{bc|<nowiki><br />
[blackeagle-pre-community]<br />
Server = http://repo.herecura.be/$repo/$arch<br />
</nowiki>}}<br />
<br />
=== Unsigned ===<br />
<br />
{{Note|Users will need to add the following to these entries: {{ic|1=SigLevel = PackageOptional}}}}<br />
<br />
==== arch-deepin ====<br />
<br />
* '''Maintainer:''' [https://build.opensuse.org/project/show/home:metakcahura metak], [https://github.com/fasheng fasheng]<br />
* '''Description:''' Porting software from Linux Deepin to Archlinux.<br />
* '''Upstream page:''' https://github.com/fasheng/arch-deepin<br />
<br />
{{bc|<nowiki><br />
[home_metakcahura_arch-deepin_Arch_Extra]<br />
SigLevel = Never<br />
Server = http://download.opensuse.org/repositories/home:/metakcahura:/arch-deepin/Arch_Extra/$arch<br />
#Server = http://anorien.csc.warwick.ac.uk/mirrors/download.opensuse.org/repositories/home:/metakcahura:/arch-deepin/Arch_Extra/$arch<br />
</nowiki>}}<br />
<br />
==== archaudio ====<br />
<br />
* '''Maintainer:''' [[User:Schivmeister|Ray Rashif]], [https://aur.archlinux.org/account/jhernberg Joakim Hernberg]<br />
* '''Description:''' Pro-audio packages<br />
<br />
{{bc|<nowiki><br />
[archaudio-production]<br />
Server = http://repos.archaudio.org/$repo/$arch<br />
</nowiki>}}<br />
<br />
==== archlinuxfr ====<br />
<br />
* '''Maintainer:'''<br />
* '''Description:'''<br />
* '''Upstream page:''' http://afur.archlinux.fr<br />
<br />
{{bc|<nowiki><br />
[archlinuxfr]<br />
Server = http://repo.archlinux.fr/$arch<br />
</nowiki>}}<br />
<br />
==== archlinuxgis ====<br />
<br />
* '''Maintainer:'''<br />
* '''Description:''' Maintainers needed - low bandwidth<br />
<br />
{{bc|<nowiki><br />
[archlinuxgis]<br />
Server = http://archlinuxgis.no-ip.org/$arch<br />
</nowiki>}}<br />
<br />
==== archlinuxgr ====<br />
<br />
* '''Maintainer:'''<br />
* '''Description:'''<br />
<br />
{{bc|<nowiki><br />
[archlinuxgr]<br />
Server = http://archlinuxgr.tiven.org/archlinux/$arch<br />
</nowiki>}}<br />
<br />
==== archlinuxgr-kde4 ====<br />
<br />
* '''Maintainer:'''<br />
* '''Description:''' KDE4 packages (plasmoids, themes etc) provided by the Hellenic (Greek) Arch Linux community<br />
<br />
{{bc|<nowiki><br />
[archlinuxgr-kde4]<br />
Server = http://archlinuxgr.tiven.org/archlinux-kde4/$arch<br />
</nowiki>}}<br />
<br />
==== arsch ====<br />
<br />
* '''Maintainer:'''<br />
* '''Description:''' From users of orgizm.net<br />
<br />
{{bc|<nowiki><br />
[arsch]<br />
Server = http://arsch.orgizm.net/$arch<br />
</nowiki>}}<br />
<br />
==== cinnamon ====<br />
<br />
* '''Maintainer:''' [https://github.com/jnbek jnbek]<br />
* '''Description:''' Stable and actively developed Cinnamon packages (Applets, Themes, Extensions), plus others (Hotot, qBitTorrent, GTK themes, Perl modules, and more).<br />
<br />
{{bc|<nowiki><br />
[cinnamon]<br />
Server = http://archlinux.zoelife4u.org/cinnamon/$arch<br />
</nowiki>}}<br />
<br />
==== ede ====<br />
<br />
* '''Maintainer:'''<br />
* '''Description:''' Equinox Desktop Environment repository<br />
<br />
{{bc|<nowiki><br />
[ede]<br />
Server = http://ede.elderlinux.org/repos/archlinux/$arch<br />
</nowiki>}}<br />
<br />
==== heftig ====<br />
<br />
* '''Maintainer:''' [https://www.archlinux.org/trustedusers/#heftig Jan Steffens]<br />
* '''Description:''' Includes linux-zen and aurora (Firefox development build - works alongside {{Pkg|firefox}} in the ''extra'' repository).<br />
* '''Upstream page:''' https://bbs.archlinux.org/viewtopic.php?id=117157<br />
<br />
{{bc|<nowiki><br />
[heftig]<br />
Server = http://pkgbuild.com/~heftig/repo/$arch<br />
</nowiki>}}<br />
<br />
==== mesa-git ====<br />
<br />
* '''Maintainer:''' [https://www.archlinux.org/people/trusted-users/#lcarlier Laurent Carlier]<br />
* '''Description:''' Mesa git builds for the ''testing'' and ''multilib-testing'' repositories<br />
<br />
{{bc|<nowiki><br />
[mesa-git]<br />
Server = http://pkgbuild.com/~lcarlier/$repo/$arch<br />
</nowiki>}}<br />
<br />
==== noware ====<br />
<br />
* '''Maintainer:''' Alexandru Thirtheu (alex_giusi_tiri2@yahoo.com) ([https://bbs.archlinux.org/profile.php?id=65036 Forums]) ([https://wiki.archlinux.org/index.php/User:AGT Wiki]) ([http://direct.noware.systems.:2 Web Site])<br />
* '''Description:''' Software which I prefer being present in a repository, than being compiled each time. It eases software maintenance, I find. Almost anything goes.<br />
<br />
{{bc|<nowiki><br />
[noware]<br />
Server = http://direct.$repo.systems.:2/repository/arch/$arch<br />
</nowiki>}}<br />
<br />
==== openrc-eudev ====<br />
<br />
* '''Maintainer:''' [[User:Aaditya|Aaditya]], [[User:Nous|Nous]]<br />
* '''Description:''' OpenRC and eudev packages, [[OpenRC#artoo|artoo's way]].<br />
{{bc|<nowiki><br />
[openrc-eudev]<br />
Server = http://downloads.sourceforge.net/project/archopenrc/$repo/$arch<br />
</nowiki>}}<br />
<br />
==== oracle ====<br />
<br />
* '''Maintainer:''' [[User:Malvineous|Malvineous]]<br />
* '''Description:''' Oracle database client<br />
<br />
{{Warning|By adding this you are agreeing to the Oracle license at http://www.oracle.com/technetwork/licenses/instant-client-lic-152016.html}}<br />
<br />
{{bc|<nowiki><br />
[oracle]<br />
Server = http://linux.shikadi.net/arch/$repo/$arch/<br />
</nowiki>}}<br />
<br />
==== pantheon ====<br />
<br />
* '''Maintainer:''' [https://www.archlinux.org/trustedusers/#alucryd Maxime Gauduin]<br />
* '''Description:''' Repository containing Pantheon-related packages<br />
<br />
{{bc|<nowiki><br />
[pantheon]<br />
Server = http://pkgbuild.com/~alucryd/$repo/$arch<br />
</nowiki>}}<br />
<br />
==== paulburton-fitbitd ====<br />
<br />
* '''Maintainer:'''<br />
* '''Description:''' Contains fitbitd for synchronizing FitBit trackers<br />
<br />
{{bc|<nowiki><br />
[paulburton-fitbitd]<br />
Server = http://www.paulburton.eu/arch/fitbitd/$arch<br />
</nowiki>}}<br />
<br />
==== pietma ====<br />
<br />
* '''Maintainer:''' MartiMcFly <martimcfly@autorisation.de><br />
* '''Description:''' Arch User Repository packages [https://aur.archlinux.org/packages/?K=martimcfly&SeB=m I create or maintain.].<br />
* '''Upstream page:''' http://pietma.com/tag/aur/<br />
<br />
{{bc|<nowiki><br />
[pietma]<br />
SigLevel = Optional TrustAll<br />
Server = http://repository.pietma.com/nexus/content/repositories/archlinux/$arch/$repo<br />
</nowiki>}}<br />
<br />
==== pfkernel ====<br />
<br />
* '''Maintainer:''' [[User:Nous|nous]]<br />
* '''Description:''' Generic and optimized binaries of the ARCH kernel patched with BFS, TuxOnIce, BFQ, Aufs3; i.e. linux-pf[-cpu] and linux-pf-lts[-cpu]. Also, openrc and initscripts-openrc.<br />
* '''Note:''' To browse through the repository, one needs to append {{ic|index.html}} after the server URL (this is an intentional quirk of Dropbox). For example, for x86_64, point your browser to http://dl.dropbox.com/u/11734958/x86_64/index.html or start at http://bit.do/linux-pf<br />
<br />
{{bc|<nowiki><br />
[pfkernel]<br />
Server = http://dl.dropbox.com/u/11734958/$arch<br />
</nowiki>}}<br />
<br />
==== suckless ====<br />
<br />
* '''Maintainer:'''<br />
* '''Description:''' suckless.org packages<br />
<br />
{{bc|<nowiki><br />
[suckless]<br />
Server = http://dl.suckless.org/arch/$arch<br />
</nowiki>}}<br />
<br />
==== Unity-for-Arch ====<br />
<br />
* '''Maintainer:''' https://github.com/chenxiaolong<br />
* '''Description:''' [[Unity]] packages for Arch<br />
<br />
{{bc|<nowiki><br />
[Unity-for-Arch]<br />
SigLevel = Optional TrustAll<br />
Server = http://dl.dropbox.com/u/486665/Repos/$repo/$arch<br />
</nowiki>}}<br />
<br />
==== Unity-for-Arch-Extra ====<br />
<br />
* '''Maintainer:''' https://github.com/chenxiaolong<br />
* '''Description:''' [[Unity]] extra packages for Arch<br />
<br />
{{bc|<nowiki><br />
[Unity-for-Arch-Extra]<br />
SigLevel = Optional TrustAll<br />
Server = http://dl.dropbox.com/u/486665/Repos/$repo/$arch<br />
</nowiki>}}<br />
<br />
==== home_tarakbumba_archlinux_Arch_Extra_standard ====<br />
<br />
* '''Maintainer:'''<br />
* '''Description:''' Contains a few pre-built AUR packages (zemberek, firefox-kde-opensuse, etc.)<br />
<br />
{{bc|<nowiki><br />
[home_tarakbumba_archlinux_Arch_Extra_standard]<br />
Server = http://download.opensuse.org/repositories/home:/tarakbumba:/archlinux/Arch_Extra_standard/$arch<br />
</nowiki>}}<br />
<br />
==== MEGAsync_Arch_Extra ====<br />
<br />
* '''Maintainer:''' https://mega.nz/#sync<br />
* '''Description:''' MEGAsync extra packages for Arch<br />
<br />
{{bc|<nowiki><br />
[MEGAsync_Arch_Extra]<br />
SigLevel = Never<br />
Server = https://mega.co.nz/linux/MEGAsync/Arch_Extra/$arch<br />
</nowiki>}}<br />
<br />
== i686 only ==<br />
<br />
=== Signed ===<br />
<br />
==== eee-ck ====<br />
<br />
* '''Maintainer:''' Gruppenpest<br />
* '''Description:''' Kernel and modules optimized for Asus Eee PC 701, with -ck patchset.<br />
* '''Key-ID:''' 27D4A19A<br />
* '''Keyfile''' http://zembla.duckdns.org/repo/gruppenpest.gpg<br />
<br />
{{bc|<nowiki><br />
[eee-ck]<br />
Server = http://zembla.duckdns.org/repo<br />
</nowiki>}}<br />
<br />
==== phillid ====<br />
<br />
* '''Maintainer:''' Phillid<br />
* '''Description:''' Various GCC-s and matching binutils-es which target bare-bones formats (for OS dev). The GCC toolchains are shrunk to ~8&nbsp;MiB each by disabling NLS and everything but the C front-end. Thrown in there is some ham-related stuff I use such as hamlib, xastir, qsstv. Also a couple of legacy packages which are a bit lengthy to build for most people (kdelibs3, qt3).<br />
* '''Key-ID:''' 28F1E6CE<br />
<br />
{{bc|<nowiki><br />
[phillid]<br />
Server = http://phillid.tk/r/i686/<br />
</nowiki>}}<br />
<br />
==== xyne-i686 ====<br />
<br />
* '''Maintainer:''' [https://www.archlinux.org/trustedusers/#xyne Xyne]<br />
* '''Description:''' A repository for Xyne's own projects containing packages for the "i686" architecture.<br />
* '''Upstream page:''' http://xyne.archlinux.ca/projects/<br />
* '''Key-ID:''' Not required, as maintainer is a TU<br />
<br />
{{Note|This includes all packages in [[#xyne-any|<nowiki>[xyne-any]</nowiki>]].}}<br />
<br />
{{bc|<nowiki><br />
[xyne-i686]<br />
Server = http://xyne.archlinux.ca/repos/xyne<br />
</nowiki>}}<br />
<br />
=== Unsigned ===<br />
<br />
==== andrwe ====<br />
<br />
* '''Maintainer:''' Andrwe Lord Weber<br />
* '''Description:''' each program I'm using on x86_64 is compiled for i686 too<br />
* '''Upstream page:''' http://andrwe.org/linux/repository<br />
<br />
{{bc|<nowiki><br />
[andrwe]<br />
Server = http://repo.andrwe.org/i686<br />
</nowiki>}}<br />
<br />
==== kpiche ====<br />
<br />
* '''Maintainer:'''<br />
* '''Description:''' Stable OpenSync packages.<br />
<br />
{{bc|<nowiki><br />
[kpiche]<br />
Server = http://kpiche.archlinux.ca/repo<br />
</nowiki>}}<br />
<br />
==== kernel26-pae ====<br />
<br />
* '''Maintainer:'''<br />
* '''Description:''' PAE-enabled 32-bit kernel 2.6.39<br />
<br />
{{bc|<nowiki><br />
[kernel26-pae]<br />
Server = http://kernel26-pae.archlinux.ca/<br />
</nowiki>}}<br />
<br />
==== linux-pae ====<br />
<br />
* '''Maintainer:'''<br />
* '''Description:''' PAE-enabled 32-bit kernel 3.0<br />
<br />
{{bc|<nowiki><br />
[linux-pae]<br />
Server = http://pae.archlinux.ca/<br />
</nowiki>}}<br />
<br />
==== rfad ====<br />
<br />
* '''Maintainer:''' requiem [at] archlinux.us<br />
* '''Description:''' Repository made by haxit<br />
<br />
{{bc|<nowiki><br />
[rfad]<br />
Server = http://web.ncf.ca/ey723/archlinux/repo/<br />
</nowiki>}}<br />
<br />
==== studioidefix ====<br />
<br />
* '''Maintainer:'''<br />
* '''Description:''' Precompiled boxee packages.<br />
<br />
{{bc|<nowiki><br />
[studioidefix]<br />
Server = http://studioidefix.googlecode.com/hg/repo/i686<br />
</nowiki>}}<br />
<br />
== x86_64 only ==<br />
<br />
=== Signed ===<br />
<br />
==== apathism ====<br />
<br />
* '''Maintainer:''' Ivan Koryabkin ([https://aur.archlinux.org/account/apathism/ apathism])<br />
* '''Upstream page:''' https://apathism.net/<br />
* '''Description:''' Some AUR packages like {{AUR|psi-plus-git}} (with qt5 enabled).<br />
* '''Key-ID:''' 3E37398D<br />
* '''Keyfile:''' http://apathism.net/archlinux/apathism.key<br />
<br />
{{bc|<nowiki><br />
[apathism]<br />
Server = http://apathism.net/archlinux/<br />
</nowiki>}}<br />
<br />
==== atom ====<br />
<br />
* '''Maintainer:''' Nicola Squartini ([https://github.com/tensor5 tensor5])<br />
* '''Upstream page:''' https://github.com/tensor5/arch-atom<br />
* '''Description:''' Atom text editor and Electron<br />
* '''Key-ID:''' B0544167<br />
<br />
{{bc|<nowiki><br />
[atom]<br />
Server = http://noaxiom.org/$repo/$arch<br />
</nowiki>}}<br />
<br />
==== bioinformatics ====<br />
<br />
* '''Maintainer:''' [https://aur.archlinux.org/account/decryptedepsilon/ decryptedepsilon]<br />
* '''Description:''' A repository containing some software tools for Bioinformatics<br />
* '''Key-ID:''' 60442BA4<br />
<br />
{{bc|<nowiki><br />
[bioinformatics]<br />
Server = http://decryptedepsilon.bl.ee/repo/x86_64<br />
</nowiki>}}<br />
<br />
==== blackleg ====<br />
<br />
* '''Maintainer:''' Blackleg ([https://aur.archlinux.org/account/blackleg blackleg])<br />
* '''Upstream page:''' [http://www.blackleg.es www.blackleg.es]<br />
* '''Description:''' My AUR's packages and some like: linux-w110er, nvidia-dkms, android-studio, odoo (OpenErp).<br />
* '''Package list:''' [http://www.blackleg.es/x86_64/index.html Blackleg x86_64 packages]<br />
* '''Key-ID:''' 611BFDE1<br />
<br />
{{bc|<nowiki><br />
[blackleg]<br />
Server = ftp://ftp.blackleg.es/archlinux/$repo/$arch/<br />
</nowiki>}}<br />
<br />
==== boyska64 ====<br />
<br />
* '''Maintainer:''' boyska<br />
* '''Description:''' Personal repository: cryptography, sdr, mail handling and misc<br />
* '''Key-ID:''' 0x7395DCAE58289CA9<br />
<br />
{{bc|<nowiki><br />
[boyska64]<br />
Server = http://boyska.degenerazione.xyz/archrepo<br />
</nowiki>}}<br />
<br />
==== coderkun-aur ====<br />
<br />
* '''Maintainer:''' [https://aur.archlinux.org/account/coderkun/ coderkun]<br />
* '''Description:''' AUR packages with random software. Supporting package deltas and package and database signing.<br />
* '''Upstream page:''' https://www.coderkun.de/arch<br />
* '''Key-ID:''' A6BEE374<br />
* '''Keyfile:''' [https://www.coderkun.de/coderkun.asc https://www.coderkun.de/coderkun.asc]<br />
<br />
{{bc|<nowiki><br />
[coderkun-aur]<br />
Server = http://arch.coderkun.de/$repo/$arch/<br />
</nowiki>}}<br />
<br />
==== coderkun-aur-audio ====<br />
<br />
* '''Maintainer:''' [https://aur.archlinux.org/account/coderkun/ coderkun]<br />
* '''Description:''' AUR packages with audio-related (realtime kernels, lv2-plugins, …) software. Supporting package deltas and package and database signing.<br />
* '''Upstream page:''' https://www.coderkun.de/arch<br />
* '''Key-ID:''' A6BEE374<br />
* '''Keyfile:''' [https://www.coderkun.de/coderkun.asc https://www.coderkun.de/coderkun.asc]<br />
<br />
{{bc|<nowiki><br />
[coderkun-aur-audio]<br />
Server = http://arch.coderkun.de/$repo/$arch/<br />
</nowiki>}}<br />
<br />
==== eatabrick ====<br />
<br />
* '''Maintainer:''' bentglasstube<br />
* '''Description:''' Packages for software written by (and a few just compiled by) bentglasstube.<br />
<br />
{{bc|<nowiki><br />
[eatabrick]<br />
SigLevel = Required<br />
Server = http://repo.eatabrick.org/$arch<br />
</nowiki>}}<br />
<br />
==== freifunk-rheinland ====<br />
<br />
* '''Maintainer:''' nomaster<br />
* '''Description:''' Packages for the Freifunk project: batman-adv, batctl, fastd and dependencies.<br />
<br />
{{bc|<nowiki><br />
[freifunk-rheinland]<br />
Server = http://mirror.fluxent.de/archlinux-custom/$repo/os/$arch<br />
</nowiki>}}<br />
<br />
==== gustawho ====<br />
<br />
* '''Maintainer:''' [https://twitter.com/gustawho Gustavo Castro] <gustawho@gmail.com><br />
* '''Description:''' Scientific tools (mostly physics/math) and AUR packages that would take long to build, such as {{AUR|firefox-kde-opensuse}}.<br />
* '''Package list:''' http://gustawho.x10.mx/repo/x86_64<br />
* '''Upstream page:''' http://gustawho.x10.mx<br />
* '''Key-ID:''' 2C575D76<br />
<br />
{{bc|<nowiki><br />
[gustawho]<br />
Server = http://gustawho.x10.mx/repo/x86_64<br />
</nowiki>}}<br />
<br />
* '''Note:''' If you need firefox-kde-opensuse for i686 and/or the unsigned x86_64 package, try this repo instead:<br />
<br />
{{bc|<nowiki><br />
[home_gustawho_Arch_Extra]<br />
SigLevel = Never<br />
Server = http://download.opensuse.org/repositories/home:/gustawho/Arch_Extra/$arch<br />
</nowiki>}}<br />
<br />
==== holo ====<br />
<br />
* '''Maintainer:''' Stefan Majewsky <holo-pacman@posteo.de> (please prefer to report issues at [https://github.com/majewsky/holo-pacman-repo/issues Github])<br />
* '''Description:''' Packages for [https://holocm.org Holo configuration management], including compatible plugins and tools.<br />
* '''Upstream page:''' https://github.com/majewsky/holo-pacman-repo<br />
* '''Package list:''' https://repo.holocm.org/archlinux/x86_64<br />
* '''Key-ID:''' 0xF7A9C9DC4631BD1A<br />
<br />
{{bc|<nowiki><br />
[holo]<br />
Server = https://repo.holocm.org/archlinux/x86_64<br />
</nowiki>}}<br />
<br />
==== Linux-pf ====<br />
<br />
{{Accuracy|Signed repositories should not use {{ic|1=SigLevel = Optional}} (by definition).}}<br />
<br />
* '''Maintainer:''' [[User:Thaodan|Thaodan]]<br />
* '''Description:''' Generic and optimized binaries of the ARCH kernel patched with BFS, TuxOnIce, BFQ, Aufs3; i.e. linux-pf, just like {{AUR|linux-pf}} from the [[AUR]] but additionally optimized for intel CPUs Sandy Bridge, Ivy Bridge, Haswell and generic of course, and some extra packages<br />
* '''Note:''' To browse through the repository, one needs to append {{ic|index.html}} after the server URL (this is an intentional quirk of Dropbox).<br />
<br />
{{bc|<nowiki><br />
[Linux-pf]<br />
Server = https://dl.dropboxusercontent.com/u/172590784/Linux-pf/x86_64/<br />
SigLevel = Optional<br />
</nowiki>}}<br />
<br />
==== infinality-bundle-multilib ====<br />
<br />
* '''Maintainer:''' [http://bohoomil.com/ bohoomil]<br />
* '''Description:''' infinality-bundle multilib repository.<br />
* '''Upstream page:''' [http://bohoomil.com/ Infinality bundle & fonts]<br />
* '''Key-ID:''' 962DDE58<br />
<br />
{{bc|<nowiki><br />
[infinality-bundle-multilib]<br />
Server = http://bohoomil.com/repo/multilib/$arch<br />
</nowiki>}}<br />
<br />
==== kc9ydn ====<br />
<br />
* '''Maintainer:''' [http://kc9ydn.us KC9YDN]<br />
* '''Description:''' Consists mostly of amateur radio related apps<br />
* '''Key-ID:''' 7DA25A0F<br />
<br />
{{bc|<nowiki><br />
[kc9ydn]<br />
Server = http://kc9ydn.us/repo/<br />
</nowiki>}}<br />
<br />
==== linux-lts-ck ====<br />
<br />
* '''Maintainer:''' Claire Farron [https://aur.archlinux.org/account/clfarron4 clfarron4]<br />
* '''Description:''' Current ArchLinux LTS kernel with the CK patch<br />
* '''Key-ID:''' E6366A92<br />
* '''Note:''' To browse through the repository, one needs to append {{ic|index.html}} after the server URL (this is an intentional quirk of Dropbox). For example, for x86_64, point your browser to http://dl.dropbox.com/u/298301785/arch/linux-lts-ck/x86_64/index.html or start at http://tiny.cc/linux-lts-ck<br />
<br />
{{bc|<nowiki><br />
[linux-lts-ck]<br />
Server = http://dl.dropbox.com/u/298301785/arch/linux-lts-ck/$arch<br />
</nowiki>}}<br />
<br />
==== linux-lts31x ====<br />
<br />
* '''Maintainer:''' Claire Farron [https://aur.archlinux.org/account/clfarron4 clfarron4]<br />
* '''Description:''' Older LTS kernels (3.10 and 3.12 branch)<br />
* '''Key-ID:''' E6366A92<br />
* '''Note:''' To browse through the repository, one needs to append {{ic|index.html}} after the server URL (this is an intentional quirk of Dropbox). For example, for x86_64, point your browser to http://dl.dropbox.com/u/298301785/arch/linux-lts31x/x86_64/index.html or start at http://tiny.cc/linux-lts31x<br />
<br />
{{bc|<nowiki><br />
[linux-lts31x]<br />
Server = http://dl.dropbox.com/u/298301785/arch/linux-lts31x/$arch<br />
</nowiki>}}<br />
<br />
==== linux-lts31x-ck ====<br />
<br />
* '''Maintainer:''' Claire Farron [https://aur.archlinux.org/account/clfarron4 clfarron4]<br />
* '''Description:''' Older LTS kernels (3.10 and 3.12 branch) with the CK patch<br />
* '''Key-ID:''' E6366A92<br />
* '''Note:''' To browse through the repository, one needs to append {{ic|index.html}} after the server URL (this is an intentional quirk of Dropbox). For example, for x86_64, point your browser to http://dl.dropbox.com/u/298301785/arch/linux-lts31x-ck/x86_64/index.html or start at http://tiny.cc/linux-lts31x-ck<br />
<br />
{{bc|<nowiki><br />
[linux-lts31x-ck]<br />
Server = http://dl.dropbox.com/u/298301785/arch/linux-lts31x-ck/$arch<br />
</nowiki>}}<br />
<br />
==== linux-ck-pax ====<br />
<br />
* '''Maintainer:''' Claire Farron [https://aur.archlinux.org/account/clfarron4 clfarron4]<br />
* '''Description:''' Current Arch Kernel with the CK and PaX security patchsets<br />
* '''Key-ID:''' E6366A92<br />
* '''Note:''' To browse through the repository, one needs to append {{ic|index.html}} after the server URL (this is an intentional quirk of Dropbox). For example, for x86_64, point your browser to http://dl.dropbox.com/u/298301785/arch/linux-ck-pax/x86_64/index.html or start at http://tiny.cc/linux-ck-pax<br />
<br />
{{bc|<nowiki><br />
[linux-ck-pax]<br />
Server = http://dl.dropbox.com/u/298301785/arch/linux-ck-pax/$arch<br />
</nowiki>}}<br />
<br />
==== linux-tresor ====<br />
<br />
* '''Maintainer:''' Claire Farron [https://aur.archlinux.org/account/clfarron4 clfarron4]<br />
* '''Description:''' Arch Current and LTS kernels with TRESOR<br />
* '''Key-ID:''' E6366A92<br />
* '''Note:''' To browse through the repository, one needs to append {{ic|index.html}} after the server URL (this is an intentional quirk of Dropbox). For example, for x86_64, point your browser to http://dl.dropbox.com/u/298301785/arch/linux-tresor/x86_64/index.html or start at http://tiny.cc/linux-tresor<br />
<br />
{{bc|<nowiki><br />
[linux-tresor]<br />
Server = http://dl.dropbox.com/u/298301785/arch/linux-tresor/$arch<br />
</nowiki>}}<br />
<br />
==== qt-debug ====<br />
<br />
* '''Maintainer:''' [http://blog.the-compiler.org/?page_id=36 The Compiler]<br />
* '''Description:''' Qt/PyQt builds with debug symbols<br />
* '''Upstream page:''' https://github.com/The-Compiler/qt-debug-pkgbuild<br />
* '''Key-ID:''' D6A1C70FE80A0C82<br />
<br />
{{bc|<nowiki><br />
[qt-debug]<br />
Server = http://qutebrowser.org/qt-debug/$arch<br />
</nowiki>}}<br />
<br />
==== quarry ====<br />
<br />
* '''Maintainer:''' [https://www.archlinux.org/developers/#anatolik anatolik]<br />
* '''Description:''' Arch binary repository for [http://rubygems.org/ Rubygems] packages. See [https://bbs.archlinux.org/viewtopic.php?id=182729 forum announcement] for more information.<br />
* '''Sources:''' https://github.com/anatol/quarry<br />
* '''Key-ID:''' Not needed, as maintainer is a developer<br />
<br />
{{bc|<nowiki><br />
[quarry]<br />
# report issues at https://github.com/anatol/quarry<br />
Server = http://pkgbuild.com/~anatolik/quarry/x86_64/<br />
</nowiki>}}<br />
<br />
==== rstudio ====<br />
<br />
* '''Maintainer:''' [https://aur.archlinux.org/account/unikum/ Artem Klevtsov]<br />
* '''Description:''' Rstudio IDE package (git version) and depends.<br />
* '''Key-ID:''' 1CB48DD4<br />
<br />
{{bc|<nowiki><br />
[rstudio]<br />
Server = http://repo.psylab.info/archlinux/x86_64/<br />
</nowiki>}}<br />
<br />
==== siosm-aur ====<br />
<br />
* '''Maintainer:''' [https://tim.siosm.fr/about/ Timothee Ravier]<br />
* '''Description:''' packages also available in the Arch User Repository, sometimes with minor fixes<br />
* '''Upstream page:''' https://tim.siosm.fr/repositories/<br />
* '''Key-ID:''' 78688F83<br />
<br />
{{bc|<nowiki><br />
[siosm-aur]<br />
Server = http://siosm.fr/repo/$repo/<br />
</nowiki>}}<br />
<br />
==== siosm-selinux ====<br />
<br />
* '''Maintainer:''' [https://tim.siosm.fr/about/ Timothee Ravier]<br />
* '''Description:''' packages required for SELinux support – work in progress (notably, missing an Arch Linux-compatible SELinux policy). See the [[SELinux]] page for details.<br />
* '''Upstream page:''' https://tim.siosm.fr/repositories/<br />
* '''Key-ID:''' 78688F83<br />
<br />
{{bc|<nowiki><br />
[siosm-selinux]<br />
Server = http://siosm.fr/repo/$repo/<br />
</nowiki>}}<br />
<br />
==== subtitlecomposer ====<br />
<br />
* '''Maintainer:''' Mladen Milinkovic (maxrd2)<br />
* '''Description:''' Subtitle Composer stable and nightly builds<br />
* '''Upstream page:''' https://github.com/maxrd2/subtitlecomposer<br />
* '''Key-ID:''' EA8CEBEE<br />
<br />
{{bc|<nowiki><br />
[subtitlecomposer]<br />
Server = http://smoothware.net/$repo/$arch<br />
</nowiki>}}<br />
<br />
==== xyne-x86_64 ====<br />
<br />
* '''Maintainer:''' [https://www.archlinux.org/trustedusers/#xyne Xyne]<br />
* '''Description:''' A repository for Xyne's own projects containing packages for the "x86_64" architecture.<br />
* '''Upstream page:''' http://xyne.archlinux.ca/projects/<br />
* '''Key-ID:''' Not required, as maintainer is a TU<br />
<br />
{{Note|This includes all packages in [[#xyne-any|<nowiki>[xyne-any]</nowiki>]].}}<br />
<br />
{{bc|<nowiki><br />
[xyne-x86_64]<br />
Server = http://xyne.archlinux.ca/repos/xyne<br />
</nowiki>}}<br />
<br />
=== Unsigned ===<br />
<br />
{{Note|Users will need to add the following to these entries: {{ic|1=SigLevel = PackageOptional}}}}<br />
<br />
==== alucryd ====<br />
<br />
* '''Maintainer:''' [https://www.archlinux.org/trustedusers/#alucryd Maxime Gauduin]<br />
* '''Description:''' Various packages Maxime Gauduin maintains (or not) in the AUR.<br />
<br />
{{bc|<nowiki><br />
[alucryd]<br />
Server = http://pkgbuild.com/~alucryd/$repo/x86_64<br />
</nowiki>}}<br />
<br />
==== alucryd-multilib ====<br />
<br />
* '''Maintainer:''' [https://www.archlinux.org/trustedusers/#alucryd Maxime Gauduin]<br />
* '''Description:''' Various packages needed to run Steam without its runtime environment.<br />
<br />
{{bc|<nowiki><br />
[alucryd-multilib]<br />
Server = http://pkgbuild.com/~alucryd/$repo/x86_64<br />
</nowiki>}}<br />
<br />
==== andrwe ====<br />
<br />
* '''Maintainer:''' Andrwe Lord Weber<br />
* '''Description:''' contains programs I'm using on many systems<br />
* '''Upstream page:''' http://andrwe.dyndns.org/doku.php/blog/repository {{Dead link|2013|11|30}}<br />
<br />
{{bc|<nowiki><br />
[andrwe]<br />
Server = http://repo.andrwe.org/x86_64<br />
</nowiki>}}<br />
<br />
==== archstudio ====<br />
<br />
* '''Maintainer:'''<br />
* '''Description:''' Audio and Music Packages optimized for Intel Core i3, i5, and i7.<br />
* '''Upstream page:''' http://www.xsounds.org/~archstudio<br />
<br />
{{bc|<nowiki><br />
[archstudio]<br />
Server = http://www.xsounds.org/~archstudio/x86_64<br />
</nowiki>}}<br />
<br />
==== brtln ====<br />
<br />
* '''Maintainer:''' [https://www.archlinux.org/trustedusers/#bpiotrowski Bartłomiej Piotrowski]<br />
* '''Description:''' Some VCS packages.<br />
<br />
{{bc|<nowiki><br />
[brtln]<br />
Server = http://pkgbuild.com/~barthalion/brtln/$arch/<br />
</nowiki>}}<br />
<br />
==== kps ====<br />
<br />
* '''Maintainer:''' kps<br />
* '''Description:''' gmt, catalyst-test, ttf-ms-win8, rstudio, meshlab, gcc-gcj, vlc-git, ffmpeg-git (k10 & intel opt.), docear, maperitive, libressl, bkchem ...<br />
<br />
{{bc|<nowiki><br />
[kps]<br />
Server = http://kps.bplaced.net/repo/$arch<br />
</nowiki>}}<br />
<br />
==== mazdlc ====<br />
<br />
* '''Maintainer:''' maz-1 <ohmygod19993 at gmail dot com><br />
* '''Description:''' Various packages maintained by maz-1 (mainly Qt5-based packages and multimedia-related packages )<br />
* '''Upstream page:''' https://build.opensuse.org/project/show/home:mazdlc<br />
<br />
{{bc|<nowiki><br />
[home_mazdlc_Arch_Extra]<br />
Server = http://download.opensuse.org/repositories/home:/mazdlc/Arch_Extra/$arch<br />
</nowiki>}}<br />
<br />
==== mazdlc-deadbeef-plugins ====<br />
<br />
* '''Maintainer:''' maz-1 <ohmygod19993 at gmail dot com><br />
* '''Description:''' Plugins for the feature-rich music player DeaDBeeF.<br />
* '''Upstream page:''' https://build.opensuse.org/project/show/home:mazdlc<br />
<br />
{{bc|<nowiki><br />
[home_mazdlc_deadbeef-plugins_Arch_Extra]<br />
Server = http://download.opensuse.org/repositories/home:/mazdlc:/deadbeef-plugins/Arch_Extra/$arch<br />
</nowiki>}}<br />
<br />
==== mazdlc-kde-frameworks-5 ====<br />
<br />
* '''Maintainer:''' maz-1 <ohmygod19993 at gmail dot com><br />
* '''Description:''' Unstable packages based on kde frameworks 5.<br />
* '''Upstream page:''' https://build.opensuse.org/project/show/home:mazdlc<br />
<br />
{{bc|<nowiki><br />
[home_mazdlc_kde-frameworks-5_Arch_Extra]<br />
Server = http://download.opensuse.org/repositories/home:/mazdlc:/kde-frameworks-5/Arch_Extra/$arch<br />
</nowiki>}}<br />
<br />
==== mikroskeem ====<br />
<br />
* '''Maintainer:''' mikroskeem <mikroskeem@mikroskeem.eu><br />
* '''Description:''' Openarena and i3 wm-related packages<br />
<br />
{{bc|<nowiki><br />
[mikroskeem]<br />
Server = http://nightsnack.cf/~mark/arch-pkgs<br />
</nowiki>}}<br />
<br />
==== mingw-w64 ====<br />
<br />
* '''Maintainer:''' [https://aur.archlinux.org/account/ant32 Philip] and [https://aur.archlinux.org/account/nic96 Jeromy] Reimer<br />
* '''Description:''' Almost all mingw-w64 packages in the AUR updated every 8 hours.<br />
<br />
{{bc|<nowiki><br />
[mingw-w64]<br />
Server = http://downloads.sourceforge.net/project/mingw-w64-archlinux/$arch<br />
#Server = http://amr.linuxd.org/archlinux/$repo/os/$arch<br />
</nowiki>}}<br />
<br />
==== pnsft-pur ====<br />
<br />
* '''Maintainer:'''<br />
* '''Description:''' Japanese input method packages Mozc (vanilla) and libkkc<br />
<br />
{{bc|<nowiki><br />
[pnsft-pur]<br />
Server = http://downloads.sourceforge.net/project/pnsft-aur/pur/x86_64<br />
</nowiki>}}<br />
<br />
==== rakudo ====<br />
<br />
* '''Maintainer:''' spider-mario <spidermario@free.fr><br />
* '''Description:''' Rakudo Perl6<br />
<br />
{{bc|<nowiki><br />
[rakudo]<br />
Server = http://spidermario.free.fr/archlinux/$repo/$arch<br />
</nowiki>}}<br />
<br />
==== rightlink ====<br />
<br />
* '''Maintainer:''' Chris Fordham <chris@fordham-nagy.id.au><br />
* '''Description:''' RightLink version 10 (RL10) is a new version of RightScale's server agent that connects servers managed through RightScale to the RightScale cloud management platform.<br />
<br />
{{bc|<nowiki><br />
[rightlink]<br />
Server = https://s3-ap-southeast-2.amazonaws.com/archlinux.rightscale.me/repo<br />
</nowiki>}}<br />
<br />
==== seiichiro ====<br />
<br />
* '''Maintainer:'''<br />
* '''Description:''' VDR and some plugins, mms, foo2zjs-drivers<br />
<br />
{{bc|<nowiki><br />
[seiichiro]<br />
Server = http://repo.seiichiro0185.org/x86_64<br />
</nowiki>}}<br />
<br />
==== studioidefix ====<br />
<br />
* '''Maintainer:'''<br />
* '''Description:''' Precompiled boxee packages.<br />
<br />
{{bc|<nowiki><br />
[studioidefix]<br />
Server = http://studioidefix.googlecode.com/hg/repo/x86_64<br />
</nowiki>}}<br />
<br />
== armv6h only ==<br />
<br />
=== Unsigned ===<br />
<br />
==== arch-fook-armv6h ====<br />
<br />
* '''Maintainer:''' Jaska Kivelä <jaska@kivela.net><br />
* '''Description:''' Stuff that I have compiled for my Raspberry PI. Including Enlightenment and home automation stuff.<br />
<br />
{{bc|<nowiki><br />
[arch-fook-armv6h]<br />
Server = http://kivela.net/jaska/arch-fook-armv6h<br />
</nowiki>}}<br />
<br />
== armv7h only ==<br />
<br />
=== Unsigned ===<br />
<br />
==== pietma ====<br />
<br />
* '''Maintainer:''' MartiMcFly <martimcfly@autorisation.de><br />
* '''Description:''' Arch User Repository packages [https://aur.archlinux.org/packages/?K=martimcfly&SeB=m I create or maintain.].<br />
* '''Upstream page:''' [http://pietma.com/tag/aur/ http://pietma.com/tag/aur/]<br />
{{bc|<nowiki><br />
[pietma]<br />
SigLevel = Optional TrustAll<br />
Server = http://repository.pietma.com/nexus/content/repositories/archlinux/$arch/$repo<br />
</nowiki>}}</div>Majewskyhttps://wiki.archlinux.org/index.php?title=Unofficial_user_repositories&diff=413572Unofficial user repositories2015-12-27T11:17:25Z<p>Majewsky: /* Signed */ - add holo repo</p>
<hr />
<div>[[Category:Package management]]<br />
[[ja:非公式ユーザーリポジトリ]]<br />
[[zh-CN:Unofficial user repositories]]<br />
{{Expansion|Please fill in the missing information about repository maintainers.}}<br />
<br />
{{Related articles start}}<br />
{{Related|pacman-key}}<br />
{{Related|Official repositories}}<br />
{{Related articles end}}<br />
<br />
This article lists binary repositories freely created and shared by the community, often providing pre-built versions of PKGBUILDS found in the [[AUR]].<br />
<br />
{{Warning|Neither the official Arch Linux Developers nor the Trusted Users perform tests of any sort to verify the contents of these repositories; it is up to each user to decide whether to trust their maintainers, and take full responsibility for whatever their decision brings.}}<br />
<br />
In order to use these repositories, you will have to add them to {{ic|/etc/pacman.conf}}, as explained in [[pacman#Repositories]]. If a repository is signed, you will have to obtain and locally sign the associated key, as explained in [[Pacman-key#Adding unofficial keys]].<br />
<br />
If you want to create your own custom repository, follow [[pacman tips#Custom local repository]].<br />
<br />
{{Tip|To get a list of all servers listed in this page: {{bc|<nowiki>curl 'https://wiki.archlinux.org/index.php/Unofficial_user_repositories' | grep 'Server = ' | sed "s/\$arch/$(uname -m)/g" | cut -f 3 -d' '</nowiki>}}<br />
<br />
For your convenience you can, for example, open them all in a web browser to inspect the contents of their repositories.<br />
}}<br />
<br />
== Adding your repository to this page ==<br />
<br />
If you have your own repository, please add it to this page, so that all the other users will know where to find your packages. Please keep the following rules when adding new repositories:<br />
<br />
* Keep the lists in alphabetical order.<br />
* Include some information about the maintainer: include at least a (nick)name and some form of contact information (web site, email address, user page on ArchWiki or the forums, etc.).<br />
* If the repository is of the ''signed'' variety, please include a key-id, possibly using it as the anchor for a link to its keyserver; if the key is not on a keyserver, include a link to the key file.<br />
* Include some short description (e.g. the category of packages provided in the repository).<br />
* If there is a page (either on ArchWiki or external) containing more information about the repository, include a link to it.<br />
* If possible, avoid using comments in code blocks. The formatted description is much more readable. Users who want some comments in their {{ic|pacman.conf}} can easily create it on their own.<br />
<br />
== Any ==<br />
<br />
"Any" repositories are architecture-independent. In other words, they can be used on both i686 and x86_64 systems.<br />
<br />
=== Signed ===<br />
<br />
==== bioinformatics-any ====<br />
<br />
* '''Maintainer:''' [https://aur.archlinux.org/account/decryptedepsilon/ decryptedepsilon]<br />
* '''Description:''' A repository containing some python packages and genome browser for Bioinformatics<br />
* '''Key-ID:''' 60442BA4<br />
<br />
{{bc|<nowiki><br />
[bioinformatics-any]<br />
Server = http://decryptedepsilon.bl.ee/repo/any<br />
</nowiki>}}<br />
<br />
==== infinality-bundle-fonts ====<br />
<br />
* '''Maintainer:''' [http://bohoomil.com/ bohoomil]<br />
* '''Description:''' infinality-bundle-fonts repository.<br />
* '''Upstream page:''' [http://bohoomil.com/ Infinality bundle & fonts]<br />
* '''Key-ID:''' 962DDE58<br />
<br />
{{bc|<nowiki><br />
[infinality-bundle-fonts]<br />
Server = http://bohoomil.com/repo/fonts<br />
</nowiki>}}<br />
<br />
==== ivasilev ====<br />
<br />
* '''Maintainer:''' [http://ivasilev.net Ianis G. Vasilev]<br />
* '''Description:''' A variety of packages, mostly my own software and AUR builds.<br />
* '''Upstream page:''' http://ivasilev.net/pacman<br />
* '''Key-ID:''' 436BB513<br />
<br />
{{Note|I mantain 'any', 'i686' and 'x86_64' repos. Each of them includes packages from 'any'. $arch can be replaced with any of the three}}<br />
<br />
{{bc|<nowiki><br />
[ivasilev]<br />
Server = http://ivasilev.net/pacman/any<br />
# Server = http://ivasilev.net/pacman/$arch<br />
</nowiki>}}<br />
<br />
==== pkgbuilder ====<br />
<br />
* '''Maintainer:''' [https://chriswarrick.com/ Chris Warrick]<br />
* '''Description:''' A repository for PKGBUILDer, a Python AUR helper.<br />
* '''Upstream page:''' https://github.com/Kwpolska/pkgbuilder<br />
* '''Key-ID:''' 5EAAEA16<br />
<br />
{{bc|<nowiki><br />
[pkgbuilder]<br />
Server = https://pkgbuilder-repo.chriswarrick.com/<br />
</nowiki>}}<br />
<br />
==== xyne-any ====<br />
<br />
* '''Maintainer:''' [https://www.archlinux.org/trustedusers/#xyne Xyne]<br />
* '''Description:''' A repository for Xyne's own projects containing packages for "any" architecture.<br />
* '''Upstream page:''' http://xyne.archlinux.ca/projects/<br />
* '''Key-ID:''' Not needed, as maintainer is a TU<br />
<br />
{{Note|Use this repository only if there is no matching {{ic|[xyne-*]}} repository for your architecture.}}<br />
<br />
{{bc|<nowiki><br />
[xyne-any]<br />
Server = http://xyne.archlinux.ca/repos/xyne<br />
</nowiki>}}<br />
<br />
=== Unsigned ===<br />
<br />
==== archlinuxgr-any ====<br />
<br />
* '''Maintainer:'''<br />
* '''Description:''' The Hellenic (Greek) unofficial Arch Linux repository with many interesting packages.<br />
<br />
{{bc|<nowiki><br />
[archlinuxgr-any]<br />
Server = http://archlinuxgr.tiven.org/archlinux/any<br />
</nowiki>}}<br />
<br />
== Both i686 and x86_64 ==<br />
<br />
Repositories with both i686 and x86_64 versions. The {{ic|$arch}} variable will be set automatically by pacman.<br />
<br />
=== Signed ===<br />
<br />
==== arcanisrepo ====<br />
<br />
* '''Maintainer:''' [https://www.archlinux.org/trustedusers/#arcanis arcanis]<br />
* '''Description:''' A repository with some AUR packages including packages from VCS<br />
* '''Key-ID:''' Not needed, as maintainer is a TU<br />
<br />
{{bc|<nowiki><br />
[arcanisrepo]<br />
Server = ftp://repo.arcanis.name/repo/$arch<br />
</nowiki>}}<br />
<br />
==== archlinuxcn ====<br />
<br />
* '''Maintainers:''' [https://plus.google.com/+PhoenixNemo/ Phoenix Nemo (phoenixlzx)], Felix Yan (felixonmars, TU), [https://twitter.com/lilydjwg lilydjwg], and others<br />
* '''Description:''' Packages by the Chinese Arch Linux community (mostly signed)<br />
* '''Git Repo:''' https://github.com/archlinuxcn/repo<br />
* '''Mirrors:''' https://github.com/archlinuxcn/mirrorlist-repo<br />
* '''Key-ID:''' Once the repo is added, ''archlinuxcn-keyring'' package must be installed before any other.<br />
<br />
{{bc|<nowiki><br />
[archlinuxcn]<br />
SigLevel = Optional TrustedOnly<br />
Server = http://repo.archlinuxcn.org/$arch<br />
</nowiki>}}<br />
<br />
==== bbqlinux ====<br />
<br />
* '''Maintainer:''' [https://plus.google.com/u/0/+DanielHillenbrand/about Daniel Hillenbrand]<br />
* '''Description:''' Packages for Android Development<br />
* '''Upstream Page:''' http://bbqlinux.org/<br />
* '''Key-ID:''' Get the ''bbqlinux-keyring'' package, as it contains the needed keys.<br />
<br />
{{bc|<nowiki><br />
[bbqlinux]<br />
Server = http://packages.bbqlinux.org/$repo/os/$arch<br />
</nowiki>}}<br />
<br />
==== catalyst ====<br />
<br />
* '''Maintainer:''' [[User:Vi0L0|Vi0l0]]<br />
* '''Description:''' ATI Catalyst proprietary drivers.<br />
* '''Upstream Page:''' http://catalyst.wirephire.com<br />
* '''Key-ID:''' 653C3094<br />
<br />
{{bc|<nowiki><br />
[catalyst]<br />
Server = http://catalyst.wirephire.com/repo/catalyst/$arch<br />
## Mirrors, if the primary server does not work or is too slow:<br />
#Server = http://mirror.rts-informatique.fr/archlinux-catalyst/repo/catalyst/$arch<br />
#Server = http://mirror.hactar.bz/Vi0L0/catalyst/$arch<br />
</nowiki>}}<br />
<br />
==== catalyst-hd234k ====<br />
<br />
* '''Maintainer:''' [[User:Vi0L0|Vi0l0]]<br />
* '''Description:''' ATI Catalyst proprietary drivers.<br />
* '''Upstream Page:''' http://catalyst.wirephire.com<br />
* '''Key-ID:''' 653C3094<br />
<br />
{{bc|<nowiki><br />
[catalyst-hd234k]<br />
Server = http://catalyst.wirephire.com/repo/catalyst-hd234k/$arch<br />
## Mirrors, if the primary server does not work or is too slow:<br />
#Server = http://mirror.rts-informatique.fr/archlinux-catalyst/repo/catalyst-hd234k/$arch<br />
#Server = http://mirror.hactar.bz/Vi0L0/catalyst-hd234k/$arch<br />
</nowiki>}}<br />
<br />
==== city ====<br />
<br />
* '''Maintainer:''' [https://www.archlinux.org/trustedusers/#bgyorgy Balló György]<br />
* '''Description:''' Experimental/unpopular packages.<br />
* '''Upstream page:''' http://pkgbuild.com/~bgyorgy/city.html<br />
* '''Key-ID:''' Not needed, as maintainer is a TU<br />
<br />
{{bc|<nowiki><br />
[city]<br />
Server = http://pkgbuild.com/~bgyorgy/$repo/os/$arch<br />
</nowiki>}}<br />
<br />
==== demz-repo-archiso ====<br />
<br />
* '''Maintainer:''' [http://demizerone.com Jesus Alvarez (demizer)]<br />
* '''Description:''' Packages for installing ZFS from an Arch ISO live disk<br />
* '''Upstream page:''' https://github.com/demizer/archzfs<br />
* '''Key-ID:''' 5E1ABF240EE7A126<br />
<br />
{{bc|<nowiki><br />
[demz-repo-archiso]<br />
Server = http://demizerone.com/$repo/$arch<br />
</nowiki>}}<br />
<br />
==== demz-repo-core ====<br />
<br />
* '''Maintainer:''' [http://demizerone.com Jesus Alvarez (demizer)]<br />
* '''Description:''' Packages for ZFS on Arch Linux.<br />
* '''Upstream page:''' https://github.com/demizer/archzfs<br />
* '''Key-ID:''' 5E1ABF240EE7A126<br />
<br />
{{bc|<nowiki><br />
[demz-repo-core]<br />
Server = http://demizerone.com/$repo/$arch<br />
</nowiki>}}<br />
<br />
==== gnome-encfs-manager ====<br />
<br />
* '''Maintainer:''' Moritz Molch<br />
* '''Description:''' The gnome-encfs-manager can be used to integrate [[EncFS]]<br />
* '''Upstream page:''' [https://launchpad.net/gencfsm Gnome EncfsM].<br />
* '''Key ID:'''<br />
<br />
{{bc|<nowiki><br />
[home_moritzmolch_gencfsm_Arch_Extra]<br />
Server = http://download.opensuse.org/repositories/home:/moritzmolch:/gencfsm/Arch_Extra/$arch<br />
</nowiki>}}<br />
<br />
==== haskell-core ====<br />
<br />
* '''Maintainer:''' Magnus Therning<br />
* '''Description:''' Arch-Haskell repository<br />
* '''Upstream page:''' https://github.com/archhaskell/habs<br />
* '''Key-ID:''' 4209170B<br />
<br />
{{bc|<nowiki><br />
[haskell-core]<br />
Server = http://xsounds.org/~haskell/core/$arch<br />
</nowiki>}}<br />
<br />
==== infinality-bundle ====<br />
<br />
* '''Maintainer:''' [http://bohoomil.com/ bohoomil]<br />
* '''Description:''' infinality-bundle main repository.<br />
* '''Upstream page:''' [http://bohoomil.com/ Infinality bundle & fonts]<br />
* '''Key-ID:''' 962DDE58<br />
<br />
{{bc|<nowiki><br />
[infinality-bundle]<br />
Server = http://bohoomil.com/repo/$arch<br />
</nowiki>}}<br />
<br />
==== ivasilev ====<br />
<br />
* '''Maintainer:''' [http://ivasilev.net Ianis G. Vasilev]<br />
* '''Description:''' A variety of packages, mostly my own software and AUR builds.<br />
* '''Upstream page:''' http://ivasilev.net/pacman<br />
* '''Key-ID:''' 436BB513<br />
<br />
{{Note|I mantain 'any', 'i686' and 'x86_64' repos. Each of them includes packages from 'any'. $arch can be replaced with any of the three}}<br />
<br />
{{bc|<nowiki><br />
[ivasilev]<br />
Server = http://ivasilev.net/pacman/$arch<br />
</nowiki>}}<br />
<br />
==== llvm-svn ====<br />
<br />
* '''Maintainer:''' [[User:Kerberizer|Luchesar V. ILIEV (kerberizer)]]<br />
* '''Description:''' [https://aur.archlinux.org/pkgbase/llvm-svn llvm-svn] and [https://aur.archlinux.org/pkgbase/lib32-llvm-svn lib32-llvm-svn] from AUR: the LLVM compiler infrastructure, the Clang frontend, and the tools associated with it<br />
* '''Key-ID:''' [https://sks-keyservers.net/pks/lookup?op=vindex&search=0x76563F75679E4525&fingerprint=on&exact=on 0x76563F75679E4525], fingerprint <tt>D16C F22D 27D1 091A 841C 4BE9 7656 3F75 679E 4525</tt><br />
<br />
{{bc|<nowiki><br />
[llvm-svn]<br />
Server = http://repos.uni-plovdiv.net/archlinux/$repo/$arch<br />
</nowiki>}}<br />
<br />
==== markzz ====<br />
<br />
* '''Maintainer:''' [[User:Markzz|Mark Weiman (markzz)]]<br />
* '''Description:''' Packages that markzz maintains on the AUR, Linux with the vfio patch ({{AUR|linux-vfio}} and {{AUR|linux-vfio-lts}}), and packages to maintain a Debian package repository.<br />
* '''Key ID:''' 3CADDFDD<br />
<br />
{{Note|If you want to add the key by installing the ''markzz-keyring'' package, temporarily add {{ic|1=SigLevel = Never}} into the repository section.}}<br />
<br />
{{bc|<nowiki><br />
[markzz]<br />
Server = http://repo.markzz.com/arch/$repo/$arch<br />
</nowiki>}}<br />
<br />
==== metalgamer ====<br />
<br />
* '''Maintainer:''' [http://metalgamer.eu/ metalgamer]<br />
* '''Description:''' Packages I use and/or maintain on the AUR.<br />
* '''Key ID:''' F55313FB<br />
<br />
{{bc|<nowiki><br />
[metalgamer]<br />
Server = http://repo.metalgamer.eu/$arch<br />
</nowiki>}}<br />
<br />
==== miffe ====<br />
<br />
* '''Maintainer:''' [https://bbs.archlinux.org/profile.php?id=4059 miffe]<br />
* '''Description:''' AUR packages maintained by miffe, e.g. linux-mainline<br />
* '''Key ID:''' 313F5ABD<br />
<br />
{{bc|<nowiki><br />
[miffe]<br />
Server = http://arch.miffe.org/$arch/<br />
</nowiki>}}<br />
<br />
==== nullptr_t ====<br />
<br />
* '''Maintainers:''' Sebastian Lau (nullptr_t), <br />
* '''Description:''' AUR packages that have a longer build time on some machines (e.g. {{AUR|veracrypt}} or [[plymouth]])<br />
* '''Key-ID:''' 1607AC45<br />
<br />
{{bc|<nowiki><br />
[nullptr_t]<br />
Server = https://www.slau.me/archlinux/mirrors/$repo/$arch<br />
</nowiki>}}<br />
<br />
==== pipelight ====<br />
<br />
* '''Maintainer:'''<br />
* '''Description:''' Pipelight and wine-compholio<br />
* '''Upstream page:''' [http://fds-team.de/ fds-team.de]<br />
* '''Key-ID:''' E49CC0415DC2D5CA<br />
* '''Keyfile:''' http://repos.fds-team.de/Release.key<br />
<br />
{{bc|<nowiki><br />
[pipelight]<br />
Server = http://repos.fds-team.de/stable/arch/$arch<br />
</nowiki>}}<br />
<br />
==== repo-ck ====<br />
<br />
* '''Maintainer:''' [[User:Graysky|graysky]]<br />
* '''Description:''' Kernel and modules with Brain Fuck Scheduler and all the goodies in the ck1 patch set.<br />
* '''Upstream page:''' [http://repo-ck.com repo-ck.com]<br />
* '''Wiki:''' [[repo-ck]]<br />
* '''Key-ID:''' 5EE46C4C<br />
<br />
{{bc|<nowiki><br />
[repo-ck]<br />
Server = http://repo-ck.com/$arch<br />
</nowiki>}}<br />
<br />
==== seblu ====<br />
<br />
* '''Maintainer:''' [https://www.archlinux.org/developers/#seblu Sébastien Luttringer]<br />
* '''Description:''' All seblu useful pre-built packages, some homemade (virtualbox-ext-oracle, linux-seblu-meta, bedup).<br />
* '''Key-ID:''' Not required, as maintainer is a Developer<br />
<br />
{{bc|<nowiki><br />
[seblu]<br />
Server = http://seblu.net/a/$repo/$arch<br />
</nowiki>}}<br />
<br />
==== sergej-repo ====<br />
<br />
* '''Maintainer:''' [https://www.archlinux.org/trustedusers/#spupykin Sergej Pupykin]<br />
* '''Description:''' psi-plus, owncloud-git, ziproxy, android, MySQL, and other stuff. Some packages also available for armv7h.<br />
* '''Key-ID:''' Not required, as maintainer is a TU<br />
<br />
{{bc|<nowiki><br />
[sergej-repo]<br />
Server = http://repo.p5n.pp.ru/$repo/os/$arch<br />
</nowiki>}}<br />
<br />
==== tredaelli-systemd ====<br />
<br />
* '''Maintainer:''' [https://www.archlinux.org/trustedusers/#tredaelli Timothy Redaelli]<br />
* '''Description:''' systemd rebuilt with unofficial OpenVZ patch (kernel < 2.6.32-042stab111.1)<br />
* '''Key-ID:''' Not required, as maintainer is a TU<br />
<br />
{{Note|{{ic|[tredaelli-systemd]}} must be put before {{ic|[core]}} in {{ic|/etc/pacman.conf}}}}<br />
<br />
{{bc|<nowiki><br />
[tredaelli-systemd]<br />
Server = http://pkgbuild.com/~tredaelli/repo/systemd/$arch<br />
</nowiki>}}<br />
<br />
==== herecura ====<br />
<br />
* '''Maintainer:''' [https://www.archlinux.org/people/trusted-users/#idevolder Ike Devolder]<br />
* '''Description:''' additional packages not found in the ''community'' repository<br />
* '''Key-ID:''' Not required, as maintainer is a TU<br />
<br />
{{bc|<nowiki><br />
[herecura]<br />
Server = http://repo.herecura.be/$repo/$arch<br />
</nowiki>}}<br />
<br />
==== blackeagle-pre-community ====<br />
<br />
* '''Maintainer:''' [https://www.archlinux.org/people/trusted-users/#idevolder Ike Devolder]<br />
* '''Description:''' testing of the by me maintaned packages before moving to ''community'' repository<br />
* '''Key-ID:''' Not required, as maintainer is a TU<br />
<br />
{{bc|<nowiki><br />
[blackeagle-pre-community]<br />
Server = http://repo.herecura.be/$repo/$arch<br />
</nowiki>}}<br />
<br />
=== Unsigned ===<br />
<br />
{{Note|Users will need to add the following to these entries: {{ic|1=SigLevel = PackageOptional}}}}<br />
<br />
==== arch-deepin ====<br />
<br />
* '''Maintainer:''' [https://build.opensuse.org/project/show/home:metakcahura metak], [https://github.com/fasheng fasheng]<br />
* '''Description:''' Porting software from Linux Deepin to Archlinux.<br />
* '''Upstream page:''' https://github.com/fasheng/arch-deepin<br />
<br />
{{bc|<nowiki><br />
[home_metakcahura_arch-deepin_Arch_Extra]<br />
SigLevel = Never<br />
Server = http://download.opensuse.org/repositories/home:/metakcahura:/arch-deepin/Arch_Extra/$arch<br />
#Server = http://anorien.csc.warwick.ac.uk/mirrors/download.opensuse.org/repositories/home:/metakcahura:/arch-deepin/Arch_Extra/$arch<br />
</nowiki>}}<br />
<br />
==== archaudio ====<br />
<br />
* '''Maintainer:''' [[User:Schivmeister|Ray Rashif]], [https://aur.archlinux.org/account/jhernberg Joakim Hernberg]<br />
* '''Description:''' Pro-audio packages<br />
<br />
{{bc|<nowiki><br />
[archaudio-production]<br />
Server = http://repos.archaudio.org/$repo/$arch<br />
</nowiki>}}<br />
<br />
==== archlinuxfr ====<br />
<br />
* '''Maintainer:'''<br />
* '''Description:'''<br />
* '''Upstream page:''' http://afur.archlinux.fr<br />
<br />
{{bc|<nowiki><br />
[archlinuxfr]<br />
Server = http://repo.archlinux.fr/$arch<br />
</nowiki>}}<br />
<br />
==== archlinuxgis ====<br />
<br />
* '''Maintainer:'''<br />
* '''Description:''' Maintainers needed - low bandwidth<br />
<br />
{{bc|<nowiki><br />
[archlinuxgis]<br />
Server = http://archlinuxgis.no-ip.org/$arch<br />
</nowiki>}}<br />
<br />
==== archlinuxgr ====<br />
<br />
* '''Maintainer:'''<br />
* '''Description:'''<br />
<br />
{{bc|<nowiki><br />
[archlinuxgr]<br />
Server = http://archlinuxgr.tiven.org/archlinux/$arch<br />
</nowiki>}}<br />
<br />
==== archlinuxgr-kde4 ====<br />
<br />
* '''Maintainer:'''<br />
* '''Description:''' KDE4 packages (plasmoids, themes etc) provided by the Hellenic (Greek) Arch Linux community<br />
<br />
{{bc|<nowiki><br />
[archlinuxgr-kde4]<br />
Server = http://archlinuxgr.tiven.org/archlinux-kde4/$arch<br />
</nowiki>}}<br />
<br />
==== arsch ====<br />
<br />
* '''Maintainer:'''<br />
* '''Description:''' From users of orgizm.net<br />
<br />
{{bc|<nowiki><br />
[arsch]<br />
Server = http://arsch.orgizm.net/$arch<br />
</nowiki>}}<br />
<br />
==== cinnamon ====<br />
<br />
* '''Maintainer:''' [https://github.com/jnbek jnbek]<br />
* '''Description:''' Stable and actively developed Cinnamon packages (Applets, Themes, Extensions), plus others (Hotot, qBitTorrent, GTK themes, Perl modules, and more).<br />
<br />
{{bc|<nowiki><br />
[cinnamon]<br />
Server = http://archlinux.zoelife4u.org/cinnamon/$arch<br />
</nowiki>}}<br />
<br />
==== ede ====<br />
<br />
* '''Maintainer:'''<br />
* '''Description:''' Equinox Desktop Environment repository<br />
<br />
{{bc|<nowiki><br />
[ede]<br />
Server = http://ede.elderlinux.org/repos/archlinux/$arch<br />
</nowiki>}}<br />
<br />
==== heftig ====<br />
<br />
* '''Maintainer:''' [https://www.archlinux.org/trustedusers/#heftig Jan Steffens]<br />
* '''Description:''' Includes linux-zen and aurora (Firefox development build - works alongside {{Pkg|firefox}} in the ''extra'' repository).<br />
* '''Upstream page:''' https://bbs.archlinux.org/viewtopic.php?id=117157<br />
<br />
{{bc|<nowiki><br />
[heftig]<br />
Server = http://pkgbuild.com/~heftig/repo/$arch<br />
</nowiki>}}<br />
<br />
==== mesa-git ====<br />
<br />
* '''Maintainer:''' [https://www.archlinux.org/people/trusted-users/#lcarlier Laurent Carlier]<br />
* '''Description:''' Mesa git builds for the ''testing'' and ''multilib-testing'' repositories<br />
<br />
{{bc|<nowiki><br />
[mesa-git]<br />
Server = http://pkgbuild.com/~lcarlier/$repo/$arch<br />
</nowiki>}}<br />
<br />
==== noware ====<br />
<br />
* '''Maintainer:''' Alexandru Thirtheu (alex_giusi_tiri2@yahoo.com) ([https://bbs.archlinux.org/profile.php?id=65036 Forums]) ([https://wiki.archlinux.org/index.php/User:AGT Wiki]) ([http://direct.noware.systems.:2 Web Site])<br />
* '''Description:''' Software which I prefer being present in a repository, than being compiled each time. It eases software maintenance, I find. Almost anything goes.<br />
<br />
{{bc|<nowiki><br />
[noware]<br />
Server = http://direct.$repo.systems.:2/repository/arch/$arch<br />
</nowiki>}}<br />
<br />
==== openrc-eudev ====<br />
<br />
* '''Maintainer:''' [[User:Aaditya|Aaditya]], [[User:Nous|Nous]]<br />
* '''Description:''' OpenRC and eudev packages, [[OpenRC#artoo|artoo's way]].<br />
{{bc|<nowiki><br />
[openrc-eudev]<br />
Server = http://downloads.sourceforge.net/project/archopenrc/$repo/$arch<br />
</nowiki>}}<br />
<br />
==== oracle ====<br />
<br />
* '''Maintainer:''' [[User:Malvineous|Malvineous]]<br />
* '''Description:''' Oracle database client<br />
<br />
{{Warning|By adding this you are agreeing to the Oracle license at http://www.oracle.com/technetwork/licenses/instant-client-lic-152016.html}}<br />
<br />
{{bc|<nowiki><br />
[oracle]<br />
Server = http://linux.shikadi.net/arch/$repo/$arch/<br />
</nowiki>}}<br />
<br />
==== pantheon ====<br />
<br />
* '''Maintainer:''' [https://www.archlinux.org/trustedusers/#alucryd Maxime Gauduin]<br />
* '''Description:''' Repository containing Pantheon-related packages<br />
<br />
{{bc|<nowiki><br />
[pantheon]<br />
Server = http://pkgbuild.com/~alucryd/$repo/$arch<br />
</nowiki>}}<br />
<br />
==== paulburton-fitbitd ====<br />
<br />
* '''Maintainer:'''<br />
* '''Description:''' Contains fitbitd for synchronizing FitBit trackers<br />
<br />
{{bc|<nowiki><br />
[paulburton-fitbitd]<br />
Server = http://www.paulburton.eu/arch/fitbitd/$arch<br />
</nowiki>}}<br />
<br />
==== pietma ====<br />
<br />
* '''Maintainer:''' MartiMcFly <martimcfly@autorisation.de><br />
* '''Description:''' Arch User Repository packages [https://aur.archlinux.org/packages/?K=martimcfly&SeB=m I create or maintain.].<br />
* '''Upstream page:''' http://pietma.com/tag/aur/<br />
<br />
{{bc|<nowiki><br />
[pietma]<br />
SigLevel = Optional TrustAll<br />
Server = http://repository.pietma.com/nexus/content/repositories/archlinux/$arch/$repo<br />
</nowiki>}}<br />
<br />
==== pfkernel ====<br />
<br />
* '''Maintainer:''' [[User:Nous|nous]]<br />
* '''Description:''' Generic and optimized binaries of the ARCH kernel patched with BFS, TuxOnIce, BFQ, Aufs3; i.e. linux-pf[-cpu] and linux-pf-lts[-cpu]. Also, openrc and initscripts-openrc.<br />
* '''Note:''' To browse through the repository, one needs to append {{ic|index.html}} after the server URL (this is an intentional quirk of Dropbox). For example, for x86_64, point your browser to http://dl.dropbox.com/u/11734958/x86_64/index.html or start at http://bit.do/linux-pf<br />
<br />
{{bc|<nowiki><br />
[pfkernel]<br />
Server = http://dl.dropbox.com/u/11734958/$arch<br />
</nowiki>}}<br />
<br />
==== suckless ====<br />
<br />
* '''Maintainer:'''<br />
* '''Description:''' suckless.org packages<br />
<br />
{{bc|<nowiki><br />
[suckless]<br />
Server = http://dl.suckless.org/arch/$arch<br />
</nowiki>}}<br />
<br />
==== Unity-for-Arch ====<br />
<br />
* '''Maintainer:''' https://github.com/chenxiaolong<br />
* '''Description:''' [[Unity]] packages for Arch<br />
<br />
{{bc|<nowiki><br />
[Unity-for-Arch]<br />
SigLevel = Optional TrustAll<br />
Server = http://dl.dropbox.com/u/486665/Repos/$repo/$arch<br />
</nowiki>}}<br />
<br />
==== Unity-for-Arch-Extra ====<br />
<br />
* '''Maintainer:''' https://github.com/chenxiaolong<br />
* '''Description:''' [[Unity]] extra packages for Arch<br />
<br />
{{bc|<nowiki><br />
[Unity-for-Arch-Extra]<br />
SigLevel = Optional TrustAll<br />
Server = http://dl.dropbox.com/u/486665/Repos/$repo/$arch<br />
</nowiki>}}<br />
<br />
==== home_tarakbumba_archlinux_Arch_Extra_standard ====<br />
<br />
* '''Maintainer:'''<br />
* '''Description:''' Contains a few pre-built AUR packages (zemberek, firefox-kde-opensuse, etc.)<br />
<br />
{{bc|<nowiki><br />
[home_tarakbumba_archlinux_Arch_Extra_standard]<br />
Server = http://download.opensuse.org/repositories/home:/tarakbumba:/archlinux/Arch_Extra_standard/$arch<br />
</nowiki>}}<br />
<br />
==== MEGAsync_Arch_Extra ====<br />
<br />
* '''Maintainer:''' https://mega.nz/#sync<br />
* '''Description:''' MEGAsync extra packages for Arch<br />
<br />
{{bc|<nowiki><br />
[MEGAsync_Arch_Extra]<br />
SigLevel = Never<br />
Server = https://mega.co.nz/linux/MEGAsync/Arch_Extra/$arch<br />
</nowiki>}}<br />
<br />
== i686 only ==<br />
<br />
=== Signed ===<br />
<br />
==== eee-ck ====<br />
<br />
* '''Maintainer:''' Gruppenpest<br />
* '''Description:''' Kernel and modules optimized for Asus Eee PC 701, with -ck patchset.<br />
* '''Key-ID:''' 27D4A19A<br />
* '''Keyfile''' http://zembla.duckdns.org/repo/gruppenpest.gpg<br />
<br />
{{bc|<nowiki><br />
[eee-ck]<br />
Server = http://zembla.duckdns.org/repo<br />
</nowiki>}}<br />
<br />
==== phillid ====<br />
<br />
* '''Maintainer:''' Phillid<br />
* '''Description:''' Various GCC-s and matching binutils-es which target bare-bones formats (for OS dev). The GCC toolchains are shrunk to ~8&nbsp;MiB each by disabling NLS and everything but the C front-end. Thrown in there is some ham-related stuff I use such as hamlib, xastir, qsstv. Also a couple of legacy packages which are a bit lengthy to build for most people (kdelibs3, qt3).<br />
* '''Key-ID:''' 28F1E6CE<br />
<br />
{{bc|<nowiki><br />
[phillid]<br />
Server = http://phillid.tk/r/i686/<br />
</nowiki>}}<br />
<br />
==== xyne-i686 ====<br />
<br />
* '''Maintainer:''' [https://www.archlinux.org/trustedusers/#xyne Xyne]<br />
* '''Description:''' A repository for Xyne's own projects containing packages for the "i686" architecture.<br />
* '''Upstream page:''' http://xyne.archlinux.ca/projects/<br />
* '''Key-ID:''' Not required, as maintainer is a TU<br />
<br />
{{Note|This includes all packages in [[#xyne-any|<nowiki>[xyne-any]</nowiki>]].}}<br />
<br />
{{bc|<nowiki><br />
[xyne-i686]<br />
Server = http://xyne.archlinux.ca/repos/xyne<br />
</nowiki>}}<br />
<br />
=== Unsigned ===<br />
<br />
==== andrwe ====<br />
<br />
* '''Maintainer:''' Andrwe Lord Weber<br />
* '''Description:''' each program I'm using on x86_64 is compiled for i686 too<br />
* '''Upstream page:''' http://andrwe.org/linux/repository<br />
<br />
{{bc|<nowiki><br />
[andrwe]<br />
Server = http://repo.andrwe.org/i686<br />
</nowiki>}}<br />
<br />
==== kpiche ====<br />
<br />
* '''Maintainer:'''<br />
* '''Description:''' Stable OpenSync packages.<br />
<br />
{{bc|<nowiki><br />
[kpiche]<br />
Server = http://kpiche.archlinux.ca/repo<br />
</nowiki>}}<br />
<br />
==== kernel26-pae ====<br />
<br />
* '''Maintainer:'''<br />
* '''Description:''' PAE-enabled 32-bit kernel 2.6.39<br />
<br />
{{bc|<nowiki><br />
[kernel26-pae]<br />
Server = http://kernel26-pae.archlinux.ca/<br />
</nowiki>}}<br />
<br />
==== linux-pae ====<br />
<br />
* '''Maintainer:'''<br />
* '''Description:''' PAE-enabled 32-bit kernel 3.0<br />
<br />
{{bc|<nowiki><br />
[linux-pae]<br />
Server = http://pae.archlinux.ca/<br />
</nowiki>}}<br />
<br />
==== rfad ====<br />
<br />
* '''Maintainer:''' requiem [at] archlinux.us<br />
* '''Description:''' Repository made by haxit<br />
<br />
{{bc|<nowiki><br />
[rfad]<br />
Server = http://web.ncf.ca/ey723/archlinux/repo/<br />
</nowiki>}}<br />
<br />
==== studioidefix ====<br />
<br />
* '''Maintainer:'''<br />
* '''Description:''' Precompiled boxee packages.<br />
<br />
{{bc|<nowiki><br />
[studioidefix]<br />
Server = http://studioidefix.googlecode.com/hg/repo/i686<br />
</nowiki>}}<br />
<br />
== x86_64 only ==<br />
<br />
=== Signed ===<br />
<br />
==== apathism ====<br />
<br />
* '''Maintainer:''' Ivan Koryabkin ([https://aur.archlinux.org/account/apathism/ apathism])<br />
* '''Upstream page:''' https://apathism.net/<br />
* '''Description:''' Some AUR packages like {{AUR|psi-plus-git}} (with qt5 enabled).<br />
* '''Key-ID:''' 3E37398D<br />
* '''Keyfile:''' http://apathism.net/archlinux/apathism.key<br />
<br />
{{bc|<nowiki><br />
[apathism]<br />
Server = http://apathism.net/archlinux/<br />
</nowiki>}}<br />
<br />
==== atom ====<br />
<br />
* '''Maintainer:''' Nicola Squartini ([https://github.com/tensor5 tensor5])<br />
* '''Upstream page:''' https://github.com/tensor5/arch-atom<br />
* '''Description:''' Atom text editor and Electron<br />
* '''Key-ID:''' B0544167<br />
<br />
{{bc|<nowiki><br />
[atom]<br />
Server = http://noaxiom.org/$repo/$arch<br />
</nowiki>}}<br />
<br />
==== bioinformatics ====<br />
<br />
* '''Maintainer:''' [https://aur.archlinux.org/account/decryptedepsilon/ decryptedepsilon]<br />
* '''Description:''' A repository containing some software tools for Bioinformatics<br />
* '''Key-ID:''' 60442BA4<br />
<br />
{{bc|<nowiki><br />
[bioinformatics]<br />
Server = http://decryptedepsilon.bl.ee/repo/x86_64<br />
</nowiki>}}<br />
<br />
==== blackleg ====<br />
<br />
* '''Maintainer:''' Blackleg ([https://aur.archlinux.org/account/blackleg blackleg])<br />
* '''Upstream page:''' [http://www.blackleg.es www.blackleg.es]<br />
* '''Description:''' My AUR's packages and some like: linux-w110er, nvidia-dkms, android-studio, odoo (OpenErp).<br />
* '''Package list:''' [http://www.blackleg.es/x86_64/index.html Blackleg x86_64 packages]<br />
* '''Key-ID:''' 611BFDE1<br />
<br />
{{bc|<nowiki><br />
[blackleg]<br />
Server = ftp://ftp.blackleg.es/archlinux/$repo/$arch/<br />
</nowiki>}}<br />
<br />
==== boyska64 ====<br />
<br />
* '''Maintainer:''' boyska<br />
* '''Description:''' Personal repository: cryptography, sdr, mail handling and misc<br />
* '''Key-ID:''' 0x7395DCAE58289CA9<br />
<br />
{{bc|<nowiki><br />
[boyska64]<br />
Server = http://boyska.degenerazione.xyz/archrepo<br />
</nowiki>}}<br />
<br />
==== coderkun-aur ====<br />
<br />
* '''Maintainer:''' [https://aur.archlinux.org/account/coderkun/ coderkun]<br />
* '''Description:''' AUR packages with random software. Supporting package deltas and package and database signing.<br />
* '''Upstream page:''' https://www.coderkun.de/arch<br />
* '''Key-ID:''' A6BEE374<br />
* '''Keyfile:''' [https://www.coderkun.de/coderkun.asc https://www.coderkun.de/coderkun.asc]<br />
<br />
{{bc|<nowiki><br />
[coderkun-aur]<br />
Server = http://arch.coderkun.de/$repo/$arch/<br />
</nowiki>}}<br />
<br />
==== coderkun-aur-audio ====<br />
<br />
* '''Maintainer:''' [https://aur.archlinux.org/account/coderkun/ coderkun]<br />
* '''Description:''' AUR packages with audio-related (realtime kernels, lv2-plugins, …) software. Supporting package deltas and package and database signing.<br />
* '''Upstream page:''' https://www.coderkun.de/arch<br />
* '''Key-ID:''' A6BEE374<br />
* '''Keyfile:''' [https://www.coderkun.de/coderkun.asc https://www.coderkun.de/coderkun.asc]<br />
<br />
{{bc|<nowiki><br />
[coderkun-aur-audio]<br />
Server = http://arch.coderkun.de/$repo/$arch/<br />
</nowiki>}}<br />
<br />
==== eatabrick ====<br />
<br />
* '''Maintainer:''' bentglasstube<br />
* '''Description:''' Packages for software written by (and a few just compiled by) bentglasstube.<br />
<br />
{{bc|<nowiki><br />
[eatabrick]<br />
SigLevel = Required<br />
Server = http://repo.eatabrick.org/$arch<br />
</nowiki>}}<br />
<br />
==== freifunk-rheinland ====<br />
<br />
* '''Maintainer:''' nomaster<br />
* '''Description:''' Packages for the Freifunk project: batman-adv, batctl, fastd and dependencies.<br />
<br />
{{bc|<nowiki><br />
[freifunk-rheinland]<br />
Server = http://mirror.fluxent.de/archlinux-custom/$repo/os/$arch<br />
</nowiki>}}<br />
<br />
==== gustawho ====<br />
<br />
* '''Maintainer:''' [https://twitter.com/gustawho Gustavo Castro] <gustawho@gmail.com><br />
* '''Description:''' Scientific tools (mostly physics/math) and AUR packages that would take long to build, such as {{AUR|firefox-kde-opensuse}}.<br />
* '''Package list:''' http://gustawho.x10.mx/repo/x86_64<br />
* '''Upstream page:''' http://gustawho.x10.mx<br />
* '''Key-ID:''' 2C575D76<br />
<br />
{{bc|<nowiki><br />
[gustawho]<br />
Server = http://gustawho.x10.mx/repo/x86_64<br />
</nowiki>}}<br />
<br />
* '''Note:''' If you need firefox-kde-opensuse for i686 and/or the unsigned x86_64 package, try this repo instead:<br />
<br />
{{bc|<nowiki><br />
[home_gustawho_Arch_Extra]<br />
SigLevel = Never<br />
Server = http://download.opensuse.org/repositories/home:/gustawho/Arch_Extra/$arch<br />
</nowiki>}}<br />
<br />
==== holo ====<br />
<br />
* '''Maintainer:''' Stefan Majewsky <holo-pacman@posteo.de> (please prefer to report issues at [https://github.com/majewsky/holo-pacman-repo/issues Github])<br />
* '''Description:''' Packages for [https://holocm.org Holo configuration management], including compatible plugins and tools.<br />
* '''Upstream page:''' https://github.com/majewsky/holo-pacman-repo<br />
* '''Key-ID:''' 0xF7A9C9DC4631BD1A<br />
<br />
{{bc|<nowiki><br />
[holo]<br />
Server = https://repo.holocm.org/archlinux/x86_64<br />
</nowiki>}}<br />
<br />
==== Linux-pf ====<br />
<br />
{{Accuracy|Signed repositories should not use {{ic|1=SigLevel = Optional}} (by definition).}}<br />
<br />
* '''Maintainer:''' [[User:Thaodan|Thaodan]]<br />
* '''Description:''' Generic and optimized binaries of the ARCH kernel patched with BFS, TuxOnIce, BFQ, Aufs3; i.e. linux-pf, just like {{AUR|linux-pf}} from the [[AUR]] but additionally optimized for intel CPUs Sandy Bridge, Ivy Bridge, Haswell and generic of course, and some extra packages<br />
* '''Note:''' To browse through the repository, one needs to append {{ic|index.html}} after the server URL (this is an intentional quirk of Dropbox).<br />
<br />
{{bc|<nowiki><br />
[Linux-pf]<br />
Server = https://dl.dropboxusercontent.com/u/172590784/Linux-pf/x86_64/<br />
SigLevel = Optional<br />
</nowiki>}}<br />
<br />
==== infinality-bundle-multilib ====<br />
<br />
* '''Maintainer:''' [http://bohoomil.com/ bohoomil]<br />
* '''Description:''' infinality-bundle multilib repository.<br />
* '''Upstream page:''' [http://bohoomil.com/ Infinality bundle & fonts]<br />
* '''Key-ID:''' 962DDE58<br />
<br />
{{bc|<nowiki><br />
[infinality-bundle-multilib]<br />
Server = http://bohoomil.com/repo/multilib/$arch<br />
</nowiki>}}<br />
<br />
==== kc9ydn ====<br />
<br />
* '''Maintainer:''' [http://kc9ydn.us KC9YDN]<br />
* '''Description:''' Consists mostly of amateur radio related apps<br />
* '''Key-ID:''' 7DA25A0F<br />
<br />
{{bc|<nowiki><br />
[kc9ydn]<br />
Server = http://kc9ydn.us/repo/<br />
</nowiki>}}<br />
<br />
==== linux-lts-ck ====<br />
<br />
* '''Maintainer:''' Claire Farron [https://aur.archlinux.org/account/clfarron4 clfarron4]<br />
* '''Description:''' Current ArchLinux LTS kernel with the CK patch<br />
* '''Key-ID:''' E6366A92<br />
* '''Note:''' To browse through the repository, one needs to append {{ic|index.html}} after the server URL (this is an intentional quirk of Dropbox). For example, for x86_64, point your browser to http://dl.dropbox.com/u/298301785/arch/linux-lts-ck/x86_64/index.html or start at http://tiny.cc/linux-lts-ck<br />
<br />
{{bc|<nowiki><br />
[linux-lts-ck]<br />
Server = http://dl.dropbox.com/u/298301785/arch/linux-lts-ck/$arch<br />
</nowiki>}}<br />
<br />
==== linux-lts31x ====<br />
<br />
* '''Maintainer:''' Claire Farron [https://aur.archlinux.org/account/clfarron4 clfarron4]<br />
* '''Description:''' Older LTS kernels (3.10 and 3.12 branch)<br />
* '''Key-ID:''' E6366A92<br />
* '''Note:''' To browse through the repository, one needs to append {{ic|index.html}} after the server URL (this is an intentional quirk of Dropbox). For example, for x86_64, point your browser to http://dl.dropbox.com/u/298301785/arch/linux-lts31x/x86_64/index.html or start at http://tiny.cc/linux-lts31x<br />
<br />
{{bc|<nowiki><br />
[linux-lts31x]<br />
Server = http://dl.dropbox.com/u/298301785/arch/linux-lts31x/$arch<br />
</nowiki>}}<br />
<br />
==== linux-lts31x-ck ====<br />
<br />
* '''Maintainer:''' Claire Farron [https://aur.archlinux.org/account/clfarron4 clfarron4]<br />
* '''Description:''' Older LTS kernels (3.10 and 3.12 branch) with the CK patch<br />
* '''Key-ID:''' E6366A92<br />
* '''Note:''' To browse through the repository, one needs to append {{ic|index.html}} after the server URL (this is an intentional quirk of Dropbox). For example, for x86_64, point your browser to http://dl.dropbox.com/u/298301785/arch/linux-lts31x-ck/x86_64/index.html or start at http://tiny.cc/linux-lts31x-ck<br />
<br />
{{bc|<nowiki><br />
[linux-lts31x-ck]<br />
Server = http://dl.dropbox.com/u/298301785/arch/linux-lts31x-ck/$arch<br />
</nowiki>}}<br />
<br />
==== linux-ck-pax ====<br />
<br />
* '''Maintainer:''' Claire Farron [https://aur.archlinux.org/account/clfarron4 clfarron4]<br />
* '''Description:''' Current Arch Kernel with the CK and PaX security patchsets<br />
* '''Key-ID:''' E6366A92<br />
* '''Note:''' To browse through the repository, one needs to append {{ic|index.html}} after the server URL (this is an intentional quirk of Dropbox). For example, for x86_64, point your browser to http://dl.dropbox.com/u/298301785/arch/linux-ck-pax/x86_64/index.html or start at http://tiny.cc/linux-ck-pax<br />
<br />
{{bc|<nowiki><br />
[linux-ck-pax]<br />
Server = http://dl.dropbox.com/u/298301785/arch/linux-ck-pax/$arch<br />
</nowiki>}}<br />
<br />
==== linux-tresor ====<br />
<br />
* '''Maintainer:''' Claire Farron [https://aur.archlinux.org/account/clfarron4 clfarron4]<br />
* '''Description:''' Arch Current and LTS kernels with TRESOR<br />
* '''Key-ID:''' E6366A92<br />
* '''Note:''' To browse through the repository, one needs to append {{ic|index.html}} after the server URL (this is an intentional quirk of Dropbox). For example, for x86_64, point your browser to http://dl.dropbox.com/u/298301785/arch/linux-tresor/x86_64/index.html or start at http://tiny.cc/linux-tresor<br />
<br />
{{bc|<nowiki><br />
[linux-tresor]<br />
Server = http://dl.dropbox.com/u/298301785/arch/linux-tresor/$arch<br />
</nowiki>}}<br />
<br />
==== qt-debug ====<br />
<br />
* '''Maintainer:''' [http://blog.the-compiler.org/?page_id=36 The Compiler]<br />
* '''Description:''' Qt/PyQt builds with debug symbols<br />
* '''Upstream page:''' https://github.com/The-Compiler/qt-debug-pkgbuild<br />
* '''Key-ID:''' D6A1C70FE80A0C82<br />
<br />
{{bc|<nowiki><br />
[qt-debug]<br />
Server = http://qutebrowser.org/qt-debug/$arch<br />
</nowiki>}}<br />
<br />
==== quarry ====<br />
<br />
* '''Maintainer:''' [https://www.archlinux.org/developers/#anatolik anatolik]<br />
* '''Description:''' Arch binary repository for [http://rubygems.org/ Rubygems] packages. See [https://bbs.archlinux.org/viewtopic.php?id=182729 forum announcement] for more information.<br />
* '''Sources:''' https://github.com/anatol/quarry<br />
* '''Key-ID:''' Not needed, as maintainer is a developer<br />
<br />
{{bc|<nowiki><br />
[quarry]<br />
# report issues at https://github.com/anatol/quarry<br />
Server = http://pkgbuild.com/~anatolik/quarry/x86_64/<br />
</nowiki>}}<br />
<br />
==== rstudio ====<br />
<br />
* '''Maintainer:''' [https://aur.archlinux.org/account/unikum/ Artem Klevtsov]<br />
* '''Description:''' Rstudio IDE package (git version) and depends.<br />
* '''Key-ID:''' 1CB48DD4<br />
<br />
{{bc|<nowiki><br />
[rstudio]<br />
Server = http://repo.psylab.info/archlinux/x86_64/<br />
</nowiki>}}<br />
<br />
==== siosm-aur ====<br />
<br />
* '''Maintainer:''' [https://tim.siosm.fr/about/ Timothee Ravier]<br />
* '''Description:''' packages also available in the Arch User Repository, sometimes with minor fixes<br />
* '''Upstream page:''' https://tim.siosm.fr/repositories/<br />
* '''Key-ID:''' 78688F83<br />
<br />
{{bc|<nowiki><br />
[siosm-aur]<br />
Server = http://siosm.fr/repo/$repo/<br />
</nowiki>}}<br />
<br />
==== siosm-selinux ====<br />
<br />
* '''Maintainer:''' [https://tim.siosm.fr/about/ Timothee Ravier]<br />
* '''Description:''' packages required for SELinux support – work in progress (notably, missing an Arch Linux-compatible SELinux policy). See the [[SELinux]] page for details.<br />
* '''Upstream page:''' https://tim.siosm.fr/repositories/<br />
* '''Key-ID:''' 78688F83<br />
<br />
{{bc|<nowiki><br />
[siosm-selinux]<br />
Server = http://siosm.fr/repo/$repo/<br />
</nowiki>}}<br />
<br />
==== subtitlecomposer ====<br />
<br />
* '''Maintainer:''' Mladen Milinkovic (maxrd2)<br />
* '''Description:''' Subtitle Composer stable and nightly builds<br />
* '''Upstream page:''' https://github.com/maxrd2/subtitlecomposer<br />
* '''Key-ID:''' EA8CEBEE<br />
<br />
{{bc|<nowiki><br />
[subtitlecomposer]<br />
Server = http://smoothware.net/$repo/$arch<br />
</nowiki>}}<br />
<br />
==== xyne-x86_64 ====<br />
<br />
* '''Maintainer:''' [https://www.archlinux.org/trustedusers/#xyne Xyne]<br />
* '''Description:''' A repository for Xyne's own projects containing packages for the "x86_64" architecture.<br />
* '''Upstream page:''' http://xyne.archlinux.ca/projects/<br />
* '''Key-ID:''' Not required, as maintainer is a TU<br />
<br />
{{Note|This includes all packages in [[#xyne-any|<nowiki>[xyne-any]</nowiki>]].}}<br />
<br />
{{bc|<nowiki><br />
[xyne-x86_64]<br />
Server = http://xyne.archlinux.ca/repos/xyne<br />
</nowiki>}}<br />
<br />
=== Unsigned ===<br />
<br />
{{Note|Users will need to add the following to these entries: {{ic|1=SigLevel = PackageOptional}}}}<br />
<br />
==== alucryd ====<br />
<br />
* '''Maintainer:''' [https://www.archlinux.org/trustedusers/#alucryd Maxime Gauduin]<br />
* '''Description:''' Various packages Maxime Gauduin maintains (or not) in the AUR.<br />
<br />
{{bc|<nowiki><br />
[alucryd]<br />
Server = http://pkgbuild.com/~alucryd/$repo/x86_64<br />
</nowiki>}}<br />
<br />
==== alucryd-multilib ====<br />
<br />
* '''Maintainer:''' [https://www.archlinux.org/trustedusers/#alucryd Maxime Gauduin]<br />
* '''Description:''' Various packages needed to run Steam without its runtime environment.<br />
<br />
{{bc|<nowiki><br />
[alucryd-multilib]<br />
Server = http://pkgbuild.com/~alucryd/$repo/x86_64<br />
</nowiki>}}<br />
<br />
==== andrwe ====<br />
<br />
* '''Maintainer:''' Andrwe Lord Weber<br />
* '''Description:''' contains programs I'm using on many systems<br />
* '''Upstream page:''' http://andrwe.dyndns.org/doku.php/blog/repository {{Dead link|2013|11|30}}<br />
<br />
{{bc|<nowiki><br />
[andrwe]<br />
Server = http://repo.andrwe.org/x86_64<br />
</nowiki>}}<br />
<br />
==== archstudio ====<br />
<br />
* '''Maintainer:'''<br />
* '''Description:''' Audio and Music Packages optimized for Intel Core i3, i5, and i7.<br />
* '''Upstream page:''' http://www.xsounds.org/~archstudio<br />
<br />
{{bc|<nowiki><br />
[archstudio]<br />
Server = http://www.xsounds.org/~archstudio/x86_64<br />
</nowiki>}}<br />
<br />
==== brtln ====<br />
<br />
* '''Maintainer:''' [https://www.archlinux.org/trustedusers/#bpiotrowski Bartłomiej Piotrowski]<br />
* '''Description:''' Some VCS packages.<br />
<br />
{{bc|<nowiki><br />
[brtln]<br />
Server = http://pkgbuild.com/~barthalion/brtln/$arch/<br />
</nowiki>}}<br />
<br />
==== kps ====<br />
<br />
* '''Maintainer:''' kps<br />
* '''Description:''' gmt, catalyst-test, ttf-ms-win8, rstudio, meshlab, gcc-gcj, vlc-git, ffmpeg-git (k10 & intel opt.), docear, maperitive, libressl, bkchem ...<br />
<br />
{{bc|<nowiki><br />
[kps]<br />
Server = http://kps.bplaced.net/repo/$arch<br />
</nowiki>}}<br />
<br />
==== mazdlc ====<br />
<br />
* '''Maintainer:''' maz-1 <ohmygod19993 at gmail dot com><br />
* '''Description:''' Various packages maintained by maz-1 (mainly Qt5-based packages and multimedia-related packages )<br />
* '''Upstream page:''' https://build.opensuse.org/project/show/home:mazdlc<br />
<br />
{{bc|<nowiki><br />
[home_mazdlc_Arch_Extra]<br />
Server = http://download.opensuse.org/repositories/home:/mazdlc/Arch_Extra/$arch<br />
</nowiki>}}<br />
<br />
==== mazdlc-deadbeef-plugins ====<br />
<br />
* '''Maintainer:''' maz-1 <ohmygod19993 at gmail dot com><br />
* '''Description:''' Plugins for the feature-rich music player DeaDBeeF.<br />
* '''Upstream page:''' https://build.opensuse.org/project/show/home:mazdlc<br />
<br />
{{bc|<nowiki><br />
[home_mazdlc_deadbeef-plugins_Arch_Extra]<br />
Server = http://download.opensuse.org/repositories/home:/mazdlc:/deadbeef-plugins/Arch_Extra/$arch<br />
</nowiki>}}<br />
<br />
==== mazdlc-kde-frameworks-5 ====<br />
<br />
* '''Maintainer:''' maz-1 <ohmygod19993 at gmail dot com><br />
* '''Description:''' Unstable packages based on kde frameworks 5.<br />
* '''Upstream page:''' https://build.opensuse.org/project/show/home:mazdlc<br />
<br />
{{bc|<nowiki><br />
[home_mazdlc_kde-frameworks-5_Arch_Extra]<br />
Server = http://download.opensuse.org/repositories/home:/mazdlc:/kde-frameworks-5/Arch_Extra/$arch<br />
</nowiki>}}<br />
<br />
==== mikroskeem ====<br />
<br />
* '''Maintainer:''' mikroskeem <mikroskeem@mikroskeem.eu><br />
* '''Description:''' Openarena and i3 wm-related packages<br />
<br />
{{bc|<nowiki><br />
[mikroskeem]<br />
Server = http://nightsnack.cf/~mark/arch-pkgs<br />
</nowiki>}}<br />
<br />
==== mingw-w64 ====<br />
<br />
* '''Maintainer:''' [https://aur.archlinux.org/account/ant32 Philip] and [https://aur.archlinux.org/account/nic96 Jeromy] Reimer<br />
* '''Description:''' Almost all mingw-w64 packages in the AUR updated every 8 hours.<br />
<br />
{{bc|<nowiki><br />
[mingw-w64]<br />
Server = http://downloads.sourceforge.net/project/mingw-w64-archlinux/$arch<br />
#Server = http://amr.linuxd.org/archlinux/$repo/os/$arch<br />
</nowiki>}}<br />
<br />
==== pnsft-pur ====<br />
<br />
* '''Maintainer:'''<br />
* '''Description:''' Japanese input method packages Mozc (vanilla) and libkkc<br />
<br />
{{bc|<nowiki><br />
[pnsft-pur]<br />
Server = http://downloads.sourceforge.net/project/pnsft-aur/pur/x86_64<br />
</nowiki>}}<br />
<br />
==== rakudo ====<br />
<br />
* '''Maintainer:''' spider-mario <spidermario@free.fr><br />
* '''Description:''' Rakudo Perl6<br />
<br />
{{bc|<nowiki><br />
[rakudo]<br />
Server = http://spidermario.free.fr/archlinux/$repo/$arch<br />
</nowiki>}}<br />
<br />
==== rightlink ====<br />
<br />
* '''Maintainer:''' Chris Fordham <chris@fordham-nagy.id.au><br />
* '''Description:''' RightLink version 10 (RL10) is a new version of RightScale's server agent that connects servers managed through RightScale to the RightScale cloud management platform.<br />
<br />
{{bc|<nowiki><br />
[rightlink]<br />
Server = https://s3-ap-southeast-2.amazonaws.com/archlinux.rightscale.me/repo<br />
</nowiki>}}<br />
<br />
==== seiichiro ====<br />
<br />
* '''Maintainer:'''<br />
* '''Description:''' VDR and some plugins, mms, foo2zjs-drivers<br />
<br />
{{bc|<nowiki><br />
[seiichiro]<br />
Server = http://repo.seiichiro0185.org/x86_64<br />
</nowiki>}}<br />
<br />
==== studioidefix ====<br />
<br />
* '''Maintainer:'''<br />
* '''Description:''' Precompiled boxee packages.<br />
<br />
{{bc|<nowiki><br />
[studioidefix]<br />
Server = http://studioidefix.googlecode.com/hg/repo/x86_64<br />
</nowiki>}}<br />
<br />
== armv6h only ==<br />
<br />
=== Unsigned ===<br />
<br />
==== arch-fook-armv6h ====<br />
<br />
* '''Maintainer:''' Jaska Kivelä <jaska@kivela.net><br />
* '''Description:''' Stuff that I have compiled for my Raspberry PI. Including Enlightenment and home automation stuff.<br />
<br />
{{bc|<nowiki><br />
[arch-fook-armv6h]<br />
Server = http://kivela.net/jaska/arch-fook-armv6h<br />
</nowiki>}}<br />
<br />
== armv7h only ==<br />
<br />
=== Unsigned ===<br />
<br />
==== pietma ====<br />
<br />
* '''Maintainer:''' MartiMcFly <martimcfly@autorisation.de><br />
* '''Description:''' Arch User Repository packages [https://aur.archlinux.org/packages/?K=martimcfly&SeB=m I create or maintain.].<br />
* '''Upstream page:''' [http://pietma.com/tag/aur/ http://pietma.com/tag/aur/]<br />
{{bc|<nowiki><br />
[pietma]<br />
SigLevel = Optional TrustAll<br />
Server = http://repository.pietma.com/nexus/content/repositories/archlinux/$arch/$repo<br />
</nowiki>}}</div>Majewskyhttps://wiki.archlinux.org/index.php?title=Gamepad&diff=406107Gamepad2015-10-22T07:32:34Z<p>Majewsky: /* Steam Controller */ - the first of these two udev rules is now included in the community/steam package</p>
<hr />
<div>[[Category:Input devices]]<br />
[[Category:Gaming]]<br />
[[ja:ゲームパッド]]<br />
Joysticks can be a bit of a hassle to get working in Linux. Not because they are poorly supported, but simply because you need to determine which modules to load to get your joystick working, and it's not always very obvious!<br />
<br />
== Joystick Input Systems ==<br />
Linux actually has 2 different input systems for Joysticks. The original 'Joystick' interface and the newer 'evdev' based one.<br />
<br />
{{ic|1=/dev/input/jsX}} maps to the 'Joystick' API interface and {{ic|/dev/input/event*}} maps to the 'evdev' ones (this also includes other input devices such as mice and keyboards). Symbolic links to those devices are also available in {{ic|/dev/input/by-id/}} and {{ic|/dev/input/by-path/}} where the legacy 'Joystick' API has names ending with {{ic|-joystick}} while the 'evdev' have names ending with {{ic|-event-joystick}}.<br />
<br />
Most new games will default to the 'evdev' interface as it gives more detailed information about the buttons and axes available and also adds support for force feedback.<br />
<br />
While SDL1.x defaults to 'evdev' interface you can force it to use the old 'Joystick' API by setting the environment variable {{ic|1=SDL_JOYSTICK_DEVICE=/dev/input/js0}}. This can help many games such as X3. SDL2.x supports only the new 'evdev' interface.<br />
<br />
It's also worth mentioning that there is also a xorg driver {{ic|xf86-input-joystick}}. It just allows you to control the mouse/keyboard in xorg using a joystick, for most people this will be undesirable. Disabling this behaviour is described below in [[#Disable Joystick From Controlling Mouse|Disable Joystick From Controlling Mouse]], in most cases you can just remove this package though.<br />
<br />
== Determining which modules you need ==<br />
<br />
Unless you're using very old joystick that uses gameport or proprietary USB protocol, you will need just the generic USB human interface device (HID) modules.<br />
<br />
For an extensive overview of all joystick related modules in Linux, you will need access to the Linux kernel sources -- specifically the Documentation section. Unfortunately, pacman kernel packages do not include what we need. If you have the kernel sources downloaded, have a look at {{ic|Documentation/input/joystick.txt}}. You can browse the kernel source tree at [https://kernel.org/ kernel.org] by clicking the "cgit" (git frontend) link for the kernel that you're using, then clicking the "tree" link near the top. Here's a link to the [https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/Documentation/input/joystick.txt?id=refs/tags/v3.12.6 Documentation from kernel 3.12.6].<br />
<br />
Some joysticks need specific modules, such as the Microsoft Sidewinder controllers ({{ic|sidewinder}}), or the Logitech digital controllers ({{ic|adi}}). Many older joysticks will work with the simple {{ic|analog}} module. If your joystick is plugging in to a gameport provided by your soundcard, you will need your soundcard drivers loaded - however, some cards, like the Soundblaster Live, have a specific gameport driver ({{ic|emu10k1-gp}}). Older ISA soundcards may need the {{ic|ns558}} module, which is a standard gameport module.<br />
<br />
As you can see, there are many different modules related to getting your joystick working in Linux, so I couldn't possibly cover everything here. Please have a look at the documentation mentioned above for details.<br />
<br />
=== Loading the modules for analogue devices ===<br />
<br />
You need to load a module for your gameport ({{ic|ns558}}, {{ic|emu10k1-gp}}, {{ic|cs461x}}, etc...), a module for your joystick ({{ic|analog}}, {{ic|sidewinder}}, {{ic|adi}}, etc...), and finally the kernel joystick device driver ({{ic|joydev}}). Add these to a new file in {{ic|/etc/modules-load.d/}}, or simply modprobe them. The {{ic|gameport}} module should load automatically, as this is a dependency of the other modules.<br />
<br />
=== USB joysticks ===<br />
<br />
You need to get USB working, and then modprobe your joystick driver, which is {{ic|usbhid}}, as well as {{ic|joydev}}. <br />
If you use a usb mouse or keyboard, {{ic|usbhid}} will be loaded already and you just have to load the {{ic|joydev}} module.<br />
<br />
== Testing Your Configuration ==<br />
<br />
Once the modules are loaded, you should be able to find a new device: {{ic|/dev/input/js0}} and a file ending with {{ic|-event-joystick}} in {{ic|/dev/input/by-id}} directory. You can simply {{ic|cat}} those devices to see if the joystick works - move the stick around, press all the buttons - you should see mojibake printed when you move the sticks or press buttons.<br />
<br />
Both interfaces are also supported in wine and reported as separate devices. You can test them with {{ic|1=wine control joy.cpl}}.<br />
<br />
=== Joystick API ===<br />
There are a lot of applications that can test this old API, {{ic|jstest}} from the {{AUR|joyutils}} package is the simplest one. If the output is unreadable because the line printed is too long you can also use graphical tools. KDE4 has a built in one in Input Devices panel in System Settings or {{AUR|jstest-gtk-git}} is an alternative.<br />
<br />
Use of {{ic|jstest}} is fairly simple, you just run {{ic|jstest /dev/input/js0}} and it will print a line with state of all the axes (normalised to {-32767,32767}) and buttons.<br />
<br />
After you start {{ic|jstest-gtk}}, it will just show you a list of joysticks available, you just need to select one and press Properties.<br />
<br />
=== evdev API ===<br />
<br />
The new 'evdev' API can be tested using the SDL2 joystick test application or using {{ic|evtest}} from community repository. Install {{AUR|sdl2-jstest-git}} and then run {{ic|sdl2-jstest --test 0}}. Use {{ic|sdl2-jstest --list}} to get IDs of other controllers if you have multiple ones connected.<br />
<br />
To test force feedback on the device, use {{ic|fftest}} from {{ic|linuxconsole}} package:<br />
$ fftest /dev/input/by-id/usb-*event-joystick<br />
<br />
==Setting up deadzones and calibration==<br />
If you want to set up the deadzones (or remove them completely) of your analog input you have to do it separately for the xorg (for mouse and keyboard emulation), Joystick API and evdev API.<br />
<br />
===Xorg deadzones===<br />
Add a similar line into your {{ic|/etc/X11/xorg.conf.d/50-joystick.conf}} before the {{ic|EndSection}}:<br />
Option "MapAxis1" "deadzone=1000"<br />
1000 is the default value, but you can set anything between 0 and 30 000. To get the axis number see the "Testing Your Configuration" section of this article.<br />
If you already have an option with a specific axis just type in the {{ic|1=deadzone=value}} at the end of the parameter separated by a space.<br />
<br />
===Joystick API deadzones===<br />
The easiest way is using {{ic|jstest-gtk}} from {{AUR|jstest-gtk-git}}. Select the controller you want to edit, then click the Calibration button at the bottom of the dialog ('''don't''' click Start Calibration there). You can then set the CenterMin and CenterMax values (which control the center deadzone), RangeMin and RangeMax which control the end of throw deadzones. Note that the calibration settings are applied when the application opens the device, so you need to restart your game or test application to see updated calibration settings.<br />
<br />
After you set the deadzones use {{ic|jscal}} to dump the new values into a shell script:<br />
$ jscal -p /dev/input/jsX > jscal.sh # replace X with your joystick's number <br />
$ chmod +x jscal.sh<br />
<br />
Now you need to make a [[udev]] rule (for example {{ic|/etc/udev/rules.d and name it 85-jscal.rules}}) so the script will automatically run when you connect the controller:<br />
SUBSYSTEM=="input", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="c268", ACTION=="add", RUN+="/usr/bin/jscal.sh"<br />
To get the idVendor and idProduct use {{ic|udevadm info --attribute-walk --name /dev/input/jsX}}<br />
<br />
Use the `/dev/input/by-id/*-joystick` device names in case you use multiple controllers.<br />
<br />
===evdev API deadzones===<br />
Currently there is no standalone application that allows changing calibration for {{ic|evdev}} API, but there is {{ic|G25manage}} distributed together with VDrift game that can change the center deadzone.<br />
<br />
The easiest way to get it is to go to VDrift [https://github.com/VDrift/vdrift/tree/master/tools/G25manage github], download all files in the folder and build them using {{ic|make}}.<br />
<br />
After that, you should be able to see your device configuration by using:<br />
$ ./G25manage --showcalibration /dev/input/by-id/usb-*-event-joystick<br />
<br />
To change deadzones of any of the axes, you use the following command:<br />
$ ./G25manage --evdev /dev/input/by-id/usb-*-event-joystick --axis 0 --deadzone 0<br />
<br />
Use udev rules file to set them automatically when the controller is connected.<br />
<br />
Note that inside the kernel, the value is called {{ic|flatness}} and is set using the {{ic|EVIOCSABS}} {{ic|ioctl}}.<br />
<br />
Default configuration will look like similar to this:<br />
{{hc|$ ./G25manage --showcalibration /dev/input/by-id/usb-Madcatz_Saitek_Pro_Flight_X-55_Rhino_Stick_G0000090-event-joystick|2= Supported Absolute axes:<br />
Absolute axis 0x00 (0) (X Axis) (min: 0, max: 65535, flatness: 4095 (=6.25%), fuzz: 255)<br />
Absolute axis 0x01 (1) (Y Axis) (min: 0, max: 65535, flatness: 4095 (=6.25%), fuzz: 255)<br />
Absolute axis 0x05 (5) (Z Rate Axis) (min: 0, max: 4095, flatness: 255 (=6.23%), fuzz: 15)<br />
Absolute axis 0x10 (16) (Hat zero, x axis) (min: -1, max: 1, flatness: 0 (=0.00%), fuzz: 0)<br />
Absolute axis 0x11 (17) (Hat zero, y axis) (min: -1, max: 1, flatness: 0 (=0.00%), fuzz: 0)}}<br />
<br />
While a more reasonable setting would be achieved with something like this (repeat for other axes):<br />
{{hc|$ ./G25manage --evdev /dev/input/by-id/usb-Madcatz_Saitek_Pro_Flight_X-55_Rhino_Stick_G0000090-event-joystick --axis 0 --deadzone 512|2= Event device file: /dev/input/by-id/usb-Madcatz_Saitek_Pro_Flight_X-55_Rhino_Stick_G0000090-event-joystick<br />
Axis index to deal with: 0<br />
New dead zone value: 512<br />
Trying to set axis 0 deadzone to: 512<br />
Absolute axis 0x00 (0) (X Axis) Setting deadzone value to : 512<br />
(min: 0, max: 65535, flatness: 512 (=0.78%), fuzz: 255)}}<br />
<br />
===Configuring curves and responsivness===<br />
In case your game requires just limited amount of buttons or has good support for multiple controllers, you may have good results with using {{ic|xboxdrv}} to change response curves of the joystick.<br />
<br />
Below are the setups I use for Saitek X-55 HOTAS:<br />
$ xboxdrv --evdev /dev/input/by-id/usb-Madcatz_Saitek_Pro_Flight_X-55_Rhino_Throttle_G0000021-event-joystick \<br />
--evdev-no-grab --evdev-absmap 'ABS_#40=x1,ABS_#41=y1,ABS_X=x2,ABS_Y=y2' --device-name 'Hat and throttle' \<br />
--ui-axismap 'x2^cal:-32000:0:32000=,y2^cal:-32000:0:32000=' --silent<br />
<br />
this maps the EV_ABS event with id of 40 and 41 (use xboxdrv with --evdev-debug to see the events registered), which is the normally inaccessible "mouse pointer" on the throttle, to first gamepad joystick and throttles to second joystick, it also clamps the top and lower ranges as they not always register fully.<br />
<br />
A bit more interesting is the setup for the stick:<br />
$ xboxdrv --evdev /dev/input/by-id/usb-Madcatz_Saitek_Pro_Flight_X-55_Rhino_Stick_G0000090-event-joystick \<br />
--evdev-no-grab --evdev-absmap 'ABS_X=x1' --evdev-absmap 'ABS_Y=y1' --device-name 'Joystick' \<br />
--ui-axismap 'x1^cal:-32537:-455:32561=,x1^dead:-900:700:1=,x1^resp:-32768:-21845:-2000:0:2000:21485:32767=' \<br />
--ui-axismap 'y1^cal:-32539:-177:32532=,y1^dead:-700:2500:1=,y1^resp:-32768:-21845:-2000:0:2000:21485:32767=' \<br />
--evdev-absmap 'ABS_RZ=x2' --ui-axismap 'x2^cal:-32000:-100:32000,x2^dead:-1500:1000:1=,x2^resp:-32768:-21845:-2000:0:2000:21485:32767=' \<br />
--silent<br />
<br />
this maps the 3 joystick axes to gamepad axes and changes the calibration (min value, centre value, max value), dead zones (negative side, positive side, flag to turn smoothing) and finally change of response curve to a more flat one in the middle.<br />
<br />
You can also modify the responsiveness by setting the 'sen' (sensitivity). Setting it to value of 0 will give you a linear sensitivity, value of -1 will give very insensitive axis while value of 1 will give very sensitive axis. You can use intermediate values to make it less or more sensitive. Internally xboxdrv uses a quadratic formula to calculate the resulting value, so this setting gives a more smooth result than 'resp' shown above.<br />
<br />
Nice thing about xboxdrv is that it exports resulting device as both old Joystick API and new style evdev API so it should be compatible with basically any application.<br />
<br />
== Disable Joystick From Controlling Mouse ==<br />
If you want to play games with your controller, you might want to disable joystick control over mouse cursor. To do this, edit /etc/X11/xorg.conf.d/50-joystick.conf so that it looks like this:<br />
{{hc|/etc/X11/xorg.conf.d/50-joystick.conf |<br />
Section "InputClass"<br />
Identifier "joystick catchall"<br />
MatchIsJoystick "on"<br />
MatchDevicePath "/dev/input/event*"<br />
Driver "joystick"<br />
Option "StartKeysEnabled" "False" #Disable mouse<br />
Option "StartMouseEnabled" "False" #support<br />
EndSection}}<br />
<br />
== Using Joystick to send keystrokes ==<br />
<br />
A couple joystick to keystroke programs exist like {{AUR|rejoystick}}{{Broken package link|{{aur-mirror|rejoystick}}}}, {{AUR|qjoypad}}{{Broken package link|{{aur-mirror|qjoypad}}}} or {{AUR|antimicro-qt4}}, all work well without the need for X.org configuration.<br />
<br />
=== via X.org ===<br />
<br />
This is a good solution for systems where restarting Xorg is a rare event because it's a static configuration loaded only on X startup. I use it on my media PC running XBMC controlled with Logitech Cordless RumblePad 2. Due to a problem with the d-pad (a.k.a. "hat") being recognized as another axis, I used to run [[Joy2key]] as a workaround. Since I upgraded to XBMC 11.0 and joy2key 1.6.3-1, this setup no longer worked for me. I ended up taking a more direct approach and let Xorg handle joystick events.<br />
<br />
First, make sure you have {{Pkg|xf86-input-joystick}} installed. Then, create {{ic|/etc/X11/xorg.conf.d/51-joystick.conf}} like so:<br />
{{bc|<nowiki><br />
Section "InputClass"<br />
Identifier "Joystick hat mapping"<br />
Option "StartKeysEnabled" "True"<br />
#MatchIsJoystick "on"<br />
Option "MapAxis5" "keylow=113 keyhigh=114"<br />
Option "MapAxis6" "keylow=111 keyhigh=116"<br />
EndSection<br />
</nowiki>}}<br />
{{Note|The ''MatchIsJoystick "on"'' line doesn't seem to be required for this to work but you may want to uncomment it.}}<br />
<br />
<br />
== Specific devices ==<br />
<br />
While most joysticks, especially USB based ones should just work, some may require (or give better results) if you use alternative drivers. If it doesn't work the first time, do not give up, and read those docs thoroughly!<br />
<br />
=== Logitech Thunderpad Digital ===<br />
<br />
Logitech Thunderpad Digital won't show all the buttons if you use the {{ic|analog}} module. Use the device specific {{ic|adi}} module for this controller.<br />
<br />
=== Nintendo Gamecube Controller ===<br />
<br />
Dolphin Emulator has a [https://wiki.dolphin-emu.org/index.php?title=How_to_use_the_Official_GameCube_Controller_Adapter_for_Wii_U_in_Dolphin page on their wiki] that explains how to use the official Nintendo USB adapter with a Gamecube controller. This configuration also works with the Mayflash Controller Adapter if the switch is set to "Wii U".<br />
<br />
By default, the controller will register with [[udev]], but will only be readable by the root user. You can fix this by adding a udev device rule, like the below. <br />
<br />
{{hc<br />
|head=/etc/udev/rules.d/51-gcadapter.rules<br />
|output=<nowiki>SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="057e", ATTRS{idProduct}=="0337", MODE="0666"</nowiki><br />
}}<br />
<br />
This only matches the USB device with the specified vendor and product IDs, which match those of the official USB adapter. It sets the permissions of the device file to 0666 so that programs that aren't running as root can read the device's input. <br />
<br />
udev can be reloaded with the new configuration by executing<br />
<br />
# udevadm control --reload-rules<br />
<br />
=== PlayStation 3/4 controller ===<br />
<br />
The DualShock 3, DualShock 4 and Sixaxis controllers work out of the box when plugged in via USB (the PS button will need to be pushed to begin). They can also be used wirelessly via Bluetooth.<br />
<br />
Steam properly recognizes it as a PS3 pad and Big Picture can be launched with the PS button. Big Picture and some games may act as if it was a 360 controller. Gamepad control over mouse is on by default. You may want to turn it off before playing games, see [[#Joystick moving mouse]].<br />
<br />
=====Connecting via Bluetooth=====<br />
<br />
Install the {{Pkg|bluez-plugins}} and {{Pkg|bluez-utils}} packages, which includes the ''sixaxis'' plugin. Then [[start]] {{ic|bluetooth.service}}, plug the controller in via USB, and the plugin should program your PC's bluetooth address into the controller automatically.<br />
<br />
You can now disconnect your controller. The next time you hit the PlayStation button it will connect without asking anything else.<br />
<br />
Just remind to disconnect the device once you are done, once it will stay connected, on and consuming battery.<br />
<br />
=== Steam Controller ===<br />
<br />
The {{pkg|steam}} package (starting from version 1.0.0.50-2) will recognize the controller and provide keyboard/mouse emulation inside Steam. [http://steamcommunity.com/app/353370/discussions/0/490123197956024380/] To emulate other controllers, you need to have the {{ic|uinput}} [[Kernel_modules#Automatic_module_handling|module loaded]] and add the following [[udev]] rule:<br />
<br />
{{hc<br />
|head=/etc/udev/rules.d/99-steam-controller.rules<br />
|output=<nowiki><br />
# for gamepad emulation<br />
KERNEL=="uinput", MODE="0660", GROUP="users", OPTIONS+="static_node=uinput"</nowiki>}}<br />
<br />
Alternatively you can install {{AUR|steamcontroller-udev}} which includes the above file.<br />
<br />
The in-game Steam overlay also needs to be enabled and working in order for gamepad emulation to work.<br />
<br />
=== Xbox 360 controller ===<br />
<br />
Both the wired and wireless (with the ''Xbox 360 Wireless Receiver for Windows'') controllers are supported by the {{ic|xpad}} kernel module and should work without additional packages.<br />
<br />
It has been reported that the default xpad driver has some issues with a few newer wired and wireless controllers, such as:<br />
* incorrect button mapping. ([https://github.com/ValveSoftware/steam-for-linux/issues/95#issuecomment-14009081 discussion in Steam bugtracker])<br />
* not-working sync. All four leds keep blinking, but controller works. ([https://bbs.archlinux.org/viewtopic.php?id=156028 discussion in Arch Forum])<br />
<br />
If you experience such issues, you can use either [[#SteamOS xpad]] or [[#xboxdrv]] instead of the default {{ic|xpad}} driver.<br />
<br />
If you wish to use the controller for controlling the mouse, or mapping buttons to keys, etc. you should use the {{Pkg|xf86-input-joystick}} package (configuration help can be found using {{ic|man joystick}}). If the mouse locks itself in a corner, it might help changing the {{ic|MatchDevicePath}} in {{ic|/etc/X11/xorg.conf.d/50-joystick.conf}} from {{ic|/dev/input/event*}} to {{ic|/dev/input/js*}}.<br />
<br />
{{Tip|If you use the [[TLP]] power management tool, you may experience connection issues with your Microsoft wireless adapter (e.g. the indicator LED will go out after the adapter has been connected for a few seconds, and controller connection attempts fail). This is due to TLP's USB autosuspend functionality, and the solution is to add the Microsoft wireless adapter's device ID to this feature's blacklist (USB_BLACKLIST, check [http://linrunner.de/en/tlp/docs/tlp-configuration.html#usb TLP configuration] for more details).}}<br />
<br />
==== SteamOS xpad ====<br />
<br />
If you have issues with the default {{ic|xpad}} kernel module, you can install the SteamOS version.<br />
<br />
First make sure you have [[DKMS]] installed and running, then install the modified kernel module {{AUR|steamos-xpad-dkms}}. During the installation you'll see that new xpad kernel module is strapped to your current kernel:<br />
<br />
Creating symlink /var/lib/dkms/steamos-xpad-dkms/0.1/source -&gt;<br />
/usr/src/steamos-xpad-dkms-0.1<br />
<br />
DKMS: add completed.<br />
<br />
Kernel preparation unnecessary for this kernel. Skipping...<br />
<br />
Building module:<br />
cleaning build area....<br />
make KERNELRELEASE=3.12.8-1-ARCH KVERSION=3.12.8-1-ARCH....<br />
cleaning build area....<br />
<br />
Then unload the old xpad module and load new one:<br />
<br />
# rmmod xpad<br />
# modprobe steamos-xpad<br />
<br />
Or just restart your computer.<br />
<br />
==== xboxdrv ====<br />
<br />
xboxdrv is an alternative to {{ic|xpad}} which provides more functionality and might work better with certain controllers. It works in userspace and can be launched as system service. <br />
<br />
Install it with the {{AUR|xboxdrv}} package. Then [[start]]/[[enable]] {{ic|xboxdrv.service}}.<br />
<br />
===== Multiple controllers =====<br />
<br />
xboxdrv supports a multitude of controllers, but they need to be set up in {{ic|/etc/default/xboxdrv}}. For each extra controller, add an {{ic|1=next-controller = true}} line. For example, when using 4 controllers, add it 3 times:<br />
<br />
{{bc|<nowiki><br />
[xboxdrv]<br />
silent = true<br />
next-controller = true<br />
next-controller = true<br />
next-controller = true<br />
[xboxdrv-daemon]<br />
dbus = disabled<br />
</nowiki>}}<br />
<br />
Then [[restart]] {{ic|xboxdrv.service}}.<br />
<br />
===== Mimic Xbox 360 controller with other controllers =====<br />
<br />
xboxdrv can be used to make any controller register as an Xbox 360 controller with the {{ic|--mimic-xpad}} switch. This may be desirable for games that support Xbox 360 controllers out of the box, but have trouble detecting or working with other gamepads.<br />
<br />
First, you need to find out what each button and axis on the controller is called. You can use {{Pkg|evtest}} for this. Run {{ic|evtest}} and select the device event ID number ({{ic|/dev/input/event*}}) that corresponds to your controller. Press the buttons on the controller and move the axes to read the names of each button and axis.<br />
<br />
Here is an example of the output:<br />
{{bc|<nowiki><br />
<br />
Event: time 1380985017.964843, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90003<br />
Event: time 1380985017.964843, type 1 (EV_KEY), code 290 (BTN_THUMB2), value 1<br />
Event: time 1380985017.964843, -------------- SYN_REPORT ------------<br />
Event: time 1380985018.076843, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90003<br />
Event: time 1380985018.076843, type 1 (EV_KEY), code 290 (BTN_THUMB2), value 0<br />
Event: time 1380985018.076843, -------------- SYN_REPORT ------------<br />
Event: time 1380985018.460841, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90002<br />
Event: time 1380985018.460841, type 1 (EV_KEY), code 289 (BTN_THUMB), value 1<br />
Event: time 1380985018.460841, -------------- SYN_REPORT ------------<br />
Event: time 1380985018.572835, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90002<br />
Event: time 1380985018.572835, type 1 (EV_KEY), code 289 (BTN_THUMB), value 0<br />
Event: time 1380985018.572835, -------------- SYN_REPORT ------------<br />
Event: time 1380985019.980824, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90006<br />
Event: time 1380985019.980824, type 1 (EV_KEY), code 293 (BTN_PINKIE), value 1<br />
Event: time 1380985019.980824, -------------- SYN_REPORT ------------<br />
Event: time 1380985020.092835, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90006<br />
Event: time 1380985020.092835, type 1 (EV_KEY), code 293 (BTN_PINKIE), value 0<br />
Event: time 1380985020.092835, -------------- SYN_REPORT ------------<br />
Event: time 1380985023.596806, type 3 (EV_ABS), code 3 (ABS_RX), value 18<br />
Event: time 1380985023.596806, -------------- SYN_REPORT ------------<br />
Event: time 1380985023.612811, type 3 (EV_ABS), code 3 (ABS_RX), value 0<br />
Event: time 1380985023.612811, -------------- SYN_REPORT ------------<br />
Event: time 1380985023.708768, type 3 (EV_ABS), code 3 (ABS_RX), value 14<br />
Event: time 1380985023.708768, -------------- SYN_REPORT ------------<br />
Event: time 1380985023.724772, type 3 (EV_ABS), code 3 (ABS_RX), value 128<br />
Event: time 1380985023.724772, -------------- SYN_REPORT ------------<br />
</nowiki>}}<br />
<br />
In this case, {{ic|BTN_THUMB}}, {{ic|BTN_THUMB2}} and {{ic|BTN_PINKIE}} are buttons and {{ic|ABS_RX}} is the X axis of the right analogue stick.<br />
You can now mimic an Xbox 360 controller with the following command:<br />
<br />
$ xboxdrv --evdev /dev/input/event* --evdev-absmap ABS_RX=X2 --evdev-keymap BTN_THUMB2=a,BTN_THUMB=b,BTN_PINKIE=rt --mimic-xpad<br />
<br />
The above example is incomplete. It only maps one axis and 3 buttons for demonstration purposes. Use {{ic|xboxdrv --help-button}} to see the names of the Xbox controller buttons and axes and bind them accordingly by expanding the command above. Axes mappings should go after {{ic|--evdev--absmap}} and button mappings follow {{ic|--evdev-keymap}} (comma separated list; no spaces).<br />
<br />
By default, xboxdrv outputs all events to the terminal. You can use this to test that the mappings are correct. Append the {{ic|--silent}} option to keep it quiet.<br />
<br />
======Logitech Dual Action======<br />
<br />
The Logitech Dual Action gamepad has a very similar mapping to the PS2 pad, but some buttons and triggers need to be swapped to mimic the Xbox controller.<br />
<br />
# xboxdrv --evdev /dev/input/event* \<br />
--evdev-absmap ABS_X=x1,ABS_Y=y1,ABS_RZ=x2,ABS_Z=y2,ABS_HAT0X=dpad_x,ABS_HAT0Y=dpad_y \<br />
--axismap -Y1=Y1,-Y2=Y2 \<br />
--evdev-keymap BTN_TRIGGER=x,BTN_TOP=y,BTN_THUMB=a,BTN_THUMB2=b,BTN_BASE3=back,BTN_BASE4=start,BTN_BASE=lt,BTN_BASE2=rt,BTN_TOP2=lb,BTN_PINKIE=rb,BTN_BASE5=tl,BTN_BASE6=tr \<br />
--mimic-xpad --silent<br />
<br />
======PlayStation 2 controller via USB adapter======<br />
<br />
To fix the button mapping of PS2 dual adapters and mimic the Xbox controller you can run the following command:<br />
<br />
# xboxdrv --evdev /dev/input/event* \<br />
--evdev-absmap ABS_X=x1,ABS_Y=y1,ABS_RZ=x2,ABS_Z=y2,ABS_HAT0X=dpad_x,ABS_HAT0Y=dpad_y \<br />
--axismap -Y1=Y1,-Y2=Y2 \<br />
--evdev-keymap BTN_TOP=x,BTN_TRIGGER=y,BTN_THUMB2=a,BTN_THUMB=b,BTN_BASE3=back,BTN_BASE4=start,BTN_BASE=lb,BTN_BASE2=rb,BTN_TOP2=lt,BTN_PINKIE=rt,BTN_BASE5=tl,BTN_BASE6=tr \<br />
--mimic-xpad --silent<br />
<br />
======PlayStation 3 controller via USB======<br />
<br />
If you own a PS3 controller and can connect with USB, xboxdrv has the mappings built in. Just run the program (and detach the running driver) and it works! <br />
<br />
# xboxdrv --silent --detach-kernel-driver<br />
<br />
======PlayStation 3 controller via Bluetooth======<br />
<br />
With your controller connected via Bluetooth, find the device address with {{ic|bluetoothctl}}. Then create a new udev rule with the following content:<br />
<br />
{{hc|1=/etc/udev/rules.d/99-dualshock.rules|2=<br />
output=KERNEL=="event*", SUBSYSTEM=="input", ATTRS{uniq}=="<device_addr_you_got_on_pairing>", SYMLINK+="input/dualshock3"<br />
}}<br />
<br />
The address must be in lowercase, like {{ic|06:9a:b4:c8:ef:8b}}.<br />
<br />
Now run xboxdrv over the new device:<br />
<br />
$ xboxdrv --evdev /dev/input/dualshock3 --mimic-xpad<br />
<br />
======PlayStation 4 controller======<br />
<br />
To fix the button mapping of PS4 controller you can use the following command with xboxdrv (or try with the [https://github.com/chrippa/ds4drv ds4drv] program):<br />
<br />
# xboxdrv \ <br />
--evdev /dev/input/by-id/usb-Sony_Computer_Entertainment_Wireless_Controller-event-joys><br />
--evdev-absmap ABS_X=x1,ABS_Y=y1 \ <br />
--evdev-absmap ABS_Z=x2,ABS_RZ=y2 \ <br />
--evdev-absmap ABS_HAT0X=dpad_x,ABS_HAT0Y=dpad_y \ <br />
--evdev-keymap BTN_A=x,BTN_B=a \ <br />
--evdev-keymap BTN_C=b,BTN_X=y \ <br />
--evdev-keymap BTN_Y=lb,BTN_Z=rb \ <br />
--evdev-keymap BTN_TL=lt,BTN_TR=rt \<br />
--evdev-keymap BTN_SELECT=tl,BTN_START=tr \ <br />
--evdev-keymap BTN_TL2=back,BTN_TR2=start \ <br />
--evdev-keymap BTN_MODE=guide \ <br />
--axismap -y1=y1,-y2=y2 \ <br />
--mimic-xpad \ <br />
--silent<br />
<br />
== Troubleshooting ==<br />
<br />
=== Joystick moving mouse ===<br />
<br />
Sometimes USB joystick can be recognized as HID mouse (only in X, it is still being installed as {{ic|/dev/input/js0}} as well). Known issue is cursor being moved by the joystick, or escaping to en edge of a screen right after plugin. If your application can detect joystick by it self, you can remove xf86-input-joystick package.<br />
<br />
More gentle solution is to [[#Disable Joystick From Controlling Mouse|Disable Joystick From Controlling Mouse]].<br />
<br />
=== Joystick not working in FNA/SDL based games ===<br />
If you are using a generic non-widely used gamepad you may encounter issues getting the gamepad recognized in games based on SDL. Since [https://github.com/flibitijibibo/FNA/commit/e55742cfe7e38b778a21ed8a12cb2f2081490d8d May the 14th 2015], FNA supports dropping a {{ic|gamecontrollerdb.txt }} into the executable folder of the game, for example the [https://github.com/gabomdq/SDL_GameControllerDB SDL_GameControllerDB].<br />
<br />
As an alternative and for older versions of FNA or for SDL you can generate a mapping yourself by downloading the SDL source code via http://libsdl.org/, navigating to {{ic|/test/}}, compile the {{ic|controllermap.c}} program and run the test. After completing the controllermap test, a guid will be generated that you can put in the {{ic|SDL_GAMECONTROLLERCONFIG}} environment variable which will then be picked up by SDL/FNA games. For example:<br />
<br />
$ export SDL_GAMECONTROLLERCONFIG="030000008f0e00000300000010010000,GreenAsia Inc. USB Joystick ,platform:Linux,x:b3,a:b2,b:b1,y:b0,back:b8,start:b9,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b6,lefttrigger:b4,rightshoulder:b7,righttrigger:b5,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a3,righty:a2,"<br />
<br />
=== Joystick not recognized by all programs ===<br />
<br />
Some software, Steam for example, will only recognize the first joystick it encounters. Due to a bug in the driver for Microsoft wireless periphery devices this can in fact be the bluetooth dongle. If you find you have a {{ic|/dev/input/js*}} and {{ic|/dev/input/event*}} belonging to you keyboard's bluetooth transceiver you can get automatically get rid of it by creating according udev rules.<br />
Create a {{ic|/}}:<br />
{{hc|/etc/udev/rules.d/99-btcleanup.rules|<nowiki><br />
ACTION=="add", KERNEL=="js[0-9]*", SUBSYSTEM=="input", KERNELS=="...", ATTRS{bInterfaceSubClass}=="00", ATTRS{bInterfaceProtocol}=="00", ATTRS{bInterfaceNumber}=="02", RUN+="/usr/bin/rm /dev/input/js%n"<br />
ACTION=="add", KERNEL=="event*", SUBSYSTEM=="input", KERNELS=="...", ATTRS{bInterfaceSubClass}=="00", ATTRS{bInterfaceProtocol}=="00", ATTRS{bInterfaceNumber}=="02", RUN+="/usr/bin/rm /dev/input/event%n"<br />
</nowiki>}}<br />
Correct the {{ic|<nowiki>KERNELS=="..."</nowiki>}} to match your device. The correct value can be found by running<br />
<br />
# udevadm info -an /dev/input/js0<br />
<br />
Assuming the device in question is {{ic|/dev/input/js0}}. After you placed the rule reload the rules with<br />
<br />
# udevadm control --reload<br />
<br />
Then replug the device making you trouble. The joystick and event devices should be gone, although their number will still be reserved. But the files are out of the way.</div>Majewskyhttps://wiki.archlinux.org/index.php?title=PKGBUILD&diff=380731PKGBUILD2015-07-03T06:36:12Z<p>Majewsky: /* depends */ - can be used to declare runtime dependencies</p>
<hr />
<div>[[Category:Package development]]<br />
[[cs:PKGBUILD]]<br />
[[da:PKGBUILD]]<br />
[[el:PKGBUILD]]<br />
[[es:PKGBUILD]]<br />
[[fa:PKGBUILD]]<br />
[[fr:PKGBUILD]]<br />
[[it:PKGBUILD]]<br />
[[ja:PKGBUILD]]<br />
[[pl:PKGBUILD]]<br />
[[pt:PKGBUILD]]<br />
[[ru:PKGBUILD]]<br />
[[sr:PKGBUILD]]<br />
[[zh-CN:PKGBUILD]]<br />
[[zh-TW:PKGBUILD]]<br />
{{Related articles start}}<br />
{{Related|Arch packaging standards}}<br />
{{Related|Arch Build System}}<br />
{{Related|Creating packages}}<br />
{{Related|:Category:Package development}}<br />
{{Related|Pacman tips}}<br />
{{Related|Arch User Repository}}<br />
{{Related|makepkg}}<br />
{{Related|pacman}}<br />
{{Related articles end}}<br />
<br />
This article discusses variables definable by the maintainer in a PKGBUILD. For information on the PKGBUILD functions and creating packages in general, refer to [[Creating packages]].<br />
<br />
A PKGBUILD is a shell script containing the build information required by [[Arch Linux]] packages.<br />
<br />
Packages in Arch Linux are built using the [[makepkg]] utility. When ''makepkg'' is run, it searches for a {{ic|PKGBUILD}} file in the current directory and follows the instructions therein to either compile or otherwise acquire the files to build a package archive ({{ic|''pkgname''.pkg.tar.xz}}). The resulting package contains binary files and installation instructions, readily installable with [[pacman]].<br />
<br />
Mandatory variables are {{ic|pkgname}}, {{ic|pkgver}}, {{ic|pkgrel}}, and {{ic|arch}}. {{ic|license}} is not strictly necessary to build a package, but is recommended for any PKGBUILDs shared with others, as ''makepkg'' will produce a warning if not present.<br />
<br />
It is a common practice to define the variables in the PKGBUILD in same order as given here. However, this is not mandatory, as long as correct [[Bash]] syntax is used.<br />
<br />
== Package name ==<br />
<br />
=== pkgbase ===<br />
<br />
An optional global directive is available when building a split package. {{ic|pkgbase}} is used to refer to the group of packages in the output of ''makepkg'' and in the naming of source-only tarballs. If not specified, the first element in the {{ic|pkgname}} array is used. The variable is not allowed to begin with a hyphen. All values for split packages default to the global ones given in the PKGBUILD. Everything, except {{ic|makedepends}}, [[#Sources]], and [[#Integrity]] variables can be overridden within each split package's {{ic|package()}} function.<br />
<br />
=== pkgname ===<br />
<br />
The name(s) of the package(s). This should consist of lowercase alphanumerics and any of the following characters: {{ic|@}}, {{ic|.}}, {{ic|_}}, {{ic|+}}, {{ic|-}} (at symbol, dot, underscore, plus, hyphen). Names are not allowed to start with hyphens. For the sake of consistency, {{ic|pkgname}} should match the name of the source tarball of the software: for instance, if the software is in {{ic|foobar-2.5.tar.gz}}, use {{ic|1=pkgname=foobar}}. The name of the directory containing the PKGBUILD should also match the {{ic|pkgname}}.<br />
<br />
Split packages should be defined as an array, e.g. {{ic|1=pkgname=('foo' 'bar')}}.<br />
<br />
== Version ==<br />
<br />
=== pkgver ===<br />
<br />
The version of the package. This should be the same as the version released by the author of the package. It can contain letters, numbers, periods and underscores, but '''not''' a hyphen ({{ic|-}}). If the author of the software uses one, replace it with an underscore ({{ic|_}}). If the {{ic|pkgver}} variable is used later in the PKGBUILD, then the underscore can easily be substituted for a hyphen, e.g. {{ic|1=source=("$pkgname-${pkgver//_/-}.tar.gz")}}.<br />
<br />
{{Note|If upstream uses a timestamp versioning such as {{ic|30102014}}, ensure to use the reversed date, i.e. {{ic|20141030}} ([[Wikipedia:ISO 8601|ISO 8601]] format). Otherwise it will not appear as a newer version.}}<br />
<br />
{{Tip|[[makepkg]] can automatically [http://allanmcrae.com/2013/04/pacman-4-1-released/ update] this variable by defining a {{ic|pkgver()}} function in the PKGBUILD. See [[VCS package guidelines#The pkgver() function]] for details}}<br />
<br />
=== pkgrel ===<br />
<br />
Release number: this value allows users to differentiate between consecutive builds of the same version of a package. As fixes and additional features are added to the PKGBUILD that influence the resulting package, the {{ic|pkgrel}} should be incremented by 1. When a new version of the software is released, this value must be reset to 1.<br />
<br />
=== epoch ===<br />
<br />
{{Warning|{{ic|epoch}} should only be used when absolutely required to do so.}}<br />
<br />
Used to force the package to be seen as newer than any previous version with a lower epoch. This value is required to be a positive integer; the default is 0. It is used when the version numbering scheme of a package changes (or is alphanumeric), breaking normal version comparison logic. For example:<br />
<br />
{{hc|1=<br />
pkgver=5.13<br />
pkgrel=2<br />
epoch=1<br />
|2=<br />
1:5.13-2<br />
}}<br />
<br />
See [https://www.archlinux.org/pacman/pacman.8.html pacman(8)] for more information on version comparisons.<br />
<br />
== Generic ==<br />
<br />
=== pkgdesc ===<br />
<br />
The description of the package. This is recommended to be 80 characters or less and should not include the package name in a self-referencing way, unless the application name differs from the package name. For example, use {{ic|1=pkgdesc="Text editor for X11"}} instead of {{ic|1=pkgdesc="Nedit is a text editor for X11"}}.<br />
<br />
Also it is important to use keywords wisely to increase the chances of appearing in relevant search queries.<br />
<br />
=== arch ===<br />
<br />
An array of architectures that the PKGBUILD is intended to build and work on. Currently, it should contain {{ic|i686}} and/or {{ic|x86_64}}, or {{ic|any}} for architecture-independent packages: {{ic|1=arch=('i686' 'x86_64')}}, {{ic|1=arch=('any')}}.<br />
<br />
The target architecture can be accessed with the variable {{ic|$CARCH}} during a build.<br />
<br />
=== url ===<br />
The URL of the official site of the software being packaged.<br />
<br />
=== license ===<br />
The license under which the software is distributed. The {{pkg|licenses}} package from the [[official repositories]] contains many commonly used licenses, which are installed to {{ic|/usr/share/licenses/common}}. If a package is licensed under one of these licenses, the value should be set to the directory name, e.g. {{ic|1=license=('GPL')}}. If the appropriate license is not included, several things must be done:<br />
<br />
# Add {{ic|custom}} to the {{ic|license}} array. Optionally, you can replace {{ic|custom}} with {{ic|custom:''name of license''}}. Once a license is used in two or more packages in an official repository (including {{ic|[community]}}), it becomes a part of the {{Pkg|licenses}} package.<br />
# Install the license in: {{ic|/usr/share/licenses/''pkgname''/}}, e.g. {{ic|/usr/share/licenses/foobar/LICENSE}}.<br />
# If the license is only found in a website, then you need to separately include it in the package.<br />
<br />
* The [[Wikipedia:BSD License|BSD]], [[Wikipedia:MIT License|MIT]], [[Wikipedia:ZLIB license|zlib/png]] and [[Wikipedia:Python License|Python]] licenses are special cases and could not be included in the {{pkg|licenses}} package. For the sake of the {{ic|license}} array, it is treated as a common license ({{ic|1=license=('BSD')}}, {{ic|1=license=('MIT')}}, {{ic|1=license=('ZLIB')}} and {{ic|1=license=('Python')}}), but technically each one is a custom license, because each one has its own copyright line. Any packages licensed under these four should have its own unique license stored in {{ic|/usr/share/licenses/''pkgname''}}. Some packages may not be covered by a single license. In these cases, multiple entries may be made in the {{ic|license}} array, e.g. {{ic|1=license=('GPL' 'custom:''name of license''')}}.<br />
* (L)GPL has many versions and permutations of those versions. For (L)GPL software, the convention is:<br />
** (L)GPL — (L)GPLv2 or any later version<br />
** (L)GPL2 — (L)GPL2 only<br />
** (L)GPL3 — (L)GPL3 or any later version<br />
* If after researching the issue no license can be determined, [https://projects.archlinux.org/pacman.git/tree/proto/PKGBUILD.proto PKGBUILD.proto] suggests using {{ic|unknown}}. However, upstream should be contacted about the conditions under which the software is (and is not) available.<br />
<br />
{{Tip|Some software authors do not provide separate license file and describe distribution rules in section of common {{ic|ReadMe.txt}}. This information can be extracted to a separate file during {{ic|build()}} with something like {{ic|sed -n '/'''This software'''/,/''' thereof.'''/p' ReadMe.txt > LICENSE}}}}<br />
<br />
=== groups ===<br />
<br />
The [[Pacman#Installing package groups|group]] the package belongs in. For instance, when installing the {{Grp|kdebase}} package, it installs all packages belonging in that group.<br />
<br />
== Dependencies ==<br />
<br />
{{Note|Additional architecture-specific arrays can be used by appending an underscore and the architecture name, e.g. {{ic|1=depends_x86_64=()}}, {{ic|1=optdepends_x86_64=()}}.<br />
}}<br />
<br />
=== depends ===<br />
An array of packages that must be installed before the software can be run. Version restrictions can be specified with comparison operators, e.g. {{ic|1=depends=('foobar>=1.8.0')}}; if multiple restrictions are needed, the dependency can be repeated for each, e.g. {{ic|1=depends=('foobar>=1.8.0' 'foobar<2.0.0')}}. <br />
<br />
Dependencies that are provided by other dependencies do not need to be listed. For instance, if a package ''foo'' depends on both ''bar'' and ''baz'', and the ''bar'' package depends in turn on ''baz'' too, ''baz'' does not need to be included in ''foo'''s {{ic|depends}} array.<br />
<br />
{{tip|1=Dependencies that are not required for the build process (runtime-only dependencies) can be added to the {{ic|depends}} array inside the {{ic|package()}} function. This way, they don't need to be installed while {{ic|makepkg}} runs.<br />
<br />
package() {<br />
...<br />
# add dependencies not required for the build<br />
depends+=('runtime-dep1' 'runtime-dep2')<br />
}<br />
<br />
}}<br />
<br />
=== optdepends ===<br />
<br />
An array of packages that are not needed for the software to function, but provide additional features. This may imply that not all executables provided by a package will function without the respective optdepends.[https://lists.archlinux.org/pipermail/arch-general/2014-December/038124.html] If the software works on multiple alternative dependencies, all of them can be listed here, instead of the {{ic|depends}} array.<br />
<br />
A short description of the extra functionality each optdepend provides should also be noted:<br />
<br />
optdepends=('cups: printing support'<br />
'sane: scanners support'<br />
'libgphoto2: digital cameras support'<br />
'alsa-lib: sound support'<br />
'giflib: GIF images support'<br />
'libjpeg: JPEG images support'<br />
'libpng: PNG images support')<br />
<br />
=== makedepends ===<br />
An array of packages that are '''only''' required to build the software. The minimum dependency version can be specified in the same format as in the {{ic|depends}} array.<br />
<br />
{{Tip|The following can be used to see if a particular package is either in the {{Grp|base-devel}} group or pulled in by a members of the group:<br />
<br />
$ pacman -Si $(pactree -rl ''package'') 2>/dev/null <nowiki>|</nowiki> grep -q "^Groups *:.*base-devel"<br />
<br />
}}<br />
<br />
{{Note|The group {{Grp|base-devel}} is assumed to be already installed when building with ''makepkg''. Members of this group '''should not''' be included in {{ic|makedepends}} array.}}<br />
<br />
=== checkdepends ===<br />
An array of packages that the software depends on to run its test suite, but are not needed at runtime. Packages in this list follow the same format as {{ic|depends}}. These dependencies are only considered when the [[Creating packages#check()|check()]] function is present and is to be run by makepkg. <br />
<br />
{{Note|The group {{Grp|base-devel}} is assumed to be already installed when building with ''makepkg''. Members of this group '''should not''' be included in {{ic|checkdepends}} array.}}<br />
<br />
== Package relations ==<br />
<br />
{{Note|Additional architecture-specific arrays can be used by appending an underscore and the architecture name, e.g. {{ic|1=provides_x86_64=()}}, {{ic|1=conflicts_x86_64=()}}.}}<br />
<br />
=== provides ===<br />
An array of additional packages that the software provides the features of (or a virtual package such as {{Ic|cron}} or {{Ic|sh}}). Packages providing the same item can be installed side-by-side, unless at least one of them uses a {{ic|conflicts}} array.<br />
<br />
{{Warning|A version that the package provides should be mentioned ({{ic|pkgver}} and perhaps the {{ic|pkgrel}}), if packages needing the software may require one. For instance, a modified ''qt'' package version 3.3.8, named ''qt-foobar'', should use {{ic|1=provides=('qt=3.3.8')}}; using {{ic|1=provides=('qt')}} would cause the dependencies that require a specific version of ''qt'' to fail. Do not add {{ic|pkgname}} to the {{ic|provides}} array, as it is done automatically.}}<br />
<br />
=== conflicts ===<br />
<br />
An array of packages that conflict with, or cause problems with the package, if installed. All these packages and packages providing this item will need to be removed. The version properties of the conflicting packages can also be specified in the same format as the {{ic|depends}} array.<br />
<br />
=== replaces ===<br />
An array of obsolete packages that are replaced by the package, e.g. {{pkg|wireshark-gtk}} uses {{ic|1=replaces=('wireshark')}}. When syncing, ''pacman'' will immediately replace an installed package upon encountering another package with the matching {{ic|replaces}} in the repositories. If providing an alternate version of an already existing package or uploading to the [[AUR]], use the {{ic|conflicts}} and {{ic|provides}} arrays, which are only evaluated when actually installing the conflicting package.<br />
<br />
== Others ==<br />
<br />
=== backup ===<br />
<br />
An array of files that can contain user-made changes and should be preserved during upgrade or removal of a package, primarily intended for configuration files in {{ic|/etc}}.<br />
<br />
Files in this array should use '''relative''' paths without the leading slash ({{ic|/}}) (e.g. {{ic|etc/pacman.conf}}, instead of {{ic|/etc/pacman.conf}}).<br />
<br />
When updating, new version may be saved as {{ic|file.pacnew}} to avoid overwriting a file which already exists and was previously modified by the user. Similarly, when the package is removed, user-modified file will be preserved as {{ic|file.pacsave}} unless the package was removed with the {{ic|pacman -Rn}} command.<br />
<br />
See also [[Pacnew and Pacsave files]].<br />
<br />
=== options ===<br />
This array allows overriding some of the default behavior of ''makepkg'', defined in {{Ic|/etc/makepkg.conf}}. To set an option, include the name in the array. To reverse the default behavior, place an '''{{ic|!}}''' at the front.<br />
<br />
The full list of the available options can be found in [https://www.archlinux.org/pacman/PKGBUILD.5.html PKGBUILD(5)].<br />
<br />
=== install ===<br />
The name of the {{ic|.install}} script to be included in the package. This should be the same as {{ic|pkgname}}. ''pacman'' has the ability to store and execute a package-specific script when it installs, removes or upgrades a package. The script contains the following functions which run at different times:<br />
<br />
* {{ic|pre_install}} — The script is run right before files are extracted. One argument is passed: new package version.<br />
* {{ic|post_install}} — The script is run right after files are extracted. One argument is passed: new package version.<br />
* {{ic|pre_upgrade}} — The script is run right before files are extracted. Two arguments are passed in the following order: new package version, old package version.<br />
* {{ic|post_upgrade}} — The script is run right after files are extracted. Two arguments are passed in the following order: new package version, old package version.<br />
* {{ic|pre_remove}} — The script is run right before files are removed. One argument is passed: old package version.<br />
* {{ic|post_remove}} — The script is run right after files are removed. One argument is passed: old package version.<br />
<br />
Each function is run [[chroot]]ed inside the ''pacman'' install directory. See [https://bbs.archlinux.org/viewtopic.php?pid=913891 this thread].<br />
<br />
{{Tip|A prototype {{ic|.install}} is provided at [https://projects.archlinux.org/pacman.git/plain/proto/proto.install /usr/share/pacman/proto.install].}}<br />
<br />
=== changelog ===<br />
<br />
The name of the package changelog. To view changelogs for installed packages (that have this file):<br />
<br />
$ pacman -Qc ''pkgname''<br />
<br />
{{Tip|A prototype changelog file is provided at {{ic|/usr/share/pacman/ChangeLog.proto}}}}<br />
<br />
== Sources ==<br />
<br />
=== source ===<br />
<br />
{{Note|Additional architecture-specific arrays can be added by appending an underscore and the architecture name, e.g. {{ic|1=source_x86_64=()}}. There must be a corresponding integrity array with checksums, e.g. {{ic|1=sha256sums_x86_64=()}}.}}<br />
<br />
An array of files needed to build the package. It must contain the location of the software source, which in most cases is a full HTTP or FTP URL. The previously set variables {{ic|pkgname}} and {{ic|pkgver}} can be used effectively here (e.g. {{ic|<nowiki>source=("https://example.com/$pkgname-$pkgver.tar.gz")</nowiki>}}).<br />
<br />
Files can also be supplied directly in the location of the {{ic|PKGBUILD}} and added to this array. These paths are resolved relative to the directory of the {{ic|PKGBUILD}}. Before the actual build process is started, all of the files referenced in this array will be downloaded or checked for existence, and ''makepkg'' will not proceed, if any are missing.<br />
<br />
{{Note|''.install'' files should not be included.}}<br />
<br />
{{Tip|An alternative source name for the downloaded file can be specified with the syntax {{ic|1=source=(<nowiki>'</nowiki>''filename''::''fileuri''<nowiki>'</nowiki>)}}:<br />
<br />
{{bc|<nowiki>source=("project_name::hg+https://googlefontdirectory.googlecode.com/hg/")</nowiki>}}}}<br />
<br />
=== noextract ===<br />
<br />
An array of files listed under {{ic|source}}, which should not be extracted from their archive format by ''makepkg''. This can be used with archives that cannot be handled by {{ic|/usr/bin/bsdtar}} or those that need to be installed as-is. If an alternative unarchiving tool is used (e.g. {{Pkg|lrzip}}), it should be added in the {{ic|makedepends}} array and the first line of the [[Creating packages#prepare()|prepare()]] function should extract the source archive manually; for example:<br />
<br />
prepare() {<br />
lrzip -d ''source''.tar.lrz<br />
}<br />
<br />
Note that while the {{ic|source}} array accepts URLs, {{ic|noextract}} is '''just''' the file name portion:<br />
<br />
<nowiki>source=("http://foo.org/bar/foobar.tar.xz")</nowiki><br />
noextract=('foobar.tar.xz')<br />
<br />
To extract ''nothing'', you can do something like this (taken from [https://projects.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/firefox-i18n#n123 firefox-i18n's PKGBUILD]):<br />
<br />
noextract=("${source[@]%%::*}")<br />
<br />
== Integrity ==<br />
<br />
{{Style|Too detailed about collisions without explaining why they are relevant here.|section=Integrity variables details}}<br />
<br />
The values for these variables can be auto-generated by [[makepkg]]'s {{ic|-g}} option, then commonly appended with {{ic|makepkg -g >> PKGBUILD}}. The {{ic|updpkgsums}} command is able to update the variables wherever they are in the PKGBUILD. Both tools will use the variable that is already set in the PKGBUILD, or fall back to {{ic|md5sums}} if none is set.<br />
<br />
The file integrity checks to use can be set up with the {{ic|INTEGRITY_CHECK}} option in {{ic|/etc/makepkg.conf}}. See [https://www.archlinux.org/pacman/makepkg.conf.5.html makepkg.conf(5)].<br />
<br />
For reference:<br />
<br />
*''Collision vulnerability'' means generation of a series of different fixed-width strings, where any two end up having identical hashes.<br />
*''Preimage vulnerability'' means generation of a string or a file that matches a specific, predetermined hash.<br />
<br />
{| class="wikitable"<br />
! Algorithm !! Collision vulnerability !! Preimage vulnerability<br />
|-<br />
| MD5 || Severely broken. || Theoretical.<br />
|-<br />
| SHA-1 || Theoretical. || Not found.<br />
|-<br />
| SHA-2 || Not found. || Not found.<br />
|}<br />
<br />
=== md5sums ===<br />
An array of 128-bit MD5 checksums of the files listed in the {{ic|source}} array.<br />
<br />
{{Note|<br />
*A [[Wikipedia:MD5|collision]] can be found in 2<sup>18</sup> <nowiki>=</nowiki> 2.6 × 10<sup>5</sup> operations or less than a second on a regular computer.<br />
*An unpractical, theoretical preimage vulnerability is estimated at 2<sup>123.4</sup> ≈ 1.4 × 10<sup>37</sup>, instead of the intended 2<sup>128</sup> ≈ 3.4 × 10<sup>38</sup>.<br />
}}<br />
<br />
=== sha1sums ===<br />
An array of 160-bit SHA-1 checksums of the files listed in the {{ic|source}} array.<br />
<br />
{{Note|<br />
*A [[Wikipedia:SHA-1|theoretical collision]] is estimated at 2<sup>61</sup> ≈ 2.3 × 10<sup>18</sup> operations on average, instead of the intended ≈ 1.2 × 2<sup>160 / 2</sup> <nowiki>=</nowiki> 1.2 × 2<sup>80</sup> ≈ 1.5 × 10<sup>24</sup>.<br />
*While no known preimage vulnerabilities exist, SHA-1 is being phased out in use of SSL certificates in at least Microsoft, Google and Mozilla by 2017.<br />
}}<br />
<br />
=== sha256sums ===<br />
An array of SHA-2 checksums with digest size of 256. This is an alternative to {{ic|md5sums}} and {{ic|sha1sums}} and has no [[Wikipedia:SHA-2|known vulnerabilities]]. Once all files in the {{ic|source}} array are available, a SHA-2 hash of each file will be automatically generated and compared with the values of this array in the same order.<br />
<br />
=== sha224sums, sha384sums, sha512sums ===<br />
An array of SHA-2 checksums with digest sizes 224, 384, and 512 bits, respectively. These are less common alternatives to {{ic|sha256sums}}.<br />
<br />
=== validpgpkeys ===<br />
An array of PGP fingerprints. If used, ''makepkg'' will only accept signatures from the keys listed here and will ignore the trust values from the keyring. If the source file was signed with a subkey, ''makepkg'' will still use the primary key for comparison.<br />
<br />
Only full fingerprints are accepted. They must be uppercase and must not contain whitespace characters.<br />
<br />
{{note|You can use {{ic|gpg --list-keys --fingerprint <KEYID>}} to find out the fingerprint of the appropriate key.}}<br />
<br />
== See also ==<br />
*[https://www.archlinux.org/pacman/PKGBUILD.5.html PKGBUILD(5) Manual Page]<br />
*[http://ix.io/66p Example PKGBUILD file]</div>Majewskyhttps://wiki.archlinux.org/index.php?title=KDE&diff=362915KDE2015-02-27T20:07:21Z<p>Majewsky: /* Setting the background for lock screen */ is fixed in Plasma 5</p>
<hr />
<div>[[Category:KDE]]<br />
[[cs:KDE]]<br />
[[de:KDE]]<br />
[[es:KDE]]<br />
[[fr:KDE]]<br />
[[it:KDE]]<br />
[[ja:KDE]]<br />
[[pl:KDE]]<br />
[[ru:KDE]]<br />
[[tr:KDE_Masaüstü_Ortamı]]<br />
[[zh-CN:KDE]]<br />
[[zh-TW:KDE]]<br />
{{Related articles start}}<br />
{{Related|Desktop environment}}<br />
{{Related|Display manager}}<br />
{{Related|Window manager}}<br />
{{Related|Plasma}}<br />
{{Related|Qt}}<br />
{{Related|KDM}}<br />
{{Related|KDevelop 4}}<br />
{{Related|Uniform Look for Qt and GTK Applications}}<br />
{{Related articles end}}<br />
<br />
From [http://www.kde.org/community/whatiskde/softwarecompilation.php KDE Software Compilation] and [http://www.kde.org/download/ Getting KDE Software]:<br />
<br />
:The KDE Software Compilation is the set of frameworks, workspaces, and applications produced by KDE to create a beautiful, functional and free desktop computing environment for Linux and similar operating systems. It consists of a large number of individual applications and a desktop workspace as a shell to run these applications.<br />
<br />
The KDE upstream has a well maintained [http://userbase.kde.org/ UserBase wiki]. Users can get detailed information about most KDE applications there.<br />
<br />
{{note| The term "KDE Software Compilation" is now out dated. KDE is moving to a new way of organizing itself, see: [[KDE#Plasma 5]]}}<br />
== Installation ==<br />
<br />
Before installing KDE, make sure you have a working [[Xorg]] installation on your system.<br />
<br />
=== KDE 4 ===<br />
<br />
KDE 4 is ''modular''. You can install an entire set of packages or only install your preferred KDE applications.<br />
<br />
==== Full install ====<br />
<br />
[[pacman|Install]] {{Grp|kde}} or {{Grp|kde-meta}} available in the [[official repositories]]. For differences between {{Grp|kde}} and {{Grp|kde-meta}} see the [[KDE Packages]] article.<br />
<br />
==== Minimal install ====<br />
<br />
If you want to have a minimal installation of the KDE Software Compilation, install {{Pkg|kdebase-workspace}}.<br />
<br />
==== Language pack ====<br />
<br />
If you need language files, install {{ic|kde-l10n-yourlanguagehere}} (e.g. {{Pkg|kde-l10n-de}} for the German language).<br />
<br />
For a full list of available languages see [https://www.archlinux.org/packages/extra/any/kde-l10n/ this link].<br />
<br />
=== Plasma 5 ===<br />
The KDE project has changed the way it names and organizes itself since KDE4. In effect there is no 'KDE5'. The project is now split into different sections with their own names, version numbering and development cycles including for example: Frameworks (KDE libraries), Plasma (the workspace) and Applications (that use KDE libraries). <br />
<br />
[[pacman|Install]] {{Pkg|plasma-meta}} or {{Grp|plasma}} available in the [[official repositories]].<br />
<br />
{{Note|1=Plasma 5 conflicts with KDE 4 Workspace and pacman will request to remove kdebase-workspace. It is [https://bbs.archlinux.org/viewtopic.php?pid=1497819#p1497819 recommended] to remove the old workspace and its dependencies first with {{ic| pacman -Rc kdebase-workspace}} }}<br />
<br />
==== System tray icons ====<br />
<br />
Plasma 5 uses a new specification to display items in the 'system tray' area called [http://blog.martin-graesslin.com/blog/2014/03/system-tray-in-plasma-next/ Status Notifier]. To allow applications using the old xembed specification to display items the packages (gtk-2){{aur|libappindicator-gtk2}}, (gtk-3){{aur| libappindicator-gtk3}} or (qt4){{Pkg|sni-qt}}, {{Pkg|lib32-sni-qt}}(for 32bit based applications like Skype) may be required. See [http://blog.martin-graesslin.com/blog/2014/06/where-are-my-systray-icons/ "Where are my systray icons?"] for more information.<br />
<br />
See also [[Plasma]]<br />
<br />
== Starting Plasma ==<br />
See [[Plasma#Starting_Plasma]].<br />
<br />
== Configuration ==<br />
<br />
All KDE 4 configurations are saved in the {{ic|~/.kde4}} folder, otherwise {{ic|~/.config}} is used. If KDE is giving you a lot of trouble or if you ever want a fresh installation of KDE, just backup and rename this folder and restart your X session. KDE will re-create it with all the default configuration files. If you want very fine-grained control over KDE programs, you may want to edit the files in this folder.<br />
<br />
However, configuring KDE is primarily done in '''System Settings'''. A few other options for the desktop are available in '''Default Desktop Settings''' in the desktop's context menu.<br />
<br />
For other personalization options not covered below such as activities, different wallpapers on one cube, etc., please refer to the [[Plasma]] wiki page.<br />
<br />
=== Personalization ===<br />
<br />
How to set up the KDE desktop to your personal style: use different Plasma themes, window decorations and icon themes.<br />
{{tip|1=Applications using the new frameworks 5 use the same configurations as under the old kdebase-workspace 4 but read from new locations. To allow frameworks 5 applications running in kdebase-workspace 4 to share the same configurations they may be moved to the new locations and symlinked back to the old. Examples are:<br />
*Konsole profiles from ~/.kde4/share/apps/konsole to ~/.local/share/konsole/<br />
*Application appearance from ~/.kde4/share/config/kdeglobals to ~/.config/kdeglobals<br />
This information was gathered from the [https://bbs.archlinux.org/viewforum.php?id=18 Applications & Desktop Environments] section of the forums. }}<br />
<br />
==== Plasma desktop ====<br />
<br />
See [[Plasma]].<br />
<br />
===== Themes =====<br />
See [[Plasma#Themes]]<br />
<br />
===== Widgets =====<br />
<br />
Plasmoids are little scripted (plasmoid scripts) or coded (plasmoid binaries) KDE applications designed to enhance the functionality of your desktop.<br />
<br />
Plasmoid binaries can be installed using PKGBUILDs from [https://aur.archlinux.org/packages.php?O=0&K=plasmoid&do_Search=Go&PP=25&SO=d&SB=v AUR], or you can write your own PKGBUILD.<br />
<br />
The easiest way to install plasmoid scripts is by right-clicking onto a panel or the desktop:<br />
<br />
Add Widgets > Get new Widgets > Download Widgets<br />
<br />
This will present a nice frontend for [http://www.kde-look.org/ kde-look.org] that allows you to install, uninstall, or update third-party plasmoid scripts with literally just one click.<br />
<br />
Most plasmoids are not created officially by KDE developers. You can also try installing Mac OS X widgets, Microsoft Windows Vista/7 widgets, Google Widgets, and even SuperKaramba widgets.<br />
<br />
===== Sound applet in the system tray =====<br />
<br />
Install Kmix ({{Pkg|kdemultimedia-kmix}} for KDE 4, or {{Pkg|kmix}} for Plasma 5) from the official repositories and start it from the application launcher. Since KDE, by default, autostarts programs from the previous session, it does not need to be started manually upon every login.<br />
<br />
{{Note|1=To adjust the [https://bugs.kde.org/show_bug.cgi?id=313579#c28 step size of volume increments/decrements], add e.g. {{ic|1=VolumePercentageStep=1}} in the {{ic|[Global]}} section of {{ic|~/.kde4/share/config/kmixrc}}}}<br />
<br />
===== Adding a Global Menu to the desktop =====<br />
<br />
Install {{Pkg|appmenu-qt}} from the official repositories and {{AUR|appmenu-gtk}} and {{AUR|appmenu-qt5}} from the AUR in order to complete the preliminaries for a Mac OS X style always-on global menu. To get Firefox and LibreOffice to use the global menu as well, install {{AUR|firefox-extension-globalmenu}}{{Broken package link|package not found}} and {{AUR|libreoffice-extension-menubar}} from the AUR.<br />
<br />
{{Note|<br />
* {{AUR|appmenu-gtk}} is orphaned and Canonical has abandoned appmenu-gtk in favor of unity-gtk-module that is depending on Unity desktop. As of October 2014 there is no way of exporting gtk2,3 menus in KDE.<br />
* {{AUR|firefox-extension-globalmenu}}{{Broken package link|package not found}} has been deprecated as of Firefox 25 and there is no other recommended method for getting the global menu. However, there is a patched package, {{AUR|firefox-ubuntu}} available in the AUR which has Canonical's patch for getting the global menu to work with the current version of Firefox (as of November 2013).<br />
}}<br />
<br />
To actually get the global menu, install {{AUR|kdeplasma-applets-menubar}} from the AUR. Create a plasma-panel on top of your screen and add the window menubar applet to the panel. To export the menus to your global menu, go to ''System Settings > Application Appearance > Style''. Now click the fine-tuning tab and use the drop-down list to select ''only export'' as your menubar style.<br />
<br />
===== Disable panel shadow =====<br />
<br />
As the plasma panel is on top of other windows, its shadow is drawn over them. [https://bbs.archlinux.org/viewtopic.php?pid=1228394#p1228394] To disable this behaviour without impacting other shadows, [[install]] {{Pkg|xorg-xprop}} and run:<br />
<br />
$ xprop -remove _KDE_NET_WM_SHADOW<br />
<br />
then select the panel with the plus-sized cursor. [https://forum.kde.org/viewtopic.php?f=285&t=121592] For automation, install {{Pkg|xorg-xwininfo}} and create the following script:<br />
<br />
{{hc|/usr/local/bin/kde-no-shadow|<nowiki><br />
#!/bin/bash<br />
for WID in $(xwininfo -root -tree | sed '/"plasma-desktop": ("Plasma" "Plasma")/!d; s/^ *\([^ ]*\) .*/\1/g'); do<br />
xprop -id $WID -remove _KDE_NET_WM_SHADOW<br />
done<br />
</nowiki>}}<br />
<br />
The script can be run on login with ''Add Script'' in ''Autostart'':<br />
<br />
$ kcmshell4 autostart<br />
<br />
==== Window decorations ====<br />
<br />
[http://kde-look.org/index.php?xcontentmode=75 Window decorations] can be changed in:<br />
System Settings > Workspace Appearance > Window Decorations<br />
There you can also directly download and install more themes with one click, and some are available in the [https://aur.archlinux.org/packages.php?O=0&K=kdestyle&do_Search=Go&PP=25&SO=d&SB=v AUR].<br />
<br />
==== Icon themes ====<br />
<br />
Not many full system icons themes are available for KDE 4. You can open up ''System Settings > Application Appearance > Icons'' and browse for new ones or install them manually. Many of them can be found on [http://www.kde-look.org/ kde-look.org].<br />
<br />
Official logos, icons, CD labels and other artwork for Arch Linux are provided in the {{AUR|archlinux-artwork}} package. After installing you can find such artwork at {{ic|/usr/share/archlinux/}}.<br />
<br />
===== Qt 5 icons theme =====<br />
<br />
If you are on Plasma 5, use ''System Settings > Icons''.<br />
While if you are on KDE 4 use {{ic|kcmshell5 icons}} to set the icons theme.<br />
<br />
==== Fonts ====<br />
<br />
===== Fonts in KDE look poor =====<br />
<br />
Try installing the {{Pkg|ttf-dejavu}} and {{Pkg|ttf-liberation}} packages.<br />
<br />
After the installation, be sure to log out and back in. You should not have to modify anything in ''System Settings > Fonts''.<br />
<br />
If you have personally set up how your [[Fonts]] render, be aware that System Settings may alter their appearance. When you go ''System Settings > Appearance > Fonts'', System Settings will likely alter your font configuration file ({{ic|fonts.conf}}).<br />
<br />
There is no way to prevent this, but, if you set the values to match your {{ic|fonts.conf}} file, the expected font rendering will return (it will require you to restart your application or in a few cases restart your desktop). Note that Gnome's Font Preferences also does this.<br />
<br />
===== Fonts are huge or seem disproportional =====<br />
<br />
Try to force font DPI to '''96''' in ''System Settings > Application Appearance > Fonts''.<br />
<br />
If that does not work, try setting the DPI directly in your Xorg configuration as documented [[Xorg#Setting_DPI_manually|here]].<br />
<br />
==== Space efficiency ====<br />
<br />
Users with small screens (e.g. netbooks) can change some setting to make KDE more space efficient. See the [http://userbase.kde.org/KWin#Using_with_small_screens_(eg_Netbooks) upstream wiki] for more information. Also, you can use [http://www.kde.org/workspaces/plasmanetbook/ KDE's Plasma Netbook] which is a workspace made specifically for small, lightweight netbook devices.<br />
<br />
=== Networking ===<br />
<br />
You can choose from the following tools:<br />
* NetworkManager. See [[NetworkManager#KDE|NetworkManager]] for more information.<br />
* Wicd. See [[Wicd]] for more information.<br />
<br />
=== Printing ===<br />
<br />
{{Tip|Use the [[CUPS]] web interface for faster configuration. Printers configured in this way can be used in KDE applications. }}<br />
<br />
You can also configure printers in ''System Settings > Printer Configuration''. To use this method, you must first install {{Pkg|kdeutils-print-manager}} and {{Pkg|cups}}.<br />
<br />
The {{ic|avahi-daemon}} and {{ic|cupsd}} daemons must be started first; otherwise, you will get the following error:<br />
The service 'Printer Configuration' does not provide an interface 'KCModule'<br />
with keyword 'system-config- printer-kde/system-config-printer-kde.py'<br />
The factory does not support creating components of the specified type.<br />
<br />
If you are getting the following error, you need to give your user the right to manage printers.<br />
There was an error during CUPS operation: 'cups-authorization-canceled'<br />
<br />
For CUPS, this is set in {{ic|/etc/cups/cups-files.conf}}.<br />
<br />
Adding {{ic|lpadmin}} to {{ic|/etc/group}} and then to the {{ic|SystemGroup}} directive in {{ic|/etc/cups/cups-files.conf}} allows anyone in the {{ic|lpadmin}} group to configure printers. Do ''not'' add the {{ic|lp}} group to the {{ic|SystemGroup}} directive, or printing will fail.<br />
<br />
# groupadd -g107 lpadmin<br />
<br />
{{hc|/etc/cups/cups-files.conf|# Administrator user group...<br />
SystemGroup sys root lpadmin}}<br />
<br />
{{Tip|Read [[CUPS#CUPS administration]] to get more details on how to configure CUPS.}}<br />
<br />
=== Samba/Windows support ===<br />
<br />
If you want to have access to Windows services, install [[Samba]] (package {{Pkg|samba}}).<br />
<br />
The Dolphin share functionality requires usershares, which the stock smb.conf does not have enabled. Instructions to add them are in [[Samba#Creating_user_share_path|the Samba article]], after which sharing in Dolphin should work out of the box after restarting Samba.<br />
<br />
=== KDE Desktop activities ===<br />
<br />
KDE Desktop Activities are Plasma-based virtual-desktop-like sets of Plasma Widgets where you can independently configure widgets as if you have more than one screen or desktop.<br />
<br />
On your desktop, click the Cashew Plasmoid and, on the pop-up window, press "Activities".<br />
<br />
A plasma bar presenting you the current existing Plasma Desktop Activities will appear at the bottom of the screen. You can navigate between them by pressing the correspondent icons.<br />
<br />
=== Power saving ===<br />
<br />
KDE has an integrated power saving service called "'''Powerdevil Power Management'''" that may adjust the power saving profile of the system and/or the brightness of the screen (if supported).<br />
<br />
Since KDE 4.6, CPU frequency scaling is no longer managed by KDE. Instead it is assumed to be handled automatically by the the hardware and/or kernel. Arch has used {{ic|ondemand}} as the default CPU frequency governor since kernel version 3.3, so no additional configuration is needed in most cases. For details on fine-tuning the governor, see [[CPU frequency scaling]].<br />
<br />
=== Monitoring changes on local files and directories ===<br />
<br />
KDE now uses '''inotify''' directly from the kernel with '''kdirwatch''' (included in kdelibs), so Gamin or FAM are no longer needed. You may want to install this {{AUR|kdirwatch}} from AUR which is a GUI frontend for kdirwatch.<br />
<br />
== System administration ==<br />
<br />
=== Set keyboard ===<br />
<br />
Navigate to:<br />
System Settings > Hardware > Input Devices > Keyboard<br />
In the first tab, you can choose your keyboard model.<br />
<br />
In the "'''Layouts'''" tab, you can choose the languages you may want to use by pressing the "Add Layout" button and subsequently choosing the variant and the language.<br />
<br />
In the "'''Advanced'''" tab, you can choose the keyboard combination you want in order to change the layouts in the "Key(s) to change layout" sub-menu.<br />
<br />
=== Terminate Xorg server through KDE system settings ===<br />
<br />
Navigate to the submenu:<br />
System Settings > Input Devices > Keyboard > Advanced (tab) > "Key Sequence to kill the X server"<br />
and tick the checkbox.<br />
<br />
=== KCM ===<br />
<br />
KCM stands for '''KC'''onfig '''M'''odule. KCMs can help you configure your system by providing interfaces in System Settings.<br />
<br />
'''Configuration for look and feel of GTK applications.'''<br />
* {{Pkg|kde-gtk-config}}<br />
* {{AUR|kcm-gtk}}<br />
* {{AUR|kcm-qt-graphicssystem}}<br />
<br />
'''Configuration for the GRUB bootloader.'''<br />
* {{AUR|grub2-editor}}<br />
<br />
'''Configuration for Synaptics touchpads.'''<br />
* {{Pkg|kcm-touchpad}}<br />
* {{Pkg|kcm-touchpad-frameworks}} (Plasma 5)<br />
* {{AUR|synaptiks}}<br />
* {{AUR|kcm_touchpad}}<br />
* {{AUR|kcm-touchpad-git}}<br />
<br />
'''Configuration for the [[Uncomplicated Firewall]] (UFW)'''<br />
* {{AUR|kcm-ufw}}<br />
<br />
'''Configuration for [[PolicyKit]]'''<br />
* {{AUR|kcm-polkit-kde-git}}<br />
<br />
'''Configuration for Wacom tablets'''<br />
* {{AUR|kcm-wacomtablet}}<br />
<br />
'''Configuration for systemd'''<br />
* {{Pkg|kcmsystemd}} (Plasma 5)<br />
<br />
More KCMs can be found at [http://kde-apps.org/index.php?xcontentmode=273 kde-apps.org].<br />
<br />
===Auto Login===<br />
Go to ''System Settings > System Administration > Login Screen > Convenience'', check ''Enable Auto-Login'' box and select user.<br />
<br />
== Desktop search and semantic desktop ==<br />
<br />
According to [[wikipedia:Semantic_desktop|Wikipedia]]:<br />
:''"the Semantic Desktop is a collective term for ideas related to changing a computer's user interface and data handling capabilities so that data is more easily shared between different applications or tasks and so that data that once could not be automatically processed by a computer can be (automatically processed)."''<br />
<br />
The KDE implementation of this concept is tied to (as of KDE Applications 4.13) two major pieces of software: Akonadi and Baloo. Between the two of them, these programs look at your data and make an easily searchable index of it. The idea behind these pieces of software is to make your system "aware" of your data and give it context using meta-data and user-supplied tags. Baloo uses Xapian to store its data.<br />
<br />
=== Baloo ===<br />
<br />
==== Using and configuring Baloo ====<br />
<br />
In order to search using Baloo on the KDE Plasma Desktop, press {{ic|ALT+F2}} and type in your query. Within Dophin press {{ic|CTRL+F}}.<br />
<br />
By default the Desktop Search KCM exposes only two options: A panel to blacklist folders and, as of 4.13.1, a way to disable it with one click.<br />
<br />
Alternatively you can edit your {{ic|~/.kde4/share/config/baloofilerc}} (KDE4) or {{ic|~/.config/baloofilerc}} (KF5) file ([https://community.kde.org/Baloo/Configuration info]). Additionally the {{ic|balooctl}} process can also be used. In order to disable Baloo run {{ic|balooctl disable}}.<br />
<br />
Once you added additional folders to the blacklist or disabled Baloo entirely, a process named {{ic|baloo_file_cleaner}} removes all unneeded index files automatically. They are stored under {{ic|~/.local/share/baloo/}}.<br />
<br />
More advanced configuration options are available through {{AUR|kcm_baloo_advanced}}.<br />
<br />
==== How do I index a removable device? ====<br />
<br />
By default every removable device is blacklisted. You just have to remove your device from the blacklist in the KCM panel.<br />
<br />
=== Akonadi ===<br />
<br />
Akonadi is a system meant to act as a local cache for PIM data, regardless of its origin, which can be then used by other applications. This includes the user's emails, contacts, calendars, events, journals, alarms, notes, and so on.<br />
<br />
Akonadi does not store any data by itself: the storage format depends on the nature of the data (for example, contacts may be stored in vCard format).<br />
<br />
==== Disabling Akonadi ====<br />
<br />
See this [http://userbase.kde.org/Akonadi#Disabling_the_Akonadi_subsystem section in the KDE userbase]. Alternatively, install {{AUR|akonadi-fake}} from the [[AUR]].<br />
<br />
==== Database configuration ====<br />
<br />
Start {{ic|akonaditray}} from package {{Pkg|kdepim-runtime}}. Right click on it and select '''configure'''. In the Akonadi server configure tab, you can:<br />
* Configuring Akonadi to use MySQL/MariaDB Server<br />
** If your home directory is on a ZFS pool, you will need to create {{ic|~/.config/akonadi/mysql-local.conf}} with the following contents:<br />
<br />
[mysqld]<br />
innodb_use_native_aio = 0<br />
<br />
Otherwise you will get the [[MySQL#OS error 22 when running on ZFS|OS error 22]]<br />
* Configuring Akonadi to use PostgreSQL Server<br />
* Configuring Akonadi to use SQLite<br />
** Edit {{ic|~/.config/akonadi/akonadiserverrc}} to match the below<br />
<br />
[General]<br />
Driver=QSQLITE3<br />
<br />
[QSQLITE3]<br />
Name=/home/username/.local/akonadi/akonadi.db<br />
<br />
== Phonon ==<br />
<br />
From [[Wikipedia:Phonon|Wikipedia]]:<br />
<br />
:''"Phonon is the multimedia API for KDE 4. Phonon was created to allow KDE 4 to be independent of any single multimedia framework such as GStreamer or xine and to provide a stable API for KDE 4's lifetime. It was done for various reasons: to create a simple KDE/Qt style multimedia API, to better support native multimedia frameworks on Windows and Mac OS X, and to fix problems of frameworks becoming unmaintained or having API or ABI instability."''<br />
<br />
'''Phonon''' is being widely used within KDE, for both audio (e.g., the System notifications or KDE audio apps) and video (e.g., the Dolphin video thumbnails).<br />
<br />
=== Which backend should I choose? ===<br />
<br />
You can choose between various backends like [[GStreamer]] ({{Pkg|phonon-qt4-gstreamer}}, {{Pkg|phonon-qt5-gstreamer}}) or [[VLC]] ({{Pkg|phonon-qt4-vlc}}, {{Pkg|phonon-qt5-vlc}}), available in the [[official repositories]], and [[MPlayer]] ({{AUR|phonon-qt4-mplayer-git}}), QuickTime ({{AUR|phonon-quicktime-git}}) or [http://martinsandsmark.wordpress.com/2012/07/07/akademy/ AVKode] ({{AUR|phonon-avkode-git}}), available in the [[AUR]].<br />
<br />
Most users will want VLC which has the best upstream support. GStreamer is currently not well maintained. Note that multiple backends can be installed at once and chosen at ''System Settings > Multimedia > Phonon > Backend''.<br />
<br />
{{Note|<br />
* According to the [http://community.kde.org/Phonon/FeatureMatrix Feature Matrix], the GStreamer backend has some more features that the VLC backend.<br />
* According to the [http://userbase.kde.org/Phonon#Backend_libraries KDE UserBase], Phonon-MPlayer is currently unmaintained.}}<br />
<br />
== Useful applications ==<br />
<br />
The official set of KDE applications may be found [http://www.kde.org/applications/ here].<br />
<br />
=== Yakuake ===<br />
<br />
[[Yakuake]] provides a Quake-like terminal emulator whose visibility is toggled by the F12 key. It also has support for multiple tabs. Yakuake is available in the package {{Pkg|yakuake}}.<br />
<br />
=== KDE Telepathy ===<br />
<br />
[http://community.kde.org/KTp KDE Telepathy] is a project with the goal to closely integrate Instant Messaging with the KDE desktop. It utilizes the Telepathy framework as a backend and is intended to replace Kopete.<br />
<br />
To install all Telepathy protocols, install the {{Grp|telepathy}} group.<br />
To use the KDE Telepathy client, install the {{Pkg|kde-telepathy-meta}} package that includes all the packages contained in the {{Grp|kde-telepathy}} group .<br />
<br />
== Tips and tricks ==<br />
<br />
=== Using an alternative window manager in KDE ===<br />
<br />
To use an alternative [[window manager]] with KDE open the ''System Settings'' panel, navigate to ''Default Applications > Window Manager > Use a different window manager'' and select the window manager you wish to use from the list.<br />
<br />
==== KDE/Openbox Session ====<br />
<br />
The {{Pkg|openbox}} package provides a session for using KDE with [[Openbox]]. To make use of this session, select ''KDE/Openbox'' from the [[display manager]] menu.<br />
<br />
For those starting the session manually, add the following line to your {{ic|.xinitrc}} file:<br />
exec openbox-kde-session<br />
<br />
==== Compiz custom ====<br />
<br />
If you need to run Compiz with custom options and switches select ''Compiz custom'' and then create a script called {{ic|compiz-kde-launcher}} and add to it the commands you wish to use to start Compiz. See the example below:<br />
<br />
{{hc|/usr/local/bin/compiz-kde-launcher|<nowiki><br />
#!/bin/bash<br />
LIBGL_ALWAYS_INDIRECT=1<br />
compiz --replace &<br />
wait<br />
</nowiki>}}<br />
<br />
Then make it executable:<br />
$ chmod +x /usr/local/bin/compiz-kde-launcher<br />
<br />
==== Re-enabling compositing effects ====<br />
<br />
When replacing Kwin with a window manager which does not provide a Compositor (such as Openbox), any desktop compositing effects e.g. transparency will be lost. In this case, install and run a separate Composite manager to provide the effects such as [[Xcompmgr]] or [[Compton]].<br />
<br />
=== Integrate Android with the KDE Desktop ===<br />
<br />
KDE connect provides several features for you:<br />
* Share files and URLs to/from KDE from/to any app, without wires.<br />
* Touchpad emulation: Use your phone screen as your computer's touchpad.<br />
* Notifications sync (4.3+): Read your Android notifications from the desktop.<br />
* Shared clipboard: copy and paste between your phone and your computer.<br />
* Multimedia remote control: Use your phone as a remote for Linux media players.<br />
* WiFi connection: no usb wire or bluetooth needed.<br />
* RSA Encryption: your information is safe.<br />
<br />
You will need to install KDE Connect both on your computer and on your Android. For PC side, install {{Pkg|kdeconnect}} if you are using KDE4 or if you are using Plasma 5, then you should install {{AUR|kdeconnect-frameworks-git}} instead. For Android side, install {{ic|KDE Connect}} from the [https://play.google.com/store/apps/details?id=org.kde.kdeconnect_tp&hl=en Google Play Store] or from [https://f-droid.org/repository/browse/?fdid=org.kde.kdeconnect_tp F-Droid].<br />
<br />
=== Configure KWin to use OpenGL ES ===<br />
<br />
Beginning with KWin version 4.8 it is possible to use the separately built binary '''kwin_gles''' as a replacement for kwin. It behaves almost the same as the kwin executable in OpenGL2 mode with the slight difference that it uses ''egl'' instead of ''glx'' as the native platform interface. To test kwin_gles you just have to run {{ic|kwin_gles --replace}} in Konsole.<br />
If you want to make this change permanent you have to create a script in {{ic|$(kde4-config --localprefix)/env/}} which exports {{ic|1=KDEWM=kwin_gles}}.<br />
<br />
=== Enabling audio/video thumbnails under Konqueror/Dolphin file managers ===<br />
<br />
For thumbnails of videos in konqueror and dolphin install {{Pkg|kdemultimedia-mplayerthumbs}} or {{Pkg|kdemultimedia-ffmpegthumbs}} and activate the installed package in ''Settings> Configure Konqueror> General> Previews> Video Files''.<br />
For thumbnails of audio files in Konqueror and Dolphin install {{AUR|audiothumbs}} from AUR.<br />
<br />
=== Speed up application startup ===<br />
<br />
User Rob wrote on his blog this "[http://kdemonkey.blogspot.nl/2008/04/magic-trick.html magic trick]" to improve application start-up time by 50-150ms.<br />
To enable it, create this folder in your home:<br />
$ mkdir ~/.compose-cache/<br />
But it can produce freezes on heavy io, can be avoided by:<br />
$ ln -sfv /run/user/$UID/ /home/$USER/.compose-cache<br />
<br />
{{Note|For those curious about what is going on here, this enables an optimization which Lubos (of general KDE speediness fame) came up with some time ago and was then rewritten and integrated into libx11. Ordinarily, on startup, applications read input method information from {{ic|/usr/share/X11/locale/''your locale''/Compose}}. This file is quite long (>5000 lines for the en_US.UTF-8 one) and takes some time to process. libX11 can create a cache of the parsed information which is much quicker to read subsequently, but it will only re-use an existing cache or create a new one in {{ic|~/.compose-cache}} if the directory already exists.}}<br />
<br />
=== Hiding partitions ===<br />
<br />
In Dolphin, it is as simple as right-clicking on the partition in the {{ic|Places}} sidebar and selecting {{ic|Hide ''partition''}}. Otherwise...<br />
<br />
If you wish to prevent your internal partitions from appearing in your file manager, you can create an udev rule, e.g:<br />
<br />
{{hc|/etc/udev/rules.d/10-local.rules|2=<br />
KERNEL=="sda[0-9]", ENV{UDISKS_IGNORE}="1"<br />
}}<br />
<br />
The same thing for a certain partition:<br />
<br />
KERNEL=="sda1", ENV{UDISKS_IGNORE}="1"<br />
KERNEL=="sda2", ENV{UDISKS_IGNORE}="1"<br />
<br />
=== Konqueror tips ===<br />
<br />
==== Disabling Access Keys ====<br />
<br />
Every time you pressing the Ctrl key while browsing, small square tooltips appear for each of the active areas (hyperlinks) on a webpage. This is useful when you browsing with only a keyboard.<br />
<br />
To disable Access Keys, go to ''Settings > Configure Konqueror > Web Browsing'' and uncheck ''Enable Access Key activation with Ctrl key''.<br />
<br />
==== Using WebKit ====<br />
<br />
WebKit is an open source browser engine developed by Apple Inc. It is a derivative from the KHTML and KJS libraries and contains many improvements. WebKit is used by Safari, Google Chrome and rekonq.<br />
<br />
It is possible to use WebKit in Konqueror instead of KHTML. First install the {{Pkg|kwebkitpart}} package.<br />
<br />
Then, after executing Konqueror, navigate to ''Settings > Configure Konqueror > General > Default web browser engine'' and set it as {{ic|WebKit}}.<br />
<br />
=== Firefox integration ===<br />
<br />
See [[Firefox#KDE_integration|Firefox]].<br />
<br />
=== Setting the background for lock screen ===<br />
<br />
In Plasma 5, you can set a custom wallpaper for the lock screen. This is [https://bugs.kde.org/show_bug.cgi?id=312828 not possible] in KDE 4, but here a workaround from OpenSUSE mailing lists: http://lists.opensuse.org/opensuse-kde/2013-02/msg00082.html<br />
<br />
For this you should modify the file {{ic|/usr/share/kde4/apps/ksmserver/screenlocker/org.kde.passworddialog/contents/ui/main.qml}}, replacing a line<br />
<br />
source: theme.wallpaperPathForSize(parent.width, parent.height)<br />
<br />
with something like<br />
<br />
source: "1920x1080.jpg"<br />
<br />
Now you simply put a wallpaper image {{ic|1920x1080.jpg}} to the {{ic|/usr/share/kde4/apps/ksmserver/screenlocker/org.kde.passworddialog/contents/ui}} directory.<br />
<br />
{{Note|You have to redo this for each update of the package {{Pkg|kdebase-workspace}}.}}<br />
<br />
=== Setting lockscreen wallpaper to arbitrary image ===<br />
<br />
Copy an existing wallpaper profile as a template:<br />
$ cp -r /usr/share/wallpapers/''ExistingWallpaper'' ~/.kde4/share/wallpapers/<br />
<br />
Change the name of the directory, and edit {{ic|metadata.desktop}}:<br />
<br />
{{hc|~/.kde4/share/wallpapers/''MyWallpaper''/metadata.desktop|2=<br />
[Desktop Entry]<br />
Name=MyWallpaper<br />
X-KDE-PluginInfo-Name=MyWallpaper<br />
}}<br />
<br />
Remove existing images ({{ic|contents/screenshot.png}} and {{ic|images/*}}):<br />
$ rm ~/.kde4/share/wallpapers/MyWallpaper/contents/screenshot.png<br />
$ rm ~/.kde4/share/wallpapers/MyWallpaper/contents/images/*<br />
<br />
Copy new image in:<br />
$ cp ''path/to/MyWallpaper.png'' MyWallpaper/contents/images/1920x1080.png<br />
<br />
Edit the metadata profile for the current theme:<br />
{{hc|~/.kde4/share/apps/desktoptheme/MyTheme/metadata.desktop|2=<br />
[Wallpaper]<br />
defaultWallpaperTheme=MyWallpaper<br />
defaultFileSuffix=.png<br />
defaultWidth=1920<br />
defaultHeight=1080<br />
}}<br />
<br />
Lock the screen to check that it worked.<br />
<br />
{{Note|This method sets the lockscreen background without changing any system-wide settings. For a system-wide change, create the new wallpaper profile in {{ic|/usr/share/wallpapers}}.}}<br />
<br />
=== Configuring monitor resolution / multiple monitors ===<br />
<br />
To enable display resolution management and multiple monitors in KDE 5, install {{Pkg|kscreen-frameworks}}. This adds the additional options to System Settings/Display and Monitor.<br />
<br />
== Troubleshooting ==<br />
<br />
=== Configuration related ===<br />
<br />
Many problems in KDE are related to configuration. One way to resolve upgrade problems is to start over with a fresh KDE config.<br />
<br />
==== Reset all KDE configuration ====<br />
<br />
To test whether your config is the problem try quitting your KDE session by logging out and, in a tty, run<br />
$ cp -r ~/.kde4 ~/.kde4.safekeeping<br />
$ rm .kde4/{cache,socket,tmp}-$(hostname)<br />
<br />
The ''rm'' command just removes symbolic links which will be recreated by KDE automatically. Now start a new KDE session to see the results.<br />
<br />
If the problem is resolved, you will have a fresh, problem-free {{ic|~/.kde4/}}. You can gradually move parts of your saved configuration back, restarting your session regularly to test, to identify the problematic parts of your config. Some files here are named after applications so you will probably be able to test these without needing to restart KDE.<br />
<br />
==== Plasma desktop behaves strangely ====<br />
<br />
Plasma problems are usually caused by unstable '''plasmoids''' or '''plasma themes'''. First, find which was the last plasmoid or plasma theme you had installed and disable it or uninstall it.<br />
<br />
So, if your desktop suddenly exhibits "locking up", this is likely caused by a faulty installed widget. If you cannot remember which widget you installed before the problem began (sometimes it can be an irregular problem), try to track it down by removing each widget until the problem ceases. Then you can uninstall the widget, and file a bug report (bugs.kde.org) '''only if it is an official widget'''. If it is not, it is recommended you find the entry on kde-look.org and inform the developer of that widget about the problem (detailing steps to reproduce, etc).<br />
<br />
If you cannot find the problem, but you do not want ''all'' the KDE settings to be lost, do:<br />
<br />
$ rm -r ~/.kde4/share/config/plasma*<br />
<br />
This command will '''delete all plasma related configs''' of your user and when you will relogin into KDE, you will have the '''default''' settings back. You should know that this action '''cannot be undone'''. You should create a backup folder and copy all the plasma related configs in it.<br />
<br />
==== Clean cache to resolve upgrade problems ====<br />
<br />
The [https://bbs.archlinux.org/viewtopic.php?id=135301 problem] may be caused by old cache. Sometimes after an upgrade, the old cache might introduce strange, hard to debug behaviour such as unkillable shells, hangs when changing various settings and several other problems such as ark being unable to unrar or unzip or amarok not recognizing any of your musics. This solution can also resolve problems with KDE and QT programmes looking bad following upgrade.<br />
<br />
Rebuild your cache with the following commands:<br />
<br />
$ rm ~/.config/Trolltech.conf<br />
$ kbuildsycoca4 --noincremental<br />
<br />
Hopefully, your problems are now fixed.<br />
<br />
=== Clean akonadi configuration to fix KMail ===<br />
<br />
First, make sure that KMail is not running. Then backup configuration:<br />
$ mv ~/.local/share/akonadi ~/.local/share/akonadi-old<br />
$ mv ~/.config/akonadi ~/.config/akonadi-old<br />
<br />
Start ''SystemSettings > Personal'' and remove all the resources. Go back to Dolphin and remove the original {{ic|~/.local/share/akonadi}} and<br />
{{ic|~/.config/akonadi}} - the copies you made ensure that you can back-track if necessary.<br />
<br />
Now go back to the System Settings page and carefully add the necessary resources. You should see the resource reading in your mail folders. Then start Kontact/KMail to see if it work properly.<br />
<br />
=== Getting current state of KWin for support and debug purposes ===<br />
<br />
This command prints out a wonderful summary of the current state of KWin including used options, used compositing backend and relevant OpenGL driver capabilities. See more on [http://blog.martin-graesslin.com/blog/2012/03/on-getting-help-for-kwin-and-helping-kwin/ Martin's blog].<br />
<br />
$ qdbus org.kde.kwin /KWin supportInformation<br />
<br />
=== KDE4 does not finish loading ===<br />
<br />
There might be a situation in which the graphic driver might create a conflict when starting KDE4. This situation happens after the login but before finishing loading the desktop, making the user wait indefinitely at the loading screen. Until now the only users confirmed to be affected by this are the ones that use [[NVIDIA|Nvidia drivers]] and KDE4.<br />
<br />
A solution for Nvidia users:<br />
<br />
{{hc|~/.kde4/share/config/kwinrc|2=<br />
[Compositing]<br />
Enabled=false<br />
}}<br />
For more information, see [https://bbs.archlinux.org/viewtopic.php?pid=932598 this] thread.<br />
<br />
If a minimal install was done, make sure you installed the required font by your phonon backend listed here: [[#Minimal install]]<br />
<br />
=== KDE and Qt programs look bad when in a different window manager ===<br />
<br />
If you are using KDE or Qt programs but not in a full KDE session (specifically, you did not run {{ic|startkde}}), then as of KDE 4.6.1 you will need to tell Qt how to find KDE's styles (Oxygen, QtCurve etc.)<br />
<br />
You just need to set the environment variable {{ic|QT_PLUGIN_PATH}}. E.g. put:<br />
<br />
export QT_PLUGIN_PATH=$HOME/.kde4/lib/kde4/plugins/:/usr/lib/kde4/plugins/<br />
<br />
into your {{ic|/etc/profile}} (or {{ic|~/.profile}} if you do not have root access). {{ic|qtconfig-qt4}}should then be able to find your KDE styles and everything should look nice again!<br />
<br />
Alternatively, you can symlink the Qt styles directory to the KDE styles one:<br />
# ln -s /usr/lib/kde4/plugins/styles/ /usr/lib/qt4/pluginlib32-libdbusmenu-glibs/styles<br />
<br />
Under Gnome you can try to install the package libgnomeui.<br />
<br />
=== Graphical related problems ===<br />
<br />
==== Low 2D desktop performance (or) artifacts appear when on 2D ====<br />
<br />
===== GPU driver problem =====<br />
<br />
Make sure you have the proper driver for your card installed, so that your desktop is at least 2D accelerated. Follow these articles for more information: [[ATI]], [[NVIDIA]], [[Intel]] for more information, in order to make sure that everything is all right.<br />
The open-source ATI and Intel drivers and the proprietary (binary) Nvidia driver should theoretically provide the best 2D and 3D acceleration.<br />
<br />
===== The Raster engine workaround =====<br />
<br />
If this does not solve your problems, your driver may not provide a good '''XRender''' acceleration which the current Qt painter engine relies on by default.<br />
<br />
You can change the painter engine to software based only by invoking the application with the {{ic|-graphicssystem raster}} command line. This rendering engine can be set as the default one by recompiling Qt with the same as configure option, {{ic|-graphicssystem raster}}.<br />
<br />
The raster paint engine enables the CPU to do the majority of the painting, as opposed to the GPU. You may get better performance, depending on your system. This is basically a work-around for the terrible Linux driver stack, since the CPU should obviously not be doing graphical computations since it is designed for fewer threads of greater complexity, as opposed to the GPU which is many threads but lesser computational strength. So, only use Raster engine if you are having problems or your GPU is much slower than you CPU, otherwise is better to use XRender.<br />
<br />
Since Qt 4.7+, recompiling Qt is not needed. Simply export {{ic|1=QT_GRAPHICSSYSTEM=raster}}, or {{ic|opengl}}, or {{ic|native}} (for the default). Raster depends on the CPU, OpenGL depends on the GPU and high driver support, and Native is just using the X11 rendering (mixture, usually).<br />
<br />
'''The best and automatic way to do that''' is to install {{AUR|kcm-qt-graphicssystem}} from AUR and configure this particular Qt setting through:<br />
<br />
System Settings > Qt Graphics System<br />
<br />
For more information, consult this [http://apachelog.wordpress.com/2010/09/05/qt-graphics-system-kcm/ KDE Developer blog entry] and/or this [http://labs.trolltech.com/blogs/2009/12/18/qt-graphics-and-performance-the-raster-engine/ Qt Developer blog entry].<br />
<br />
==== Low 3D desktop performance====<br />
<br />
KDE begins with desktop effects enabled. Older cards may be insufficient for 3D desktop acceleration. You can disable desktop effects in:<br />
System Settings > Desktop Effects<br />
and you can toggle desktop effects with {{ic|Alt+Shift+F12}}.<br />
<br />
{{Note| You may encounter such problems with 3D desktop performance even when using a more powerful graphics card, especially the catalyst proprietary driver ({{ic|fglrx}}). This driver is known for having problems with 3D acceleration. Visit [[ATI|the ATI Wiki page]] for more troubleshooting.}}<br />
<br />
==== Desktop compositing is disabled on my system with a modern Nvidia GPU ====<br />
<br />
Sometimes, KWin may have settings in its configuration file ({{ic|kwinrc}}) that ''may'' cause a problem on re-activating the 3D desktop {{ic|OpenGL}} compositing. That could be caused randomly (for example, due to a sudden Xorg crash or restart, and it gets corrupted), so, in case that happens, delete your {{ic|~/.kde4/share/config/kwinrc}} file and relogin. The KWin settings will turn to the KDE default ones and the problem should be probably gone.<br />
<br />
==== Flickering in fullscreen when compositing is enabled ====<br />
<br />
As of KDE SC 4.6.0, there is an option in ''Sytem Settings > Desktop Effect > Advanced > Suspend desktop effects for fullscreen windows''. Uncheck it would tell kwin to disable unredirect fullscren.<br />
<br />
==== Screen Tearing with desktop compositing enabled ====<br />
<br />
KWin may suffer from [[Wikipedia:Screen tearing|screen tearing]] while desktop effects are enabled. Uncheck the VSync option under ''System Settings > Desktop Effects > Advanced > Use Vsync''.<br />
<br />
{{Note|With the release of KDE 4.11, several new Vsync options have been added, which may help with screen tearing.}}<br />
<br />
For proprietary driver users, ensure that the driver's VSync option is enabled (''amdccle'' for [[Catalyst]] users, and ''nvidia-settings'' for [[NVIDIA]] users).<br />
<br />
==== Display settings lost on reboot (multiple monitors) ====<br />
Installing {{Pkg|kscreen}} might fix the problem unless your screens share the same EDID. Kscreen is the improved screen management software for KDE, more information can be found [https://fedoraproject.org/wiki/Changes/KScreen?rd=Features/KScreen here].<br />
<br />
=== Sound problems under KDE ===<br />
<br />
==== ALSA related problems ====<br />
<br />
{{Note|First make sure you have {{Pkg|alsa-lib}} and {{Pkg|alsa-utils}} installed.}}<br />
<br />
===== "Falling back to default" messages when trying to listen to any sound in KDE =====<br />
<br />
When you encounter such messages:<br />
The audio playback device ''name_of_the_sound_device'' does not work.<br />
Falling back to default<br />
Go to:<br />
System Settings > Multimedia > Phonon<br />
and set the device named {{ic|default}} above all the other devices in each box you see.<br />
<br />
===== MP3 files cannot be played when using the GStreamer Phonon backend =====<br />
<br />
This can be solved by installing the GStreamer libav plugin (package {{Pkg|gst-libav}}). If you still encounter problems, you can try changing the Phonon backend used by installing another such as {{Pkg|phonon-qt4-vlc}} or {{Pkg|phonon-qt5-vlc}}.<br />
Then, make sure the backend is preferred via:<br />
<br />
System Settings > Multimedia > Phonon > Backend (tab)<br />
<br />
=== Konsole does not save commands' history ===<br />
<br />
By default console command history is saved only when you type 'exit' in console. When you close Konsole with 'x' in the corner it does not happen.<br />
To enable autosaving after every command execution:<br />
<br />
{{hc|~/.bashrc|<nowiki><br />
shopt -s histappend<br />
[[ "${PROMPT_COMMAND}" ]] && PROMPT_COMMAND="$PROMPT_COMMAND;history -a" || PROMPT_COMMAND="history -a"<br />
</nowiki>}}<br />
<br />
=== KDE password prompts display three bullets per char ===<br />
<br />
This setting can be changed at ''System Settings > Account Details > Password & User Account'':<br />
* Show one bullet for each letter<br />
* Show three bullets for each letter<br />
* Show nothing<br />
<br />
=== Dolphin and File Dialogs are extremely slow to start ===<br />
<br />
This may be caused by the upower service. If the upower service is not needed on your system, it can be disabled:<br />
<br />
# systemctl disable upower<br />
# systemctl mask upower<br />
<br />
Obviously this will not have any side effect on a desktop system.<br />
<br />
=== Default PDF viewer in GTK applications under KDE ===<br />
<br />
In some cases when you have installed [[Inkscape]], [[Gimp]] or other graphic programs, GTK applications ([[Firefox]] among all) might not select Okular as the default PDF application, and they are not going to follow the KDE settings on default applications. You can use the following user command to make Okular the default application again.<br />
<br />
$ xdg-mime default kde4-okularApplication_pdf.desktop application/pdf<br />
<br />
If you are using a different PDF viewer application, or a different mime-type is misbehaving, you should change {{ic|kde4-okularApplication_pdf.desktop}} and {{ic|application/pdf}} respectively according to your needs.<br />
<br />
For more information, consult [[Default applications]] wiki page.<br />
<br />
=== Inotify folder watch limit ===<br />
<br />
If you get the following error:<br />
<br />
KDE Baloo Filewatch service reached the inotify folder watch limit. File changes may be ignored.<br />
<br />
Then you will need to increase the inotify folder watch limit:<br />
<br />
# echo 10000 > /proc/sys/fs/inotify/max_user_watches<br />
<br />
To make changes permanent, create {{ic|/etc/sysctl.d/90-inotify.conf}} with<br />
<br />
#increase inotify watch limit<br />
fs.inotify.max_user_watches = 10000<br />
<br />
== Unstable releases ==<br />
<br />
When KDE is reaching beta or RC milestone, KDE "unstable" packages are uploaded to the ''kde-unstable'' repository. They stay there until KDE is declared stable and passes to the ''extra'' repository.<br />
<br />
You can add ''kde-unstable'' with:<br />
<br />
{{hc|/etc/pacman.conf|2=<br />
[kde-unstable]<br />
Include = /etc/pacman.d/mirrorlist<br />
}}<br />
<br />
{{Warning|Make sure to add these lines '''before''' the ''extra'' repository. Adding the section after ''extra'' will cause [[pacman]] to prefer the older packages in the extra repository. {{ic|pacman -Syu}} will not install them, and will warn that they are "too new" if installed manually. Also, some of the libraries will stay at the older versions, which may cause file conflicts and/or instability!}}<br />
<br />
# ''kde-unstable'' is based upon ''testing''. Therefore, you need to enable the repositories in the following order: ''kde-unstable'', ''testing'', ''core'', ''extra'', ''community-testing'', ''community''.<br />
# To update from a previous KDE installation, run: {{ic|# pacman -Syu}} or {{ic|# pacman -S kde-unstable/kde}}<br />
# If you do not have KDE installed, you might have difficulties to install it by using groups (limitation of pacman)<br />
# '''Subscribe and read the [https://mailman.archlinux.org/pipermail/arch-dev-public/ arch-dev-public] mailing list'''<br />
# Make sure [[#Distro_and_Upstream_bug_report|you make bug reports]] if you find any problems.<br />
<br />
== KDE forks ==<br />
<br />
=== Trinity ===<br />
<br />
From the release of KDE 4.x, the developers dropped support for KDE 3.5.x. Trinity Desktop Environment is a fork of KDE3 developed by Timothy Pearson ([http://trinitydesktop.org/ trinitydesktop.org]). This project aims to keep the KDE3.5 computing style alive, as well as polish off any rough edges that were present as of KDE 3.5.10. See [[Trinity]] for more info.<br />
<br />
== Bugs ==<br />
<br />
It is preferrable that if you find a minor or serious bug, you should visit [https://bugs.archlinux.org the Arch Bug Tracker] or/and [http://bugs.kde.org KDE Bug Tracker] in order to report that. Make sure that you are clear about what you want to report.<br />
<br />
If you have any problem and you write about in on the Arch forums, first make sure that you have '''fully''' updated your system using a good sync mirror (check [https://www.archlinux.de/?page=MirrorStatus here]) or try [[Reflector]].<br />
<br />
== See also ==<br />
<br />
* [http://www.kde.org KDE homepage]<br />
* [https://bugs.kde.org KDE bug tracker]<br />
* [https://projects.kde.org KDE Projects]<br />
* [http://blog.martin-graesslin.com/blog/kategorien/kde/ Martin Graesslin's blog]</div>Majewskyhttps://wiki.archlinux.org/index.php?title=SDDM&diff=345053SDDM2014-11-16T21:51:42Z<p>Majewsky: /* Troubleshooting */</p>
<hr />
<div>[[Category:KDE]][[Category:Display managers]]<br />
{{Related articles start}}<br />
{{Related|Display manager}}<br />
{{Related|KDE}}<br />
{{Related articles end}}<br />
The [[Wikipedia:Simple Desktop Display Manager|Simple Desktop Display Manager]] (SDDM) is the preferred [[display manager]] for [[KDE|KDE 5's]] Plasma desktop. From Wikipedia:<br />
<br />
:''Simple Desktop Display Manager (SDDM) is a display manager (a graphical login program) for the windowing systems X11 and Wayland. SDDM was written from scratch in C++11 and supports theming via QML. It is the successor of the KDE Display Manager and is used in conjunction with KDE Frameworks 5, KDE Plasma 5 and KDE Applications 5.''<br />
<br />
== Installation ==<br />
<br />
[[pacman|Install]] the {{Pkg|sddm}} package from the [[official repositories]].<br />
<br />
Then follow [[Display manager#Loading the display manager]] to start SDDM at boot. If you're migrating from KDM, the following should work for you:<br />
<br />
{{hc |<br />
# systemctl disable kdm && systemctl enable sddm |<br />
Removed symlink /etc/systemd/system/display-manager.service.<br />
Created symlink from /etc/systemd/system/display-manager.service to /usr/lib/systemd/sddm.service.}}<br />
<br />
== Configuration ==<br />
<br />
The configuration file for SDDM can be found at {{ic|/etc/sddm.conf}}. See {{ic|man sddm.conf}} for all options.<br />
<br />
On systems controlled by [[systemd]], everything should work out of the box, since SDDM defaults to using {{ic|systemd-logind}} for session management. The configuration file will therefore not be created at package installation time. SDDM offers a command for generating a sample configuration file with the default settings if you really want one:<br />
<br />
# sddm --example-config > /etc/sddm.conf<br />
<br />
=== Autologin ===<br />
<br />
Like KDM, SDDM supports automatic login through its configuration file, for example:<br />
<br />
{{hc|<br />
1=/etc/sddm.conf|<br />
2=[Autologin]<br />
User=john<br />
Session=kde-plasma.desktop<br />
}}<br />
<br />
This configuration causes a KDE Plasma session to be started for user {{ic|john}} when the system is booted. Available session types can be found in {{ic|ls /usr/share/xsessions/}}.<br />
<br />
{{Warning|If wrongly configured, automatic login could cause an attacker that has physical access to your notebook to break into your desktop effortlessly. It should only be enabled when another authentication prompt secures the system, e.&nbsp;g.&nbsp;the passphrase for your [[Encrypted Root Filesystem|encrypted root filesystem]].}}<br />
<br />
An option to autologin into KDE Plasma while simultaneously locking the session is not available [https://github.com/sddm/sddm/issues/306 as of the time of this writing].<br />
<br />
== Troubleshooting ==<br />
<br />
=== No desktop effects in KDE Plasma ===<br />
<br />
When I changed from KDM to SDDM and logged into KDE Plasma 4, desktop effects were disabled and could not be enabled. It turned out that SDDM wrongly started KDE Plasma in ''Failsafe'' mode. If you cannot enable desktop effects, log out and check the session selection in SDDM before logging back in.<br />
<br />
=== SDDM starts on tty1 instead of tty7 ===<br />
<br />
SDDM follows the [http://0pointer.de/blog/projects/serial-console.html systemd convention] of starting the first graphical session on tty1. If you prefer the old convention where tty1 through tty6 are reserved for text consoles, add the following to your {{ic|sddm.conf}}:<br />
<br />
{{hc|<br />
1=/etc/sddm.conf|<br />
2=[XDisplay]<br />
MinimumVT=7}}</div>Majewskyhttps://wiki.archlinux.org/index.php?title=SDDM&diff=345048SDDM2014-11-16T20:37:53Z<p>Majewsky: </p>
<hr />
<div>[[Category:KDE]][[Category:Display managers]]<br />
{{Related articles start}}<br />
{{Related|Display manager}}<br />
{{Related|KDE}}<br />
{{Related articles end}}<br />
The [[Wikipedia:Simple Desktop Display Manager|Simple Desktop Display Manager]] (SDDM) is the preferred [[display manager]] for [[KDE|KDE 5's]] Plasma desktop. From Wikipedia:<br />
<br />
:''Simple Desktop Display Manager (SDDM) is a display manager (a graphical login program) for the windowing systems X11 and Wayland. SDDM was written from scratch in C++11 and supports theming via QML. It is the successor of the KDE Display Manager and is used in conjunction with KDE Frameworks 5, KDE Plasma 5 and KDE Applications 5.''<br />
<br />
== Installation ==<br />
<br />
[[pacman|Install]] the {{Pkg|sddm}} package from the [[official repositories]].<br />
<br />
Then follow [[Display manager#Loading the display manager]] to start SDDM at boot. If you're migrating from KDM, the following should work for you:<br />
<br />
{{hc |<br />
# systemctl disable kdm && systemctl enable sddm |<br />
Removed symlink /etc/systemd/system/display-manager.service.<br />
Created symlink from /etc/systemd/system/display-manager.service to /usr/lib/systemd/sddm.service.}}<br />
<br />
== Configuration ==<br />
<br />
The configuration file for SDDM can be found at {{ic|/etc/sddm.conf}}. See {{ic|man sddm.conf}} for all options.<br />
<br />
On systems controlled by [[systemd]], everything should work out of the box, since SDDM defaults to using {{ic|systemd-logind}} for session management. The configuration file will therefore not be created at package installation time. SDDM offers a command for generating a sample configuration file with the default settings if you really want one:<br />
<br />
# sddm --example-config > /etc/sddm.conf<br />
<br />
=== Autologin ===<br />
<br />
Like KDM, SDDM supports automatic login through its configuration file, for example:<br />
<br />
{{hc|<br />
1=/etc/sddm.conf|<br />
2=[Autologin]<br />
User=john<br />
Session=kde-plasma.desktop<br />
}}<br />
<br />
This configuration causes a KDE Plasma session to be started for user {{ic|john}} when the system is booted. Available session types can be found in {{ic|ls /usr/share/xsessions/}}.<br />
<br />
{{Warning|If wrongly configured, automatic login could cause an attacker that has physical access to your notebook to break into your desktop effortlessly. It should only be enabled when another authentication prompt secures the system, e.&nbsp;g.&nbsp;the passphrase for your [[Encrypted Root Filesystem|encrypted root filesystem]].}}<br />
<br />
An option to autologin into KDE Plasma while simultaneously locking the session is not available [https://github.com/sddm/sddm/issues/306 as of the time of this writing].<br />
<br />
== Troubleshooting ==<br />
<br />
=== No desktop effects in KDE Plasma ===<br />
<br />
When I changed from KDM to SDDM and logged into KDE Plasma 4, desktop effects were disabled and could not be enabled. It turned out that SDDM wrongly started KDE Plasma in ''Failsafe'' mode. If you cannot enable desktop effects, log out and check the session selection in SDDM before logging back in.</div>Majewskyhttps://wiki.archlinux.org/index.php?title=SDDM&diff=345047SDDM2014-11-16T20:33:43Z<p>Majewsky: /* Configuration */</p>
<hr />
<div>[[Category:KDE]][[Category:Display managers]]<br />
{{Related articles start}}<br />
{{Related|Display manager}}<br />
{{Related|KDE}}<br />
{{Related articles end}}<br />
The [[Wikipedia:Simple Desktop Display Manager|Simple Desktop Display Manager]] (SDDM) is the preferred [[display manager]] for [[KDE|KDE 5's]] Plasma desktop. From Wikipedia:<br />
<br />
:''Simple Desktop Display Manager (SDDM) is a display manager (a graphical login program) for the windowing systems X11 and Wayland. SDDM was written from scratch in C++11 and supports theming via QML. It is the successor of the KDE Display Manager and is used in conjunction with KDE Frameworks 5, KDE Plasma 5 and KDE Applications 5.''<br />
<br />
== Installation ==<br />
<br />
[[pacman|Install]] the {{Pkg|sddm}} package from the [[official repositories]].<br />
<br />
Then follow [[Display manager#Loading the display manager]] to start SDDM at boot. If you're migrating from KDM, the following should work for you:<br />
<br />
{{hc |<br />
# systemctl disable kdm && systemctl enable sddm |<br />
Removed symlink /etc/systemd/system/display-manager.service.<br />
Created symlink from /etc/systemd/system/display-manager.service to /usr/lib/systemd/sddm.service.}}<br />
<br />
== Configuration ==<br />
<br />
The configuration file for SDDM can be found at {{ic|/etc/sddm.conf}}. See {{ic|man sddm.conf}} for all options.<br />
<br />
On systems controlled by [[systemd]], everything should work out of the box, since SDDM defaults to using {{ic|systemd-logind}} for session management. The configuration file will therefore not be created at package installation time. SDDM offers a command for generating a sample configuration file with the default settings if you really want one:<br />
<br />
# sddm --example-config > /etc/sddm.conf<br />
<br />
=== Autologin ===<br />
<br />
Like KDM, SDDM supports automatic login through its configuration file, for example:<br />
<br />
{{hc|<br />
1=/etc/sddm.conf|<br />
2=[Autologin]<br />
User=john<br />
Session=kde-plasma.desktop<br />
}}<br />
<br />
This configuration causes a KDE Plasma session to be started for user {{ic|john}} when the system is booted. Available session types can be found in {{ic|ls /usr/share/xsessions/}}.<br />
<br />
{{Warning|If wrongly configured, automatic login could cause an attacker that has physical access to your notebook to break into your desktop effortlessly. It should only be enabled when another authentication prompt secures the system, e.&nbsp;g.&nbsp;the passphrase for your [[Encrypted Root Filesystem|encrypted root filesystem]].}}<br />
<br />
== Troubleshooting ==<br />
<br />
=== No desktop effects in KDE Plasma ===<br />
<br />
When I changed from KDM to SDDM and logged into KDE Plasma 4, desktop effects were disabled and could not be enabled. It turned out that SDDM wrongly started KDE Plasma in ''Failsafe'' mode. If you cannot enable desktop effects, log out and check the session selection in SDDM before logging back in.</div>Majewskyhttps://wiki.archlinux.org/index.php?title=SDDM&diff=345042SDDM2014-11-16T20:22:55Z<p>Majewsky: /* Configuration */</p>
<hr />
<div>[[Category:KDE]][[Category:Display managers]]<br />
{{Related articles start}}<br />
{{Related|Display manager}}<br />
{{Related|KDE}}<br />
{{Related articles end}}<br />
The [[Wikipedia:Simple Desktop Display Manager|Simple Desktop Display Manager]] (SDDM) is the preferred [[display manager]] for [[KDE|KDE 5's]] Plasma desktop. From Wikipedia:<br />
<br />
:''Simple Desktop Display Manager (SDDM) is a display manager (a graphical login program) for the windowing systems X11 and Wayland. SDDM was written from scratch in C++11 and supports theming via QML. It is the successor of the KDE Display Manager and is used in conjunction with KDE Frameworks 5, KDE Plasma 5 and KDE Applications 5.''<br />
<br />
== Installation ==<br />
<br />
[[pacman|Install]] the {{Pkg|sddm}} package from the [[official repositories]].<br />
<br />
Then follow [[Display manager#Loading the display manager]] to start SDDM at boot. If you're migrating from KDM, the following should work for you:<br />
<br />
{{hc |<br />
# systemctl disable kdm && systemctl enable sddm |<br />
Removed symlink /etc/systemd/system/display-manager.service.<br />
Created symlink from /etc/systemd/system/display-manager.service to /usr/lib/systemd/sddm.service.}}<br />
<br />
== Configuration ==<br />
<br />
The configuration file for SDDM can be found at {{ic|/etc/sddm.conf}}. See {{ic|man sddm.conf}} for all options.<br />
<br />
On systems controlled by [[systemd]], everything should work out of the box, since SDDM defaults to using {{ic|systemd-logind}} for session management. The configuration file will therefore not be created at package installation time. SDDM offers a command for generating a sample configuration file:<br />
<br />
# sddm --example-config > /etc/sddm.conf<br />
<br />
=== Autologin ===<br />
<br />
{{Stub|I'm working on this right now as I try to setup SDDM myself. -- [[User:Majewsky|Majewsky]] ([[User talk:Majewsky|talk]]) 19:54, 16 November 2014 (UTC)}}</div>Majewskyhttps://wiki.archlinux.org/index.php?title=SDDM&diff=345041SDDM2014-11-16T20:22:32Z<p>Majewsky: /* Configuration */</p>
<hr />
<div>[[Category:KDE]][[Category:Display managers]]<br />
{{Related articles start}}<br />
{{Related|Display manager}}<br />
{{Related|KDE}}<br />
{{Related articles end}}<br />
The [[Wikipedia:Simple Desktop Display Manager|Simple Desktop Display Manager]] (SDDM) is the preferred [[display manager]] for [[KDE|KDE 5's]] Plasma desktop. From Wikipedia:<br />
<br />
:''Simple Desktop Display Manager (SDDM) is a display manager (a graphical login program) for the windowing systems X11 and Wayland. SDDM was written from scratch in C++11 and supports theming via QML. It is the successor of the KDE Display Manager and is used in conjunction with KDE Frameworks 5, KDE Plasma 5 and KDE Applications 5.''<br />
<br />
== Installation ==<br />
<br />
[[pacman|Install]] the {{Pkg|sddm}} package from the [[official repositories]].<br />
<br />
Then follow [[Display manager#Loading the display manager]] to start SDDM at boot. If you're migrating from KDM, the following should work for you:<br />
<br />
{{hc |<br />
# systemctl disable kdm && systemctl enable sddm |<br />
Removed symlink /etc/systemd/system/display-manager.service.<br />
Created symlink from /etc/systemd/system/display-manager.service to /usr/lib/systemd/sddm.service.}}<br />
<br />
== Configuration ==<br />
<br />
The configuration file for SDDM can be found at {{ic|/etc/sddm.conf}}. See {{ic|man sddm.conf}} for all options.<br />
<br />
On systems controlled by [[systemd]], everything should work out of the box, since SDDM defaults to using {{ic|systemd-logind}} and [[PAM]] for session management. The configuration file will therefore not be created at package installation time. SDDM offers a command for generating a sample configuration file:<br />
<br />
# sddm --example-config > /etc/sddm.conf<br />
<br />
=== Autologin ===<br />
<br />
{{Stub|I'm working on this right now as I try to setup SDDM myself. -- [[User:Majewsky|Majewsky]] ([[User talk:Majewsky|talk]]) 19:54, 16 November 2014 (UTC)}}</div>Majewskyhttps://wiki.archlinux.org/index.php?title=Display_manager&diff=345040Display manager2014-11-16T20:11:16Z<p>Majewsky: SDDM is now a proper page</p>
<hr />
<div>[[Category:Display managers]]<br />
[[ar:Display Manager]]<br />
[[cs:Display Manager]]<br />
[[de:Login-Manager]]<br />
[[es:Display Manager]]<br />
[[fr:Gestionnaire de connexions]]<br />
[[he:Display Manager]]<br />
[[it:Display Manager]]<br />
[[ja:Display Manager]]<br />
[[pt:Display Manager]]<br />
[[ru:Display manager]]<br />
[[tr:Görüntü_yöneticisi]]<br />
[[uk:Display Manager]]<br />
[[zh-CN:Display manager]]<br />
[[zh-TW:Display Manager]]<br />
{{Related articles start}}<br />
{{Related|Desktop environment}}<br />
{{Related|Window manager}}<br />
{{Related|Start X at Login}}<br />
{{Related articles end}}<br />
<br />
A [[Wikipedia:X display manager (program type)|display manager]], or login manager, is typically a graphical user interface that is displayed at the end of the boot process in place of the default shell. There are various implementations of display managers, just as there are various types of [[window managers]] and [[Desktop environment|desktop environments]]. There is usually a certain amount of customization and themeability available with each one.<br />
<br />
== List of display managers ==<br />
<br />
=== Console ===<br />
<br />
* {{App|[[CDM]]|Ultra-minimalistic, yet full-featured login manager written in Bash.|https://github.com/ghost1227/cdm|{{AUR|cdm-git}}}}<br />
* {{App|[[Console TDM]]|Extension for ''xinit'' written in pure Bash.|http://code.google.com/p/t-display-manager/|{{AUR|console-tdm}}}}<br />
<br />
=== Graphical ===<br />
<br />
* {{App|[[Enlightenment|Entrance]]|An EFL based display manager, highly experimental.|http://enlightenment.org/|{{AUR|entrance-git}}}}<br />
* {{App|[[GDM]]|[[GNOME]] display manager.|http://projects.gnome.org/gdm/|{{Pkg|gdm}}}}<br />
* {{App|[[KDM]]|[[KDE]] display manager.|http://www.kde.org/|{{Pkg|kdebase-workspace}}}}<br />
* {{App|[[LightDM]]|Cross-desktop display manager, can use various front-ends written in any toolkit.|http://www.freedesktop.org/wiki/Software/LightDM|{{Pkg|lightdm}}}}<br />
* {{App|[[LXDM]]|[[LXDE]] display manager. Can be used independent of the LXDE desktop environment.|http://sourceforge.net/projects/lxdm/|{{Pkg|lxdm}}}}<br />
* {{App|MDM|MDM display manager, used in Linux Mint, a fork of GDM 2.|https://github.com/linuxmint/mdm|{{AUR|mdm-display-manager}}}}<br />
* {{App|[[Qingy]]|Ultralight and very configurable graphical login independent on X Windows (uses DirectFB).|http://qingy.sourceforge.net/|{{AUR|qingy}}}}<br />
* {{App|[[SDDM]]|QML-based display manager.|https://github.com/sddm/sddm|{{Pkg|sddm}}}}<br />
* {{App|[[SLiM]]|Lightweight and elegant graphical login solution.|http://sourceforge.net/projects/slim.berlios/|{{Pkg|slim}}}}<br />
* {{App|[[XDM]]|X display manager with support for XDMCP, host chooser.|http://www.x.org/archive/X11R7.5/doc/man/man1/xdm.1.html|{{Pkg|xorg-xdm}}}}<br />
<br />
== Loading the display manager ==<br />
<br />
To enable graphical login, run your preferred display manager daemon (e.g. KDM).<br />
<br />
# systemctl enable kdm<br />
<br />
This should work out of the box. If not, you might have a ''default.target'' set manually or from an older install:<br />
<br />
{{hc|$ ls -l /etc/systemd/system/default.target|<br />
[...] /etc/systemd/system/default.target -> /usr/lib/systemd/system/graphical.target}}<br />
<br />
Simply delete the symlink and ''systemd'' will use its stock ''default.target'' (i.e. ''graphical.target'').<br />
<br />
# rm /etc/systemd/system/default.target<br />
<br />
After enabling KDM a symlink ''display-manager.service'' should be set in {{ic|/etc/systemd/system/}}<br />
<br />
{{hc|$ ls -l /etc/systemd/system/display-manager.service|<br />
[...] /etc/systemd/system/display-manager.service -> /usr/lib/systemd/system/kdm.service}}<br />
<br />
=== Using systemd-logind ===<br />
<br />
In order to check the status of your user session, you can use {{ic|loginctl}}. All [[polkit]] actions like suspending the system or mounting external drives will work out of the box.<br />
<br />
$ loginctl show-session $XDG_SESSION_ID<br />
<br />
== Tips and tricks ==<br />
<br />
=== Session list ===<br />
<br />
Many display managers read available sessions from {{ic|/usr/share/xsessions/}} directory. It contains standard [http://standards.freedesktop.org/desktop-entry-spec/latest/ desktop entry files] for each DM/WM.<br />
<br />
To add/remove entries to your display manager's session list; create/remove the ''.desktop'' files in {{ic|/usr/share/xsessions/}} as desired. A typical ''.desktop'' file will look something like:<br />
<br />
[Desktop Entry]<br />
Encoding=UTF-8<br />
Name=Openbox<br />
Comment=Log in using the Openbox window manager (without a session manager)<br />
Exec=/usr/bin/openbox-session<br />
TryExec=/usr/bin/openbox-session<br />
Icon=openbox.png<br />
Type=XSession<br />
<br />
=== Starting applications without a window manager ===<br />
<br />
You can also launch an application without any decoration, desktop, or window management. For example to launch {{AUR|google-chrome}} create a {{ic|web-browser.desktop}} file in {{ic|/usr/share/xsessions/}} like this:<br />
<br />
[Desktop Entry]<br />
Encoding=UTF-8<br />
Name=Web Browser<br />
Comment=Use a web browser as your session<br />
Exec=/usr/bin/google-chrome --auto-launch-at-startup<br />
TryExec=/usr/bin/google-chrome --auto-launch-at-startup<br />
Icon=google-chrome<br />
<br />
In this case, once you login, the application set with {{ic|Exec}} will be launched immediately. When you close the application, you will be taken back to the login manager (same as logging out of a normal DE/WM).<br />
<br />
It is important to remember that most graphical applications are not intended to be launched this way and you might have manual tweaking to do or limitations to live with (there is no window manager, so do not expect to be able to move or resize ''any'' windows, including dialogs; nonetheless, you might be able to set the window geometry in the application's configuration files.<br />
<br />
See also [[xinitrc#Starting applications without a window manager]].<br />
<br />
=== Autostarting ===<br />
<br />
Most of display managers sources {{ic|/etc/xprofile}}, {{ic|~/.xprofile}} and {{ic|/etc/X11/xinit/xinitrc.d/}}. For more details, see [[xprofile]].<br />
<br />
== Known issues ==<br />
<br />
=== Incompatibility with systemd ===<br />
<br />
''Affected DMs: Entrance, MDM<br />
<br />
Some display managers are not fully compatible with systemd, because they reuse the PAM session process. It causes various problems on second login, e.g.:<br />
* NetworkManager applet does not work,<br />
* PulseAudio volume cannot be adjusted,<br />
* login failed into GNOME with another user.<br />
<br />
See the following bugtracker reports for more details:<br />
* MDM: [https://github.com/linuxmint/mdm/issues/32]</div>Majewskyhttps://wiki.archlinux.org/index.php?title=SDDM&diff=345038SDDM2014-11-16T20:06:28Z<p>Majewsky: /* Installation */ - migrate from KDM</p>
<hr />
<div>[[Category:KDE]][[Category:Display managers]]<br />
{{Related articles start}}<br />
{{Related|Display manager}}<br />
{{Related|KDE}}<br />
{{Related articles end}}<br />
The [[Wikipedia:Simple Desktop Display Manager|Simple Desktop Display Manager]] (SDDM) is the preferred [[display manager]] for [[KDE|KDE 5's]] Plasma desktop. From Wikipedia:<br />
<br />
:''Simple Desktop Display Manager (SDDM) is a display manager (a graphical login program) for the windowing systems X11 and Wayland. SDDM was written from scratch in C++11 and supports theming via QML. It is the successor of the KDE Display Manager and is used in conjunction with KDE Frameworks 5, KDE Plasma 5 and KDE Applications 5.''<br />
<br />
== Installation ==<br />
<br />
[[pacman|Install]] the {{Pkg|sddm}} package from the [[official repositories]].<br />
<br />
Then follow [[Display manager#Loading the display manager]] to start SDDM at boot. If you're migrating from KDM, the following should work for you:<br />
<br />
{{hc |<br />
# systemctl disable kdm && systemctl enable sddm |<br />
Removed symlink /etc/systemd/system/display-manager.service.<br />
Created symlink from /etc/systemd/system/display-manager.service to /usr/lib/systemd/sddm.service.}}<br />
<br />
== Configuration ==<br />
<br />
{{Stub|I'm working on this right now as I try to setup SDDM myself. -- [[User:Majewsky|Majewsky]] ([[User talk:Majewsky|talk]]) 19:54, 16 November 2014 (UTC)}}</div>Majewskyhttps://wiki.archlinux.org/index.php?title=SDDM&diff=345037SDDM2014-11-16T19:54:31Z<p>Majewsky: start a useful SDDM wikipage</p>
<hr />
<div>[[Category:KDE]][[Category:Display managers]]<br />
{{Related articles start}}<br />
{{Related|Display manager}}<br />
{{Related|KDE}}<br />
{{Related articles end}}<br />
The [[Wikipedia:Simple Desktop Display Manager|Simple Desktop Display Manager]] (SDDM) is the preferred [[display manager]] for [[KDE|KDE 5's]] Plasma desktop. From Wikipedia:<br />
<br />
:''Simple Desktop Display Manager (SDDM) is a display manager (a graphical login program) for the windowing systems X11 and Wayland. SDDM was written from scratch in C++11 and supports theming via QML. It is the successor of the KDE Display Manager and is used in conjunction with KDE Frameworks 5, KDE Plasma 5 and KDE Applications 5.''<br />
<br />
== Installation ==<br />
<br />
[[pacman|Install]] the {{Pkg|sddm}} package from the [[official repositories]].<br />
<br />
Then follow [[Display manager#Loading the display manager]] to start SDDM at boot.<br />
<br />
== Configuration ==<br />
<br />
{{Stub|I'm working on this right now as I try to setup SDDM myself. -- [[User:Majewsky|Majewsky]] ([[User talk:Majewsky|talk]]) 19:54, 16 November 2014 (UTC)}}</div>Majewskyhttps://wiki.archlinux.org/index.php?title=Pacman&diff=247303Pacman2013-02-14T12:57:58Z<p>Majewsky: /* Troubleshooting */</p>
<hr />
<div>[[Category:Package management]]<br />
[[cs:Pacman]]<br />
[[da:Pacman]]<br />
[[de:Pacman]]<br />
[[el:Pacman]]<br />
[[es:Pacman]]<br />
[[fr:Pacman]]<br />
[[id:Pacman]]<br />
[[it:Pacman]]<br />
[[ja:Pacman]]<br />
[[ko:Pacman]]<br />
[[lt:Pacman]]<br />
[[nl:Pacman]]<br />
[[pl:Pacman]]<br />
[[pt:Pacman]]<br />
[[ro:Pacman]]<br />
[[ru:Pacman]]<br />
[[sr:Pacman]]<br />
[[sv:Pacman]]<br />
[[tr:pacman]]<br />
[[uk:Pacman]]<br />
[[zh-CN:Pacman]]<br />
[[zh-TW:Pacman]]<br />
{{Lowercase title}}<br />
{{Article summary start}}<br />
{{Article summary text|Pacman is the Arch Linux [[Wikipedia:Package management system|package manager]]. Package managers are used to install, upgrade, and remove software. This article covers basic usage and troubleshooting tips.}}<br />
{{Article summary heading|Overview}}<br />
{{Article summary text|{{Package management overview}}}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|Downgrading Packages}}<br />
{{Article summary wiki|Improve Pacman Performance}}<br />
{{Article summary wiki|Pacman GUI Frontends}}<br />
{{Article summary wiki|Pacman Rosetta}}<br />
{{Article summary wiki|Pacman Tips}}<br />
{{Article summary wiki|Pacman package signing}}<br />
{{Article summary wiki|FAQ#Package Management}}<br />
{{Article summary wiki|pacman-key}}<br />
{{Article summary wiki|Pacnew and Pacsave Files}}<br />
{{Article summary heading|Resources}}<br />
{{Article summary link|libalpm(3) Manual Page|https://www.archlinux.org/pacman/libalpm.3.html}}<br />
{{Article summary link|pacman(8) Manual Page|https://www.archlinux.org/pacman/pacman.8.html}}<br />
{{Article summary link|pacman.conf(5) Manual Page|https://www.archlinux.org/pacman/pacman.conf.5.html}}<br />
{{Article summary link|repo-add(8) Manual Page|https://www.archlinux.org/pacman/repo-add.8.html}}<br />
{{Article summary end}}<br />
<br />
The '''[https://www.archlinux.org/pacman/ pacman]''' [[Wikipedia:Package management system|package manager]] is one of the major distinguishing features of Arch Linux. It combines a simple binary package format with an easy-to-use [[Arch Build System|build system]]. The goal of pacman is to make it possible to easily manage packages, whether they are from the [[Official Repositories|official Arch repositories]] or the user's own builds.<br />
<br />
Pacman keeps the system up to date by synchronizing package lists with the master server. This server/client model also allows user to download/install packages with a simple command, complete with all required dependencies.<br />
<br />
Pacman is written in the C programming language and uses the {{ic|.pkg.tar.xz}} package format.<br />
<br />
{{Tip|The official {{Pkg|pacman}} package also contains other useful tools, such as '''makepkg''', '''pactree''', '''vercmp''' and more. The full list from {{ic|pacman -Ql pacman <nowiki>|</nowiki> grep bin}} }}<br />
<br />
== Configuration ==<br />
<br />
Pacman's settings are located in {{ic|/etc/pacman.conf}}. This is the place where the user configures the program to work in the desired manner. In-depth information about the configuration file can be found in [https://www.archlinux.org/pacman/pacman.conf.5.html man pacman.conf].<br />
<br />
=== General options ===<br />
<br />
General options are in the {{ic|[options]}} section. Read the man page or look in the default {{ic|pacman.conf}} for information on what can be done here.<br />
<br />
==== Skip package from being upgraded ====<br />
<br />
To skip upgrading a specific package, specify it as such:<br />
<br />
IgnorePkg=linux<br />
<br />
For multiple packages use a space-separated list, or use additional {{ic|IgnorePkg}} lines.<br />
<br />
==== Skip package group from being upgraded ====<br />
<br />
As with packages, skipping a whole package group is also possible:<br />
<br />
IgnoreGroup=gnome<br />
<br />
==== Skip files from being installed to system ====<br />
<br />
To always skip installation of specific directories list them under {{Ic|NoExtract}}. For example, to avoid installation of [[systemd]] units use this:<br />
<br />
NoExtract=usr/lib/systemd/system/*<br />
<br />
=== Repositories ===<br />
<br />
This section defines which [[Official Repositories|repositories]] to use, as referred to in {{ic|/etc/pacman.conf}}. They can be stated here directly or included from another file (such as {{ic|/etc/pacman.d/mirrorlist}}), thus making it necessary to maintain only one list.<br />
<br />
{{hc|/etc/pacman.conf|2=<br />
#[testing]<br />
#SigLevel = PackageRequired<br />
#Include = /etc/pacman.d/mirrorlist<br />
<br />
[core]<br />
SigLevel = PackageRequired<br />
Include = /etc/pacman.d/mirrorlist<br />
<br />
[extra]<br />
SigLevel = PackageRequired<br />
Include = /etc/pacman.d/mirrorlist<br />
<br />
#[community-testing]<br />
#SigLevel = PackageRequired<br />
#Include = /etc/pacman.d/mirrorlist<br />
<br />
[community]<br />
SigLevel = PackageRequired<br />
Include = /etc/pacman.d/mirrorlist<br />
<br />
# Users If you want to run 32 bit applications on your x86_64 system,<br />
# enable the multilib repositories as required here.<br />
<br />
#[multilib-testing]<br />
#SigLevel = PackageRequired<br />
#Include = /etc/pacman.d/mirrorlist<br />
<br />
#[multilib]<br />
#SigLevel = PackageRequired<br />
#Include = /etc/pacman.d/mirrorlist<br />
<br />
# An example of a custom package repository. See the pacman manpage for<br />
# tips on creating your own repositories.<br />
#[custom]<br />
#SigLevel = Optional TrustAll<br />
#Server = file:///home/custompkgs}}<br />
<br />
{{Warning|Care should be taken when using the [testing] repository. It is in active development and updating may cause some packages to stop working. People who use the [testing] repository are encouraged to subscribe to the [https://mailman.archlinux.org/mailman/listinfo/arch-dev-public arch-dev-public mailing list] for current information.}}<br />
<br />
=== Package security ===<br />
<br />
Pacman 4 supports signed packages, which adds an extra layer of security to the packages. To enable signature verification, take a look [[pacman-key|here]].<br />
<br />
== Usage ==<br />
<br />
What follows is just a small sample of the operations that pacman can perform. To read more examples, refer to [https://www.archlinux.org/pacman/pacman.8.html man pacman]. For an introduction, see [[pacman - An Introduction]]. <br />
<br />
=== Installing packages ===<br />
<br />
==== Installing specific packages ====<br />
<br />
To install a single package or list of packages (including dependencies), issue the following command:<br />
<br />
# pacman -S ''package_name1'' ''package_name2'' ...<br />
<br />
Sometimes there are multiple versions of a package in different repositories, e.g. [extra] and [testing]. To install the former version, the repository needs to be defined in front:<br />
<br />
# pacman -S extra/''package_name''<br />
<br />
==== Installing package groups ====<br />
<br />
Some packages belong to a group of packages that can all be installed simultaneously. For example, issuing the command:<br />
<br />
# pacman -S gnome<br />
<br />
will install all the packages that belong to the {{ic|gnome}} group. To see what packages belong to the gnome group, run:<br />
<br />
# pacman -Sg gnome<br />
<br />
Also visit https://www.archlinux.org/groups/ to see what package groups are available.<br />
<br />
{{Note|If a package in the list is already installed on the system, it will be reinstalled even if it is already up to date. This behavior can be overridden with the {{ic|--needed}} option.}}<br />
<br />
{{Warning|1=When installing packages, do '''not''' refresh the package list without [[#Upgrading packages|upgrading]] the system (i.e. {{ic|pacman -Sy ''package_name''}}); this can lead to dependency issues. See [[#Partial upgrades are unsupported]] and https://bbs.archlinux.org/viewtopic.php?id=89328.}}<br />
<br />
=== Removing packages ===<br />
<br />
To remove a single package, leaving all of its dependencies installed:<br />
<br />
# pacman -R ''package_name''<br />
<br />
To remove a package and its dependencies which are not required by any other installed package:<br />
<br />
# pacman -Rs ''package_name''<br />
<br />
To remove a package, its dependencies and all the packages that depend on the target package:<br />
<br />
{{Warning|This operation is recursive, and must be used with care since it can remove many potentially needed packages.}}<br />
<br />
# pacman -Rsc ''package_name''<br />
<br />
To remove a package, which is required by another package, without removing the dependent package:<br />
<br />
# pacman -Rdd ''package_name''<br />
<br />
Pacman saves important configuration files when removing certain applications and names them with the extension: {{ic|.pacsave}}. To prevent the creation of these backup files use the {{ic|-n}} option:<br />
<br />
# pacman -Rn ''package_name''<br />
<br />
{{Note|Pacman will not remove configurations that the application itself creates (for example "dotfiles" in the home folder).}}<br />
<br />
=== Upgrading packages ===<br />
<br />
Pacman can update all packages on the system with just one command. This could take quite a while depending on how up-to-date the system is. This command can synchronize the repository databases ''and'' update the system's packages (excluding 'local' packages that are not in the configured repositories):<br />
<br />
# pacman -Syu<br />
<br />
{{Warning|Instead of immediately updating as soon as updates are available, users must recognize that due to the nature of Arch's rolling release approach, an update may have unforeseen consequences. This means that it is not wise to update if, for example, one is about to deliver an important presentation. Rather, update during free time and be prepared to deal with any problems that may arise.}}<br />
<br />
Pacman is a powerful package management tool, but it does not attempt to handle all corner cases. Read [[The Arch Way]] if this causes confusion. Users must be vigilant and take responsibility for maintaining their own system. '''When performing a system update, it is essential that users read all information output by pacman and use common sense.''' If a user-modified configuration file needs to be upgraded for a new version of a package, a {{ic|.pacnew}} file will be created to avoid overwriting settings modified by the user. Pacman will prompt the user to merge them. These files require manual intervention from the user and it is good practice to handle them right after every package upgrade or removal. See [[Pacnew and Pacsave Files]] for more info.<br />
<br />
{{Tip|Remember that pacman's output is logged in {{ic|/var/log/pacman.log}}.}}<br />
<br />
Before upgrading, it is advisable to visit the [https://www.archlinux.org/ Arch Linux home page] to check the latest news (or subscribe to the RSS feed): when updates require out-of-the-ordinary user intervention (more than what can be handled simply by following the instructions given by pacman), an appropriate news post will be made.<br />
<br />
If one encounters problems that cannot be solved by these instructions, make sure to search the forum. It is likely that others have encountered the same problem and have posted instructions for solving it.<br />
<br />
=== Querying package databases ===<br />
<br />
Pacman queries the local package database with the {{ic|-Q}} flag; see:<br />
<br />
$ pacman -Q --help<br />
<br />
and queries the sync databases with the {{ic|-S}} flag; see:<br />
<br />
$ pacman -S --help<br />
<br />
Pacman can search for packages in the database, searching both in packages' names and descriptions:<br />
<br />
$ pacman -Ss ''string1'' ''string2'' ...<br />
<br />
To search for already installed packages:<br />
<br />
$ pacman -Qs ''string1'' ''string2'' ...<br />
<br />
To display extensive information about a given package:<br />
<br />
$ pacman -Si ''package_name''<br />
<br />
For locally installed packages:<br />
<br />
$ pacman -Qi ''package_name''<br />
<br />
Passing two {{ic|-i}} flags will also display the list of backup files and their modification states:<br />
<br />
$ pacman -Qii ''package_name''<br />
<br />
To retrieve a list of the files installed by a package:<br />
<br />
$ pacman -Ql ''package_name''<br />
<br />
For packages not installed, use [[pkgfile]].<br />
<br />
One can also query the database to know which package a file in the file system belongs to:<br />
<br />
$ pacman -Qo ''/path/to/file_name''<br />
<br />
To list all packages no longer required as dependencies (orphans):<br />
<br />
$ pacman -Qdt<br />
<br />
To list a dependency tree of a package:<br />
<br />
$ pactree ''package_name''<br />
<br />
To list all the packages depending on a package, use {{ic|whoneeds}} from [[pkgtools]]:<br />
<br />
$ whoneeds ''package_name''<br />
<br />
=== Additional commands ===<br />
<br />
Upgrade the system and install a list of packages (one-liner):<br />
<br />
# pacman -Syu ''package_name1'' ''package_name2'' ...<br />
<br />
Download a package without installing it:<br />
<br />
# pacman -Sw ''package_name''<br />
<br />
Install a 'local' package that is not from a remote repository (e.g. the package is from the [[Arch User Repository|AUR]]):<br />
<br />
# pacman -U /path/to/package/package_name-version.pkg.tar.xz<br />
<br />
{{Tip| To keep a copy of the local package in pacman's cache, use :<br />
{{bc|<nowiki><br />
# pacman -U file://path/to/package/package_name-version.pkg.tar.xz<br />
</nowiki>}}<br />
}}<br />
<br />
Install a 'remote' package (not from a repository stated in pacman's configuration files):<br />
<br />
# pacman -U <nowiki>http://www.example.com/repo/example.pkg.tar.xz</nowiki><br />
<br />
Clean the package cache of packages that are not currently installed ({{ic|/var/cache/pacman/pkg}}):<br />
<br />
{{Warning|Only do this if certain that the installed packages are stable and that a [[Downgrading Packages|downgrade]] will not be necessary, since it will remove all of the old versions from the cache folder, leaving behind only the versions of the packages that are currently installed. Having older versions of packages comes in handy in case a future upgrade causes breakage.}}<br />
<br />
# pacman -Sc<br />
<br />
Clean the entire package cache:<br />
<br />
{{Warning|This clears out the entire package cache. Doing this is considered a bad practice; it prevents the ability to downgrade something directly from the cache folder. Users will be forced to have to use an alternative source of deprecated packages such as the [[Downgrading Packages#ARM|Arch Rollback Machine]].}}<br />
<br />
# pacman -Scc<br />
<br />
{{Tip|As an alternative to both the {{ic|-Sc}} and {{ic|-Scc}} switches, consider using {{ic|paccache}} from {{pkg|pacman-contrib}}. This offers more control over what and how many packages are deleted. Run {{ic|paccache -h}} for instructions.}}<br />
<br />
=== Partial upgrades are unsupported ===<br />
<br />
Arch Linux is a rolling release, and new [[Wikipedia:Library (computing)|library]] versions will be pushed to the repositories. The developers and Trusted Users will rebuild all the packages in the repositories that need to be rebuilt against the libraries. If the system has locally installed packages (such as [[Arch User Repository|AUR]] packages), users will need to rebuild them when their dependencies receive a [[Wikipedia:soname|soname]] bump.<br />
<br />
This means that partial upgrades are '''not supported'''. Do not use {{ic|pacman -Sy package}} or any equivalent such as {{ic|pacman -Sy}} and then {{ic|pacman -S package}}. Always upgrade before installing a package -- particularly if pacman has refreshed the sync repositories. Be very careful when using {{ic|IgnorePkg}} and {{ic|IgnoreGroup}} for the same reason.<br />
<br />
If a partial upgrade scenario has been created, and binaries are broken because they cannot find the libraries they are linked against, '''do not "fix" the problem simply by symlinking'''. Libraries receive [[Wikipedia:soname|soname]] bumps when they are '''not backwards compatible'''. A simple {{ic|pacman -Syu}} to a properly synced mirror will fix the issue as long as pacman is not broken.<br />
<br />
== Troubleshooting ==<br />
<br />
{{FAQ<br />
|question=An update to package XYZ broke my system!<br />
|answer=Arch Linux is a rolling-release cutting-edge distribution. Package updates are available as soon as they are deemed stable enough for general use. However, updates sometimes require user intervention: configuration files may need to be updated, optional dependencies may change, etc.<br />
<br />
The most important tip to remember is to not "blindly" update Arch systems. Always read the list of packages to be updated. Note whether "critical" packages are going to be updated ({{Pkg|linux}}, {{Pkg|xorg-server}}, and so on). If so, it is usually a good idea to check for any news at https://www.archlinux.org/ and scan recent forum posts to see if people are experiencing problems as a result of an update.<br />
<br />
If a package update is expected/known to cause problems, packagers will ensure that pacman displays an appropriate message when the package is updated. If experiencing trouble after an update, double-check pacman's output by looking at the log ({{ic|/var/log/pacman.log}}). <br />
<br />
At this point, '''only after ensuring there is no information available through pacman, there is no relative news on https://www.archlinux.org/, and there are no forum posts regarding the update''', consider seeking help on the forum, over [[IRC Channel|IRC]], or [[Downgrading Packages|downgrading the offending package]].}}<br />
<br />
{{FAQ<br />
|question=I know an update to package ABC was released, but pacman says my system is up to date!<br />
|answer=Pacman mirrors are not synced immediately. It may take over 24 hours before an update is available to you. The only options are be patient or use another mirror. [https://www.archlinux.org/mirrors/status/ MirrorStatus] can help you identify an up-to-date mirror.}}<br />
<br />
{{FAQ<br />
|question=I get an error when updating: "file exists in filesystem"!<br />
|answer=ASIDE: ''Taken from https://bbs.archlinux.org/viewtopic.php?id=56373 by Misfit138.''<br />
<br />
error: could not prepare transaction<br />
error: failed to commit transaction (conflicting files)<br />
package: /path/to/file exists in filesystem<br />
Errors occurred, no packages were upgraded.<br />
<br />
Why this is happening: pacman has detected a file conflict, and by design, will not overwrite files for you. This is a design feature, not a flaw. <br />
<br />
The issue is usually trivial to solve. A safe way is to first check if another package owns the file ({{ic|pacman -Qo /path/to/file}}). If the file is owned by another package, [[Reporting Bug Guidelines|file a bug report]]. If the file is not owned by another package, rename the file which 'exists in filesystem' and re-issue the update command. If all goes well, the file may then be removed.<br />
<br />
If you had installed a program manually without using pacman or a frontend, you have to remove it and all its files and reinstall properly using pacman.<br />
<br />
Every installed package provides {{ic|/var/lib/pacman/local/$package-$version/files}} file that contains metadata about this package. If this file gets corrupted - is empty or missing - it results in "file exists in filesystem" errors when trying to update the package. Such an error usually concerns only one package and instead of manually renaming and later removing all the files that belong to the package in question, you can run {{ic|pacman -S --force $package}} to force pacman to overwrite these files.<br />
<br />
Do '''not''' run {{ic|pacman -Syu --force}}.}}<br />
<br />
{{FAQ<br />
|question=I get an error when installing a package: "not found in sync db"<br />
|answer=Firstly, ensure the package actually exists (and watch out for typos!). If certain the package exists, your package list may be out-of-date or your repositories may be incorrectly configured. Try running {{ic|pacman -Syy}} to force a refresh of all package lists.}}<br />
<br />
{{FAQ<br />
|question=Pacman is repeatedly upgrading the same package!<br />
|answer=This is due to duplicate entries in {{ic|/var/lib/pacman/local/}}, such as two {{ic|linux}} instances. {{ic|pacman -Qi}} outputs the correct version, but {{ic|pacman -Qu}} recognizes the old version and therefore will attempt to upgrade.<br />
<br />
Solution: delete the offending entry in {{ic|/var/lib/pacman/local/}}.<br />
<br />
{{Note|Pacman version 3.4 should display an error in case of duplicate entries, which should make this note obsolete.}}}}<br />
<br />
{{FAQ<br />
|question=Pacman crashes during an upgrade!<br />
|answer=In the case that pacman crashes with a "database write" error whilst removing packages, and reinstalling or upgrading packages fails:<br />
<br />
# Boot using the Arch install media.<br />
# Mount your root filesystem.<br />
# Update the pacman database via {{ic|pacman -Syy}}.<br />
# Reinstall the broken package via {{ic|pacman -r /path/to/root -S package}}.}}<br />
<br />
{{FAQ<br />
|question=I installed software using "make install"; these files do not belong to any package!<br />
|answer=If receiving a "conflicting files" error, note that pacman will overwrite manually-installed software if supplied with the {{ic|--force}} switch ({{ic|pacman -S --force}}). See [[Pacman Tips#Identify files not owned by any package]] for a script that searches the file system for ''disowned'' files.<br />
{{Warning|Take care when using the {{ic|--force}} switch because it can cause major problems if used improperly.}}}}<br />
<br />
{{FAQ<br />
|question=I need a package with a specific file. How do I know what provides it?<br />
|answer=Install [[pkgfile]] which uses a separate database with all files and their associated packages.}}<br />
<br />
{{FAQ<br />
|question=Pacman is completely broken! How do I reinstall it?<br />
|answer=In the case that pacman is broken beyond repair, manually download the necessary packages ({{Pkg|openssl}}, {{Pkg|libarchive}}, and {{Pkg|pacman}}) and extract them to root. The pacman binary will be restored along with its default configuration file. Afterwards, reinstall these packages with pacman to maintain package database integrity. Additional information and an example (outdated) script that automates the process is available in [https://bbs.archlinux.org/viewtopic.php?id=95007 this] forum post.}}<br />
<br />
{{FAQ<br />
|question=After updating my system, I get a "unable to find root device" error after rebooting and my system will no longer boot<br />
|answer=Most likely your initramfs got broken during a kernel update (improper use of pacman's {{ic|--force}} option can be a cause). You have two options:<br />
<br />
'''1.''' Try the ''Fallback'' entry.<br />
<br />
: {{Tip|In case you removed this entry for whatever reason, you can always press the {{Keypress|Tab}} key when the bootloader menu shows up (for Syslinux) or {{Keypress|e}} (for GRUB), rename it {{ic|initramfs-linux-fallback.img}} and press {{Keypress|Enter}} or {{Keypress|b}} (depending on your bootloader) to boot with the new parameters.}}<br />
<br />
: Once the system starts, run this command (for the stock {{Pkg|linux}} kernel) either from the console or from a terminal to rebuild the initramfs image:<br />
<br />
: {{bc|# mkinitcpio -p linux}}<br />
<br />
'''2.''' If that doesn't work, from a 2012 Arch release (CD/DVD or USB stick), run:<br />
<br />
: {{Note|If you don't have a 2012 release or if you only have some other "live" Linux distribution laying around, you can [[chroot]] using the old fashion way. Obviously, there will be more typing than simply running the {{ic|arch-chroot}} script.}}<br />
<br />
: {{bc|<nowiki><br />
# mount /dev/sdxY /mnt #Your root partition.<br />
# mount /dev/sdxZ /mnt/boot #If you use a separate /boot partition.<br />
# arch-chroot /mnt<br />
# pacman -Syu mkinitcpio systemd linux</nowiki>}}<br />
<br />
: Reinstalling the kernel (the {{Pkg|linux}} package) will automatically re-generate the initramfs image with {{ic|mkinitcpio -p linux}}. There is no need to do this separately.<br />
<br />
: Afterwards, it's recommended that you run {{ic|exit}}, {{ic|umount /mnt/{boot,} }} and {{ic|reboot}}.<br />
<br />
: {{Note|If you cannot enter the arch-chroot or chroot environment but need to re-install packages you can use the command pacman -r /mnt -Syu foo bar to use pacman on your root partition.}}}}<br />
<br />
{{FAQ<br />
|question=Signature from "User <email@gmail.com>" is unknown trust, installation failed<br />
|answer=Follow [[pacman-key#Resetting all the keys]]. Or you can try to manually upgrade {{ic|archlinux-keyring}} package first, i.e. {{ic|pacman -S archlinux-keyring}}. }}<br />
<br />
{{FAQ<br />
|question=I keep getting a "failed to commit transaction (invalid or corrupted package)" error<br />
|answer=Look for {{ic|*.part}} files (partially downloaded packages) in {{ic|/var/cache/pacman/pkg}} and remove them (often caused by usage of custom {{ic|XferCommand}} in {{ic|pacman.conf}}).}}<br />
<br />
{{FAQ<br />
|question=I get an error every time I use pacman saying 'warning: current locale is invalid; using default "C" locale'. What do I do?<br />
|answer=As the error message says, your locale isn't correctly configured. See [[Locale]].}}<br />
<br />
{{FAQ<br />
|question=How can I get Pacman to honor my proxy settings?<br />
|answer=Make sure that the relevant environment variables ({{ic|$http_proxy}}, {{ic|$ftp_proxy}} etc.) are set up. If you use Pacman with [[sudo]], you need to configure sudo to [[sudo#Environment variables (Outdated?)|pass these environment variables to Pacman]].<br />
}}<br />
<br />
== See also ==<br />
<br />
* [[Common Applications/Utilities#Package management]]</div>Majewskyhttps://wiki.archlinux.org/index.php?title=ASUS_Zenbook_Prime_UX31A&diff=221518ASUS Zenbook Prime UX31A2012-09-04T20:20:56Z<p>Majewsky: /* keyboard backlight script */ - now available as a package</p>
<hr />
<div>[[Category:ASUS]]<br />
This page contains instructions, tips, pointers, and links for installing and configuring Arch Linux on the ASUS Zenbook UX31A and UX21A Ultrabooks. Most of it should also hold for UX32VD.<br />
<br />
See precedent generation [[ASUS Zenbook UX31E]] page that has mostly orthogonal information to those here (may be only partially applicable to UX31A)<br />
<br />
== Installation ==<br />
The following instructions cover a complete installation of a setup with [[dm-crypt with LUKS]] and [[LVM]] on the ASUS Zenbook UX31a.<br />
<br />
=== Notes ===<br />
{{Note|It is recommended to read the [[UEFI]], [[GPT]] and [[UEFI_Bootloaders]] pages before following those instructions.}}<br />
<br />
=== Prepare installation medium ===<br />
* Download the new Arch Linux ISO from the [https://www.archlinux.org/download/ Arch Linux download page].<br />
* Install it to your USB device (/dev/sdX) by running<br />
dd bs=5M if=archlinux-XXXX.YY.ZZ-dual.iso of=/dev/sdX<br />
<br />
=== Boot from USB medium ===<br />
Press {{keypress|Escape}} to get into the boot menu. If the USB bootable device is not listed, enter the configuration menu and directly press {{keypress|F10}} to save. Press {{keypress|Escape}} again on reboot: This time the USB bootable device should appear in the menu.<br />
<br />
Select 'Boot Arch Linux (x86_64)" and press {{keypress|Enter}}. The installation system will be booted and you will end up with a terminal.<br />
<br />
=== Partition the disk ===<br />
As earlier mentioned this installation covers a setup with an [[dm-crypt with LUKS|encrypted hard drive]] and [[LUKS]] on top of it. Therefore we need at least three partitions:<br />
<br />
* [[UEFI]] boot partition<br />
* system boot partition<br />
* encrypted system partition<br />
{{Note|You can also keep the first two partitions in the default setup, especially if you want to dual boot windows. Those are [[UEFI]] boot partition and [[GPT]] partition.}}<br />
<br />
We run {{ic|gdisk /dev/sda}} to start the partition manager. By typing {{ic|d}} we are capable of deleting all existing partitions and start with a fresh configuration.<br />
<br />
Now use {{ic|n}} to create new partitions:<br />
<br />
* UEFI boot partition:<br />
ID: 1<br />
Start (sector): <empty><br />
End (sector): +512M<br />
Code: EF00<br />
<br />
* System boot partition<br />
ID: 2<br />
Start (sector): <empty><br />
End (sector): +200M<br />
Code: <empty><br />
<br />
* Encrypted system partition<br />
ID: 3<br />
Start (sector): <empty><br />
End (sector): <empty><br />
Code: <empty><br />
<br />
The {{ic|<empty>}} command means that you leave the field in the prompt empty and just hit {{keypress|Enter}} directly. After creating those partitions enter {{ic|p}} to print the partition table which should like the following:<br />
<br />
Number Start (sector) End (sector) Size Code Name<br />
1 2048 1050623 512.0 MiB EF00 EFI System<br />
2 1050624 1460223 200.0 MiB 8300 Linux filesystem<br />
3 1460224 250069646 118.5 GiB 8300 Linux filesystem<br />
<br />
Finally write the partition table with {{ic|w}} and confirm with {{ic|Y}}.<br />
<br />
=== Setup dm-crypt with LUKS ===<br />
In this section we setup [[dm-crypt with LUKS]] by preparing our encrypted system disk (/dev/sda3) and creating our logical volumes for the system, home and swap partition.<br />
<br />
modprobe dm-crypt<br />
cryptsetup -c aes-xts-plain64 -y -s 512 luksFormat /dev/sda3<br />
cryptsetup luksOpen /dev/sda3 lvm<br />
<br />
lvm pvcreate /dev/mapper/lvm<br />
lvm vgcreate vgroup /dev/mapper/lvm<br />
lvm lvcreate -L 20GB -n root vgroup<br />
lvm lvcreate -C -y -L 8GB -n swap vgroup<br />
lvm lvcreate -l 100%Free -n home vgroup<br />
<br />
=== Format partitions ===<br />
<br />
mkfs.vfat -F32 /dev/sda1<br />
mkfs.ext4 /dev/sda2<br />
mkfs.ext4 /dev/mapper/vgroup-root<br />
mkfs.ext4 /dev/mapper/vgroup-home<br />
mkswap /dev/mapper/vgroup-swap<br />
<br />
=== Mount partitions ===<br />
<br />
mount /dev/mapper/vgroup-root<br />
mkdir -p /mnt/boot<br />
mount /dev/sda2 /mnt/boot<br />
mkdir -p /mnt/boot/efi<br />
mount /dev/sda1 /mnt/boot/efi<br />
mkdir -p /mnt/home<br />
mount /dev/mapper/vgroup-home /mnt/home<br />
swapon -va<br />
<br />
=== Connect to the internet ===<br />
<br />
Follow [[Installation_Guide#Connect_to_the_internet]] to establish an internet connection.<br />
<br />
=== Install the base system ===<br />
<br />
pacstrap /mnt base base-devel<br />
<br />
=== Install a bootloader<br />
<br />
pacstrap /mnt grub-efi-x86_64<br />
<br />
=== Configure system ===<br />
<br />
==== Generate fstab ====<br />
<br />
genfstab -p -U /mnt >> /mnt/etc/fstab<br />
<br />
==== Chroot in the newly installed system ====<br />
<br />
arch-chroot /mnt<br />
<br />
==== Set hostname ====<br />
<br />
echo UX31A > /etc/hostname<br />
<br />
==== Set timezone ====<br />
<br />
ln -s /usr/share/zoneinfo/Europe/Vienna /etc/localtime<br />
<br />
==== Set locale preferences ====<br />
<br />
Append the following lines to {{ic|/etc/locale.conf}}<br />
<br />
LANG="en_US.UTF-8"<br />
LC_COLLATE="C"<br />
<br />
and uncomment the following line in {{ic|/etc/locale.conf}}<br />
<br />
en_US.UTF-8<br />
<br />
Then execute {{ic|locale-gen}}.<br />
<br />
==== Configure mkinitcpio.conf and create initial RAM disk ====<br />
Edit {{ic|/etc/mkinitcpio.conf}}<br />
<br />
HOOKS=(... sata encrypt lvm2 filesystems ...)<br />
<br />
and run {{ic|mkinitcpio -p linux}},.<br />
<br />
==== Configure rc.conf ====<br />
Edit {{ic|/etc/rc.conf}} and set:<br />
<br />
USELVM="yes"<br />
<br />
=== Configure bootloader ===<br />
Load the required modules:<br />
<br />
modprobe dm-mod<br />
modprobe dmefivars<br />
<br />
Edit {{ic|/etc/default/grub}}:<br />
<br />
GRUB_CMDLINE_LINUX_DEFAULT="quiet add_efi_memmap i915.i915_enable_rc6=1 pcie_aspm=force drm.vblankoffdelay=1 i915.semaphores=1 nmi_watchdog=0"<br />
GRUB_CMDLINE_LINUX="cryptdevice=/dev/sda3:vgroup:allow-discards"<br />
{{Note| Kernel parameter {{ic| pcie_aspm&#61;force}} status is unsure: Ubuntu wiki recommends it, but UX31E Arch wiki says it should not be used. There is no noticeable problem when it is added to the list, so it is probably safe.}}<br />
<br />
Install the bootloader:<br />
<br />
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch_grub --recheck<br />
<br />
Copy necessary files and reconfigure grub:<br />
<br />
mkdir -p /boot/grub/locale<br />
cp /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo<br />
grub-mkconfig -o /boot/grub/grub.cfg<br />
cp /boot/efi/EFI/arch_grub/grubx64.efi /boot/efi/shellx64.efi<br />
<br />
==== Reboot and launch EFI shell ====<br />
Type {{ic|reboot}} and press F2 and choose "Launch EFI shell from filesystem device" from the "Save and exit" tab. grub2 should be launched and you should be able to boot into your system.<br />
<br />
==== Create GRUB2 entry in the FBM ====<br />
<br />
modprobe efivars<br />
efibootmgr --create --gpt --disk /dev/sda --part 1 --write-signature --label "Arch Linux (GRUB2)" --loader '\EFI\arch_grub\grubx64.efi'<br />
reboot<br />
<br />
=== Additional steps ===<br />
It might happen that the parameters of the /boot/efi entry in /etc/fstab are a bit messed up. You are safe to remove the whole line or reduce its parameters to "rw,relatime 0 2"<br />
<br />
=== Mount installed system from installation medium ===<br />
If any error occured or you forgot any necessary steps you are able to mount the installed system from the installation medium with the following commands:<br />
<br />
cryptsetup luksOpen /dev/sda3 lvm <br />
vgscan<br />
vgchange -ay<br />
<br />
mount /dev/mapper/vgroup-root /mnt<br />
mount /dev/sda2 /mnt/boot<br />
mount /dev/sda1 /mnt/boot/efi<br />
mount /dev/mapper/vgroup-home /mnt/home<br />
<br />
arch-chroot /mnt<br />
<br />
== Function keys ==<br />
{{note | A working keymap means that there is some output in {{ic|xev}} when the key combination is pressed. It does not means that the keymap is linked to the functionality. For that it is necessary to add a keyboard shortcut [[Extra_Keyboard_Keys_in_Xorg|by the method of your choice]] or to use a desktop shell with built-in support the keycode in question.}}<br />
<br />
=== Screen backlight ===<br />
<br />
Screen Brightness keymaps ({{keypress|Fn+F5}}, {{keypress|Fn+F6}}) does not work. Here is a hack around.<br />
<br />
As root, create the file {{ic|/usr/local/share/backlight}}:<br />
#!/bin/bash<br />
<br />
path="/sys/class/backlight/intel_backlight"<br />
# alternative interface (0 < x < 10)<br />
#path="/sys/class/backlight/acpi_video0/"<br />
<br />
# max should be 4296<br />
max=$(cat ${path}/max_brightness)<br />
<br />
step=$(($max/10))<br />
# for a value smaller than treshold, the steps are smaller for a more accurate setting at low intensity<br />
treshold=$((2*$step))<br />
previous=$(cat ${path}/brightness)<br />
<br />
function commit {<br />
if [[ $1 = [0-9]* ]]<br />
then <br />
if <nowiki>[[ $1 -gt $max ]]</nowiki><br />
then <br />
next=$max<br />
elif <nowiki>[[ $1 -lt 0 ]]</nowiki><br />
then <br />
next=0<br />
else <br />
next=$1<br />
fi<br />
echo $next >> ${path}/brightness<br />
exit 0<br />
else <br />
exit 1<br />
fi<br />
}<br />
<br />
case "$1" in<br />
up)<br />
if <nowiki>[[ $previous -le $treshold ]]</nowiki><br />
then <br />
step=$(($step/4))<br />
fi<br />
commit $(($previous + $step))<br />
;;<br />
down)<br />
if <nowiki>[[ $previous -le $treshold ]]</nowiki><br />
then <br />
step=$(($step/4))<br />
fi<br />
commit $(($previous - $step))<br />
;;<br />
max)<br />
commit $max<br />
;;<br />
off)<br />
commit 0<br />
;;<br />
show)<br />
echo $previous<br />
;;<br />
night)<br />
commit $(($max/4)) <br />
;;<br />
allowusers)<br />
# Allow members of users group to change brightness<br />
sudo chgrp users ${path}/brightness<br />
sudo chmod g+w ${path}/brightness<br />
;;<br />
disallowusers)<br />
# Disallow members of users group to change brightness<br />
sudo chgrp root ${path}/brightness<br />
sudo chmod g-w ${path}/brightness<br />
;;<br />
*)<br />
commit $1<br />
esac<br />
<br />
exit 0<br />
<br />
Allow file to be executed :<br />
# chmod +x /usr/local/share/backlight<br />
<br />
Allow users to change brightness at each boot :<br />
# echo "/bin/bash /usr/local/share/backlight allowusers" >> /etc/rc.local<br />
<br />
Adding to {{ic|.zshrc}} or {{ic|.bashrc}} :<br />
alias -g "backlight"="/bin/bash /usr/local/share/backlight"<br />
allows to easy toggle backlight in terminal :<br />
$ backlight up<br />
$ backlight down<br />
$ backlight max<br />
$ backlight off<br />
$ backlight night<br />
$ backlight 2000<br />
$ backlight show<br />
<br />
And finally, add some convenient keyboard shortcuts [[Extra_Keyboard_Keys_in_Xorg|by the method of your choice]].<br />
<br />
=== Screen Backlight Method 2 ===<br />
{{note | Warning, this is highly experimental. It works for the UX32VD with bios 2.06, no guarantee that it works for different configurations. }}<br />
First off, this method requires that you know what you are doing (although there are good tutorials anyway), and needs a little bit patience.<br />
<br />
This method is based on a proposed fix posted on https://bugs.freedesktop.org/show_bug.cgi?id=45452, which apparently works for the UX31A/UX32VD too. <br />
The cause why the brightness buttons don't work is exactly the same as in the bugreport.<br />
<br />
As root, create the file {{ic|/usr/local/share/backlightfix}}:<br />
This script is posted here: https://bbs.archlinux.org/viewtopic.php?pid=1156051#p1156051<br />
#!/bin/bash <br />
# <br />
# Asus UX32VD acpi backlight fix <br />
# <br />
# Copyright(C) 2012 Eugen Dahm <eugen.dahm@gmail.com>. <br />
# <br />
# fix is based on a proposed bugfix posted on <[url]https://bugs.freedesktop.org/show_bug.cgi?id=45452[/url]> <br />
# <br />
# This program is free software; you can redistribute it and/or modify <br />
# it under the terms of the GNU General Public License as published by <br />
# the Free Software Foundation; either version 2 of the License, or <br />
# (at your option) any later version. <br />
# <br />
# This program is distributed in the hope that it will be useful, <br />
# but WITHOUT ANY WARRANTY; without even the implied warranty of <br />
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the <br />
# GNU General Public License for more details. <br />
# <br />
# You should have received a copy of the GNU General Public License <br />
# along with this program; if not, write to the Free Software <br />
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA <br />
# <br />
# Asus UX32VD acpi backlight fix <br />
# Disclaimer!!!! not recommended to use if laptop is not the Asus UX32VD\ <br />
# probably works with other models too, but the didl and cadl offset needs to be extracted <br />
# from the dsdt <br />
# Tested with bios 2.06 <br />
# IGDM_BASE has to be determined for each notebook <br />
# IGDM is the operation region (\_SB_.PCI0.GFX0.IGDM) containing the CADL/DIDL fields <br />
# \aslb is a named field containing the base-address of the IGDM region <br />
# this address depends on the installed ram <br />
# how to get the address: <br />
# - git clone git://github.com/Bumblebee-Project/acpi_call.git <br />
# - make <br />
# - load module with insmod or copy to /lib/modules/.... and modprobe <br />
# - echo '\aslb' > /proc/acpi/call <br />
# - cat /proc/acpi/call <br />
# - this is the IGDM base address - fill in below <br />
IGDM_BASE=0xBE8B7018<br />
DIDL_OFFSET=0x120<br />
CADL_OFFSET=0x160<br />
# this basically copies the values of the initialized fields DIDL-DDL8 in the IGDM opregion and initializes CADL-CAL8 with it <br />
# CADL-CAL8 are fields, telling the bios that a screen or something is connected (this is a bit speculation - check <br />
# <[url]https://bugs.freedesktop.org/show_bug.cgi?id=45452[/url]> for more <br />
# if interested, disasselbe the dsdt to understand, why no notifyevent gets thrown, when CADL isn't initialized <br />
# (hint: _Q0E/_Q0F are the backlight methods on the UX32VD) <br />
dd if=/dev/mem skip=$(( $IGDM_BASE + $DIDL_OFFSET )) count=32 bs=1 | xxd | xxd -r | dd of=/dev/mem bs=1 seek=$(( $IGDM_BASE + $CADL_OFFSET )) count=32 <br />
<br />
This script still needs to be adjusted to your notebook configuration (it uses a memory address which strongly depends on the amount of installed system memory.<br />
<br />
The exact address can be determined with following steps:<br />
<br />
# git clone git://github.com/Bumblebee-Project/acpi_call.git <br />
# cd acpi_call <br />
# make <br />
# gzip acpi_call.ko <br />
# load module acpi_call.ko.gz with insmod or copy to /lib/modules/.... and modprobe <br />
# echo '\aslb' > /proc/acpi/call <br />
# cat /proc/acpi/call <br />
# this is the IGDM base address - initialize the IGDM_BASE variable with this value in the script<br />
<br />
Initialize your bios with this script on boot :<br />
# echo "/usr/local/share/backlightfix" >> /etc/rc.local<br />
<br />
Execute the script and hope the backlight buttons work afterwards. If they don't you probably have to disasselbe the dsdt for yourself, because you have to adjust the following 2 variables in the script:<br />
DIDL_OFFSET=0x120<br />
CADL_OFFSET=0x160<br />
<br />
These are the offsets on the Asus UX32VD bios version 2.06. Try google to find a tutorial how to disassemble the dsdt.<br />
<br />
==== Getting the DIDL and CADL offsets ====<br />
<br />
Now comes the funny part: <br />
<br />
# open your disassembled dsdt. The should have the filename dsdt.dsl.<br />
# find the operationregion IGBM. It should have a Field statement below, and probably looks something like this:<br />
OperationRegion (IGDM, SystemMemory, ASLB, 0x2000)<br />
Field (IGDM, AnyAcc, NoLock, Preserve)<br />
{<br />
SIGN, 128, <br />
SIZE, 32, <br />
OVER, 32, <br />
...<br />
This specifies some variables in this IGDM field (for me, they look similar to a c struct, except that you don't need to give the size of each element in a struct).<br />
The numbers are the size for each element in bit. <br />
<br />
You must add those field sizes until you reach the DIDL variable. With the UX32VD the DIDL offset is easy, because of this statement:<br />
..<br />
Offset (0x120), <br />
DIDL, 32,<br />
..<br />
Don't know exactly why they use the Offset statement, since this is somewhat redundant. It tells you that the following element has the offset 0x120.<br />
<br />
Since I thought it is obvious what this statement does, I didn't bother to look it up in the dsl language specification. I thought it tells the bios that the following<br />
variable starts with an offset of 0x120 bytes relative to the previous element, but I was wrong. It basically tells you/bios that the following variable starts with an <br />
offset of 0x120 relative to the beginning of the opregion (in this case its completely unnecessary).<br />
<br />
Now the only thing left is the CADL offset. Add the numbers starting from DIDL until you reach CADL and add it to your previous offset. This should be the 2nd needed offset.<br />
<br />
After updating both offset variables in the script and executing it again, the backlight should now work (no guarantee).<br />
<br />
=== Other function keys ===<br />
<br />
{{note | Since Kernel 3.4.9-1 the instructions below concerning the kernel patch/dkms are no longer required.}}<br />
<br />
There is a fix for Ubuntu :<br />
http://ubuntuforums.org/showthread.php?p=12054636#post12054636<br />
<br />
==== Method 1 ====<br />
You can apply the following patch (semi-)manually and rebuild the kernel (you may want to read [[Custom_Kernel_Compilation_with_ABS]]). <br />
<br />
Signed-off-by: Alex Hung <alex.hung <at> canonical.com><br />
---<br />
drivers/platform/x86/asus-wmi.c | 7 +------<br />
1 files changed, 1 insertions(+), 6 deletions(-)<br />
<br />
diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c<br />
index 25e3093..0f69a97 100644<br />
--- a/drivers/platform/x86/asus-wmi.c<br />
+++ b/drivers/platform/x86/asus-wmi.c<br />
@@ -1461,14 +1461,9 @@ static int asus_wmi_platform_init(struct asus_wmi *asus)<br />
*/<br />
if (!asus_wmi_evaluate_method(ASUS_WMI_METHODID_DSTS, 0, 0, NULL))<br />
asus->dsts_id = ASUS_WMI_METHODID_DSTS;<br />
- else if (!asus_wmi_evaluate_method(ASUS_WMI_METHODID_DSTS2, 0, 0, NULL))<br />
+ else<br />
asus->dsts_id = ASUS_WMI_METHODID_DSTS2;<br />
<br />
- if (!asus->dsts_id) {<br />
- pr_err("Can't find DSTS");<br />
- return -ENODEV;<br />
- }<br />
-<br />
/* CWAP allow to define the behavior of the Fn+F2 key,<br />
* this method doesn't seems to be present on Eee PCs */<br />
<br />
This will make most keys useable (you have to bind them to functions yourself), except the screen brightness keys.<br />
<br />
It worked with kernel 3.4.4-2.<br />
<br />
==== Method 2 ====<br />
<br />
It is also possible to use [[Dynamic Kernel Module Support]] (DKMS) (package in community), to avoid compiling the whole kernel:<br />
<br />
1 get the archive at http://ubuntuforums.org/showthread.php?p=12054636#post12054636 (ubuntu forums account + minimum of 50 posts required) or http://markmail.org/message/idvl6s27r26xzorb (no account required)<br />
{{note | there is perhaps more suitable place to get the asus-wmi kernel module sources, the patch and the dkms conf file}}<br />
2 extract the archive, and then extract the .deb and get the sources inside (asus-wmi.c is already patched with above patch):<br />
# cp -a usr/src/asus-wmi-0.2 /usr/src/<br />
# cd /usr/src/<br />
# dkms add -m asus-wmi -v 0.2<br />
# dkms built -m asus-wmi -v 0.2 -k 3.4.7-1-ARCH<br />
# dkms status<br />
# dkms install -m asus-wmi -v 0.2 -k 3.4.7-1-ARCH<br />
# dkms status<br />
<br />
replace {{ic|3.4.7-1-ARCH}} by your output for {{ic|uname -r}}<br />
<br />
3 There is still a problem since dkms doesn't gzip the kernel module and archlinux does (see {{ic|$ modinfo asus-wmi}}):<br />
# cd /lib/modules/3.4.7-1-ARCH/kernel/drivers/platform/x86/<br />
# mv asus-wmi.ko.gz asus-wmi.ko.gz.save<br />
# gzip asus-wmi.ko<br />
{{note | there is probably a cleaner way to do that with dkms}}<br />
4 After reboot, {{ic|xev}} should display events for {{keypress|Fn}} keys. And keyboard backlight can be trigger by:<br />
# echo 0 >> /sys/class/leds/asus\:\:kbd_backlight/brightness<br />
# echo 3 >> /sys/class/leds/asus\:\:kbd_backlight/brightness<br />
<br />
==== Keyboard backlight ====<br />
<br />
There was a script on this page, which I have packaged for your convenience. Install {{AUR|asus-kbd-backlight}} from AUR. To allow users to change the brightness, say:<br />
<br />
# asus-kbd-backlight allowusers<br />
<br />
If you use [[initscripts]], put this into your {{ic|/etc/rc.local}}:<br />
<br />
# echo "asus-kbd-backlight allowusers" >> /etc/rc.local<br />
<br />
Users of [[systemd]] can use the unit file included in the package.<br />
<br />
# systemctl daemon-reload<br />
# systemd start asus-kbd-backlight.service<br />
# systemd enable asus-kbd-backlight.service<br />
<br />
No you can easily change keyboard backlight in terminal:<br />
<br />
$ asus-kbd-backlight up<br />
$ asus-kbd-backlight down<br />
$ asus-kbd-backlight max<br />
$ asus-kbd-backlight off<br />
$ asus-kbd-backlight night<br />
$ asus-kbd-backlight 2<br />
$ asus-kbd-backlight show<br />
<br />
And finally, add some convenient keyboard shortcuts [[Extra_Keyboard_Keys_in_Xorg|by the method of your choice]].<br />
<br />
== Solid State Drive ==<br />
Check [[Solid_State_Drives]]<br />
<br />
<br />
== Touchpad ==<br />
[http://ubuntuforums.org/showpost.php?p=12110689&postcount=73 This] makes the right click button work and activates palm detection.<br />
Multifinger taps work out of the box.<br />
{{Tip|Multifinger taps: Two finger for middle click; three fingers for right click.}}<br />
<br />
== Powersave management ==<br />
Configure [[Laptop_Mode_Tools]] and do not forget to check [[CPU_Frequency_Scaling]].<br />
<br />
Here is a custom script for easy power management (feel free to improve)<br />
<br />
#!/bin/bash<br />
<br />
case "$1" in<br />
ac)<br />
sudo pm-powersave ac<br />
for i in 0 1 2 3; do sudo cpufreq-set -c $i -g ondemand; done<br />
;;<br />
battery)<br />
sudo pm-powersave battery<br />
sudo cpufreq-set -c 0 -g conservative <br />
for i in 1 2 3; do sudo cpufreq-set -c $i -g powersave; done<br />
;;<br />
aggressive)<br />
sudo pm-powersave battery<br />
for i in 0 1 2 3; do sudo cpufreq-set -c $i -g powersave; done<br />
;;<br />
info)<br />
echo "#########################"<br />
echo "# acpi"<br />
acpi<br />
read<br />
echo "#########################"<br />
echo "# cpufreq-info"<br />
cpufreq-info<br />
read<br />
echo "#########################"<br />
echo "Available energy governators"<br />
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors<br />
read<br />
<br />
;;<br />
powertop)<br />
sudo powertop<br />
;;<br />
suspend)<br />
sudo pm-suspend<br />
;;<br />
<br />
load)<br />
sudo modprobe cpufreq_powersave<br />
sudo modprobe cpufreq_conservative<br />
echo "#########################"<br />
echo "Available energy governators"<br />
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors<br />
;;<br />
<br />
install)<br />
sudo pacman -S pm-utils acpi powertop laptop-mode-tools cpufrequtils<br />
echo "You should add DAEMONS=(...cpufreq_powersave cpufreq_conservative laptop-mode...) in /etc/rc.conf"<br />
;;<br />
*)<br />
echo "#########################"<br />
echo "Choose an option:"<br />
echo "0) info"<br />
echo "1) battery"<br />
echo "2) ac"<br />
echo "3) aggressive powersave"<br />
echo "4) suspend"<br />
echo "5) powertop"<br />
echo "6) install"<br />
read choice<br />
#echo $choice<br />
case $choice in<br />
0)<br />
$0 info<br />
;;<br />
1)<br />
$0 battery<br />
;;<br />
2)<br />
$0 ac<br />
;;<br />
3)<br />
$0 aggressive<br />
;;<br />
4)<br />
$0 suspend<br />
;;<br />
5)<br />
$0 powertop<br />
;;<br />
6)<br />
$0 install<br />
;;<br />
*)<br />
exit 0<br />
;;<br />
esac<br />
esac<br />
<br />
exit 0<br />
<br />
== Additional ressources ==<br />
*https://help.ubuntu.com/community/AsusZenbookPrime</div>Majewsky