https://wiki.archlinux.org/api.php?action=feedcontributions&user=Munzirtaha&feedformat=atomArchWiki - User contributions [en]2024-03-28T14:28:39ZUser contributionsMediaWiki 1.41.0https://wiki.archlinux.org/index.php?title=Supergfxctl&diff=799655Supergfxctl2024-02-04T09:08:31Z<p>Munzirtaha: /* Using supergfxctl with a Wayland client */ Removed "will just reset back to Hybrid mode automatically" since it does work in my Lenovo Legion 7 Gen 7 and switched to Integrated. If it doesn't work with some other Models, then they are just not supported.</p>
<hr />
<div>{{Lowercase title}}<br />
[[Category:ASUS]]<br />
[[ja:supergfxctl]]<br />
{{Expansion|This article needs expanding with instructions for non NVIDIA based hybrid laptops.}}<br />
<br />
{{Related articles start}}<br />
{{Related|ASUS Linux}}<br />
{{Related|asusctl}}<br />
{{Related articles end}}<br />
<br />
{{AUR|supergfxctl}} is a useful utility provided by [[ASUS Linux]]. It helps with managing GPU switching functionality on hybrid laptops.<br />
<br />
While supergfxctl was originally designed with ASUS [[Optimus]] laptops in mind, it has since evolved into a standalone tool that functions with any laptops with [[hybrid graphics]].<br />
<br />
== Pre-Installation ==<br />
<br />
For Optimus laptops make sure that the [[NVIDIA]] drivers are installed. Do not install {{pkg|xf86-video-intel}}. Remove {{aur|optimus-manager}} and {{pkg|bumblebee}} if they are installed and make sure no residual configs for [[NVIDIA]], [[Intel]] and/or any PRIME managers are located in the following locations:<br />
<br />
* {{ic|/etc/X11/xorg.conf.d/}}<br />
* {{ic|/etc/modprobe.d/}}<br />
* {{ic|/etc/udev/rules.d/}}<br />
<br />
=== Initramfs and kernel parameters ===<br />
<br />
If your laptop has a dedicated NVIDIA GPU then you need to set some [[kernel parameters]], see [[NVIDIA#DRM kernel mode setting]] for instructions. If your laptop has a dedicated AMD GPU then no extra steps are required.<br />
<br />
== Installation ==<br />
<br />
Installation can be done through ASUS Linux's own [[Unofficial user repositories#g14|repository]]. You can also [[install]] the {{AUR|supergfxctl}} package. Then, [[enable]] {{ic|supergfxd.service}}.<br />
<br />
== Configuration ==<br />
<br />
Settings are stored at {{ic|/etc/supergfxd.conf}}. An example configuration file is as follows:<br />
<br />
{{hc|supergfxd.conf|2=<br />
{<br />
"mode": "Hybrid",<br />
"vfio_enable": false,<br />
"vfio_save": false,<br />
"always_reboot": false,<br />
"no_logind": false,<br />
"logout_timeout_s": 180,<br />
"hotplug_type": "None"<br />
}<br />
}}<br />
<br />
== Usage ==<br />
<br />
Supergfxctl supports the following modes, {{ic|Integrated}}, {{ic|Hybrid}} and {{ic|VFIO}}. It has the ability to detect if a mux switch is in use for {{ic|AsusMuxDgpu}} mode. There is also an {{ic|NvidiaNoModeSet}} option that reboots the system with the [[NVIDIA]] GPU [[kernel module]] disabled.<br />
<br />
Using the MUX switch requires that you are running [[asusctl]], for details please see [[asusctl#Using the MUX switch]].<br />
<br />
=== Show supported modes ===<br />
<br />
The following command is used to display all the modes your laptop supports:<br />
<br />
$ supergfxctl -s<br />
<br />
=== Get current mode ===<br />
<br />
The following command is used to query the current GPU mode:<br />
<br />
$ supergfxctl -g<br />
<br />
=== Switch modes ===<br />
<br />
The following command is used to switch the current GPU mode to {{ic|Hybrid}}:<br />
<br />
$ supergfxctl -m hybrid<br />
<br />
== Post launch configuration ==<br />
<br />
=== Using supergfxctl for GPU passthrough (VFIO) ===<br />
<br />
[[PCI passthrough via OVMF|VFIO]] GPU passthrough can be enabled by editing {{ic|/etc/supergfxd.conf}}. In this configuration file, it is also recommended to change the {{ic|hotplug_type}} value to {{ic|Asus}}, instead of {{ic|None}} as is documented [https://gitlab.com/asus-linux/supergfxctl upstream].<br />
<br />
{{hc|/etc/supergfxd.conf|<br />
{<br />
"vfio_enable": true,<br />
"hotplug_type": "Asus"<br />
}<br />
}}<br />
<br />
See the [https://asus-linux.org/guides/vfio-guide/ ASUS Linux VFIO guide] for details.<br />
<br />
=== Using supergfxctl and the MUX switch ===<br />
<br />
If the system is in {{ic|Hybrid}} mode, ''prime-run'' from {{Pkg|nvidia-prime}} can be used to run programs on the discrete GPU. This does not break applications while the MUX switch is enabled, so it can be used wherever more graphics performance is needed. <br />
<br />
=== Using supergfxctl with a Wayland client ===<br />
<br />
Since [[Wayland]] supports multiple GPUs simultaneously, users do not need to install supergfxctl unless they want to use VFIO or further limit power consumption. {{ic|AsusMuxDgpu}} mode can be switched with asusctl, see [[asusctl#Using the MUX switch]] for details.<br />
<br />
== Graphical utilities ==<br />
<br />
Users of [[GNOME]] & [[KDE]] can make use of desktop environment add-ons to control ''supergfxctl'' from their desktop. The following is a list of these including links:<br />
<br />
{| class="wikitable"<br />
! Name !! Desktop !! Link<br />
|-<br />
| supergfxctl-gex || Gnome || https://extensions.gnome.org/extension/5344/supergfxctl-gex/<br />
|-<br />
| plasma5-applets-supergfxctl || KDE Plasma || {{aur|plasma5-applets-supergfxctl}}<br />
|-<br />
| rog-control-center || Any || {{aur|rog-control-center}}<br />
|-<br />
|}</div>Munzirtahahttps://wiki.archlinux.org/index.php?title=Supergfxctl&diff=799653Supergfxctl2024-02-04T08:58:42Z<p>Munzirtaha: /* Using supergfxctl with a Wayland client */ It is indeed pretty useful for power management as tested on my Legion 7 Gen 7</p>
<hr />
<div>{{Lowercase title}}<br />
[[Category:ASUS]]<br />
[[ja:supergfxctl]]<br />
{{Expansion|This article needs expanding with instructions for non NVIDIA based hybrid laptops.}}<br />
<br />
{{Related articles start}}<br />
{{Related|ASUS Linux}}<br />
{{Related|asusctl}}<br />
{{Related articles end}}<br />
<br />
{{AUR|supergfxctl}} is a useful utility provided by [[ASUS Linux]]. It helps with managing GPU switching functionality on hybrid laptops.<br />
<br />
While supergfxctl was originally designed with ASUS [[Optimus]] laptops in mind, it has since evolved into a standalone tool that functions with any laptops with [[hybrid graphics]].<br />
<br />
== Pre-Installation ==<br />
<br />
For Optimus laptops make sure that the [[NVIDIA]] drivers are installed. Do not install {{pkg|xf86-video-intel}}. Remove {{aur|optimus-manager}} and {{pkg|bumblebee}} if they are installed and make sure no residual configs for [[NVIDIA]], [[Intel]] and/or any PRIME managers are located in the following locations:<br />
<br />
* {{ic|/etc/X11/xorg.conf.d/}}<br />
* {{ic|/etc/modprobe.d/}}<br />
* {{ic|/etc/udev/rules.d/}}<br />
<br />
=== Initramfs and kernel parameters ===<br />
<br />
If your laptop has a dedicated NVIDIA GPU then you need to set some [[kernel parameters]], see [[NVIDIA#DRM kernel mode setting]] for instructions. If your laptop has a dedicated AMD GPU then no extra steps are required.<br />
<br />
== Installation ==<br />
<br />
Installation can be done through ASUS Linux's own [[Unofficial user repositories#g14|repository]]. You can also [[install]] the {{AUR|supergfxctl}} package. Then, [[enable]] {{ic|supergfxd.service}}.<br />
<br />
== Configuration ==<br />
<br />
Settings are stored at {{ic|/etc/supergfxd.conf}}. An example configuration file is as follows:<br />
<br />
{{hc|supergfxd.conf|2=<br />
{<br />
"mode": "Hybrid",<br />
"vfio_enable": false,<br />
"vfio_save": false,<br />
"always_reboot": false,<br />
"no_logind": false,<br />
"logout_timeout_s": 180,<br />
"hotplug_type": "None"<br />
}<br />
}}<br />
<br />
== Usage ==<br />
<br />
Supergfxctl supports the following modes, {{ic|Integrated}}, {{ic|Hybrid}} and {{ic|VFIO}}. It has the ability to detect if a mux switch is in use for {{ic|AsusMuxDgpu}} mode. There is also an {{ic|NvidiaNoModeSet}} option that reboots the system with the [[NVIDIA]] GPU [[kernel module]] disabled.<br />
<br />
Using the MUX switch requires that you are running [[asusctl]], for details please see [[asusctl#Using the MUX switch]].<br />
<br />
=== Show supported modes ===<br />
<br />
The following command is used to display all the modes your laptop supports:<br />
<br />
$ supergfxctl -s<br />
<br />
=== Get current mode ===<br />
<br />
The following command is used to query the current GPU mode:<br />
<br />
$ supergfxctl -g<br />
<br />
=== Switch modes ===<br />
<br />
The following command is used to switch the current GPU mode to {{ic|Hybrid}}:<br />
<br />
$ supergfxctl -m hybrid<br />
<br />
== Post launch configuration ==<br />
<br />
=== Using supergfxctl for GPU passthrough (VFIO) ===<br />
<br />
[[PCI passthrough via OVMF|VFIO]] GPU passthrough can be enabled by editing {{ic|/etc/supergfxd.conf}}. In this configuration file, it is also recommended to change the {{ic|hotplug_type}} value to {{ic|Asus}}, instead of {{ic|None}} as is documented [https://gitlab.com/asus-linux/supergfxctl upstream].<br />
<br />
{{hc|/etc/supergfxd.conf|<br />
{<br />
"vfio_enable": true,<br />
"hotplug_type": "Asus"<br />
}<br />
}}<br />
<br />
See the [https://asus-linux.org/guides/vfio-guide/ ASUS Linux VFIO guide] for details.<br />
<br />
=== Using supergfxctl and the MUX switch ===<br />
<br />
If the system is in {{ic|Hybrid}} mode, ''prime-run'' from {{Pkg|nvidia-prime}} can be used to run programs on the discrete GPU. This does not break applications while the MUX switch is enabled, so it can be used wherever more graphics performance is needed. <br />
<br />
=== Using supergfxctl with a Wayland client ===<br />
<br />
Since [[Wayland]] supports multiple GPU's simultaneously, users do not need to install supergfxctl unless they want to use VFIO or further limit power consumption. Trying to switch GPU mode on a Wayland client will just reset back to {{ic|Hybrid}} mode automatically. {{ic|AsusMuxDgpu}} mode can be switched with asusctl, see [[asusctl#Using the MUX switch]] for details.<br />
<br />
== Graphical utilities ==<br />
<br />
Users of [[GNOME]] & [[KDE]] can make use of desktop environment add-ons to control ''supergfxctl'' from their desktop. The following is a list of these including links:<br />
<br />
{| class="wikitable"<br />
! Name !! Desktop !! Link<br />
|-<br />
| supergfxctl-gex || Gnome || https://extensions.gnome.org/extension/5344/supergfxctl-gex/<br />
|-<br />
| plasma5-applets-supergfxctl || KDE Plasma || {{aur|plasma5-applets-supergfxctl}}<br />
|-<br />
| rog-control-center || Any || {{aur|rog-control-center}}<br />
|-<br />
|}</div>Munzirtahahttps://wiki.archlinux.org/index.php?title=Hybrid_graphics&diff=598377Hybrid graphics2020-02-22T13:17:42Z<p>Munzirtaha: someone dropped the word loaded!</p>
<hr />
<div>[[Category:Graphics]]<br />
[[ja:ハイブリッドグラフィック]]<br />
[[zh-hans:Hybrid graphics]]<br />
Hybrid-graphics is a concept involving two graphics cards on same computer. Laptop manufacturers have developed new technologies involving two graphic cards with different abilities and power consumptions on a single computer. Hybrid-graphics has been developed to support both high performance and power saving use cases.<br />
<br />
There are a variety of technologies and each manufacturer developed its own solution to this problem. This technology is well supported on Windows but it's still quite experimental with Linux distributions. Here we try to explain a little about each approach and describe some community solutions to the lack of GNU/Linux systems support.<br />
<br />
== First Generation Hybrid Model (Basic Switching) ==<br />
{{Note|1=Unless your notebook is from the last decade, it’s most likely using [[#Dynamic Switching Model|dynamic switching]].}}<br />
The first generation of notebooks with hybrid graphics follow an approach that involves a two graphic card setup with a hardware multiplexer ([[Wikipedia:Multiplexer|MUX]]). It allows power save and low-end 3D rendering by using an Integrated Graphics Processor (IGP) or a major power consumption with 3D rendering performance using a Dedicated/Discrete Graphics Processor (DGP). This model makes the user choose (at boot time or at login time) between the two power/graphics profiles and is almost fixed throughout the user session. The switch is done in a workflow similar to the following:<br />
<br />
* Turn off the display<br />
* Turn on the DGP<br />
* Switch the multiplexer<br />
* Turn off the IGP<br />
* Turn the display on again<br />
<br />
This switch is somewhat rough and adds some blinks and black screens in laptops that could do it "on the fly". Later approaches made the transition a little more user-friendly.<br />
<br />
== Dynamic Switching Model ==<br />
<br />
{{Note|This model is utilized by most manufacturers as of 2016.}}<br />
<br />
Most of the new Hybrid-graphics technologies involve two graphic cards as the [[#First Generation Hybrid Model (Basic Switching)|basic switching]] but now the DGP and IGP are plugged to a framebuffer and there is no hardware multiplexer. The IGP is always on and the DGP is switched on/off when there is a need in power-save or performance-rendering. In most cases there is no way to use ''only'' the DGP and all the switching and rendering is controlled by software.<br />
At startup, the Linux kernel starts using a video mode and setting up low-level graphic drivers which will be used by the applications. Most of the Linux distributions then use X.org to create a graphical environment. Finally, a few other softwares are launched, first a login manager and then a window manager, and so on. This hierarchical system has been designed to be used in most of cases on a single graphic card.<br />
<br />
{{Note|Read [[NVIDIA Optimus]] and [[Bumblebee]] for details about NVidia using hybrid graphics with NVidia’s proprietary driver. Read [[PRIME]] for basically everything else (like AMD Radeon and NVidia GPUs with Nouveau driver).}}<br />
<br />
=== Fully Power Down Discrete GPU ===<br />
<br />
You may want to turn off the high-performance graphics processor to save battery power.<br />
<br />
==== Using bbswitch ====<br />
<br />
With a NVidia GPU, this can be more safely done using [[bbswitch]],<br />
which consists of a kernel package that automatically issues the correct<br />
ACPI calls to disable the discrete GPU when not needed, or automatically at boot.<br />
<br />
==== Using acpi_call ====<br />
<br />
Otherwise, and for GPUs not supported by bbswitch, the same can be done manually installing the {{pkg|acpi_call}} package.<br />
<br />
{{Tip|For kernels not in the [[Official repositories]], the {{Pkg|acpi_call-dkms}} is an alternative. See also [[DKMS]].}} <br />
<br />
Once installed load the kernel module:<br />
<br />
# modprobe acpi_call<br />
<br />
With the kernel module loaded, download and execute this script: https://raw.githubusercontent.com/mkottman/acpi_call/master/examples/turn_off_gpu.sh<br />
<br />
The script will go through all the known data buses and attempt to turn them off. You will get an output similar to the following: <br />
<br />
Trying \_SB.PCI0.P0P1.VGA._OFF: failed<br />
Trying \_SB.PCI0.P0P2.VGA._OFF: failed<br />
Trying \_SB_.PCI0.OVGA.ATPX: failed<br />
Trying \_SB_.PCI0.OVGA.XTPX: failed<br />
Trying \_SB.PCI0.P0P3.PEGP._OFF: failed<br />
Trying \_SB.PCI0.P0P2.PEGP._OFF: failed<br />
Trying \_SB.PCI0.P0P1.PEGP._OFF: failed<br />
Trying \_SB.PCI0.MXR0.MXM0._OFF: failed<br />
Trying \_SB.PCI0.PEG1.GFX0._OFF: failed<br />
Trying \_SB.PCI0.PEG0.GFX0.DOFF: failed<br />
Trying \_SB.PCI0.PEG1.GFX0.DOFF: failed<br />
'''Trying \_SB.PCI0.PEG0.PEGP._OFF: works!'''<br />
Trying \_SB.PCI0.XVR0.Z01I.DGOF: failed<br />
Trying \_SB.PCI0.PEGR.GFX0._OFF: failed<br />
Trying \_SB.PCI0.PEG.VID._OFF: failed<br />
Trying \_SB.PCI0.PEG0.VID._OFF: failed<br />
Trying \_SB.PCI0.P0P2.DGPU._OFF: failed<br />
Trying \_SB.PCI0.P0P4.DGPU.DOFF: failed<br />
Trying \_SB.PCI0.IXVE.IGPU.DGOF: failed<br />
Trying \_SB.PCI0.RP00.VGA._PS3: failed<br />
Trying \_SB.PCI0.RP00.VGA.P3MO: failed<br />
Trying \_SB.PCI0.GFX0.DSM._T_0: failed<br />
Trying \_SB.PCI0.LPC.EC.PUBS._OFF: failed<br />
Trying \_SB.PCI0.P0P2.NVID._OFF: failed<br />
Trying \_SB.PCI0.P0P2.VGA.PX02: failed<br />
Trying \_SB_.PCI0.PEGP.DGFX._OFF: failed<br />
Trying \_SB_.PCI0.VGA.PX02: failed<br />
<br />
See the "works"? This means the script found a bus which your GPU sits on and it has now turned off the chip. To confirm this, your battery time remaining should have increased.<br />
<br />
{{Tip| If you are experiencing trouble hibernating or suspending the system after disabling the GPU, try to enable it again by sending the corresponding acpi_call. See also [[Power_management#Suspend.2Fresume_service_files|Suspend/resume service files]].}}<br />
<br />
===== Turning off the GPU automatically =====<br />
<br />
Currently, the chip will turn back on with the next reboot. To get around this, add the kernel module to the array of modules to load at boot:<br />
<br />
{{hc|/etc/modules-load.d/acpi_call.conf|<br />
#Load 'acpi_call.ko' at boot.<br />
<br />
acpi_call}}<br />
<br />
====== At boot ======<br />
<br />
To turn off the GPU at boot it is possible to use [[Systemd#Temporary files|systemd-tmpfiles]]. <br />
<br />
{{hc|/etc/tmpfiles.d/acpi_call.conf|<br />
<br />
w /proc/acpi/call - - - - ''\\_SB.PCI0.PEG0.PEGP._OFF''}}<br />
<br />
The above config will be loaded at boot by systemd. What it does is write the specific OFF signal to the {{ic|/proc/acpi/call}} file. Obviously, replace the {{ic|\_SB.PCI0.PEG0.PEGP._OFF}} with the one which works on your system (please note that you need to escape the backslash).<br />
<br />
====== After X server initialization ======<br />
<br />
On some systems, turning off the discrete GPU before the X server is initialized may hang the system. In such cases, it may be better to disable the GPU after X server initialization, which is possible with some display managers. In [[LightDM]], for instance, the ''display-setup-script'' seat configuration parameter could be used to execute a script as root that disables the GPU.</div>Munzirtahahttps://wiki.archlinux.org/index.php?title=List_of_games&diff=561260List of games2019-01-01T17:28:47Z<p>Munzirtaha: /* Knights is currently updated for latest kde games */</p>
<hr />
<div>[[Category:Gaming]]<br />
[[Category:Lists of software]]<br />
[[da:List of games]]<br />
[[es:List of games]]<br />
[[it:List of games]]<br />
[[ja:ゲーム一覧]]<br />
[[lt:Games]]<br />
[[ru:Gaming]]<br />
[[zh-hans:List of games]]<br />
{{Related articles start}}<br />
{{Related|List of applications}}<br />
{{Related|Gaming}}<br />
{{Related articles end}}<br />
<br />
This page strives to list all games which have a package available in the [[official repositories]] or the [[AUR]]. There are many more Linux games available, which are not packaged. See [[Gaming#Getting games]] for ways to obtain them.<br />
<br />
For more about running games, related system configuration tips, see [[Gaming]]. For an up to date selection of games available in the AUR, try checking the [https://aur.archlinux.org/packages/?SeB=k&K=game AUR 'game' keyword].<br />
<br />
== Action and adventure ==<br />
<br />
* {{App|Abuse|Side-scroller action game that pits you against ruthless alien killers.|http://abuse.zoy.org/|{{Pkg|abuse}}}}<br />
* {{App|[[Wikipedia:Aquaria (video game)|Aquaria]]|2D sidescrolling action-adventure game, heavily focused on exploration and puzzle-solving, with non-linear gameplay. The game engine is open source.|http://www.bit-blot.com/aquaria|{{AUR|aquaria-ose}}, {{AUR|aquaria-hib}}}}<br />
* {{App|Astromenace|Modern 3D scrolling space shooter with ship upgrade possibilities.|https://sourceforge.net/projects/openastromenace/|{{Pkg|astromenace}}}}.<br />
* {{App|1=Barrage|2=Violent ''point-and-click'' shooting game with nice effects|3=http://lgames.sourceforge.net/Barrage/|4={{Pkg|barrage}}}}<br />
* {{App|[[Wikipedia:Blob Wars|Blob Wars: Metal Blob Solid]]|2D action-adventure game with various weapons and missions.|https://sourceforge.net/projects/blobwars/|{{Pkg|blobwars}}}}<br />
* {{App|[[Wikipedia:BZFlag|BZFlag]]|Multiplayer, first-person tank shooter.|http://bzflag.org/|{{Pkg|bzflag}}}}<br />
* {{App|[[Wikipedia:Commander_Keen|Commander_Keen]]| side-scrolling platform action video game|http://clonekeen.sourceforge.net/|{{AUR|clonekeen}}}}<br />
* {{App|[[Wikipedia:Gish (video game)|Gish]]|2D physics platformer about adventures of ball of tar.|https://github.com/freegish/freegish|{{AUR|freegish-git}}}}<br />
* {{App|[[Wikipedia:Hammerfight|Hammerfight]]|2-dimensional physics-based combat game.|http://www.koshutin.com/|{{AUR|hammerfight}}}}<br />
:* The open-source Unix port of the Haaf's Game Engine is available at [https://icculus.org/hge-unix/ icculus.org].<br />
* {{App|kobodeluxe|An enhanced version of Akira Higuchi's game XKobo, an addictive space shoot'em up|http://www.olofson.net/kobodl/|{{Pkg|kobodeluxe}}}}<br />
* {{App|Kollision|Moving a ball to avoid other balls. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kollision/|{{Pkg|kollision}}}}<br />
* {{App|KSpaceDuel|Player attempts to destroy opponent’s satellite and controll their own one to keep it orbiting. Part of {{Grp|kdegames}}|https://kde.org/applications/games/kspaceduel/|{{Pkg|kspaceduel}}}}<br />
* {{App|[[Wikipedia:Liquid_War|Liquid War]] | 2D multiplayer game with a simple and unique game mechanic. It could be classified as a fast-paced strategy. | http://www.ufoot.org/liquidwar/ | {{AUR|liquidwar}}}}<br />
:* A rewrite of the game program, now adopted as a GNU project: {{AUR|liquidwar6}}, homepage: [http://www.gnu.org/software/liquidwar6/ | Liquid War 6]<br />
* {{App|[[Minecraft]]|Java based sandbox game.<br />
|https://minecraft.net/|{{AUR|minecraft}}}}<br />
* {{App|[[Wikipedia:Neverball|Neverball]]|3D game to guide a ball through a maze.|http://neverball.org/|{{Pkg|neverball}}}}<br />
* {{App|[[Wikipedia:Rune (video game)|Rune]]|3rd person Adventure / Hack'n Slay using Unreal Engine. Runs great from box installation.|http://www.rune-world.com|{{AUR|rune}}}}<br />
* {{App|1=Paintball Party 2|2=Paintball Party 2 is the sequel to Paintball Party, a multiplayer action platformer for all ages.|3=http://www.t3-i.com/pages/project.php?id=paintball_party_2|4={{AUR|paintball-party-2}}}}<br />
* {{App|XBill|Kill all instances of a virus before it infects all computers with a malware resembling Microsoft Windows.|http://www.xbill.org/|{{Pkg|xbill}}}}<br />
<br />
== Arcade ==<br />
* {{App|Bomber|A 2D game with a goal by hitting targets with bombs before their plane crashes into them. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/bomber/|{{Pkg|bomber}}}}<br />
* {{App|Bomberclone|Free Bomberman-like game for Linux and Windows. The rules of the game are simple: run though a level and bomb other players.|http://www.bomberclone.de/core.html|{{Pkg|bomberclone}}}}<br />
* {{App|[[Wikipedia:Cave Story|Cave Story/Doukutsu]]|Addictive 1-man-made metroid-vania-esque platformer. If there happens to be a noticible lag when there are lots of enemies on screen or in larger levels, try running the Windows version through Wine. This should fix the problem.|http://cavestory.org|{{AUR|doukutsu}}}}<br />
* {{App|Chromium|Fast paced, arcade-style, top-scrolling space shooter.|http://chromium-bsu.sourceforge.net/|{{Pkg|chromium-bsu}}}}<br />
* {{App|Counter-Strike 2D|2D clone (+additional features) of the popular Counter-Strike Mod|http://cs2d.com|{{AUR|counter-strike-2d}}}}<br />
* {{App|Crack-attack|Free OpenGL game, based on the Super Nintendo classic Tetris Attack.|http://www.nongnu.org/crack-attack/|{{AUR|crack-attack}}}}<br />
* {{App|[[DDNet]]|DDraceNetwork, a mod of Teeworlds|https://ddnet.tw/|{{AUR|ddnet}}}}<br />
<br />
* {{App|[[Wikipedia:Frozen Bubble|Frozen Bubble]]|Arcade game with colorful animated penguin eyecandy|http://frozen-bubble.org|{{Pkg|frozen-bubble}}}}<br />
* {{App|Granatier|A clone of ''Bomberman''. Part of {{Grp|kdegames}}|https://www.kde.org/applications/games/granatier/|{{Pkg|granatier}}}}<br />
* {{App|[[Wikipedia:Hedgewars|Hedgewars]]|Yet another Worms clone, considered to be better than its predecessor by many. Take turns to blast your opponents into oblivion with comedic results! Best in Multiplayer.|https://hedgewars.org/|{{Pkg|hedgewars}}}}<br />
* {{App|kapman|A clone of ''PacMan''. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kapman/|{{Pkg|kapman}}}}<br />
* {{App|kbreakout|''Breakout''-style game. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kbreakout/|{{Pkg|kbreakout}}}}<br />
* {{App|1=lbreakout2|2=Breakout-style arcade game in the manner of Arkanoid|3=http://lgames.sourceforge.net/LBreakout2/|4={{Pkg|lbreakout2}}}}<br />
* {{App|kbounce|Building walls to limit amount of space occupied by two balls bouncing off the walls. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kbounce/|{{Pkg|kbounce}}}}<br />
* {{App|ksnakeduel|''Snake''-like game for 2 players which compete to survive longer than the opponent. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/ksnakeduel/|{{Pkg|ksnakeduel}}}}<br />
* {{App|1=LTris|2=Arcade version of Tetris|3=http://lgames.sourceforge.net/LTris/|4={{Pkg|ltris}}}}<br />
* {{App|[[Wikipedia:Mari0|Mari0]]|The Mario game with Portal gun mechanics.|http://stabyourself.net/mari0/|{{Pkg|mari0}}}}<br />
* {{App|Nikki and the Robots|Cute physics platformer|https://github.com/nikki-and-the-robots/nikki|{{AUR|nikki}}}}<br />
* {{App|Penguin Command|Clone of the classic game "Missile Command" with improved graphics and sound.|http://www.linux-games.com/penguin-command/|{{AUR|penguin-command}}}}<br />
* {{App|Pinball|Open source pinball simulator for Linux and other Unix systems.|http://pinball.sourceforge.net/|{{AUR|pinball}}}}<br />
* {{App|PowerManga|Arcade 2D shoot-em-up game with 41 levels and more than 200 sprites.|http://linux.tlk.fr/games/Powermanga/|{{AUR|powermanga}}}}<br />
* {{App|Quadrapassel|A ''Tetris'' remake for GNOME.|https://wiki.gnome.org/Apps/Quadrapassel|{{Pkg|quadrapassel}}}}<br />
* {{App|Streets of Rage Remake|A remake of the classic Streets of Rage 1, 2 and 3 by Sega.|http://sorr.forumotion.net/|{{AUR|streetsofrageremake}}}}<br />
* {{App|opsu!|An open source Java client for the rhythm game osu!.|https://itdelatrisu.github.io/opsu/|{{AUR|opsu}}}}<br />
* {{App|[[Wikipedia:Teeworlds|Teeworlds]]|Fast-paced 2D multiplayer shooter|https://www.teeworlds.com/|{{Pkg|teeworlds}} (0.7 branch) or {{AUR|teeworlds06}} (0.6 branch)}}<br />
* {{App|Tetrinet|Multiplayer online Tetris game for up to six people.|http://www.tetrinet.info/|{{AUR|gtetrinet}}}}<br />
* {{App|Trackballs|A 3D marble game inspired by the classic Marble Madness.|https://trackballs.github.io/|{{AUR|trackballs}}}}<br />
* {{App|Ultrastar-ng|Clone of SingStar, a music video game.|http://performous.org/|{{AUR|ultrastardx-git}}}}<br />
* {{App|[[Wikipedia:Warmux|Warmux]] (previously ''Wormux'')|Somewhat similar to Worms 2/Worms Armageddon|https://gna.org/projects/warmux/|{{AUR|warmux}}}}<br />
<br />
== Casual games ==<br />
* {{App|Aisleriot|A collection of solitaire card games.|https://wiki.gnome.org/Apps/Aisleriot|{{Pkg|aisleriot}}}}<br />
* {{App|Atanks|A multi-platform Scorched Earth clone similar to the Worms series of games|http://atanks.sourceforge.net/|{{AUR|atanks}}{{Broken package link|package not found}}}}<br />
* {{App|bs|Battleships based shooter for the console|http://www.catb.org/~esr/bs/|{{AUR|bs}}}}<br />
* {{App|BSD Games|Collection of classic text games distributed with *BSD|http://wiki.linuxquestions.org/wiki/BSD_games|{{Pkg|bsd-games}}}}<br />
* {{App|Kajongg|An implementation of [[wikipedia:Mahjong|Mahjong]] for 4 players. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kajongg/|{{Pkg|kajongg}}}}<br />
* {{App|KCheckers|Qt-based checkers boardgame.|http://qcheckers.sourceforge.net/|{{Pkg|kcheckers}}}}<br />
* {{App|KPatience|A set of solitarire card games. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kpatience/|{{Pkg|kpatience}}}}<br />
* {{App|KSquares|A [[wikipedia:Dots_and_Boxes|dots-and-boxes]] game for two players. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/ksquares/|{{Pkg|ksquares}}}}<br />
* {{App|Lskat|A variation of [[wikipedia:Skat|Skat]] card game for two players. Part of {{Grp|kdegames}}|https://www.kde.org/applications/games/lskat/|{{Pkg|lskat}}}}<br />
* {{App|Mah-Jong|Chinese Classical mahjong (not solitaire) with network support|http://mahjong.julianbradfield.org/|{{Pkg|mahjong}}}}<br />
* {{App|nInvaders|Ncurses based space invaders clone|http://ninvaders.sourceforge.net/|{{AUR|ninvaders}}}}<br />
* {{App|xroach|cockroaches hide under your windows||{{AUR|xroach}}}}<br />
<br />
== Chess simulators ==<br />
* {{App|[[Wikipedia:GNU Chess|GNU Chess]]|One of the oldest computer chess programs for Unix-based computers, lets most modern computers play a full game of chess|https://gnu.org/s/chess|{{Pkg|gnuchess}}}}<br />
* {{App|chessx|Chess Database and PGN viewer|http://chessx.sourceforge.net|{{AUR|chessx}}}}<br />
* {{App|cutechess|A graphical user interface, command-line interface and a library for playing chess|https://github.com/cutechess/cutechess|{{AUR|cutechess}}}}<br />
* {{App|Eboard|Chess interface to ICS and chess engines|http://bergo.eng.br/eboard|{{AUR|eboard}}}}<br />
* {{App|1=Knights|2=Chess board by KDE with XBoard protocol support.|3=https://www.linux-apps.com/content/show.php/Knights?content=122046|4={{Pkg|knights}}}}<br />
* {{App|PyChess|An advanced chess client for linux following the GNOME Human Interface Guidelines.|http://pychess.org/|{{Pkg|pychess}}}}<br />
* {{App|[[Wikipedia:GNOME Chess|GNOME Chess]]|A 2D chess game which can use third party chess engines.|https://wiki.gnome.org/Apps/Chess|{{Pkg|gnome-chess}}}}<br />
* {{App|glChess|3D Chess Frontend.|https://wiki.gnome.org/Apps/Chess|{{AUR|glchess}}}}<br />
<br />
== Education ==<br />
<br />
* {{App|Artikulate|Pronunciation trainer that helps improving and perfecting a learner's pronunciation skills for a foreign language. Part of {{Grp|kdeedu}}.|https://www.kde.org/applications/education/artikulate/|{{Pkg|artikulate}}}}<br />
* {{App|Blinken|Sequence-remembering game for training memory. Part of {{Grp|kdeedu}}.|https://www.kde.org/applications/education/blinken/|{{Pkg|blinken}}}}<br />
* {{App|[[Wikipedia:GCompris|GCompris]]|Educational software suite comprising of numerous activities for children aged 2 to 10.|https://gcompris.net/|{{Pkg|gcompris-qt}}}}<br />
* {{App|[[Wikipedia:Kanagram|Kanagram]]|Letter order game. Part of {{Grp|kdeedu}}.|https://www.kde.org/applications/education/kanagram/|{{Pkg|kanagram}}}}<br />
* {{App|KBruch|Small program to practice calculating with fractions and percentages. Part of {{Grp|kdeedu}}.|https://www.kde.org/applications/education/kbruch/|{{Pkg|kbruch}}}}<br />
* {{App|[[Wikipedia:KGeography|KGeography]]|Geography learning tool, which allows you to learn about the political divisions of some countries (divisions, capitals of those divisions and their associated flags if there are some). Part of {{Grp|kdeedu}}.|https://www.kde.org/applications/education/kgeography/|{{Pkg|kgeography}}}}<br />
* {{App|[[Wikipedia:KHangMan|KHangMan]]|[[Wikipedia:Hangman (game)|Hangman]] game. Part of {{Grp|kdeedu}}.|https://www.kde.org/applications/education/khangman/|{{Pkg|khangman}}}}<br />
* {{App|[[Wikipedia:KLettres|KLettres]]|Application specially designed to help the user to learn alphabet in a new language and then to learn to read simple syllables. Part of {{Grp|kdeedu}}.|https://www.kde.org/applications/education/klettres/|{{Pkg|klettres}}}}<br />
* {{App|Minuet|Software for music education. Part of {{Grp|kdeedu}}.|https://minuet.kde.org/|{{Pkg|minuet}}}}<br />
* {{App|Nootka|Application to learn classical score notation.|https://nootka.sourceforge.io/|{{AUR|nootka}}}}<br />
* {{App|[[Wikipedia:Tux, of Math Command|Tux Math]]|Arcade game that helps kids practice their math facts.|https://github.com/tux4kids/tuxmath|{{AUR|tuxmath}}}}<br />
* {{App|[[Wikipedia:Tux Paint|Tux Paint]]|Drawing program designed for young children.|http://tuxpaint.org/|{{Pkg|tuxpaint}}}}<br />
* {{App|[[Wikipedia:Tux Typing|Tux Typing]]|Educational typing tutor for kids starring Tux.|https://github.com/tux4kids/tuxtype|{{AUR|tuxtype}}}}<br />
<br />
== Interactive fiction ==<br />
<br />
See also [[Wikipedia:Interactive fiction#Development systems]].<br />
<br />
* {{App|[[Wikipedia:Inform|Inform]]|Design system for interactive fiction based on natural language|http://inform7.com/|{{AUR|inform7}}}}<br />
* {{App|INSTEAD|Quest interpreter using Lua macros as game writing language|https://instead.syscall.ru/|{{AUR|instead-launcher}} {{AUR|instead}}}}<br />
* {{App|[[Wikipedia:TADS|TADS]]|Prototype-based domain-specific programming language and set of standard libraries for creating interactive fiction (IF) games|http://tads.org|{{AUR|frobtads}}}}<br />
<br />
== Massively multiplayer online games (MMO) ==<br />
<br />
See also [[Wikipedia:List of massively multiplayer online games]] and [[Wikipedia:Comparison of massively multiplayer online role-playing games]].<br />
<br />
* {{App|[[Dofus]]|Free, manga inspired, Massively Multiplayer Online Role-playing Game (MMORPG) for Adobe AIR|http://www.dofus.com|{{AUR|dofus}}}}<br />
* {{App|[[Wikipedia:Eternal Lands|Eternal Lands]]|3D fantasy online role playing game|http://www.eternal-lands.com|{{AUR|eternallands}}}}<br />
* {{App|[[Wikipedia:PlaneShift (video game)|Planeshift]]|Role Playing Game immersed into a 3D virtual fantasy world which is FULLY FREE to play. Fully free means you will have no surprises of premium content which will limit your gameplay or unbalance the game. There are no limitations in skills, ranks, abilities, items you can gain with your free account|http://www.planeshift.it|{{AUR|planeshift}}}}<br />
* {{App|[[RuneScape]]|Massive online adventure game by Jagex|http://www.runescape.com|{{AUR|unix-runescape-client}} (old Java client), {{AUR|runescape-launcher}} (new NXT client)}}<br />
* {{App|[[Wikipedia:Ryzom|Ryzom]]|3D Fantasy MMORPG|http://www.ryzom.com|{{AUR|ryzom-client}}}}<br />
* {{App|[[Wikipedia:Savage: The Battle for Newerth|Savage: The Battle for Newerth]]|Online multiplayer team-based FPS/RTS hybrid. Open-sourced in September 2006. Savage XR, the most improved continuation (including SFE patches), is completely free (no purchasing/ads whatsoever) however closed-source to reduce cheating.|http://www.newerth.com/|{{AUR|savage}}}}<br />
* {{App|[[Wikipedia:Savage 2: A Tortured Soul|Savage 2: A Tortured Soul]]|Fantasy themed online multiplayer team-based FPS/RTS/RPG hybrid. Free-to-play as of December 2008. Pay for premium accounts providing crucial game elements such as extra inventory slots, access to clans and removal of the Hellbourne unit restrictions (per-account), as well as access to replays and stats.|http://savage2.net|{{AUR|savage2}}}}<br />
* {{App|The Mana World|Serious effort to create an innovative free and open source MMORPG|https://www.themanaworld.org|{{Pkg|manaplus}}}}<br />
<br />
== Platformer ==<br />
<br />
* {{App|[[Wikipedia:Frogatto|Frogatto]]|Platformer with adventure elements.|https://frogatto.com|{{Pkg|frogatto}}}}<br />
* {{App|KGoldrunner|A platform game with the goal of collecting gold. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kgoldrunner/|{{Pkg|kgoldrunner}}}}<br />
* {{App|1=Knyttstories|2=Platformer with adventure elements, heavy exploration and downloadable levels.|3=http://nifflas.ni2.se/?page=Knytt+Stories|4={{AUR|knyttstories}}}}<br />
* {{App|Secret Maryo Chronicles|Mario-style game.|http://www.secretmaryo.org/|{{AUR|smc}}}}<br />
* {{App|SuperTux|Mario-style game featuring Tux.|http://supertux.lethargik.org/|{{Pkg|supertux}}}}<br />
* {{App|Toppler|Reimplementation of the classic jump & run game "Nebulus".|http://toppler.sourceforge.net/|{{AUR|toppler}}}}<br />
* {{App|The Secret Chronicles of Dr. M.|A fork of Secret Maryo Chronicles.|https://github.com/secretchronicles/TSC|{{AUR|tsc}}}}<br />
<br />
== Puzzle ==<br />
<br />
* {{App|Atomix|Build molecules out of single atoms.|https://wiki.gnome.org/Apps/Atomix|{{Pkg|atomix}}}}<br />
* {{App|Blockout II|3D tetris, free adaptation of the original BlockOut DOS game edited by California Dreams in 1989|http://www.blockout.net/blockout2/|{{AUR|blockout2}}}}<br />
* {{App|Bovo|[[wikipedia:Gomoku|Gomoku]]-like game. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/bovo/|{{Pkg|bovo}}}}<br />
* {{App|Cgoban3|Kiseido Go and SGF client.|http://www.igoweb.org/~wms/comp/cgoban/|{{Pkg|cgoban}}}}<br />
* {{App|Chroma|Puzzle game like Sokoban with ncurses and graphics mode|http://www.level7.org.uk/chroma/|{{AUR|chroma}}}}<br />
* {{App|Crack Attack!|Free OpenGL game based on the Super Nintendo classic Tetris Attack.|http://www.aluminumangel.org/attack/|{{AUR|crack-attack}}}}<br />
* {{App|GNOME Sudoku|Test your logic skills in this number grid puzzle.|https://wiki.gnome.org/Apps/Sudoku|{{Pkg|gnome-sudoku}}}}<br />
* {{App|Gnu Go|A terminal-based implementation of Go from GNU.|https://www.gnu.org/software/gnugo/|{{Pkg|gnugo}}}}<br />
* {{App|Gopanda|Client for the Pandanet-IGS go Server.|http://pandanet-igs.com/communities/gopanda2|{{AUR|Gopanda}}}}<br />
* {{App|gweled|Eliminating tiles by joining them in groups of three.|https://launchpad.net/gweled/|{{Pkg|gweled}}}}<br />
* {{App|Hitori|Small application written to allow one to play the eponymous puzzle game, which is similar in theme to more popular puzzles such as Sudoku.|https://wiki.gnome.org/Apps/Hitori|{{Pkg|hitori}}}}<br />
* {{App|KAtomic|Slide elements so they resemble a chemical molecule. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/katomic/|{{Pkg|katomic}}}}<br />
* {{App|KBlackbox|Finding positions of hidden balls by using hints. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kblackbox/|{{Pkg|kblackbox}}}}<br />
* {{App|KBlocks|''Tetris'' clone. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kblocks/|{{Pkg|kblocks}}}}<br />
* {{App|KDiamond|Eliminating tiles by joining them in groups of three. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kdiamond/|{{Pkg|kdiamond}}}}<br />
* {{App|KFourInLine|Competition between two players to put a line of four pieces before the opponent. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kfourinline/|{{Pkg|kfourinline}}}}<br />
* {{App|Kigo|''Go'' for KDE. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kigo/|{{Pkg|kigo}}}}<br />
* {{App|Killbots|A turn-based game with an objective of avoiding robots that are trying to kill the player. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/killbots/|{{Pkg|killbots}}}}<br />
* {{App|KJumpingCube|Take-all-tiles game in which one gains fields by increasing value of one’s own nearby fields. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kjumpingcube/|{{Pkg|kjumpingcube}}}}<br />
* {{App|1=Klickety|2=Clearing the board by removing aligned tiles. Part of {{Grp|kdegames}}.|3=https://games.kde.org/game.php?game=klickety|4={{Pkg|klickety}}}}<br />
* {{App|KLines|Moving balls around the board to form a line of 5 of the same color. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/klines/|{{Pkg|klines}}}}<br />
* {{App|KMines|[[wikipedia:Minesweeper_(video_game)|Minesweeper]], part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kmines/|{{Pkg|kmines}}}}<br />
* {{App|KNetwalk|Rotating tiles with wires to connect all computers to internet. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/knetwalk/|{{Pkg|knetwalk}}}}<br />
* {{App|Kolf|A minigolf game with 2D overhead view. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kolf/|{{Pkg|kolf}}}}<br />
* {{App|KShisen|[[wikipedia:Shisen-Sho|Shisen-Sho]]. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kshisen/|{{Pkg|kshisen}}}}<br />
* {{App|KSudoku|Sudoku game and more for KDE. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/ksudoku/|{{Pkg|ksudoku}}}}<br />
* {{App|Kubrick|A Rubik’s cube solving game. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kubrick/|{{Pkg|kubrick}}}}<br />
* {{App|Marvellous Inc.|MarvInc is a zachlike puzzle game with a story told through emails.|https://github.com/MarvellousSoft/MarvInc|{{AUR|marvinc-git}}}}<br />
* {{App|Palapeli|Jigsaw puzzle game. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/palapeli/|{{Pkg|palapeli}}}}<br />
* {{App|Pathological|Complete all wheels on the board by collecting marbles of the same color in each of them.|http://pathological.sourceforge.net/howtoplay.php|{{Pkg|pathological}}}}<br />
* {{App|Picmi|Nonogram puzzle game|https://games.kde.org/picmi|{{Pkg|picmi}}}}<br />
* {{App|Pingus|Lemmings clone, i.e. a level-based puzzle game.|http://pingus.seul.org/|{{Pkg|pingus}}}}<br />
* {{App|Ri-li|Toy wood engine GPL game|http://ri-li.sourceforge.net/|{{AUR|ri-li}}}}<br />
* {{App|qgo|A Go client and full featured SGF editor |https://github.com/pzorin/qgo|{{Pkg|qgo}}}}<br />
* {{App|Simon Tatham's Portable Puzzle Collection|30+ "quick" puzzle games with simplistic but polished GTK GUI |http://www.chiark.greenend.org.uk/~sgtatham/puzzles/|{{Pkg|puzzles}}}}<br />
* {{App|[[Wikipedia:VVVVVV|VVVVVV]]|Highly praised 2D puzzle platform indie game with a C64 retro theme, with a great chiptune soundtrack. You can buy the full version for £1.67, or play the [http://www.kongregate.com/games/TerryCavanagh/vvvvvv-demo/ demo] in a browser.<br />
:{{Tip|You may want to backup your save file, which is found at {{Ic|~/.macromedia/Flash_Player/#SharedObjects/''string''/localhost...}}.}}<br />
|http://thelettervsixtim.es/|{{AUR|vvvvvv}}}}<br />
* {{App|XMahjongg|Mahjong solitaire for X.|https://www.lcdf.org/xmahjongg/|{{Pkg|xmahjongg}}}}<br />
* {{App|Xscorch|Clone of the classic DOS game Scorched Earth.|http://www.xscorch.org/|{{AUR|xscorch}}}}<br />
* {{App|[[Wikipedia:World of Goo|World of Goo]]|Great 2D puzzle game.|https://www.2dboy.com|{{AUR|worldofgoo}}}}<br />
<br />
== Racing ==<br />
<br />
* {{App|Armagetron Advanced|Tron Clone in 3D.|http://armagetronad.net/|{{Pkg|armagetronad}}}}<br />
* {{App|Extreme Tux Racer|3D game where you guide Tux the penguin down a course of snow and ice collecting herring.|https://sourceforge.net/projects/extremetuxracer|{{Pkg|extremetuxracer}}}}<br />
* {{App|Maniadrive|Arcade car game on acrobatic tracks with quick and nervous gameplay.|http://maniadrive.raydium.org/|{{AUR|maniadrive}}}}<br />
* {{App|Moon Buggy|Simple game for the text mode.|http://seehuhn.de/pages/moon-buggy/|{{AUR|moon-buggy}}}}<br />
* {{App|Speed Dreams|Fork of Torcs, aiming to implement exciting new features as well as improving realism.|http://speed-dreams.org/|{{AUR|speed-dreams-svn}}}}<br />
* {{App|Stunt Rally|Racing game with rally style of driving, mostly on gravel.|http://stuntrally.tuxfamily.org/|{{AUR|stuntrally}}{{Broken package link|package not found}}}}<br />
* {{App|Supertux Kart|Kart racing game featuring Tux and his friends.|http://supertuxkart.sourceforge.net/|{{Pkg|supertuxkart}}}}<br />
* {{App|Torcs|3D racing cars simulator using OpenGL.|http://torcs.sourceforge.net/|{{AUR|torcs}}}}<br />
* {{App|Trigger Rally|Free OpenGL rally car racing game.|https://sourceforge.net/projects/trigger-rally/|{{AUR|trigger}}}}<br />
* {{App|Ultimate Stunts|Remake of the famous DOS-game 'stunts'.|http://www.ultimatestunts.nl/|{{AUR|ultimatestunts}}}}<br />
* {{App|VDrift|Open source driving simulation made with drift racing in mind.|http://vdrift.net/|{{AUR|vdrift}}}}<br />
* {{App|[[Wikipedia:X-Moto|XMoto]]|Challenging 2D motocross platform game, where physics play an important role.|https://xmoto.tuxfamily.org/|{{Pkg|xmoto}}{{Broken package link|package not found}}}}<br />
<br />
== Rogue-like ==<br />
<br />
See also [[Wikipedia:Chronology of roguelike video games]].<br />
<br />
* {{App|[[Wikipedia:ADOM|ADOM]]|Ancient Domains Of Mystery.|http://adom.de|{{AUR|adom}}}}<br />
* {{App|[[Wikipedia:Angband (video game)|Angband]]|Roguelike dungeon exploration game based on the writings of JRR Tolkien.|http://rephial.org/|{{Pkg|angband}}}}<br />
* {{App|ASCIIpOrtal|Sidescrolling game with ANSI text graphics in which you are a person holding a device which creates portals, or links to other parts of the level.|https://github.com/cymonsgames/ASCIIpOrtal|{{Pkg|asciiportal}}}}<br />
* {{App|[[Wikipedia:Brogue (video game)|Brogue]]|A beginner-friendly Rogue-like.|https://sites.google.com/site/broguegame/|{{AUR|brogue}}}}<br />
* {{App|[[Wikipedia:Cataclysm: Dark Days Ahead|Cataclysm: Dark Days Ahead]]|Post-apocalyptic roguelike.|http://en.cataclysmdda.com/|{{Pkg|cataclysm-dda}}}}<br />
* {{App|[[Wikipedia:Linley's Dungeon Crawl|Linley's Dungeon Crawl]]||http://www.dungeoncrawl.org/|{{AUR|crawl}}}}<br />
* {{App|[[Wikipedia:DoomRL|DoomRL]]|Simple roguelike game, based on Doom. Perfect for starters.|http://doom.chaosforge.org/|{{AUR|doomrl}}}}<br />
* {{App|[[Wikipedia:Dwarf_Fortress|Dwarf Fortress]]|Single-player fantasy game. You control a dwarven outpost or an adventurer in a randomly generated persistent world.|http://www.bay12games.com/dwarves/|{{Pkg|dwarffortress}}}}<br />
* {{App|glHack|An OpenGL-based clone of NetHack.|http://glhack.sourceforge.net/|{{Pkg|glhack}}}}<br />
* {{App|Infra-Arcana|A game inspired by the writings of H.P. Lovecraft.|https://sites.google.com/site/infraarcana/|{{AUR|infra-arcana}}, {{AUR|infra-arcana-git}}}}<br />
* {{App|[[Wikipedia:NetHack|Nethack]]|Single player dungeon exploration game.|http://www.nethack.org/|{{Pkg|nethack}}}}<br />
* {{App|[[Wikipedia:Rogue (video game)|Rogue]]|Original dungeon crawl game.|http://rogue.rogueforge.net/rogue-5-4/|{{Pkg|rogue}}}}<br />
* {{App|[[Wikipedia:Dungeon Crawl Stone Soup|Stone Soup]]|Dungeon Crawl Stone Soup.|https://crawl.develz.org/wordpress/|{{Pkg|stone-soup}}}}<br />
* {{App|[[Wikipedia:Tales of Maj'Eyal|Tales of Maj'Eyal]] (previously ''Troubles of Middle Earth'')|A dungeon crawler similar to Angband, based on the works of Tolkien.|https://te4.org/|{{AUR|tome2}}, {{AUR|tome4}}}}<br />
* {{App|wanderer|Wanderer is a game similar to Boulderdash, Repton, XOR and others.|http://e271.net/~marina/wanderer.html|{{AUR|wanderer}} {{AUR|wanderer-git}}}}<br />
* {{App|Shattered Pixel Dungeon|Shattered fork of the popular rogue-like game Pixel Dungeon.|http://www.shatteredpixel.com/|{{AUR|shattered-pixel-dungeon}},{{AUR|shattered-pixel-dungeon-git}}}}<br />
<br />
== Role-playing games (RPG) ==<br />
<br />
* {{App|Arx Libertatis|This project is a fully working, open source port of Arx Fatalis, a 2002 first-person role-playing game developed by Arkane Studios. It features some improvements over the original engine like bug fixes and wide screen support.|https://arx-libertatis.org/|{{AUR|arxlibertatis}}}}<br />
* {{App|Egoboo|Open-source action RPG/dungeon crawling adventure with OpenGL 3D graphics.|http://egoboo.sourceforge.net/|{{AUR|egoboo}}}}<br />
* {{App|fheores2|Attempt to reimplement the [[Wikipedia:Heroes of Might and Magic II|Heroes of Might and Magic II]] engine using SDL.|https://sourceforge.net/projects/fheroes2/|{{AUR|fheroes2-svn}}}}<br />
* {{App|Flare|Action game similar to Diablo.|http://www.flarerpg.org/|{{AUR|flare-game-git}}}}<br />
* {{App|FreedroidRPG|Mature science fiction role playing game set in the future|http://freedroid.org/|{{Pkg|freedroidrpg}}}}<br />
* {{App|GemRB|Attempt to reimplement the [[Wikipedia:Infinity Engine|Bioware's Infinity Engine]] under GNU GPL.|http://www.gemrb.org/|{{Pkg|gemrb}}}}<br />
* {{App|OpenMW|Attempt to reimplement the popular role-playing game [[Wikipedia:Morrowind|Morrowind]]. OpenMW aims to be a fully playable, open source implementation of the game's engine.|https://openmw.org/|{{Pkg|openmw}}}}<br />
* {{App|VCMI|Attempt to reimplement [[Wikipedia:Heroes of Might and Magic III|Heroes of Might and Magic III]].|http://forum.vcmi.eu/portal.php|{{AUR|vcmi}} {{AUR|vcmi-git}}}}<br />
<br />
== Shooters (FPS, third person) ==<br />
<br />
* {{App|[[Wikipedia:CodeRED: Alien Arena|Alien Arena]]|Free, standalone FPS focused mainly on online multiplayer, but can also be played singleplayer against bots.|http://red.planetarena.org/|{{Pkg|alienarena}}{{Broken package link|package not found}}}}<br />
* {{App|[[Wikipedia:AssaultCube|AssaultCube]]|Free multiplayer FPS, based on the cube engine. Realistic environments, fast, arcade gameplay. Much like Counter-Strike.|https://assault.cubers.net/|{{Pkg|assaultcube}}}}<br />
* {{App|AssaultCube Reloaded|AssaultCube improved.|http://acr.victorz.ca|{{AUR|assaultcube-reloaded}}}}<br />
* {{App|[[Wikipedia:Cube 2: Sauerbraten|Cube 2: Sauerbraten]]|Improved version of the Cube engine.|http://sauerbraten.org/|{{Pkg|sauerbraten}}}}<br />
* [[Wikipedia:Doom (1993 video game)|Doom]]: the famous shooter from ID Software has several ports for Linux. None of the id-engine games have copyleft game resources, only the game engine code was open sourced. See [http://doom.wikia.com/wiki/Source_port] for details.<br />
:* Doom 1 Demo data &ndash; {{AUR|doom1-wad}}<br />
:* {{App|[[Brutal Doom]]|A gore-themed gameplay mod for Doom that was created in 2010 by Marcos Abenante (Sergeant_Mark_IV).|http://www.moddb.com/mods/brutal-doom|{{AUR|brutal-doom}}}}<br />
:{{Note| Instructions at [[Brutal Doom#Installation]] show how to modify {{AUR|gzdoom-git}} directly without {{AUR|brutal-doom}}. {{Pkg|openal}} is required for in-game audio.}}<br />
:* {{App|Freedoom|Project aimed at creation of free Doom data files.|http://www.nongnu.org/freedoom/|{{AUR|freedoom1}}, {{AUR|freedoom2}}}}<br />
:* {{App|Chocolate Doom|Doom port reproducing the behavior of the original DOS version.|https://www.chocolate-doom.org/|{{AUR|chocolate-doom}}}}<br />
:* {{App|Doomsday|Advanced port of the Doom game engine, capable also of running Heretic, and Hexen games.|http://www.dengine.net/|{{AUR|doomsday}}}}<br />
:* {{App|GZDoom|Doom source port based on ZDoom with an OpenGL renderer.|https://github.com/coelckers/gzdoom|{{AUR|gzdoom}}}}<br />
:* {{App|PrBoom Plus|Enhanced version of the PrBoom Doom engine port.|http://prboom-plus.sourceforge.net/|{{AUR|prboom-plus}}}}<br />
:* {{App|ZDoom|Enhanced Doom port with additional support for Heretic, Hexen and Strife.|https://www.zdoom.org/|{{AUR|zdoom}}}}<br />
* [[Wikipedia:Doom 3|Doom 3]]<br />
:* {{App|Doom 3|Stock Doom 3 binaries|http://www.idsoftware.com|{{AUR|doom3-bin}}}}<br />
:* {{App|Doom 3 Engine|Source-based Doom 3 engine|http://www.idsoftware.com|{{AUR|doom3}}}}<br />
:* {{App|dhemw3|Fork of iodoom3|https://github.com/dhewm/dhewm3|{{AUR|dhewm3}}}}<br />
:* {{App|RBDOOM-3-BFG|Fork of Doom 3 BFG Edition|https://github.com/RobertBeckebans/RBDOOM-3-BFG|{{AUR|rbdoom-3-bfg}}}}<br />
* {{App|ezQuake|Fast paced multiplayer FPS focusing on movement and trick jumps. The popular, modern and maintained Quake/QuakeWorld client. Can play on-line for free |http://ezquake.sourceforge.net/|{{AUR|ezquake}}}}<br />
* [[Wikipedia:Duke Nukem 3D|Duke Nukem 3D]]<br />
:* {{App|eduke32|Advanced source port.|http://eduke32.com/|{{AUR|eduke32}}}}<br />
* {{App|[[Wikipedia:Enemy Territory: Quake Wars|Enemy Territory: Quake Wars]]|Commercial team and class-based multiplayer game. Full version requires retail DVD to play.|http://zerowing.idsoftware.com/linux/etqw/ETQWFrontPage/|{{AUR|etqw}}}}<br />
* {{App|HHeretic|Linux port of Raven Game's old shooter, Heretic.|http://hhexen.sourceforge.net/hheretic.html|{{AUR|hheretic}}}}<br />
:* Heretic Demo game data &ndash; {{AUR|heretic1-wad}}<br />
* {{App|HHexen|Linux port of Raven Game's old shooter, Hexen.|http://hhexen.sourceforge.net/hhexen.html|{{AUR|hhexen}}}}<br />
:* Hexen 1 Demo game data &ndash; {{AUR|hexen1-wad}}<br />
* {{App|[[Wikipedia:Nexuiz|Nexuiz]]|Free, open-source first person shooter. Development ceased, most of the developers moved to project [http://xonotic.org/ Xonotic].|http://alientrap.org/nexuiz|{{Pkg|nexuiz}}}}<br />
* {{App|nQuake|Fast paced multiplayer FPS focusing on movement and trick jumps. This is the popular Quake / QuakeWorld package, including ezQuake client, 24bit textures, maps, bots and more. Can play on-line for free.|http://nquake.sourceforge.net/|{{AUR|nquake}}}}<br />
* {{App|[[Wikipedia:OpenArena|OpenArena]]|Fast multiplayer shooter based on the quake3-engine.|http://openarena.ws|{{AUR|openarena}}}}<br />
* {{App|[[Wikipedia:Prey (video game)|Prey]]|First Person Shooter released in 2006 (with a GNU/Linux port in 2008), published by 3D Realms.|https://www.3drealms.com/prey/index.html|{{AUR|prey}}}}<br />
* [[Red Crucible]]<br />
:* Red Crucible®: Firestorm - Free to play online FPS &ndash; {{AUR|rcf}}<br />
:* Red Crucible®: Reloaded - Free to play online FPS &ndash; {{AUR|rcr}}<br />
* [[Wikipedia:Quake (video game)|Quake]]<br />
:* Advanced Quake 1 game engine &ndash; {{AUR|darkplaces}}<br />
:* High quality textures for Quake from the Quake Revitalization Project &ndash; {{AUR|quake-qrp-textures}}<br />
* [[Wikipedia:Quake II|Quake II]]<br />
:* {{App|Quake 2|Built by Icculus|https://www.icculus.org/quake2/|{{AUR|quake2}}}}<br />
:* A true color retexture pak for Quetoo and other Quake2 engines supporting 32bpp tga textures &ndash; {{AUR|quake2-retexture}}<br />
:* Quake 2 engine focused on single player and 64bits. {{AUR|yamagi-quake2}}<br />
* [[Wikipedia:Quake III Arena|Quake III Arena]]<br />
:* Quake III Arena binaries &ndash; {{AUR|quake3}}<br />
:* {{App|ioquake3|De-facto FOSS Quake 3 distribution.|https://ioquake3.org/|{{AUR|ioquake3}}}}<br />
* [[Wikipedia:Quake 4|Quake 4]]<br />
:* Demo version &ndash; {{AUR|quake4-demo}}<br />
:* Quake 4 engine &ndash; {{AUR|quake4}}<br />
* {{App|[[Wikipedia:Red Eclipse|Red Eclipse]]|Single-player and multi-player first-person ego-shooter, built as a total conversion of Cube Engine 2.|http://redeclipse.net|{{AUR|redeclipse}}}}<br />
* {{App|Tesseract|Smooth FPS with map editing, instagib, DM and CTF.|http://tesseract.gg/|{{AUR|tesseract-game}}}}<br />
* {{App|[[Wikipedia:Tremulous|Tremulous]]|FPS with elements of real time strategy, featuring humans and aliens.|http://tremulous.net/|{{AUR|tremulous}}}}<br />
* {{App|[[Wikipedia:Unreal Tournament (upcoming video game)|Unreal Tournament (upcoming)]]|Free and open-source remake of the original using Unreal Engine 4|https://www.unrealtournament.com/|{{AUR|unrealtournament4}}}}<br />
* {{App|[[Wikipedia:Unvanquished (video game)|Unvanquished]]|Team-based fps/rts hybrid game which pits aliens against humans. Monthly release that can be played on official servers.|https://unvanquished.net/|{{AUR|unvanquished}}}}<br />
* {{App|[[Urban Terror]]|Modern multiplayer FPS based on the ioquake3 engine.|http://urbanterror.info|{{AUR|urbanterror}}}}<br />
* {{App|[[Wikipedia:Warsow (game)|Warsow]]|Fast paced multiplayer FPS focusing on movement and trick jumps.|https://warsow.net|{{Pkg|warsow}}}}<br />
* [[Wolfenstein: Enemy Territory]]<br />
:* Completely free, standalone, team-based, multiplayer FPS &ndash; {{AUR|enemy-territory}}<br />
:* Advanced open source project and fully compatible client and server &ndash; {{AUR|etlegacy32}}<br />
* {{App|[[Wikipedia:World of Padman|World of Padman]]|Stand slone somplex &ndash; cartoon-style multiplayer first-person shooter.|http://worldofpadman.net/website|{{AUR|worldofpadman}}}}<br />
* {{App|[[Wikipedia:Xonotic|Xonotic]]|Free, open-source first person shooter (a fork of Nexuiz but with modified gameplay).|http://xonotic.org|{{Pkg|xonotic}}}}<br />
<br />
== Simulation ==<br />
<br />
* {{App|[[Wikipedia:Beyond the Red Line|Beyond the Red Line]]|Completely free stand-alone conversion of Freespace 2 based on the TV show Battlestar Galactica. Presumed abandoned, see Diaspora: Shattered Armistice for an alternative.|http://www.beyondtheredline.net/|{{AUR|btrl}}}}<br />
* {{App|Endless Sky|Open source, 2D space trading and combat game similar to the classic Escape Velocity series.|https://endless-sky.github.io/|{{AUR|endless-sky-git}}}}<br />
* {{App|[[Wikipedia:Flight Gear|Flight Gear]]|Open-source, multi-platform flight simulator.|http://www.flightgear.org/|{{AUR|flightgear}}}}<br />
* {{App|[[Wikipedia:FooBillard|Foobillard++]]|Successor to Foobillard, OpenGL billiard game for Linux.|http://foobillardplus.sourceforge.net/|{{Pkg|foobillard++}}}}<br />
* {{App|[[Wikipedia:FreeSpace 2|FreeSpace 2]]|Open sourced space emulator.|https://icculus.org/freespace2/|{{AUR|fs2_open}}}}<br />
* {{App|Minetest|Voxel-based sandbox game engine and game.|http://www.minetest.net/|{{Pkg|minetest}} {{Pkg|minetest-server}}}}<br />
* {{App|Naev|Open source, 2D space trading and combat game, taking inspiration from the Escape Velocity series.|http://blog.naev.org/|{{Pkg|naev}}}}<br />
* {{App|[[Wikipedia:BVE Trainsim#openBVE|openBVE]]|Free-as-in-freedom train simulator placed in the public domain.|https://web.archive.org/web/odakyufan.zxq.net/openbve/|{{Pkg|openbve}}}}<br />
* {{App|[[Wikipedia:Oolite (video game)|Oolite]]|3D space trading and combat simulator in the spirit of Elite.|http://oolite.org/|{{AUR|oolite}}}}<br />
* {{App|[[Wikipedia:Pioneer (video game)|Pioneer]]|Open source, 3D, freeform single player space adventure set in the Milkyway galaxy at the turn of the 31st century in the spirit of Frontier: Elite II.|http://pioneerspacesim.net/|{{AUR|pioneer}}}}<br />
* {{App|Pydance|Python Dance Dance Revolution style game.|https://icculus.org/pyddr/|{{AUR|pydance}}}}<br />
* {{App|[[Wikipedia:Stepmania|Stepmania]]|Advanced dance simulation game.|http://www.stepmania.com/|{{AUR|stepmania}}}}<br />
* {{App|Terasology|Open source voxel world.|http://terasology.org|{{AUR|terasology}}}}<br />
* {{App|The Powder Toy|Open source physics sandbox game, which simulates air pressure and velocity, heat, gravity and a countless number of interactions between different substances.|http://powdertoy.co.uk/|{{AUR|powder-toy}}}}<br />
* {{App|Voxelands|A fork of Minetest, an Infiniminer/Minecraft inspired game.|http://www.voxelands.com/|{{AUR|voxelands}}}}<br />
<br />
== Strategy ==<br />
=== Real-time ===<br />
* {{App|[[Wikipedia:0 A.D. (video game)|0 A.D.]]|3D and historically-based real-time strategy game, alpha stage. Based on the Age of Empires series.|https://play0ad.com/|{{Pkg|0ad}}}}<br />
* {{App|Dark Oberon|Open source real-time strategy game similar to Warcraft II.|http://dark-oberon.sourceforge.net/|{{AUR|dark-oberon}}}}<br />
* {{App|Factorio|A proprietary game about mining resources, planning and building factories, automating production and fighting alien enemies.|http://www.factorio.com/|{{AUR|factorio}}}}<br />
* {{App|Factorio demo|A proprietary game about mining resources, planning and building factories, automating production and fighting alien enemies. (Demo)|http://www.factorio.com/|{{AUR|factorio-demo}}}}<br />
* {{App|[[Wikipedia:FTL:_Faster_Than_Light|FTL: Faster Than Light]]|Popular rogue-like space-sim released to positive reception in 2012.|http://www.ftlgame.com/|{{AUR|ftl}}}}<br />
* {{App|Globulation 2|Multiplayer RTS with some "economic" elements minimizing the amount of micromanagement.|https://globulation2.org/wiki/Main_Page|{{Pkg|glob2}}}}<br />
* {{App|[[Wikipedia:Heroes of Newerth|Heroes of Newerth]]|Online, multi-player strategy game that is based upon DoTA (Defense of the Ancients). Free-to-own (gameplay free; pay for cosmetic upgrades only)|https://heroesofnewerth.com/|{{AUR|hon}}}}<br />
* {{App|[[Wikipedia:Spring_Engine#Kernel_Panic|Kernel Panic]]|A game based around combat inside a computer, with 3 unique sides: the System, the Hacker and the Network waging war in a matrix of DOOM! No resource economy exists in KP, with the only constraints being time and space.|https://springrts.com/wiki/Kernel_Panic|{{Pkg|spring-kp}}{{Broken package link|package not found}}}}<br />
* {{App|[[Wikipedia:MegaGlest|MegaGlest]]|Fork of Glest, a 3D real-time strategy game in a fantastic world.|https://megaglest.org|{{Pkg|megaglest}}}}<br />
* {{App|[[Wikipedia:Netpanzer|Netpanzer]]|Real-time strategy game like Command and Conquer but without building bases.|http://www.netpanzer.org/|{{AUR|netpanzer}}}}<br />
* {{App|[[Wikipedia:OpenRA|OpenRA]]|Real-time strategy game written in C# and based on the Command & Conquer game franchise|http://www.openra.net/|{{Pkg|openra}}}}<br />
* {{App|[[Wikipedia:Spring_Engine#Spring:1944|Spring:1944]]| A WWII themed game with four fully functional sides (US, Germany, USSR, Britain), period-accurate units and strengths. Realism comes second only to creating a game that is fun and accessible to play.|http://spring1944.org/|{{Pkg|spring-1944}}{{Broken package link|package not found}}}}<br />
* {{App|[[Wikipedia:Unknown Horizons|Unknown Horizons]]|2.5D isometric real-time strategy simulation with an emphasis on economy and city building. Expand your small settlement to a strong and wealthy colony, collect taxes and supply your inhabitants with valuable goods. Increase your power with a well balanced economy and with strategic trade and diplomacy.|http://www.unknown-horizons.org/|{{AUR|unknown-horizons-git}}}}<br />
* {{App|Warzone 2100|You command the forces of The Project in a battle to rebuild the world after mankind has almost been destroyed by nuclear missiles. The game offers campaign, multi-player, and single-player skirmish modes. An extensive tech tree with over 400 different technologies, combined with the unit design system, allows for a wide variety of possible units and tactics. The AUR package installs its videos ({{Bug|55310}}).|https://wz2100.net/|{{Pkg|warzone2100}} {{AUR|warzone2100-sequences}}}}<br />
* {{App|[[Wikipedia:Widelands|Widelands]]|Slow-paced strategy like "the Settlers 2".|https://widelands.org|{{Pkg|widelands}}}}<br />
* {{App|[[Wikipedia:Zero-K|Zero-K]]|Zero-K is a free multi-platform open source real-time strategy computer game. Initially based on content from Total Annihilation on the open source Spring Engine, it was forked and all proprietary content replaced, and evolved into a completely new game with unique features. It can be easily installed by installing the flobby client from the AUR or alternatively (and preferably) by installing the official mono package and downloading and running the Zero-K lobby from the official website.|http://zero-k.info/|{{AUR|flobby-git}}}}<br />
<br />
=== Turn-based ===<br />
* {{App|Advanced Strategic Command|Turn-based strategy game in the tradition of the Battle Isle series.|http://www.asc-hq.org/|{{AUR|advanced-strategic-command}}}}<br />
* {{App|[[Wikipedia:Endgame: Singularity|Endgame Singularity]]|Turn-based single player strategy/simulation about a AI hiding, growing and evolving.|http://www.emhsoft.com/singularity/|{{Pkg|singularity}}}}<br />
* {{App|[[Wikipedia:Freeciv|Freeciv]]|Multiuser clone of the famous Microprose game of Civilization.|http://freeciv.wikia.com/wiki/Main_Page|{{Pkg|freeciv}}}}<br />
* {{App|[[Wikipedia:FreeCol|FreeCol]]|Turn-based strategy game based on Colonization.|http://www.freecol.org/|{{Pkg|freecol}}}}<br />
* {{App|KReversi|A ''reversi'' implementation. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/kreversi/|{{Pkg|kreversi}}}}<br />
* {{App|KsirK|A ''risk''-styled game in which players try to conquer the world by deciding which area to be invaded next. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/ksirk/|{{Pkg|ksirk}}}}<br />
* {{App|[[Wikipedia:The Battle for Wesnoth|The Battle for Wesnoth]]|Free, turn-based tactical strategy game with a high fantasy theme, featuring both single-player, and online/hotseat multiplayer combat.|https://www.wesnoth.org/|{{Pkg|wesnoth}}}}<br />
* {{App|UFO: Alien Invasion|Fight aliens trying to capture Earth.|http://ufoai.ninex.info/wiki/index.php/News|{{Pkg|ufoai}}{{Broken package link|package not found}}}}<br />
<br />
== Tycoon/management games ==<br />
<br />
* {{App|Lincity-ng|City simulation game in which you are required to build and maintain a city. You can win the game either by building a sustainable economy or by evacuating all citizens with spaceships.|https://github.com/lincity-ng/lincity-ng|{{Pkg|lincity-ng}}}}<br />
* {{App|Konquest|A turn-based game in which the player wage wars by managing a fleet of spaceships and conquering other planets. Part of {{Grp|kdegames}}.|https://www.kde.org/applications/games/konquest/|{{Pkg|konquest}}}}<br />
* {{App|[[Wikipedia:Simutrans|Simutrans]]|Another Transport simulation that works on linux with sdl.|https://www.simutrans.com/|{{Pkg|simutrans}}}}<br />
* {{App|[[OpenTTD]]|Open source clone of the Microprose game "Transport Tycoon Deluxe", a popular game originally written by Chris Sawyer. It attempts to mimic the original game as closely as possible while extending it with new features.|https://www.openttd.org/|{{Pkg|openttd}}}}<br />
* {{App|OpenRCT2|Free reimplementation of the game "RollerCoaster Tycoon 2 (RCT2)" with multiplayer support. It requires a copy of the original game to play it.|https://openrct2.org/|{{AUR|openrct2}}}}<br />
<br />
== Visual novels ==<br />
<br />
* {{App|[[Wikipedia:Juniper's Knot|Juniper's Knot]]|Short game about boy and fiend.|http://junipersknot.dischan.org/|{{AUR|junipersknot}}}}<br />
* {{App|[[Wikipedia:Katawa Shoujo|Katawa Shoujo]]|Bishoujo-style visual novel game that tells a story of a young man and five other girls suffering with varying disabilities.|http://katawa-shoujo.com/|{{AUR|katawa-shoujo}}}}<br />
* {{App|[[Wikipedia:Narcissu|Narcissu]]|Visual novel, telling the story of a terminally ill young man and woman.|http://narcissu.insani.org/|{{AUR|narcissu2-en}}}}<br />
<br />
* {{App|Ren'Py|Visual novel engine with a [https://games.renpy.org/ rich repository].|https://www.renpy.org/|{{Pkg|renpy}}}}<br />
<br />
== Comparison table ==<br />
{| class="wikitable sortable"<br />
! style="width:190px;" | Name<br />
! Written in<br />
! Genre<br />
! License<br />
! style="width:130px;" | Package<br />
! Description<br />
|-<br />
| '''[[w:0 A.D. (video game)|0 A.D.]]'''<br/>- [https://play0ad.com/ play0ad.com]<br />
| style="background:#c6769b;" | C/C++<br />
| <abbr title="Real-time strategy game">RTS</abbr><br />
| style="background:#9F9;" | <abbr title="GNU Lesser General Public License">LGPL</abbr>/<abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{Pkg|0ad}}<br/>{{AUR|0ad-git}}<br />
| 3D and historically-based real-time strategy game.<br />
|-<br />
| [[w:Abuse (game)|'''Abuse''']]<br/>- [http://abuse.zoy.org abuse.zoy.org]<br />
| style="background:#f56f9f;" | C++<br />
| Action<br />
| style = "background:#9F9;" | <abbr title="Public Domain">PD</abbr>/<abbr title="GNU General Public License">GPL</abbr>/<abbr title="Do What the Fuck You Want To Public License">WTFPL</abbr><br />
| {{Pkg|abuse}}<br />
| Side-scroller action game that pits you against ruthless alien killers.<br />
|-<br />
| '''[[w:ADOM|ADOM]]'''<br/>- [http://adom.de adom.de]<br />
| style="background-color:#999999;" | C<br />
| Rogue-Like<br />
| style="background:#F99;" | Freemium<br />
| {{AUR|adom}}<br />
| Ancient Domains Of Mystery.<br />
|-<br />
| '''[[w:CodeRED: Alien Arena|Alien Arena]]'''<br/>- [http://red.planetarena.org/ red.planetarena.org]<br />
| style="background-color:#999999;" | C<br />
| <abbr title="First-Person Shooter">FPS</abbr><br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{Pkg|alienarena}}{{Broken package link|package not found}}<br/>{{AUR|alienarena-svn}}<br />
| Free, standalone FPS focused mainly on online multiplayer, but can also be played singleplayer against bots.<br />
|-<br />
| '''[[w:Angband (video game)|Angband]]'''<br/>- [http://rephial.org rephial.org]<br />
| style="background-color:#999999;" | C<br />
| Rogue-Like<br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{Pkg|angband}}<br/>{{AUR|angband-git}}<br />
| Roguelike dungeon exploration game based on the writings of JRR Tolkien.<br />
|-<br />
| '''[[w:AssaultCube|AssaultCube]]'''<br/>- [http://assault.cubers.net/ assault.cubers.net]<br />
| style="background:#c6769b;" | C/C++<br />
| <abbr title="First-Person Shooter">FPS</abbr><br />
| style="background:#9F9;" | ZLIB<br />
| {{Pkg|assaultcube}}<br />
| Free multiplayer FPS, based on the cube engine. Realistic environments, fast, arcade gameplay. Much like Counter-Strike.<br />
|-<br />
| '''[[w:Blob Wars#Blob Wars: Metal Blob Solid|Blob Wars: Metal Blob Solid]]'''<br/>- [https://sourceforge.net/projects/blobwars/ sourceforge.net/projects/blobwars]<br />
| style="background:#c6769b;" | C/C++<br />
| Platform<br />
| style="background:#9F9" | <abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{Pkg|blobwars}}<br />
| 2D platform shooting game.<br />
|-<br />
| '''[[w:BZFlag|BZFlag]]'''<br/>- [https://www.bzflag.org/ bzflag.org]<br />
| style="background:#c6769b;" | C/C++<br />
| Tank <abbr title="First-Person Shooter">FPS</abbr><br />
| style="background:#9F9" | <abbr title="GNU Lesser General Public License version 2.1">LGPLv2.1</abbr>/<abbr title="Mozilla Public License version 2.0">MPLv2</abbr><br />
| {{Pkg|bzflag}}<br />
| 3D multiplayer tank first-person shooter game.<br />
|-<br />
| '''[[w:Cube 2: Sauerbraten|Cube 2: Sauerbraten]]'''<br/>- [http://sauerbraten.org/ sauerbraten.org]<br />
| style="background:#c6769b;" | C/C++<br />
| <abbr title="First-Person Shooter">FPS</abbr><br />
| style="background:#9F9" | ZLIB<br />
| {{Pkg|sauerbraten}}<br />
| Successor to the Cube first-person shooter game with both single- and multi- player modes.<br />
|-<br />
| '''[[w:Endgame: Singularity|Endgame Singularity]]'''<br/>- [http://www.emhsoft.com/singularity/ emhsoft.com/singularity]<br />
| style="background:#5f8db3;" | Python<br />
| <abbr title="Turn-based strategy game">TBS</abbr><br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{Pkg|singularity}}<br/>{{AUR|singularity-git}}<br />
| Turn based single player strategy/simulation about a AI hiding, growing and evolving.<br />
|-<br />
| '''[[w:FlightGear|FlightGear]]'''<br/>- [http://www.flightgear.org/ flightgear.org]<br />
| style="background:#c6769b;" | C/C++<br />
| Simulation<br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{AUR|flightgear}}<br/>{{AUR|flightgear-git}}<br />
| Open-source, multi-platform flight simulator.<br />
|-<br />
| '''[[w:Foobillard++|Foobillard++]]'''<br/>- [http://foobillardplus.sourceforge.net/ foobillardplus.sourceforge.net]<br />
| style="background-color:#999999;" | C<br />
| Simulation<br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{Pkg|foobillard++}}<br />
| Successor to Foobillard, OpenGL billiard game for Linux.<br />
|-<br />
| '''[[w:Freeciv|Freeciv]]'''<br/>- [http://freeciv.wikia.com/wiki/Main_Page freeciv.wikia.com]<br />
| style="background-color:#c6769b;" | C/C++<br />
| <abbr title="Turn-based strategy game">TBS</abbr><br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{Pkg|freeciv}}<br />
| Multiuser clone of the famous Microprose game of Civilization. Scripted using a Lua API.<br />
|-<br />
| '''[[w:Freecol|Freecol]]'''<br/>- [http://www.freecol.org/ freecol.org]<br />
| style="background:#f2943b;" | Java<br />
| <abbr title="Turn-based strategy game">TBS</abbr><br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{Pkg|freecol}}<br/>{{AUR|freecol-git}}<br />
| Turn-based strategy game based on Colonization.<br />
|-<br />
| '''[[w:Megaglest|Megaglest]]'''<br/>- [https://megaglest.org/ megaglest.org]<br />
| style="background:#c6769b;" | C/C++<br />
| <abbr title="Real-time strategy game">RTS</abbr><br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 3">GPLv3</abbr><br />
| {{Pkg|megaglest}}<br />
| Fork of Glest, a 3D real-time strategy game in a fantastic world.<br />
|-<br />
| '''[[w:Command_%26_Conquer:_Red_Alert#Open_source_remake|OpenRA]]'''<br/>- [http://www.openra.net openra.net]<br />
| style="background:#3ab922;" | C#<br />
| <abbr title="Real-time strategy game">RTS</abbr><br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 3">GPLv3</abbr><br />
| {{Pkg|openra}}<br/>{{AUR|openra-git}}<br />
| An open-source implementation of the Command & Conquer: Red Alert engine using .NET/Mono and OpenGL. It has a Lua API for generating custom maps.<br />
|-<br />
| '''[[OpenTTD]]'''<br/>- [http://www.openttd.org openttd.org]<br />
| style="background:#c6769b;" | C/C++<br />
| <abbr title="Real-time strategy game">RTS</abbr><br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{Pkg|openttd}}<br/>{{AUR|openttd-svn}}{{Broken package link|package not found}}<br />
| An open-source remake of Transport Tycoon Deluxe. Scripted using the Squirrel programming language.<br />
|-<br />
| '''PyChess'''<br/>- [http://pychess.org pychess.org]<br />
| style="background:#5f8db3;" | Python<br />
| Chess<br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 3">GPLv3</abbr><br />
| {{Pkg|pychess}}<br />
| An advanced chess client for Linux following the GNOME Human Interface Guidelines.<br />
|-<br />
| rowspan = "2" | '''[[w:RuneScape|RuneScape]]'''<br/>- [http://www.runescape.com runescape.com]<br />
| style="background:#f2943b;" | Java (legacy)<br />
| rowspan = "2" | <abbr title="Massively Multiplayer Online Role-Playing Game">MMORPG</abbr><br />
| rowspan = "2" style="background:#F99;" | Freemium<br />
| {{AUR|unix-runescape-client}}<br />
| rowspan = "2" | Massive online medieval fantasy game by Jagex.<br />
|-<br />
| style="background:#f56f9f;" | C++ (NXT) <br />
| {{AUR|runescape-launcher}}<br />
|-<br />
| '''[[w:SuperTux|SuperTux]]'''<br/>- [http://supertux.github.io/ supertux.github.io]<br />
| style="background:#f56f9f;" | C++<br />
| Platform<br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 3">GPLv3</abbr><br />
| {{Pkg|supertux}}<br/>{{AUR|supertux-git}}<br/>{{AUR|supertux-old}}<br />
| Classic 2D jump'n side-scroller game similar to the Super Mario Bros games, featuring Tux. Milestone 1 of the game was released in 2003 and is provided by supertux-old. Milestone 2, the current version of SuperTux in the Arch Linux community repository, was released in December 2015. It is scripted using the Squirrel programming language.<br />
|-<br />
| '''[[w:SuperTuxKart|SuperTuxKart]]'''<br/>- [https://supertuxkart.net supertuxkart.net]<br />
| style="background:#c6769b;" | C/C++<br />
| 3D racing<br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 3">GPLv3</abbr><br />
| {{Pkg|supertuxkart}}<br/>{{AUR|supertuxkart-git}}<br />
| Free, 3D racing game where the characters racing are represented by open-source project mascots.<br />
|-<br />
| '''[[w:The Battle for Wesnoth|The Battle for Wesnoth]]'''<br/>- [http://www.wesnoth.org/ wesnoth.org]<br />
| style="background:#b5857b;" | C/C++/Java<br />
| <abbr title="Turn-based strategy game">TBS</abbr><br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{Pkg|wesnoth}}<br/>{{AUR|wesnoth-git}}<!-- Haven't mentioned wesnoth-devel as at the time of writing, 22 October 2017, it has been flagged as out-of-date for 9 days, so I'm not sure it's still maintained--><br />
| Free, turn-based tactical strategy game with a high fantasy theme, featuring both single-player, and online/hotseat multiplayer combat.<br />
|-<br />
| '''The Mana World'''<br/>- [http://themanaworld.org/ themanaworld.org]<br />
| style="background:#f56f9f;" | C++<br />
| <abbr title="Massively Multiplayer Online Role-Playing Game">MMORPG</abbr><br />
| style="background:#9F9;" | <abbr title="GNU Affero General Public License Version 3">AGPLv3</abbr>/<abbr title="GNU General Public License Version 3">GPLv3</abbr><br />
| {{Pkg|manaplus}}<br/>{{AUR|manaplus-git}}<br />
| Serious effort to create an innovative free and open-source MMORPG.<br />
|-<br />
| '''[[w:Unvanquished|Unvanquished]]'''<br/>- [http://www.unvanquished.net/ unvanquished.net]<br />
| style="background:#c6769b;" | C/C++<br />
| <abbr title="First-Person Shooter">FPS</abbr><br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 3">GPLv3</abbr><br />
| {{AUR|unvanquished}}<br/>{{AUR|unvanquished-git}}<br />
| First-person shooter/real-time strategy game in which aliens fight with humans.<br />
|-<br />
| '''[[Urban Terror]]'''<br/>- [http://urbanterror.info/ urbanterror.info]<br />
| style="background-color:#999999;" | C<br />
| <abbr title="First-Person Shooter">FPS</abbr><br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{AUR|urbanterror}}<br />
| Modern multiplayer FPS based on the ioquake3 engine.<br />
|-<br />
| '''[[w:Warzone 2100|Warzone2100]]'''<br/>- [http://wz2100.net/ wz2100.net]<br />
| style="background:#f56f9f;" | C++<br />
|<abbr title="Real-time strategy game">RTS</abbr><br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{Pkg|warzone2100}}<br/>{{AUR|warzone2100-git}}<br />
| 3D real-time strategy game on a future Earth.<br />
|-<br />
| '''[[w:Widelands|Widelands]]'''<br>- [http://wl.widelands.org/ wl.widelands.org]<br />
| style="background:#aa7ea9" | C++/Lua/Python<br />
| <abbr title="Real-time strategy game">RTS</abbr><br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{Pkg|widelands}}<br/>{{AUR|widelands-bzr}}<br />
| 2D real-time strategy game similar to ''The Settlers''. Scripted using a Lua API.<br />
|-<br />
| '''[[w:Xonotic|Xonotic]]'''<br/>- [http://xonotic.org/ xonotic.org]<br />
| style="background:#b5857b;" | C/C++/Java<br/>/Perl<br />
| <abbr title="First-person shooter">FPS</abbr><br />
| style="background:#9F9;" | <abbr title="GNU General Public License version 2">GPLv2</abbr>/<abbr title="GNU General Public License version 3">3</abbr><br />
| {{Pkg|xonotic}}<br/>{{AUR|xonotic-git}}<br />
| First-person shooter game that was forked from Nexuiz but with modified gameplay. <br />
|}<br />
<br />
== See also ==<br />
* [http://liflg.org/ Linux Installers for Linux Gamers]<br />
* [http://www.icculus.org/lgfaq/gamelist.php The Linux Gamers' Game List]<br />
* [https://libregamewiki.org/List_of_games Libre Game Wiki]<br />
* [http://www.lgdb.org/ Linux game database]<br />
* [http://www.penguspy.com/#/All/free_and_commercial/open_closed/sort=1/view=1/limit=0 Penguspy]<br />
* [http://lgames.sourceforge.net/about.php LGames - open source games for Linux]<br />
* Debian [[debian:Game/Links|games portal]], [[debian:Games/Links|links]], and [[debian:Games/Suggested|suggested games]]<br />
* [https://wiki.dotslashplay.it/en/start ./play.it list of games]<br />
* [[Wikipedia:Category:Linux games]]<br />
* [[Wikipedia:Humble Bundle]]<br />
* [[Wikipedia:Game engine recreation]]<br />
* [[Wikipedia:Source port|Source ports]]: [https://osgameclones.com/ Open Source Game Clones], [http://rewiki.regengedanken.de/wiki/Links_to_engine_reimplementations Engine Reimplementations]<br />
* [https://itch.io/games/platform-linux itch.io Linux games]<br />
* [http://store.steampowered.com/browse/linux/ Steam Linux store], [https://steamdb.info/linux/ List of Linux Steam games]</div>Munzirtahahttps://wiki.archlinux.org/index.php?title=SDDM&diff=490561SDDM2017-09-18T11:19:53Z<p>Munzirtaha: adding wayland and quoting verbatim</p>
<hr />
<div>[[Category:KDE]]<br />
[[Category:Display managers]]<br />
[[ja:SDDM]]<br />
[[ru:SDDM]]<br />
[[zh-hans:SDDM]]<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]] Plasma desktop. From Wikipedia:<br />
<br />
:''Simple Desktop Display Manager (SDDM) is a display manager (a graphical login program) for X11 and Wayland windowing systems. SDDM was written from scratch in C++11 and supports theming via QML. KDE chose SDDM to be the successor of the KDE Display Manager for KDE Plasma 5.''<br />
<br />
== Installation ==<br />
<br />
[[Install]] the {{Pkg|sddm}} package.<br />
<br />
Then follow [[Display manager#Loading the display manager]] to start SDDM at boot.<br />
<br />
== Configuration ==<br />
<br />
The configuration file for SDDM can be found at {{ic|/etc/sddm.conf}}. See {{man|5|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 />
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=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|/usr/share/xsessions/}} directory.<br />
<br />
An option to autologin into KDE Plasma while simultaneously locking the session is not available [https://github.com/sddm/sddm/issues/306]<br />
<br />
You can add a script that activates the screensaver of KDE to the autostart as a workaround:<br />
<br />
#!/bin/bash<br />
/usr/bin/qdbus-qt4 org.kde.screensaver /ScreenSaver SetActive true &<br />
exit 0<br />
<br />
=== Unlock KDE Wallet automatically on login ===<br />
<br />
See [[KDE Wallet#Unlock KDE Wallet automatically on login]].<br />
<br />
=== Theme settings ===<br />
<br />
Theme settings can be changed in the {{ic|[Theme]}} section.<br />
<br />
Set to {{ic|breeze}} for the default Plasma theme.<br />
<br />
Some themes are available in the [[AUR]], for example {{AUR|archlinux-themes-sddm}}.<br />
<br />
==== Current theme ====<br />
<br />
Set the current theme through the {{ic|Current}} value, e.g. {{ic|1=Current=archlinux-simplyblack}}.<br />
<br />
==== Editing themes ====<br />
<br />
The default SDDM theme directory is {{ic|/usr/share/sddm/themes/}}. You can add your custom made themes to that directory under a separate subdirectory. Note that SDDM requires these subdirectory names to be the same as the theme names. Study the files installed to modify or create your own theme.<br />
<br />
==== Mouse cursor ====<br />
<br />
To set the mouse cursor theme, set {{ic|CursorTheme}} to your preferred cursor theme.<br />
<br />
Valid [[Plasma]] mouse cursor theme names are {{ic|breeze_cursors}}, {{ic|Breeze_Snow}} and {{ic|breeze-dark}}.<br />
<br />
==== Changing your avatar ====<br />
<br />
You can simply put a png image named {{ic|username.face.icon}} into the default directory {{ic|/usr/share/sddm/faces/}}. Alternatively you can change the default directory to match your desires:<br />
<br />
{{hc|/etc/sddm.conf|2=<br />
[Theme]<br />
FacesDir=/var/lib/AccountsService/icons/<br />
}}<br />
<br />
You can also put a png image named {{ic|.face.icon}} at the root of your home directory. However, you need to make sure that {{ic|sddm}} user can read that file.<br />
<br />
{{Note|If avatar images are symlinks, you need to set proper file permissions to the target files.}}<br />
<br />
=== Numlock ===<br />
<br />
If you want to enforce Numlock to be enabled, set {{ic|1=Numlock=on}} in the {{ic|[General]}} section.<br />
<br />
=== Rotate display ===<br />
<br />
See [[Xrandr#Configuration]].<br />
<br />
=== Configuration GUI ===<br />
<br />
* KDE Frameworks' System Settings contains an SDDM configuration module. Install {{Pkg|sddm-kcm}} package to use it.<br />
* There is a Qt-based {{AUR|sddm-config-editor-git}} in the AUR.<br />
<br />
=== DPI settings ===<br />
<br />
Sometimes it's useful to set up correct monitor's PPI settings on a "Display Manager" level. To do so you need to find "ServerArguments" parameter in sddm.conf and add -dpi %YOUR RESOLUTION at the end of the string. <br />
<br />
For example:<br />
<br />
{{hc|head=/etc/sddm.conf|output=<br />
[X11]<br />
ServerArguments=-nolisten tcp -dpi 94<br />
}}<br />
<br />
=== SDDM and Gnome-keyring ===<br />
<br />
To automatically unlock the [[Gnome-keyring]] upon login in KDM<br />
add the following line to your {{ic|/etc/pam.d/sddm}} right after the {{ic|auth include system-login}} line:<br />
auth optional pam_gnome_keyring.so<br />
and add <br />
session optional pam_gnome_keyring.so auto_start<br />
after {{ic|session include system-login}}<br />
<br />
To automatically re-unlock the keyring when you unlock your screensaver open {{ic|/etc/pam.d/kscreensaver}} and add<br />
auth optional pam_gnome_keyring.so<br />
as the last line.<br />
<br />
== Troubleshooting ==<br />
<br />
=== Hangs after login ===<br />
<br />
Try removing {{ic|~/.Xauthority}}.<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, uncomment and edit the {{ic|MinimumVT}} variable, under the {{ic|[X11]}} section in {{ic|sddm.conf}}:<br />
<br />
{{hc|/etc/sddm.conf|2=<br />
[X11]<br />
...<br />
MinimumVT=7<br />
...<br />
}}<br />
<br />
=== One or more users do not show up on the greeter ===<br />
<br />
{{Warning|Users set with a lower or higher {{ic|UID}} range should generally not be exposed to a [[Display manager]].}}<br />
<br />
SDDM only displays users with a UID in the range of 1000 to 65000 by default, if the UIDs of the desired users are below this value then you will have to modify this range. Modify your {{ic|sddm.conf}} to (for a UID of 501, say):<br />
<br />
{{hc|/etc/sddm.conf|2=<br />
[Users]<br />
HideShells=/sbin/nologin,/bin/false<br />
# Hidden users, this is if any system users fall within your range, see /etc/passwd on your system.<br />
HideUsers=git,sddm,systemd-journal-remote,systemd-journal-upload<br />
<br />
# Maximum user id for displayed users<br />
MaximumUid=65000<br />
<br />
# Minimum user id for displayed users<br />
MinimumUid=500 #My UID is 501<br />
}}<br />
<br />
=== SDDM loads only US keyboard layout ===<br />
<br />
SDDM loads the keyboard layout specified in {{ic|/etc/X11/xorg.conf.d/00-keyboard.conf}}. You can generate this configuration file by {{ic|localectl set-x11-keymap}} command. See [[Keyboard configuration in Xorg]] for more information.<br />
<br />
=== No user Icon ===<br />
<br />
SDDM reads user icon from either {{ic|~/.face.icon}} or {{ic|''FacesDir''/username.face.icon}}<br />
<br />
You need to make sure that SDDM user have permissions to read those files.<br />
<br />
$ setfacl -m u:sddm:x /home/username<br />
$ setfacl -m u:sddm:r /home/username/.face.icon<br />
<br />
See [https://github.com/sgerbino/sddm#no-user-icon SDDM README: No User Icon].<br />
<br />
=== Screen resolution is too low ===<br />
<br />
Issue may be caused by HiDPI usage for monitors with corrupted EDID: [https://github.com/sddm/sddm/issues/692]<br />
<br />
Try disabling HiDPI in {{ic|sddm.conf}}:<br />
<br />
{{hc|/etc/sddm.conf|2=<br />
[General]<br />
# Enable Qt's automatic high-DPI scaling<br />
EnableHiDPI=false<br />
}}<br />
<br />
If even the above fails, you can try setting your screen size in a Xorg conf file:<br />
{{hc|/etc/X11/xorg.conf.d/90-monitor.conf|2=<br />
Section "Monitor"<br />
Identifier "<default monitor>"<br />
DisplaySize 345 194 # in millimeters<br />
EndSection<br />
}}</div>Munzirtahahttps://wiki.archlinux.org/index.php?title=KDE&diff=457385KDE2016-11-21T17:11:44Z<p>Munzirtaha: typo</p>
<hr />
<div>[[Category:KDE]]<br />
[[ar:KDE]]<br />
[[cs:KDE]]<br />
[[de:KDE]]<br />
[[es:KDE]]<br />
[[fa: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|Dolphin}}<br />
{{Related|Window manager}}<br />
{{Related|Qt}}<br />
{{Related|KDM}}<br />
{{Related|KDevelop}}<br />
{{Related|Trinity}}<br />
{{Related|Uniform Look for Qt and GTK Applications}}<br />
{{Related articles end}}<br />
<br />
KDE is a software project currently comprising of a [[desktop environment]] known as Plasma (or Plasma Workspaces), a collection of libraries and frameworks (KDE Frameworks) and several applications (KDE Applications) as well. KDE upstream has a well maintained [http://userbase.kde.org/ UserBase wiki]. Detailed information about most KDE applications can be found there.<br />
<br />
== Installation ==<br />
<br />
=== Plasma Desktop ===<br />
<br />
{{Note|<br />
*Plasma 5 is not co-installable with Plasma 4.<br />
*The Plasma 4 desktop is unmaintained since August 2015.[https://www.kde.org/announcements/announce-applications-15.08.0.php] It is no longer in the official repositories since December 2015.[https://www.archlinux.org/news/dropping-plasma-4/]<br />
* [[KDM]] is no longer available for Plasma 5. KDE upstream [http://blog.davidedmundson.co.uk/blog/display_managers_finale recommends] using the [[SDDM]] display manager as it provides integration with the Plasma 5 theme.}}<br />
<br />
Before installing Plasma, make sure you have a working [[Xorg]] installation on your system.<br />
<br />
Install the {{Pkg|plasma-meta}} meta-package or the {{Grp|plasma}} group. For differences between {{Pkg|plasma-meta}} and {{Grp|plasma}} reference [[Creating packages#Meta packages and groups]]. Alternatively, for a more minimal Plasma installation, install the {{Pkg|plasma-desktop}} package.<br />
<br />
=== Upgrading from Plasma 4 to 5 ===<br />
<br />
# Isolate {{ic|multi-user.target}}:{{bc|# systemctl isolate multi-user.target}}<br />
# If you use KDM as display manager, [[disable]] the {{ic|kdm.service}} systemd unit. <br />
# [[Install|Uninstall]] the {{AUR|kdebase-workspace}} package.<br />
# [[Install]] the {{pkg|plasma-meta}} package or the {{grp|plasma}} group.<br />
# [[Enable]] the {{ic|sddm.service}} systemd unit, or install and enable any other [[display manager]].<br />
# Reboot or simply [[start]] the systemd {{ic|sddm.service}} unit.<br />
<br />
{{Note|The Plasma 4 configuration is not automatically migrated to Plasma 5, so you will have to configure your desktop from scratch.}}<br />
<br />
=== KDE applications and language packs ===<br />
<br />
To install the full set of KDE Applications, install the {{Grp|kde-applications}} group or the {{Pkg|kde-applications-meta}} meta-package. Note that this will only install applications, it will not install any version of the Plasma Desktop.<br />
<br />
If you need language files, install {{ic|kde-l10n-'''yourlanguagehere'''}} (e.g. {{Pkg|kde-l10n-de}} for the German language). For a full list of available languages see [https://www.archlinux.org/packages/extra/any/kde-l10n/ this link].<br />
<br />
== Starting Plasma ==<br />
<br />
{{Tip|To better integrate SDDM with Plasma, it is recommended to edit {{ic|/etc/sddm.conf}} to use the breeze theme. Refer to [[SDDM#Theme settings]] for instructions.}}<br />
<br />
To launch a Plasma 5 session, choose ''Plasma'' in your [[display manager]] menu.<br />
<br />
Alternatively, to start Plasma with ''startx'', append {{ic|exec startkde}} to your {{ic|.xinitrc}} file. If you want to start Xorg at login, please see [[Start X at login]].<br />
<br />
=== Wayland ===<br />
<br />
As of Plasma 5.8, Plasma on [[Wayland]] should be usable, although there are a [https://community.kde.org/Plasma/5.8_Errata#Wayland few known problems].<br />
<br />
* To start a Plasma on Wayland session from a display manager, install the {{Pkg|plasma-wayland-session}} package and ''Plasma'' should show up in the display manager.<br />
* To start a Plasma on Wayland session from a console, run {{ic|startplasmacompositor}}.<br />
<br />
== Configuration ==<br />
<br />
Most settings for KDE applications are stored in {{ic|~/.config}}, but some older applications may use {{ic|~/.kde4}}. However, configuring KDE is primarily done through the '''System Settings''' application. It can be started from a terminal by executing ''systemsettings5''.<br />
<br />
Frameworks 5 applications can use KDE 4 configuration however they expect the configuration files to be located in different places. To allow Frameworks 5 applications running in KDE 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 {{ic|~/.kde4/share/apps/konsole}} to {{ic|~/.local/share/konsole/}}<br />
*Application appearance from {{ic|~/.kde4/share/config/kdeglobals}} to {{ic|~/.config/kdeglobals}} <br />
<br />
=== Personalization ===<br />
<br />
==== Plasma desktop ====<br />
<br />
===== Themes =====<br />
<br />
{{Note|1=If the Plasma cursor theme is incorrect in some instances, see the following [https://bbs.archlinux.org/viewtopic.php?pid=1533071#p1533071 forum post] for a workaround.}}<br />
[http://kde-look.org/index.php?xcontentmode=76 Plasma themes] define the look of panels and plasmoids. For easy system-wide installation, some such themes are available in both the official repositories and the [https://aur.archlinux.org/packages.php?O=0&K=plasmatheme&do_Search=Go AUR].<br />
<br />
The easiest way to install themes is by going through the Desktop Settings control panel:<br />
<br />
Workspace Theme > Desktop Theme > Get new Themes<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 />
Splash and Lock screens are currently unavailable so to customize these screens you have to modify the original theme found in {{ic|/usr/share/plasma/look-and-feel/}}.<br />
See [https://www.kubuntuforums.net/showthread.php?67599-Plasma-5-background-images&s=59832dc20e5bfc2948dbb591d8453f61 this thread] on the Kubuntu forums.<br />
<br />
Note that the [[SDDM]] login screen is not part of this theme.<br />
<br />
====== Qt and GTK+ Applications Appearance ======<br />
<br />
{{Tip|For Qt and GTK theme consistency, see [[Uniform look for Qt and GTK applications]].}}<br />
<br />
;Qt4<br />
For Qt4 applications to have a consistent appearance, there are two options: <br />
Install {{Pkg|breeze-kde4}} and then pick Breeze as GUI Style in {{ic|qtconfig-qt4}}; or install {{Pkg|breeze-gtk}} and pick GTK+ as GUI Style.<br />
<br />
;GTK+<br />
The recommended theme for a pleasant appearance in GTK+ applications is {{Pkg|breeze-gtk}} or {{AUR|gnome-breeze-git}}, a GTK+ theme designed to mimic the appearance of Plasma 5 Breeze.<br />
Install {{Pkg|kde-gtk-config}} and select the installed GTK-theme for GTK2/GTK3-Theme in ''System Settings > Application Style > GNOME Application Style''.<br />
<br />
In some themes, tooltips in GTK+ applications have white text on white backgrounds making it difficult to read. To change the colors in GTK2 applications, find the section for tooltips in the gtkrc file and change it. For GTK3 application two files need to be changed, gtk.css and settings.ini.<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 />
The easiest way to install plasmoid scripts is by right-clicking onto a panel or the desktop and choosing ''Add Widgets > Get new Widgets > Download Widgets''.<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 />
Many Plasmoid binaries are [https://aur.archlinux.org/packages.php?O=0&K=plasmoid&do_Search=Go&PP=25&SO=d&SB=v available from the AUR].<br />
<br />
===== Sound applet in the system tray =====<br />
<br />
[[Install]] {{Pkg|plasma-pa}} or {{Pkg|kmix}} (start Kmix from the Application Launcher).<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 />
===== 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": ("plasmashell" "plasmashell")/!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 />
$ kcmshell5 autostart<br />
<br />
==== Window decorations ====<br />
<br />
[http://kde-look.org/index.php?xcontentmode=75 Window decorations] can be changed in ''System Settings > Workspace Appearance > Window Decorations''.<br />
<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 />
Icon themes can be installed and changed on ''System Settings > Icons''.<br />
{{note|Although all modern Linux desktops share the same icon theme format, desktops like [[GNOME]] use fewer icons (esp. in menus and toolbars). Themes developed for such desktops usually lack icons required by Plasma 5 and KDE apps.<br/><br />
It is recommended to install Plasma compatible icon themes instead.}}<br />
<br />
==== Fonts ====<br />
<br />
===== Fonts in a Plasma session 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 />
The Plasma Netbook shell has been dropped from Plasma 5, see the following [https://forum.kde.org/viewtopic.php?f=289&t=126631&p=335947&hilit=plasma+netbook#p335899 KDE forum post]<br />
However, you can achieve something similar by editing the file {{ic|~/.config/kwinrc}} adding <br />
{{ic|1=BorderlessMaximizedWindows=true}} in the {{ic|[Windows]}} section.<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|print-manager}} and {{Pkg|cups}}.<br />
<br />
The {{ic|avahi-daemon.service}} and {{ic|org.cups.cupsd.service}} 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#Configuration]] 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 the package {{Pkg|kdenetwork-filesharing}} and usershares, which the stock smb.conf does not have enabled. Instructions to add them are in [[Samba#Creating usershare path]], 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 />
Plasma 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 />
{{Accuracy|Regarding the note below, it might be that the problem is the logind setting ''LidSwitchIgnoreInhibited'' which defaults to ''yes''. [https://bbs.archlinux.org/viewtopic.php?pid&#61;1649022#p1649022]}}<br />
<br />
{{Note|Powerdevil may not [[Power management#Power managers|inhibit]] all logind settings (such as the lid close action for laptops). In these cases, the logind setting itself will need to be changed - see [[Power management#Power management with systemd]].}}<br />
<br />
=== Autostarting applications ===<br />
<br />
Plasma can autostart applications and run scripts on startup and shutdown. To autostart an application, start {{ic|systemsettings}} and navigate to ''Startup and Shutdown'' -> ''Autostart'' and add the program or shell script of your choice. For applications, a {{ic|.desktop}} file will be created, for shell scripts, a symlink will be created.<br />
{{Note|<br />
* Programs can be autostarted on login only, whilst shell scripts can also be run on shutdown or even before Plasma itself starts.<br />
* Shell scripts will only be run if they are marked executable.<br />
}}<br />
<br />
Place [[Desktop entries]] (i.e. {{ic|.desktop}} files) here:<br />
;{{ic|~/.config/autostart}}:for starting applications at login.<br />
<br />
Place or symlink shell scripts in one of the following directories:<br />
;{{ic|~/.config/plasma-workspace/env}}:for executing scripts at login before launching Plasma.<br />
;{{ic|~/.config/autostart-scripts}}:for executing scripts at login.<br />
;{{ic|~/.config/plasma-workspace/shutdown}}:for executing scripts on shutdown.<br />
<br />
== System administration ==<br />
<br />
=== Terminate Xorg server through KDE System Settings ===<br />
<br />
Navigate to the submenu ''System Settings > Input Devices > Keyboard > Advanced (tab) > "Key Sequence to kill the X server"'' and ensure that the checkbox is ticked.<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, or through the command line with ''kcmshell5''.<br />
<br />
'''Configuration for look and feel of GTK applications.'''<br />
* {{Pkg|kde-gtk-config}}<br />
* {{AUR|kcm-gtk}}{{Broken package link|{{aur-mirror|kcm-gtk}}}}<br />
* {{AUR|kcm-qt-graphicssystem}}<br />
<br />
'''Configuration for the GRUB bootloader.'''<br />
* {{AUR|grub2-editor}}{{Broken package link|{{aur-mirror|grub2-editor}}}}<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|systemd-kcm}}<br />
<br />
More KCMs can be found at [http://kde-apps.org/index.php?xcontentmode=273 kde-apps.org].<br />
<br />
== Desktop search ==<br />
<br />
KDE implements desktop search with a software called Baloo, a file indexing and searching solution.<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 Dolphin press {{ic|CTRL+F}}.<br />
<br />
By default the Desktop Search KCM exposes only two options: A panel to blacklist folders and a way to disable it with one click.<br />
<br />
Alternatively you can edit your {{ic|~/.config/baloofilerc}} 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}}{{Broken package link|{{aur-mirror|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 />
=== Web browsers ===<br />
==== Konqueror and Rekonq ====<br />
Konqueror supports two rendering engines – KHTML and QtWebKit (via the {{Pkg|kwebkitpart}} package) – Rekonq supports only QtWebKit. KHTML development was halted after Qt shipped WebKit but was kept for compatibility reasons. QtWebKit, in turn, has since been [https://www.mail-archive.com/development@qt-project.org/msg18866.html deprecated] by the Qt Project and replaced by [[Chromium]]-based Qt WebEngine which is currently not supported by either Konqueror or Rekonq. There is a [http://qtwebkit.blogspot.com/2016/08/qtwebkit-im-back.html community continuation] of QtWebKit.<br />
<br />
A successor named Fiber is currently in development, which will use Chromium's engine.<br />
<br />
==== Chromium and Chrome ====<br />
[[Chromium]] and its proprietary variant Google Chrome have limited Plasma integration. [[KDE_Wallet#KDE_Wallet_for_Chrome_and_Chromium|They can use KWallet]] and KDE Open/Save windows.<br />
<br />
==== Firefox ====<br />
Firefox can be configured to better integrate with Plasma. See [[Firefox#KDE_integration|Firefox KDE integration]] for details.<br />
<br />
==== Qupzilla ====<br />
Qupzilla ({{Pkg|qupzilla}}) is a Qt web browser with Plasma integration features. Qupzilla 2.0 uses Qt WebEngine instead of WebKit. The WebKit variant is also available as {{aur|qupzilla-qtwebkit-git}}.<br />
<br />
== PIM ==<br />
<br />
KDE offers its own stack for personal information management. This includes emails, contacts, calendar, etc.<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 />
==== Installation ====<br />
<br />
Install {{Pkg|akonadi}}. For additional addons, install {{Pkg|kdepim-addons}}. For EWS support, install {{AUR|akonadi-ews-git}}.<br />
<br />
{{Note|If you wish to use a database engine other than MariaDB/MySQL, then when installing the {{Pkg|akonadi}} package, use the following command to skip installing the {{Pkg|mariadb}} dependencies:<br />
<pre><br />
pacman -S akonadi --assume-installed mariadb<br />
</pre>}}<br />
<br />
==== Disabling Akonadi ====<br />
<br />
See this [http://userbase.kde.org/Akonadi#Disabling_the_Akonadi_subsystem section in the KDE userbase].<br />
<br />
==== Database configuration ====<br />
<br />
===== MariaDB/MySQL =====<br />
<br />
====== Using ZFS ======<br />
<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 />
<br />
===== PostgreSQL =====<br />
<br />
<ol><br />
<li> Install and setup PostgreSQL (see [[PostgreSQL]])<br />
<ul><li> Enable the {{ic|postgresql}} [[systemd]] service: {{ic|systemctl enable postgresql.service}}.</li></ul></li><br />
<li>Create the {{ic|~/.config/akonadi/akonadiserverrc}} file if it does not exist.</li><br />
<li>Edit {{ic|~/.config/akonadi/akonadiserverrc}} file so that it has the following contents:<br />
<pre><br />
[General]<br />
Driver=QPSQL<br />
<br />
[QPSQL]<br />
Host=/run/postgresql/<br />
InitDbPath=/usr/bin/initdb<br />
Name=akonadi<br />
Options=<br />
Password=<br />
Port=5432<br />
ServerPath=/usr/bin/pg_ctl<br />
StartServer=true<br />
User=postgres<br />
</pre><br />
{{Note|If your PostgreSQL database username, password, and port differ from {{ic|postgres}}, {{ic|}} (nothing), and {{ic|5432}}, then make sure you respectively change the configuration options, {{ic|1=User=}}, {{ic|1=Password=}}, and {{ic|1=Port=}}.}}</li><br />
<li>Start Akonadi: {{ic|akonadictl start}}, and check its status: {{ic|akonadictl status}}.</li><br />
</ol><br />
<br />
===== SQLite =====<br />
Edit {{ic|~/.config/akonadi/akonadiserverrc}} to match the configuration 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 (software)|Wikipedia]]:<br />
<br />
:''“Phonon is the multimedia API provided by KDE and is the standard abstraction for handling multimedia streams within KDE software and also used by several Qt applications.<br />
<br />
Phonon was originally created to allow KDE and Qt software to be independent of any single multimedia framework such as GStreamer or xine and to provide a stable API for a major version's lifetime.”''<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 />
You can choose between backends based on [[GStreamer]] and [[VLC]] – each available in versions for Qt4 applications and Qt5 applications ({{Pkg|phonon-qt4-gstreamer}}, {{Pkg|phonon-qt5-gstreamer}} – {{Pkg|phonon-qt4-vlc}}, {{Pkg|phonon-qt5-vlc}}).<br />
<br />
[https://www.phoronix.com/scan.php?page=news_item&px=MTUwNDM Upstream prefers VLC] but prominent Linux distributions (Kubuntu and Fedora-KDE for example) prefer GStreamer because that allows them to easily leave out patented MPEG codecs from the default installation. Both backends have a slightly different [http://community.kde.org/Phonon/FeatureMatrix features set].<br />
<br />
In the past other backends were developed as well but are no longer maintained and their AUR packages have been deleted.<br />
<br />
{{Note|1=<br><br />
* Multiple backends can be installed at once and prioritized at ''System Settings > Multimedia > Phonon > Backend''. For Plasma 5 this would be ''System Settings > Multimedia > Backend''.<br />
* According to the [https://forum.kde.org/viewtopic.php?f=250&t=126476&p=335080 KDE forums], the VLC backend lacks support for [[wikipedia:ReplayGain|ReplayGain]].}}<br />
{{Note|1=<br><br />
* If you choose the vlc backend, you may experience crashes every time kde wants to send you a audible warning (and in quite a number of other cases as well, see [https://forum.kde.org/viewtopic.php?f=289&t=135956])<br />
* A possible fix is to run<br />
{{bc|# /usr/lib/vlc/vlc-cache-gen -f /usr/lib/vlc/plugins}}<br />
}}<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|telepathy-kde-meta}} package that includes all the packages contained in the {{Grp|telepathy-kde}} group.<br />
<br />
==== Use Telegram with KDE Telepathy ====<br />
<br />
Telegram protocol is available using {{pkg|telepathy-haze}}, installing {{aur|telegram-purple}} or {{aur|telegram-purple-git}} and {{aur|telepathy-morse-git}}. The username is the Telegram account telephone number (complete with the national prefix '+xx', e.g. '+49' for Germany). The configuration through the GUI may be tricky: if the phone number is not accepted when configuring a new account in the KDE Telepathy client (with an error message complaining about an invalid parameter which prevents the account creation), insert it between single quotes and then remove the quotes manually from the configuration file ({{ic|~/.local/share/telepathy/mission-control/accounts.cfg}}) after the account creation (if the quotes are not removed after, an authentication error should rise). Note that the configuration file should be edited manually when KDE Telepathy is not running, e.g. when there is no KDE desktop session active, otherwise manual changes may be overwritten by the software.<br />
<br />
== Tips and tricks ==<br />
<br />
=== Using an alternative window manager ===<br />
There may be reasons you want to use another window manager than KWin, for example to work around the DRI bug that causes [[PRIME#Black_screen_with_GL-based_compositors|black screen with PRIME]].<br />
<br />
To use an alternative [[window manager]] with Plasma 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 />
{{Note|1=<br />
The component chooser settings in plasma 5 doesn't allow changing the window manager anymore. [https://github.com/KDE/plasma-desktop/commit/2f83a4434a888cd17b03af1f9925cbb054256ade]<br />
In order to change the window manager used you need to set the {{ic|KDEWM}} [[environment variable]] before KDE startup. [https://wiki.haskell.org/Xmonad/Using_xmonad_in_KDE] To do that you can create a script called {{ic|set_window_manager.sh}} in {{ic|~/.config/plasma-workspace/env}} and export the {{ic|KDEWM}} variable there. For example to use the i3 window manager :<br />
<br />
{{hc|~/.config/plasma-workspace/env/set_window_manager.sh|2=<br />
export KDEWM=/usr/bin/i3<br />
}}<br />
<br />
And then make it executable :<br />
<br />
{{bc|$ chmod +x ~/.config/plasma-workspace/env/set_window_manager.sh}}<br />
<br />
}}<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 ===<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}} package. For Android side, install {{ic|KDE Connect}} from [https://play.google.com/store/apps/details?id=org.kde.kdeconnect_tp Google Play] or from [https://f-droid.org/repository/browse/?fdid=org.kde.kdeconnect_tp F-Droid].<br />
<br />
=== Configure KWin to use OpenGL ES ===<br />
Set environment variable {{ic|KWIN_COMPOSE}} to 'O2ES' to force the OpenGL ES backend. Please note that OpenGL ES is not supported by all drivers.<br />
<br />
=== Speed up application startup ===<br />
<br />
User Rob described a "[http://kdemonkey.blogspot.nl/2008/04/magic-trick.html magic trick]" on his blog to improve application start-up time by 50-150ms.<br />
To enable it, create this folder in your home:<br />
$ mkdir ~/.compose-cache/<br />
It can produce freezes under heavy io. To avoid this, also do:<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 />
=== Configuring monitor resolution / multiple monitors ===<br />
<br />
To enable display resolution management and multiple monitors in Plasma 5, install {{Pkg|kscreen}}. This adds the additional options to System Settings/Display and Monitor.<br />
<br />
=== Open application launcher with Super key (Windows key) ===<br />
<br />
{{Note|Since plasma 5.8 release, this workaround is no longer needed. Pressing {{Ic|Super}} key launches kickstart application launcher as if {{Ic|Alt+F1}} keys are pressed.}}<br />
<br />
Install and start {{Pkg|ksuperkey}}. Now assign {{ic|Alt+F1}} as hot key. The {{ic|Super}} key will now open the application launcher. You can add ksuperkey to the autostart if you don't want to start it manually.<br />
<br />
=== Enabling touchpad tap to click on plasma wayland session ===<br />
<br />
Currently, it's not possible to [https://bugs.kde.org/show_bug.cgi?id=363109 configure tap to click via systemsettings] on plasma wayland session. [https://bugs.kde.org/show_bug.cgi?id=366605#c4 A workaround] is provided to configure tap to click on plasma wayland session via dbus.<br />
<br />
Here are simplified steps to get touchpad tap to click enabled on plasma wayland session.<br />
<br />
Identify on which libinput recognizes the touchpad device.<br />
{{Hc|# libinput-list-devices|<br />
Device: ETPS/2 Elantech Touchpad<br />
Kernel: /dev/input/event14<br />
Group: 7<br />
Seat: seat0, default<br />
Size: 78.28x38.78mm<br />
Capabilities: pointer<br />
Tap-to-click: disabled<br />
Tap-and-drag: enabled<br />
Tap drag lock: disabled<br />
Left-handed: disabled<br />
Nat.scrolling: disabled<br />
Middle emulation: n/a<br />
Calibration: n/a<br />
Scroll methods: *two-finger edge<br />
Click methods: none<br />
Disable-w-typing: enabled<br />
Accel profiles: none<br />
Rotation: n/a<br />
}}<br />
<br />
In this case, the touchpad is identified as {{Ic|event14}}<br />
<br />
Check whether KDE Dbus recognizes the touchpad. Replace {{Ic|event14}} with the touchpad identifier found from {{Ic|libinput-list-devices}}.<br />
<br />
{{Hc|$ qdbus org.kde.KWin.InputDevice /org/kde/KWin/InputDevice/event14 org.freedesktop.DBus.Properties.Get org.kde.KWin.InputDevice name|<br />
ETPS/2 Elantech Touchpad<br />
}}<br />
<br />
Check the current value of {{Ic|tapToClick}}.<br />
{{Hc|$ qdbus org.kde.KWin.InputDevice /org/kde/KWin/InputDevice/event14 org.freedesktop.DBus.Properties.Get org.kde.KWin.InputDevice tapToClick|<br />
false<br />
}}<br />
<br />
Now set the {{Ic|tapToClick}} value to {{Ic|true}}.<br />
<br />
$ qdbus org.kde.KWin.InputDevice /org/kde/KWin/InputDevice/event14 org.freedesktop.DBus.Properties.Set org.kde.KWin.InputDevice tapToClick true<br />
<br />
Confirm that {{Ic|tapToClick}} value is {{Ic|true}}.<br />
<br />
{{Hc|$ qdbus org.kde.KWin.InputDevice /org/kde/KWin/InputDevice/event14 org.freedesktop.DBus.Properties.Get org.kde.KWin.InputDevice tapToClick|<br />
true<br />
}}<br />
<br />
After these steps performed, tap to click should work as expected.<br />
<br />
== Troubleshooting ==<br />
<br />
=== Configuration related ===<br />
<br />
Many problems in KDE are related to configuration.<br />
<br />
==== Plasma desktop behaves strangely ====<br />
<br />
Plasma problems are usually caused by unstable '''Plasma widgets''' (colloquially called ''plasmoids'') or '''Plasma themes'''. First, find which was the last widget or 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 settings to be lost, navigate to {{ic|~/.config}}:<br />
<br />
$ for j in plasma*; do mv -- "$j" "${j%}.bak"; done<br />
<br />
This command will '''rename all Plasma related configs''' to *.bak (e.g. {{ic|plasmarc.bak}}) of your user and when you will relogin into Plasma, you will have the '''default''' settings back. To undo that action, remove the .bak file extension. If you already have *.bak files, rename, move, or delete them first. It is highly recommended that you create regular backups anyway. See [[Synchronization and backup programs]] for a list of possible solutions.<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 music. 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 />
=== Fix empty IMAP inbox ===<br />
<br />
For some IMAP accounts, kmail will show the inbox as a container with all other folders of this account inside. Kmail does not show messages in the inbox container but in all other subfolders [https://bugs.kde.org/show_bug.cgi?id=284172]. To solve this problem simply disable the server side subscribition in the kmail account settings.<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 />
=== 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 Plasma session (specifically, you did not run {{ic|startkde}}), then as of Plasma 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 />
=== KF5/Qt5 applications don't display icons in i3/fvwm/awesome ===<br />
<br />
See [[Qt#Configuration of Qt5 apps under environments other than KDE]].<br />
<br />
=== Graphical related problems ===<br />
<br />
==== Plasma keeps crashing with legacy Nvidia ====<br />
<br />
This is caused by a [https://bugs.kde.org/show_bug.cgi?id=348753 bug in Plasma] when using the Nvidia-304xx driver. Rather than disabling compositing, create a file {{ic|kwin.sh}} in {{ic|~/.config/plasma-workspace/env/}} with the following contents:<br />
<br />
#!/bin/sh<br />
export KWIN_EXPLICIT_SYNC=0<br />
<br />
Then go to ''system-settings > Startup and Shutdown > Autostart'' and ''Check/Add'' the script as a pre-KDE startup file.<br />
<br />
==== Applications don't refresh properly ====<br />
<br />
If you use 3D-accelerated composition with [[Intel]], you might find that the Plasma panel and other applications don't refresh properly (stay frozen). Some Intel drivers have [https://bugzilla.redhat.com/show_bug.cgi?id=1259475 problems with EGL]. Go to System Settings under ''Display and Monitor'' -> ''Compositor''. Set ''OpenGL interface'' to OpenGL 3.1. If that does not work, see [[Intel graphics#SNA issues]] for alternative solutions.<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 />
{{Accuracy|xrender is not default in plasma 5. XRender should not be recommended anymore.}}<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 ''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 [https://web.archive.org/web/20100430183745/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 ''System Settings > Desktop Effects'' 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. Make sure the GPU driver and it's components has been successfully installed.}}<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 />
==== Display settings lost on reboot (multiple monitors) ====<br />
There is a [https://bugs.kde.org/show_bug.cgi?id=346961 bug] in kscreen that makes it forget dual screen settings after reboot with certain displays.<br />
A possible workaround is to uninstall {{Pkg|kscreen}} and specify your screen setup in a xorg.conf file instead:<br />
* See [[Multihead#RandR]] for using the [[Wikipedia:RandR|RandR]] [[Wikipedia:X Window System|X Window System]] extension.<br />
* For Nouveau you can use the template at [[Nouveau#Dual Head]], just edit it to suit your setup.<br />
* For the proprietary nvidia driver you can use the [[NVIDIA#Using_NVIDIA_Settings|nvidia-settings]] utility as root to write the config file.<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 ''System Settings > Multimedia > Phonon'' 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 ''System Settings > Multimedia > Phonon > Backend (tab)''.<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 />
=== Freezes when using Automount on a NFS volume ===<br />
<br />
Using [[Fstab#Automount with systemd]] on a [[NFS]] volume may cause freezes, see [https://bugs.kde.org/show_bug.cgi?id=354137 bug report upstream].<br />
<br />
=== Locale warning when installing packages in Konsole ===<br />
<br />
mandb: can't set the locale; make sure $lc_* and $lang are correct<br />
<br />
By default, Konsole sets $LANG to en_US.US-ASCII. If you haven't generated that locale, then mandb can't use it. In your Konsole profile settings, click "Environment" and then add a line for LANG=en_US.UTF-8 or whatever your locale should be.<br />
<br />
=== Multi-monitor issues ===<br />
<br />
The current release of KDE Plasma has several issues with multi-monitor setups, which can make Plasma unusable. See [https://bugs.kde.org/show_bug.cgi?id=356225 KDE Bug 356225].<br />
<br />
These bugs have been resolved in the upstream/git KDE Plasma builds, which can be installed from {{AUR|plasma-desktop-git}} or {{AUR|plasma-git-meta}} - bear in mind that all packages will conflict with current versions - it is recommended to [[remove]] them first.<br />
<br />
== Unstable releases ==<br />
<br />
See [[Official repositories#kde-unstable]]<br />
<br />
== Bugs ==<br />
<br />
It is preferable 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>Munzirtahahttps://wiki.archlinux.org/index.php?title=Fish&diff=455129Fish2016-10-25T00:24:21Z<p>Munzirtaha: running bash without the --norc option would drop you back to fish because of the exec fish line so you explicitly need to mention the --norc option</p>
<hr />
<div>{{lowercase title}}<br />
[[Category:Command shells]]<br />
[[de:Fish]]<br />
[[ja:Fish]]<br />
[[ru:Fish]]<br />
<br />
'''fish''' (the '''friendly interactive shell''') is a user friendly [[command-line shell]] intended mostly for interactive use.<br />
<br />
== Installation ==<br />
<br />
[[Install]] the {{Pkg|fish}} package. Alternatively install the {{AUR|fish-git}} package for the development version.<br />
<br />
To make fish the default shell, see [[Shell#Changing your default shell]]; however, you should consider [[#Not setting fish as default shell]].<br />
<br />
Once installed simply type {{ic|fish}} to drop into the fish shell.<br />
<br />
Documentation can be found by typing {{ic|help}} from fish; it will be opened in a web browser. It is recommended to read at least the "Syntax overview" section, since fish's syntax is different from many other shells.<br />
<br />
== Configuration ==<br />
<br />
User configurations for fish are located at {{ic|~/.config/fish/config.fish}}. Adding commands or functions to the file will execute/define them when opening a terminal, similar to {{ic|.bashrc}}.<br />
<br />
=== Web interface ===<br />
<br />
The fish prompt and terminal colors can be set with the interactive web interface:<br />
<br />
fish_config<br />
<br />
Selected settings are written to your personal configuration file. You can also view defined functions and your history.<br />
<br />
=== Command completion ===<br />
<br />
fish can generate autocompletions from man pages. Completions are written to {{ic|~/.config/fish/generated_completions/}} and can be generated by calling:<br />
<br />
fish_update_completions<br />
<br />
You can also define your own completions in {{ic|~/.config/fish/completions/}}. See {{ic|/usr/share/fish/completions/}} for a few examples.<br />
<br />
Context-aware completions for Arch Linux-specific commands like ''pacman'', ''pacman-key'', ''makepkg'', ''cower'', ''pbget'', ''pacmatic'' are built into fish, since the policy of the fish development is to include all the existent completions in the upstream tarball. The memory management is clever enough to avoid any negative impact on resources.<br />
<br />
==Troubleshooting==<br />
===History substitution===<br />
Fish does not implement history substitution (e.g. {{ic|sudo !!}}), and the fish developers have said that they [http://fishshell.com/docs/current/faq.html#faq-history do not plan to]. Still, this is an essential piece of many users' workflow. Reddit user, [http://www.reddit.com/u/crossroads1112 crossroads1112], created a function that regains some of the functionality of history substitution and with another syntax. The function is on [https://gist.github.com/crossroads1112/77badb2c3455e23b873b github] and instructions are included as comments in it. There is a [https://gist.github.com/b-/981892a65837ab0a387e forked version] that is closer to the original syntax and allows for {{ic|command !!}} if you specify the command in the helper function.<br />
<br />
==Tips and tricks==<br />
<br />
=== Not setting fish as default shell ===<br />
<br />
In Arch, some shell scripts are written for [[Bash]] and are not fully compatible with fish. Not setting fish as system wide or user default allows the Bash scripts to run on startup, ensures the environment variables are set correctly, and generally reduces the issues associated with using a non-Bash compatible terminal like fish. You may see some script errors if your default shell is set as fish. Below are several options for using fish without setting it as your default shell.<br />
<br />
==== Modify .bashrc to drop into fish ====<br />
<br />
Keep your default shell as Bash and simply add the line {{ic|exec fish}} to the appropriate [[Bash#Configuration files]], such as {{ic|.bashrc}}. This will allow Bash to properly source {{ic|/etc/profile}} and all files in {{ic|/etc/profile.d}}. Because ''fish'' replaces the bash process, exiting ''fish'' will also exit the terminal. Compared to the following options, this is the most universal solution, since it works both on a local machine and on an SSH server.<br />
<br />
{{Tip|Use {{ic|bash --norc}} to enter bash manually without dropping to fish after setting up as above.}}<br />
<br />
==== Use terminal emulator options ====<br />
<br />
Another option is to open your terminal emulator with a command line option that executes fish. For most terminals this is the {{ic|-e}} switch, so for example, to open gnome-terminal using fish, change your shortcut to use:<br />
<br />
gnome-terminal -e fish<br />
<br />
With LilyTerm and other light terminal emulators that do not support setting the shell it would look like this:<br />
<br />
SHELL=/usr/bin/fish lilyterm<br />
<br />
You can also set fish as the default shell for the terminal in the terminal's configuration or for a terminal profile if your terminal emulator has a profiles feature.<br />
<br />
Whenever you open your terminal emulator, you will be dropped into fish.<br />
<br />
==== Use terminal multiplexer options ====<br />
<br />
To set fish as the shell started in tmux, put this into your {{ic|~/.tmux.conf}}:<br />
<br />
set-option -g default-shell "/usr/bin/fish"<br />
<br />
Whenever you run ''tmux'', you will be dropped into fish.<br />
<br />
=== Setting fish as default shell ===<br />
<br />
If you decide to set fish as your default shell, you may find that you no longer have very much in your path.<br />
You can add a section to your {{ic|~/.config/fish/config.fish}} file that will set your path correctly on login. This is much like {{ic|.profile}} or {{ic|.bash_profile}} as it is only executed for login shells.<br />
<br />
{{bc|<br />
if status --is-login<br />
set PATH $PATH /usr/bin /sbin<br />
end<br />
}}<br />
<br />
{{Note|This route requires you to manually add various other environment variables, such as {{ic|$MOZ_PLUGIN_PATH}}. It is a huge amount of work to get a seamless experience with fish as your default shell using this method. A better idea would be [[#Not setting fish as default shell]].}}<br />
<br />
===Disable greeting===<br />
<br />
By default, fish prints a greeting message at startup. To disable it, add {{ic|set fish_greeting}} to your fish configuration file.<br />
<br />
=== Make su launch fish ===<br />
<br />
If ''su'' starts with Bash (because Bash is the default shell), define a function in your fish configuration file:<br />
<br />
function su<br />
/bin/su --shell=/usr/bin/fish $argv<br />
end<br />
<br />
=== Start X at login ===<br />
<br />
Add the following to the bottom of your {{ic|~/.config/fish/config.fish}}.<br />
<br />
{{bc|1=<nowiki><br />
# start X at login<br />
if status --is-login<br />
if test -z "$DISPLAY" -a "$XDG_VTNR" -eq "1"<br />
exec startx<br />
end<br />
end<br />
</nowiki>}}<br />
<br />
=== Use liquidprompt ===<br />
<br />
[https://github.com/nojhan/liquidprompt Liquidprompt] is a popular "full-featured & carefully designed adaptive prompt for Bash & Zsh" and has no plans to make it compatible with fish [https://github.com/nojhan/liquidprompt/pull/230]. [https://github.com/wesbarnett/fish-lp This project] implements it for fish.<br />
<br />
=== Put git status in prompt ===<br />
<br />
If you would like fish to display the branch and dirty status when you are in a git directory, you can add the following to your {{ic|~/.config/fish/config.fish}}:<br />
{{bc|<nowiki><br />
# fish git prompt<br />
set __fish_git_prompt_showdirtystate 'yes'<br />
set __fish_git_prompt_showstashstate 'yes'<br />
set __fish_git_prompt_showupstream 'yes'<br />
set __fish_git_prompt_color_branch yellow<br />
<br />
# Status Chars<br />
set __fish_git_prompt_char_dirtystate '⚡'<br />
set __fish_git_prompt_char_stagedstate '→'<br />
set __fish_git_prompt_char_stashstate '↩'<br />
set __fish_git_prompt_char_upstream_ahead '↑'<br />
set __fish_git_prompt_char_upstream_behind '↓'<br />
<br />
function fish_prompt<br />
set last_status $status<br />
set_color $fish_color_cwd<br />
printf '%s' (prompt_pwd)<br />
set_color normal<br />
printf '%s ' (__fish_git_prompt)<br />
set_color normal<br />
end<br />
</nowiki>}}<br />
<br />
=== Evaluate ssh-agent ===<br />
<br />
In fish, {{ic|eval (ssh-agent)}} generate errors due to how variables are set. To work around this, use the csh-style option {{ic|-c}}:<br />
<br />
$ eval (ssh-agent -c)<br />
<br />
== See also ==<br />
<br />
* http://fishshell.com/ - Home page<br />
* http://fishshell.com/docs/current/index.html - Documentation</div>Munzirtahahttps://wiki.archlinux.org/index.php?title=List_of_games&diff=445837List of games2016-08-07T20:52:58Z<p>Munzirtaha: added chessx which I have just created a package for</p>
<hr />
<div>[[Category:Gaming]]<br />
[[da:List of games]]<br />
[[es:List of games]]<br />
[[it:List of games]]<br />
[[ja:ゲーム一覧]]<br />
[[lt:Games]]<br />
[[ru:Gaming]]<br />
[[zh-cn:List of games]]<br />
{{Related articles start}}<br />
{{Related|List of applications}}<br />
{{Related|List of applications#Emulators}}<br />
{{Related articles end}}<br />
<br />
This page strives to list all games which have a package available in the [[official repositories]] or the [[AUR]]. There are many more Linux games available, which are not packaged. See [[Gaming#Getting games]] for ways to obtain them.<br />
<br />
For more about running games, related system configuration tips, see [[Gaming]]. For an up to date selection of games available in the AUR, try checking the [https://aur.archlinux.org/packages/?SeB=k&K=game AUR 'game' keyword].<br />
<br />
== Action and adventure ==<br />
<br />
* {{App|Abuse|Side-scroller action game that pits you against ruthless alien killers.|http://abuse.zoy.org/|{{Pkg|abuse}}}}<br />
* {{App|[[Wikipedia:Aquaria (video game)|Aquaria]]|2D sidescrolling action-adventure game, heavily focused on exploration and puzzle-solving, with non-linear gameplay. The game engine is open source.|http://www.bit-blot.com/aquaria|{{AUR|aquaria-ose}}, {{AUR|aquaria-hib}}}}<br />
* {{App|Astromenace|Modern 3D scrolling space shooter with ship upgrade possibilities.|https://sourceforge.net/projects/openastromenace/|{{Pkg|astromenace}}}}.<br />
* {{App|1=Barrage|2=Violent ''point-and-click'' shooting game with nice effects|3=http://lgames.sourceforge.net/index.php?project=Barrage|4={{Pkg|barrage}}}}<br />
* {{App|[[Wikipedia:Blob Wars|Blob Wars: Metal Blob Solid]]|2D Action-adventure game with various weapons and missions.|https://sourceforge.net/projects/blobwars/|{{Pkg|blobwars}}}}<br />
* {{App|[[Wikipedia:Blob Wars|Blob Wars: Blob and Conquer]]|3D Action-adventure game, sequel to 2D platform game, Blob Wars: Metal Blob Solid.|https://sourceforge.net/projects/blobandconquer/|{{AUR|blobandconquer}}{{Broken package link|{{aur-mirror|blobandconquer}}}}}}<br />
* {{App|[[Wikipedia:BZFlag|BZFlag]]|Multiperson, first-person tank shooter.|http://bzflag.org/|{{Pkg|bzflag}}}}<br />
* {{App|[[Wikipedia:Dink Smallwood|Freedink]]|Free and enhanced version of the action-adventure "Dink Smallwood".|http://www.freedink.org/|{{AUR|freedink}}}}<br />
* {{App|[[Wikipedia:Gish (video game)|Gish]]|2D physics platformer about adventures of ball of tar.|http://www.gishgame.com/|{{AUR|freegish-git}}}}<br />
* {{App|[[Wikipedia:Hammerfight|Hammerfight]]|2-dimensional physics-based combat game.|http://www.koshutin.com/|{{AUR|hammerfight}}}}<br />
:* The open-source Unix port of the Haaf's Game Engine is available at [https://icculus.org/hge-unix/ icculus.org].<br />
* {{App|[[Wikipedia:Liquid_War|Liquid War]] | 2D multiplayer game with a simple and unique game mechanic. It could be classified as a fast-paced strategy. | http://www.ufoot.org/liquidwar/ | {{AUR|liquidwar}}}}<br />
:* A rewrite of the game program, now adopted as a GNU project: {{AUR|liquidwar6}}, homepage: [http://www.gnu.org/software/liquidwar6/ | Liquid War 6]<br />
* {{App|[[Minecraft]]|Java based sandbox game.<br />
|http://minecraft.net|{{AUR|minecraft}}}}<br />
* {{App|[[Wikipedia:Neverball|Neverball]]|3D game to guide a ball through a maze.|http://neverball.org/|{{Pkg|neverball}}}}<br />
* {{App|[[Wikipedia:Rune (video game)|Rune]]|3rd person Adventure / Hack'n Slay using Unreal Engine. Runs great from box installation.|http://www.rune-world.com|{{AUR|rune}}}}<br />
* {{App|1=Paintball Party 2|2=Paintball Party 2 is the sequel to Paintball Party, a multiplayer action platformer for all ages.|3=http://www.t3-i.com/pages/project.php?id=paintball_party_2|4={{AUR|paintball-party-2}}}}<br />
<br />
== Arcade ==<br />
<br />
* {{App|Bomberclone|Free Bomberman-like game for Linux and Windows. The rules of the game are simple: run though a level and bomb other players.|http://bomberclone.sourceforge.net/homepage/|{{Pkg|bomberclone}}}}<br />
* {{App|[[Wikipedia:Cave Story|Cave Story/Doukutsu]]|Addictive 1-man-made metroid-vania-esque platformer. If there happens to be a noticible lag when there are lots of enemies on screen or in larger levels, try running the Windows version through Wine. This should fix the problem.|http://cavestory.org|{{AUR|doukutsu}}}}<br />
* {{App|Ceferino|Action game similar to Super Pang.|http://www.losersjuegos.com.ar/juegos/ceferino|{{AUR|ceferino}}{{Broken package link|{{aur-mirror|ceferino}}}}}}<br />
* {{App|Chromium|Fast paced, arcade-style, top-scrolling space shooter.|http://chromium-bsu.sourceforge.net/|{{Pkg|chromium-bsu}}}}<br />
* {{App|Circus Linux!|Clone of the Atari 2600 game "Circus Atari", produced by Atari, Inc.|http://www.newbreedsoftware.com/circus-linux|{{AUR|circuslinux}}{{Broken package link|{{aur-mirror|circuslinux}}}}}}<br />
* {{App|Counter-Strike 2D|2D clone (+additional features) of the popular Counter-Strike Mod|http://cs2d.com|{{AUR|counter-strike-2d}}}}<br />
* {{App|Crack-attack|Free OpenGL game, based on the Super Nintendo classic Tetris Attack.|http://www.nongnu.org/crack-attack/|{{AUR|crack-attack}}}}<br />
* {{App|[[Wikipedia:Frozen Bubble|Frozen Bubble]]|Arcade game with colorful animated penguin eyecandy|http://frozen-bubble.org|{{Pkg|frozen-bubble}}}}<br />
* {{App|[[Wikipedia:Hedgewars|Hedgewars]]|Yet another Worms clone, considered to be better than its predecessor by many. Take turns to blast your opponents into oblivion with comedic results! Best in Multiplayer.|http://hedgewars.org/|{{Pkg|hedgewars}}}}<br />
* {{App|1=lbreakout2|2=Breakout-style arcade game in the manner of Arkanoid|3=http://lgames.sourceforge.net/index.php?project=LBreakout2|4={{Pkg|lbreakout2}}}}<br />
* {{App|1=LTris|2=Arcade version of Tetris|3=http://lgames.sourceforge.net/index.php?project=LTris|4={{Pkg|ltris}}}}<br />
* {{App|[[Wikipedia:Mari0|Mari0]]|The Mario game with Portal gun mechanics.|http://stabyourself.net/mari0/|{{Pkg|mari0}}}}<br />
* {{App|Nikki and the Robots|Cute physics platformer|http://joyridelabs.de/game/|{{AUR|nikki}}}}<br />
* {{App|Noiz2sa|Vertical shooter arcade game with nice abstract graphics, music, and joystick support.|http://www.asahi-net.or.jp/~cs8k-cyu/windows/noiz2sa_e.html|{{AUR|noiz2sa}}{{Broken package link|{{aur-mirror|noiz2sa}}}}}}<br />
* {{App|Penguin Command|Clone of the classic game "Missile Command" with improved graphics and sound.|http://www.linux-games.com/penguin-command/|{{AUR|penguin-command}}}}<br />
* {{App|Pinball|Open source pinball simulator for Linux and other Unix systems.|http://pinball.sourceforge.net/|{{AUR|pinball}}}}<br />
* {{App|PowerManga|Arcade 2D shoot-em-up game with 41 levels and more than 200 sprites.|http://linux.tlk.fr/games/Powermanga/|{{AUR|powermanga}}}}<br />
* {{App|Streets of Rage Remake|A remake of the classic Streets of Rage 1, 2 and 3 by Sega.|http://sorr.forumotion.net/|{{AUR|streetsofrageremake}}}}<br />
* {{App|[[Wikipedia:Syobon action|Open Syobon Action]]|Cross platform, open source version of the unforgiving Japanese parody of Super Mario Bros|https://github.com/Alexander--/open-syobon|{{AUR|open-syobon}}{{Broken package link|{{aur-mirror|open-syobon}}}}}}<br />
* {{App|opsu!|An open source Java client for the rhythm game osu!.|https://itdelatrisu.github.io/opsu/|{{AUR|opsu}}}}<br />
* {{App|[[Wikipedia:Teeworlds|Teeworlds]]|Fast-paced 2D multiplayer shooter|http://teeworlds.com/|{{Pkg|teeworlds}}}}<br />
* {{App|Tetrinet|Multiplayer online Tetris game for up to six people.|http://www.tetrinet.info/|{{Pkg|gtetrinet}}}}<br />
* {{App|Tuxanci|Multiplatform game, inspired by well-known czech game Bulanci.|http://www.tuxanci.org/en/start|{{AUR|tuxanci}}{{Broken package link|{{aur-mirror|tuxanci}}}}}}<br />
* {{App|Ultrastar-ng|Clone of SingStar, a music video game.|http://performous.org/|{{AUR|ultrastardx-git}}}}<br />
* {{App|[[Wikipedia:Warmux|Warmux]] (previously ''Wormux'')|Somewhat similar to Worms 2/Worms Armageddon|http://gna.org/projects/warmux/|{{AUR|warmux}}}}<br />
<br />
== Casual games ==<br />
* {{App|bs|Battleships based shooter for the console|http://www.catb.org/~esr/bs/|{{AUR|bs}}}}<br />
* {{App|BSD Games|Collection of classic text games distributed with *BSD|http://wiki.linuxquestions.org/wiki/BSD_games|{{Pkg|bsd-games}}}}<br />
* {{App|[[w:Fortune (Unix)|Fortune]]|Displays Random messages/quotes/jokes when invoked||{{Pkg|fortune-mod}}}}<br />
* {{App|Mah-Jong|Chinese Classical mahjong (not solitaire) with network support|http://mahjong.julianbradfield.org/|{{Pkg|mahjong}}}}<br />
* {{App|nInvaders|Ncurses based space invaders clone|http://ninvaders.sourceforge.net/|{{AUR|ninvaders}}}}<br />
* {{App|xroach|cockroaches hide under your windows||{{AUR|xroach}}}}<br />
<br />
== Chess simulators ==<br />
* {{App|[[Wikipedia:GNU Chess|GNU Chess]]|One of the oldest computer chess programs for Unix-based computers, lets most modern computers play a full game of chess|https://gnu.org/s/chess|{{Pkg|gnuchess}}}}<br />
* {{App|chessx|Chess Database and PGN viewer|http://chessx.sourceforge.net|{{AUR|chessx}}}}<br />
* {{App|Eboard|Chess interface to ICS and chess engines|http://bergo.eng.br/eboard|{{AUR|eboard}}}}<br />
* {{App|Knights|Simple chess board for KDE 4. It is a rewrite of the KDE3 Knights.|http://noughmad.com/knights/|{{Pkg|knights}}}}<br />
* {{App|PyChess|An advanced chess client for linux following the GNOME Human Interface Guidelines.|http://pychess.org/|{{Pkg|pychess}}}}<br />
* {{App|[[Wikipedia:GNOME Chess|GNOME Chess]]|A 2D chess game which can use third party chess engines.|https://wiki.gnome.org/Apps/Chess|{{Pkg|gnome-chess}}}}<br />
* {{App|glChess|3D Chess Frontend.|https://wiki.gnome.org/Apps/Chess|{{AUR|glchess}}}}<br />
<br />
== Education ==<br />
<br />
* {{App|GCompris|Educational software suite comprising of numerous activities for children aged 2 to 10.|http://gcompris.net/-en-|{{Pkg|gcompris}}}}<br />
* {{App|Tux Paint|Free drawing program designed for young children.|http://tuxpaint.org/|{{Pkg|tuxpaint}}}}<br />
* {{App|Tux Type|Educational typing tutor for kids starring Tux.|http://tux4kids.alioth.debian.org/tuxtype/|{{AUR|tuxtype}}}}<br />
* {{App|TuxMath|Arcade game that helps kids practice their math facts.|http://tux4kids.alioth.debian.org/tuxmath/|{{AUR|tuxmath}}}}<br />
<br />
== Interactive fiction ==<br />
<br />
See also [[Wikipedia:Interactive fiction#Development systems]].<br />
<br />
* {{App|[[Wikipedia:Inform|Inform]]|Design system for interactive fiction based on natural language|http://inform7.com/|{{AUR|inform7}}}}<br />
* {{App|INSTEAD|Quest interpreter using Lua macros as game writing language|http://instead.syscall.ru/index.html|{{Pkg|instead-launcher}} {{Pkg|instead}}}}<br />
* {{App|[[Wikipedia:TADS|TADS]]|Prototype-based domain-specific programming language and set of standard libraries for creating interactive fiction (IF) games|http://tads.org|{{AUR|frobtads}}}}<br />
<br />
== Massively multiplayer online games (MMO) ==<br />
<br />
See also [[Wikipedia:List of massively multiplayer online games]] and [[Wikipedia:Comparison of massively multiplayer online role-playing games]].<br />
<br />
* {{App|[[Dofus]]|Free, manga inspired, Massively Multiplayer Online Role-playing Game (MMORPG) for Adobe AIR|http://www.dofus.com|{{AUR|dofus}}}}<br />
* {{App|[[Wikipedia:Eternal Lands|Eternal Lands]]|3D fantasy online role playing game|http://www.eternal-lands.com|{{AUR|eternallands}}}}<br />
* {{App|[[Wikipedia:PlaneShift (video game)|Planeshift]]|Role Playing Game immersed into a 3D virtual fantasy world which is FULLY FREE to play. Fully free means you will have no surprises of premium content which will limit your gameplay or unbalance the game. There are no limitations in skills, ranks, abilities, items you can gain with your free account|http://www.planeshift.it|{{AUR|planeshift}}}}<br />
* {{App|[[RuneScape]]|Massive online adventure game by Jagex|http://www.runescape.com|{{AUR|unix-runescape-client}} (old Java client), {{AUR|runescape-launcher}} (new NXT client)}}<br />
* {{App|[[Wikipedia:Ryzom|Ryzom]]|3D Fantasy MMORPG|http://www.ryzom.com|{{AUR|ryzom-client}}}}<br />
* {{App|[[Wikipedia:Savage: The Battle for Newerth|Savage: The Battle for Newerth]]|Online multiplayer team-based FPS/RTS hybrid. Open-sourced in September 2006. Savage XR, the most improved continuation (including SFE patches), is completely free (no purchasing/ads whatsoever) however closed-source to reduce cheating.|http://www.newerth.com/|{{AUR|savage}}}}<br />
* {{App|[[Wikipedia:Savage 2: A Tortured Soul|Savage 2: A Tortured Soul]]|Fantasy themed online multiplayer team-based FPS/RTS/RPG hybrid. Free-to-play as of December 2008. Pay for premium accounts providing crucial game elements such as extra inventory slots, access to clans and removal of the Hellbourne unit restrictions (per-account), as well as access to replays and stats.|http://savage2.com|{{AUR|savage2}}}}<br />
* {{App|[[Wikipedia:Second Life|Second Life]]|Online, 3D virtual world imagined and created by its residents|http://secondlife.com/|{{AUR|secondlife-bin}}{{Broken package link|{{aur-mirror|secondlife-bin}}}}}}<br />
* {{App|[[Wikipedia:Spiral Knights|Spiral Knights]]|Free to play Java game developed by Three Rings Design and published by Sega.|http://www.spiralknights.com/|[http://www.spiralknights.com/play.xhtml Play in browser]}}<br />
* {{App|Stendhal|Fully fledged multiplayer online adventure game developed using the Arianne game development system|http://stendhalgame.org|{{AUR|stendhal}}{{Broken package link|{{aur-mirror|stendhal}}}}}}<br />
* {{App|The Mana World|Serious effort to create an innovative free and open source MMORPG|http://themanaworld.org|{{Pkg|manaplus}}}}<br />
<br />
== Platformer ==<br />
<br />
* {{App|[[Wikipedia:Frogatto|Frogatto]]|Platformer with adventure elements.|http://frogatto.com|{{Pkg|frogatto}}}}<br />
* {{App|Knyttstories|Platformer with adventure elements, heavy exploration and downloadable levels.|http://nifflas.ni2.se/|{{AUR|knyttstories}}}}<br />
* {{App|Secret Maryo Chronicles|Mario-style game.|http://www.secretmaryo.org/|{{AUR|smc}}}}<br />
* {{App|SuperTux|Mario-style game featuring Tux.|http://supertux.lethargik.org/|{{Pkg|supertux}}}}<br />
* {{App|Toppler|Reimplementation of the classic jump & run game "Nebulus".|http://toppler.sourceforge.net/|{{AUR|toppler}}}}<br />
* {{App|The Secret Chronicles of Dr. M.|A fork of Secret Maryo Chronicles.|https://github.com/secretchronicles/TSC|{{AUR|tsc}}}}<br />
<br />
== Puzzle ==<br />
<br />
* {{App|Blockout II|3D tetris, free adaptation of the original BlockOut DOS game edited by California Dreams in 1989|http://www.blockout.net/blockout2/|{{AUR|blockout2}}}}<br />
* {{App|Cgoban3|Kiseido Go and SGF client.|http://www.igoweb.org/~wms/comp/cgoban/|{{Pkg|cgoban}}}}<br />
* {{App|Chroma|Puzzle game like Sokoban with ncurses and graphics mode|http://www.level7.org.uk/chroma/|{{AUR|chroma}}}}<br />
* {{App|Crack Attack!|Free OpenGL game based on the Super Nintendo classic Tetris Attack.|http://www.aluminumangel.org/attack/|{{AUR|crack-attack}}}}<br />
* {{App|Hitori|Small application written to allow one to play the eponymous puzzle game, which is similar in theme to more popular puzzles such as Sudoku.|https://wiki.gnome.org/Apps/Hitori|{{Pkg|hitori}}}}<br />
* {{App|Ksudoku|Sudoku game and more for KDE. Part of {{Grp|kdegames}}.|http://ksudoku.sourceforge.net/|{{Pkg|kdegames-ksudoku}}}}<br />
* {{App|Netris|Unfinished developmental version of Netris, a free networked version of Tetris.|https://sourceforge.net/projects/netris/|{{AUR|netris}}{{Broken package link|{{aur-mirror|netris}}}}}}<br />
* {{App|Picmi|Nonogram puzzle game|https://games.kde.org/picmi|{{Pkg|picmi}}}}<br />
* {{App|Pingus|Lemmings clone, i.e. a level-based puzzle game.|http://pingus.seul.org/|{{Pkg|pingus}}}}<br />
* {{App|Ri-li|Toy wood engine GPL game|http://ri-li.sourceforge.net/|{{AUR|ri-li}}}}<br />
* {{App|Simon Tatham's Portable Puzzle Collection|30+ "quick" puzzle games with simplistic but polished GTK GUI |http://www.chiark.greenend.org.uk/~sgtatham/puzzles/|{{Pkg|puzzles}}}}<br />
* {{App|[[Wikipedia:VVVVVV|VVVVVV]]|Highly praised 2D puzzle platform indie game with a C64 retro theme, with a great chiptune soundtrack. You can buy the full version for £1.67, or play the [http://www.kongregate.com/games/TerryCavanagh/vvvvvv-demo/ demo] in a browser.<br />
:{{Tip|You may want to backup your save file, which is found at {{Ic|~/.macromedia/Flash_Player/#SharedObjects/''string''/localhost...}}.}}<br />
|http://thelettervsixtim.es/|{{AUR|vvvvvv}}}}<br />
* {{App|Xscorch|Clone of the classic DOS game Scorched Earth.|http://www.xscorch.org/|{{AUR|xscorch}}}}<br />
* {{App|[[Wikipedia:World of Goo|World of Goo]]|Great 2D puzzle game.|http://www.2dboy.com|{{AUR|worldofgoo}}}}<br />
<br />
== Racing ==<br />
<br />
* {{App|Armagetron Advanced|Tron Clone in 3D.|http://armagetronad.net/|{{Pkg|armagetronad}}}}<br />
* {{App|Extreme Tux Racer|3D game where you guide Tux the penguin down a course of snow and ice collecting herring.|https://sourceforge.net/projects/extremetuxracer|{{Pkg|extremetuxracer}}}}<br />
* {{App|Maniadrive|Arcade car game on acrobatic tracks with quick and nervous gameplay.|http://maniadrive.raydium.org/|{{AUR|maniadrive}}}}<br />
* {{App|Moon Buggy|Simple game for the text mode.|http://seehuhn.de/pages/moon-buggy/|{{AUR|moon-buggy}}}}<br />
* {{App|Speed Dreams|Fork of Torcs, aiming to implement exciting new features as well as improving realism.|http://speed-dreams.org/|{{Pkg|speed-dreams}}}}<br />
* {{App|Stunt Rally|Game with track editor, based on VDrift and OGRE.|http://code.google.com/p/vdrift-ogre/|{{Pkg|stuntrally}}}}<br />
* {{App|Supertux Kart|Kart racing game featuring Tux and his friends.|http://supertuxkart.sourceforge.net/|{{Pkg|supertuxkart}}}}<br />
* {{App|Torcs|3D racing cars simulator using OpenGL.|http://torcs.sourceforge.net/|{{Pkg|torcs}}}}<br />
* {{App|Trigger Rally|Free OpenGL rally car racing game.|https://sourceforge.net/projects/trigger-rally/|{{AUR|trigger}}}}<br />
* {{App|Ultimate Stunts|Remake of the famous DOS-game 'stunts'.|http://www.ultimatestunts.nl/|{{AUR|ultimatestunts}}}}<br />
* {{App|VDrift|Open source driving simulation made with drift racing in mind.|http://vdrift.net/|{{Pkg|vdrift}}}}<br />
* {{App|[[Wikipedia:X-Moto|XMoto]]|Challenging 2D motocross platform game, where physics play an important role.|http://xmoto.tuxfamily.org/|{{Pkg|xmoto}}}}<br />
<br />
== Rogue-like ==<br />
<br />
See also [[Wikipedia:Chronology of roguelike video games]].<br />
<br />
* {{App|[[Wikipedia:ADOM|ADOM]]|Ancient Domains Of Mystery.|http://adom.de|{{AUR|adom}}}}<br />
* {{App|[[Wikipedia:Angband (video game)|Angband]]|Roguelike dungeon exploration game based on the writings of JRR Tolkien.|http://rephial.org/|{{Pkg|angband}}}}<br />
* {{App|ASCIIpOrtal|Sidescrolling game with ANSI text graphics in which you are a person holding a device which creates portals, or links to other parts of the level.|http://cymonsgames.com/asciiportal|{{Pkg|asciiportal}}}}<br />
* {{App|[[Wikipedia:Cataclysm: Dark Days Ahead|Cataclysm: Dark Days Ahead]]|Post-apocalyptic roguelike.|http://en.cataclysmdda.com/|{{Pkg|cataclysm-dda}}}}<br />
* {{App|[[Wikipedia:Linley's Dungeon Crawl|Linley's Dungeon Crawl]]||http://www.dungeoncrawl.org/|{{AUR|crawl}}}}<br />
* {{App|[[Wikipedia:DoomRL|DoomRL]]|Simple roguelike game, based on Doom. Perfect for starters.|http://doom.chaosforge.org/|{{AUR|doomrl}}}}<br />
* {{App|[[Wikipedia:Dwarf_Fortress|Dwarf Fortress]]|Single-player fantasy game. You control a dwarven outpost or an adventurer in a randomly generated persistent world.|http://www.bay12games.com/dwarves/|{{Pkg|dwarffortress}}}}<br />
* {{App|[[Wikipedia:NetHack|Nethack]]|Single player dungeon exploration game.|http://www.nethack.org/|{{Pkg|nethack}}}}<br />
* {{App|[[Wikipedia:Rogue (video game)|Rogue]]|Original dungeon crawl game.|http://rogue.rogueforge.net/rogue-5-4/|{{Pkg|rogue}}}}<br />
* {{App|[[Wikipedia:Dungeon Crawl Stone Soup|Stone Soup]]|Dungeon Crawl Stone Soup.|http://crawl.develz.org/wordpress/|{{Pkg|stone-soup}}}}<br />
* {{App|[[Wikipedia:Tales of Maj'Eyal|Tales of Maj'Eyal]] (previously ''Troubles of Middle Earth'')|A dungeon crawler similar to Angband, based on the works of Tolkien.|http://te4.org/|{{AUR|tome2}}, {{AUR|tome4}}}}<br />
* {{App|wanderer|Wanderer is a game similar to Boulderdash, Repton, XOR and others.|http://e271.net/~marina/wanderer.html|{{AUR|wanderer}} {{AUR|wanderer-git}}}}<br />
<br />
== Role-playing games (RPG) ==<br />
<br />
* {{App|Arx Libertatis|This project is a fully working, open source port of Arx Fatalis, a 2002 first-person role-playing game developed by Arkane Studios. It features some improvements over the original engine like bug fixes and wide screen support.|http://arx-libertatis.org/|{{AUR|arxlibertatis}}}}<br />
* {{App|Egoboo|Open-source action RPG/dungeon crawling adventure with OpenGL 3D graphics.|http://egoboo.sourceforge.net/|{{AUR|egoboo}}}}<br />
* {{App|[[Wikipedia:Eschalon: Book I|Eschalon: Book I]]|Classical isometric RPG like Ultima, Might & Magic or Wizardry.|http://basiliskgames.com/|{{AUR|eschalon1}}{{Broken package link|{{aur-mirror|eschalon1}}}}}}<br />
* {{App|[[Wikipedia:Eschalon: Book II|Eschalon: Book II]]|Isometric, turn-based RPG.|http://basiliskgames.com/|{{AUR|eschalon2}}{{Broken package link|{{aur-mirror|eschalon2}}}}}}<br />
* {{App|fheores2|Attempt to reimplement the [[Wikipedia:Heroes of Might and Magic II|Heroes of Might and Magic II]] engine using SDL.|https://sourceforge.net/projects/fheroes2/|{{AUR|fheroes2-svn}}}}<br />
* {{App|Flare|Action game similar to Diablo.|http://www.flarerpg.org/|{{AUR|flare-game-git}}}}<br />
* {{App|FreedroidRPG|Mature science fiction role playing game set in the future|http://freedroid.org/|{{Pkg|freedroidrpg}}}}<br />
* {{App|GemRB|Attempt to reimplement the [[Wikipedia:Infinity Engine|Bioware's Infinity Engine]] under GNU GPL.|http://www.gemrb.org/|{{Pkg|gemrb}}}}<br />
* {{App|OpenMW|Attempt to reimplement the popular role-playing game [[Wikipedia:Morrowind|Morrowind]]. OpenMW aims to be a fully playable, open source implementation of the game's engine.|http://openmw.org|{{Pkg|openmw}}}}<br />
* {{App|VCMI|Attempt to reimplement [[Wikipedia:Heroes of Might and Magic III|Heroes of Might and Magic III]].|http://forum.vcmi.eu/portal.php|{{AUR|vcmi}} {{AUR|vcmi-git}}}}<br />
* {{App|Vulture|Isometric graphical interface for NetHack, SlashEM and UnNethack.|http://www.darkarts.co.za/vulture|{{AUR|vulture}}{{Broken package link|{{aur-mirror|vulture}}}}}}<br />
<br />
== Shooters (FPS, third person) ==<br />
<br />
* {{App|[[Wikipedia:CodeRED: Alien Arena|Alien Arena]]|Free, standalone FPS focused mainly on online multiplayer, but can also be played singleplayer against bots.|http://red.planetarena.org/|{{Pkg|alienarena}}}}<br />
* {{App|[[Wikipedia:AssaultCube|AssaultCube]]|Free multiplayer FPS, based on the cube engine. Realistic environments, fast, arcade gameplay. Much like Counter-Strike.|http://assault.cubers.net/|{{Pkg|assaultcube}}}}<br />
* {{App|AssaultCube Reloaded|AssaultCube improved.|http://acr.victorz.ca|{{AUR|assaultcube-reloaded}}}}<br />
* {{App|[[Wikipedia:Cube (video game)|Cube]]|Open source multiplayer and singleplayer first person shooter game.|http://cubeengine.com/|{{AUR|cube}}{{Broken package link|{{aur-mirror|cube}}}}}}<br />
* {{App|[[Wikipedia:Cube 2: Sauerbraten|Cube 2: Sauerbraten]]|Improved version of the Cube engine.|http://sauerbraten.org/|{{Pkg|sauerbraten}}}}<br />
* [[Wikipedia:Doom (1993 video game)|Doom]]: the famous shooter from ID Software has several ports for Linux. None of the id-engine games have copyleft game resources, only the game engine code was open sourced. See [http://doom.wikia.com/wiki/Source_port] for details.<br />
:* Doom 1 Demo data &ndash; {{AUR|doom1-wad}}<br />
:* {{App|Freedoom|Project aimed at creation of free Doom data files.|http://www.nongnu.org/freedoom/|{{AUR|freedoom1}}, {{AUR|freedoom2}}}}<br />
:* {{App|Chocolate Doom|Doom port reproducing the behavior of the original DOS version.|http://www.chocolate-doom.org/|{{AUR|chocolate-doom}}}}<br />
:* {{App|Doomsday|Advanced port of the Doom game engine, capable also of running Heretic, and Hexen games.|http://www.dengine.net/|{{AUR|doomsday}}}}<br />
:* {{App|GZDoom|Doom source port based on ZDoom with an OpenGL renderer.|http://www.osnanet.de/c.oelckers/gzdoom/index.html|{{AUR|gzdoom}}}}<br />
:* {{App|PrBoom Plus|Enhanced version of the PrBoom Doom engine port.|http://prboom-plus.sourceforge.net/|{{AUR|prboom-plus}}}}<br />
:* {{App|Remood|advanced Doom game engine based on Doom Legacy.|http://remood.org/|{{AUR|remood}}{{Broken package link|{{aur-mirror|remood}}}}}}<br />
:* {{App|Strawberry Doom|Fork of Chocolate Doom extending certain engine limits.|http://doom.wikia.com/wiki/Strawberry_Doom|{{AUR|strawberry-doom-svn}}{{Broken package link|{{aur-mirror|strawberry-doom-svn}}}}}}<br />
:* {{App|Vavoom|Highly advanced Doom engine port with added support for Heretic/Hexen/Strife.|http://vavoom-engine.com/|{{AUR|vavoom}}{{Broken package link|{{aur-mirror|vavoom}}}}}}<br />
:* {{App|ZDoom|Enhanced Doom port with additional support for Heretic, Hexen and Strife.|http://www.zdoom.org/|{{AUR|zdoom}}}}<br />
:* {{App|Doom Retro|DOOM Retro is the classic, refined DOOM source port. Based on Chocolate DOOM with enhancements from other source ports.|http://doomretro.com/|{{AUR|doom-retro-git}}}}<br />
* [[Wikipedia:Doom 3|Doom 3]]<br />
:* {{App|Doom 3|Stock Doom 3 binaries|http://www.idsoftware.com|{{AUR|doom3-bin}}}}<br />
:* {{App|Doom 3 Engine|Source-based Doom 3 engine|http://www.idsoftware.com|{{AUR|doom3}}}}<br />
:* {{App|dhemw3|Fork of iodoom3|https://github.com/dhewm/dhewm3|{{AUR|dhewm3}}}}<br />
:* {{App|RBDOOM-3-BFG|Fork of Doom 3 BFG Edition|https://github.com/RobertBeckebans/RBDOOM-3-BFG|{{AUR|rbdoom-3-bfg}}}}<br />
* {{App|ezQuake|Fast paced multiplayer FPS focusing on movement and trick jumps. The popular, modern and maintained Quake/QuakeWorld client. Can play on-line for free |http://ezquake.sourceforge.net/|{{AUR|ezquake}}}}<br />
* [[Wikipedia:Duke Nukem 3D|Duke Nukem 3D]]<br />
:* {{App|Duke 3D|Original port.|http://icculus.org/projects/duke3d/|{{AUR|duke3d-svn}}{{Broken package link|{{aur-mirror|duke3d-svn}}}}}}<br />
:* {{App|eduke32|Advanced source port.|http://eduke32.com/|{{AUR|eduke32}}}}<br />
* {{App|[[Wikipedia:Enemy Territory: Quake Wars|Enemy Territory: Quake Wars]]|Commercial team and class-based multiplayer game. Full version requires retail DVD to play.|http://zerowing.idsoftware.com/linux/etqw/|{{AUR|etqw}}}}<br />
* {{App|HHeretic|Linux port of Raven Game's old shooter, Heretic.|http://hhexen.sourceforge.net/hheretic.html|{{AUR|hheretic}}}}<br />
:* Heretic Demo game data &ndash; {{AUR|heretic1-wad}}<br />
:* {{App|Blasphemer|Project aimed at creation of free Heretic data files.|http://code.google.com/p/blasphemer/|{{AUR|blasphemer}}{{Broken package link|{{aur-mirror|blasphemer}}}}}}<br />
* {{App|HHexen|Linux port of Raven Game's old shooter, Hexen.|http://hhexen.sourceforge.net/hhexen.html|{{AUR|hhexen}}}}<br />
:* Hexen 1 Demo game data &ndash; {{AUR|hexen1-wad}}<br />
* {{App|[[Wikipedia:Nexuiz|Nexuiz]]|Free, open-source first person shooter. Development ceased, most of the developers moved to project [http://xonotic.org/ Xonotic].|http://alientrap.org/nexuiz|{{AUR|nexuiz}}}}<br />
* {{App|nQuake|Fast paced multiplayer FPS focusing on movement and trick jumps. This is the popular Quake / QuakeWorld package, including ezQuake client, 24bit textures, maps, bots and more. Can play on-line for free.|http://nquake.sourceforge.net/|{{AUR|nquake}}}}<br />
* {{App|[[Wikipedia:OpenArena|OpenArena]]|Fast multiplayer shooter based on the quake3-engine.|http://openarena.ws|{{AUR|openarena}}}}<br />
* {{App|[[Wikipedia:Prey (video game)|Prey]]|First Person Shooter released in 2006 (with a GNU/Linux port in 2008), published by 3D Realms.|http://www.3drealms.com/prey/index.html|{{AUR|prey}}}}<br />
* [[Wikipedia:Quake (video game)|Quake]]<br />
:* Advanced Quake 1 game engine &ndash; {{AUR|darkplaces}}<br />
:* High quality textures for Quake from the Quake Revitalization Project &ndash; {{AUR|quake-qrp-textures}}<br />
* [[Wikipedia:Quake II|Quake II]]<br />
:* {{App|Quake 2|Built by Icculus|http://www.icculus.org/quake2/|{{AUR|quake2}}}}<br />
:* Advanced Quake 2 engine &ndash; {{AUR|qudos-zws}}{{Broken package link|{{aur-mirror|qudos-zws}}}}<br />
:* Enhanced Quake 2 engine with Lazarus mod support &ndash; {{AUR|kmquake2}}{{Broken package link|{{aur-mirror|kmquake2}}}}<br />
:* A true color retexture pak for Quetoo and other Quake2 engines supporting 32bpp tga textures &ndash; {{AUR|quake2-retexture}}<br />
:* Quake 2 engine focused on single player and 64bits. {{AUR|yamagi-quake2}}<br />
* [[Wikipedia:Quake III Arena|Quake III Arena]]<br />
:* Quake III Arena binaries &ndash; {{AUR|quake3}}<br />
:* {{App|ioquake3|De-facto FOSS Quake 3 distribution.|http://ioquake3.org/|{{AUR|ioquake3}}}}<br />
* [[Wikipedia:Quake 4|Quake 4]]<br />
:* Demo version &ndash; {{AUR|quake4-demo}}<br />
:* Quake 4 engine &ndash; {{AUR|quake4}}<br />
* {{App|[[Wikipedia:Red Eclipse|Red Eclipse]]|Single-player and multi-player first-person ego-shooter, built as a total conversion of Cube Engine 2.|http://redeclipse.net|{{AUR|redeclipse}}}}<br />
* {{App|Tesseract|Smooth FPS with map editing, instagib, DM and CTF.|http://tesseract.gg/|{{AUR|tesseract-game}}}}<br />
* {{App|[[Wikipedia:Tremulous|Tremulous]]|FPS with elements of real time strategy, featuring humans and aliens.|http://tremulous.net/|{{AUR|tremulous}}}}<br />
* {{App|[[Wikipedia:Unreal Tournament (upcoming video game)|Unreal Tournament (upcoming)]]|Free and open-source remake of the original using Unreal Engine 4|https://www.unrealtournament.com/|{{AUR|ut4}}}}<br />
* {{App|[[Wikipedia:Unvanquished (video game)|Unvanquished]]|Team-based fps/rts hybrid game which pits aliens against humans. Monthly release that can be played on official servers.|http://unvanquished.net/|{{AUR|unvanquished}}}}<br />
* {{App|[[Urban Terror]]|Modern multiplayer FPS based on the ioquake3 engine.|http://urbanterror.info|{{Pkg|urbanterror}}}}<br />
* {{App|[[Wikipedia:Warsow (game)|Warsow]]|Fast paced multiplayer FPS focusing on movement and trick jumps.|http://warsow.net|{{Pkg|warsow}}}}<br />
* [[Wolfenstein: Enemy Territory]]<br />
:* Completely free, standalone, team-based, multiplayer FPS &ndash; {{AUR|enemy-territory}}<br />
:* Advanced open source project and fully compatible client and server &ndash; {{AUR|etlegacy32}}<br />
* {{App|[[Wikipedia:World of Padman|World of Padman]]|Stand slone somplex &ndash; cartoon-style multiplayer first-person shooter.|http://worldofpadman.net/website|{{AUR|worldofpadman}}}}<br />
* {{App|[[Wikipedia:Xonotic|Xonotic]]|Free, open-source first person shooter (a fork of Nexuiz but with modified gameplay).|http://xonotic.org|{{Pkg|xonotic}}}}<br />
* {{App|Mutant Factions|Free multiplayer action coop game.|http://mutantfactions.net|{{AUR|mutantfactions}}}}<br />
<br />
== Simulation ==<br />
<br />
* {{App|[[Wikipedia:Beyond the Red Line|Beyond the Red Line]]|Completely free stand-alone conversion of Freespace 2 based on the TV show Battlestar Galactica. Presumed abandoned, see Diaspora: Shattered Armistice for an alternative.|http://www.beyondtheredline.net/|{{AUR|btrl}}}}<br />
* {{App|Bygfoot|Football (soccer) management game.|http://bygfoot.sourceforge.net/|{{AUR|bygfoot}}{{Broken package link|{{aur-mirror|bygfoot}}}}}}<br />
* {{App|[[Wikipedia:Danger from the Deep|Danger from the Deep]]|Submarine simulator.|http://dangerdeep.sourceforge.net/|{{AUR|dangerdeep-svn}}{{Broken package link|{{aur-mirror|dangerdeep-svn}}}}}}<br />
* {{App|Diaspora: Shattered Armistice|Completely free stand-alone conversion of Freespace 2 based on the TV show Battlestar Galactica. Single and multiplayer capabilities.|http://diaspora.hard-light.net/|{{AUR|diaspora-sa}}{{Broken package link|{{aur-mirror|diaspora-sa}}}}}}<br />
* {{App|[[Wikipedia:Flight Gear|Flight Gear]]|Open-source, multi-platform flight simulator.|http://www.flightgear.org/|{{Pkg|flightgear}}}}<br />
* {{App|[[Wikipedia:FooBillard|Foobillard++]]|Successor to Foobillard, OpenGL billiard game for Linux.|http://foobillardplus.sourceforge.net/|{{Pkg|foobillard++}}}}<br />
* {{App|[[Wikipedia:FreeSpace 2|FreeSpace 2]]|Open sourced space emulator.|http://icculus.org/freespace2/|{{AUR|fs2_open}}}}<br />
* {{App|[[Minetest]]|Voxel-based sandbox game engine and game.|http://www.minetest.net/|{{Pkg|minetest}}}}<br />
* {{App|[[Wikipedia:BVE Trainsim#openBVE|openBVE]]|Free-as-in-freedom train simulator placed in the public domain.|http://web.archive.org/web/odakyufan.zxq.net/openbve/|{{Pkg|openbve}}}}<br />
* {{App|Powder Toy|Physics and chemistry simulation sandbox game.|http://powdertoy.co.uk/|{{AUR|powder-toy}}}}<br />
* {{App|Pydance|Python Dance Dance Revolution style game.|http://icculus.org/pyddr/|{{AUR|pydance}}}}<br />
* {{App|[[Wikipedia:Stepmania|Stepmania]]|Advanced dance simulation game.|http://www.stepmania.com/|{{AUR|stepmania}}}}<br />
* {{App|[[Wikipedia:Vega Strike|Vega Strike]]|3D action-space-sim allowing player to trade and bounty hunt in a vast universe.|http://vegastrike.sourceforge.net/|{{AUR|vegastrike}}{{Broken package link|{{aur-mirror|vegastrike}}}}}}<br />
* {{App|Voxelands|A fork of Minetest, an Infiniminer/Minecraft inspired game.|http://www.voxelands.com/|{{AUR|voxelands}}}}<br />
<br />
== Strategy ==<br />
<br />
* {{App|[[Wikipedia:0 A.D. (video game)|0 A.D.]]|3D and historically-based real-time strategy game, alpha stage.|http://play0ad.com/|{{Pkg|0ad}}}}<br />
* {{App|Advanced Strategic Command|Turn based strategy game in the tradition of the Battle Isle series.|http://www.asc-hq.org/|{{AUR|advanced-strategic-command}}}}<br />
* {{App|Crimson Fields|Tactical war game in the tradition of Battle Isle.|http://crimson.seul.org/|{{AUR|crimson}}{{Broken package link|{{aur-mirror|crimson}}}}}}<br />
* {{App|Dark Oberon|Open source real-time strategy game similar to Warcraft II.|http://dark-oberon.sourceforge.net/|{{AUR|dark-oberon}}}}<br />
* {{App|[[Wikipedia:Endgame: Singularity|Endgame Singularity]]|Turn based single player strategy/simulation about a AI hiding, growing and evolving.|http://www.emhsoft.com/singularity/|{{Pkg|singularity}}}}<br />
* {{App|Factorio|A game about mining resources, planning and building factories, automating production and fighting alien enemies.|http://www.factorio.com/|{{AUR|factorio}}}}<br />
* {{App|Factorio demo|A game about mining resources, planning and building factories, automating production and fighting alien enemies. (Demo)|http://www.factorio.com/|{{AUR|factorio-demo}}}}<br />
* {{App|[[Wikipedia:Freeciv|Freeciv]]|Multiuser clone of the famous Microprose game of Civilization.|http://freeciv.wikia.com/wiki/Main_Page|{{Pkg|freeciv}}}}<br />
* {{App|[[Wikipedia:FreeCol|FreeCol]]|Turn-based strategy game based on Colonization.|http://www.freecol.org/|{{Pkg|freecol}}}}<br />
* {{App|[[Wikipedia:FTL:_Faster_Than_Light|FTL: Faster Than Light]]|Popular rogue-like space-sim released to positive reception in 2012.|http://www.ftlgame.com/|{{AUR|ftl}}}}<br />
* {{App|[[Wikipedia:Glest|Glest]]|Free 3D real-time strategy game, where you control the armies of two different factions: Tech, which is mainly composed of warriors and mechanical devices, and Magic, that prefers mages and summoned creatures in the battlefield.|http://glest.org|{{AUR|glest}}{{Broken package link|{{aur-mirror|glest}}}}}}<br />
* {{App|Globulation 2|Multiplayer RTS with some "economic" elements minimizing the amount of micromanagement.|http://globulation2.org/wiki/Main_Page|{{Pkg|glob2}}}}<br />
* {{App|[[Wikipedia:Heroes of Newerth|Heroes of Newerth]]|Online, multi-player strategy game that is based upon DoTA (Defense of the Ancients). Free-to-own (gameplay free; pay for cosmetic upgrades only)|http://heroesofnewerth.com/|{{AUR|hon}}}}<br />
* {{App|1=Lgeneral|2=Turn-based strategy engine heavily inspired by Panzer General.|3=http://lgames.sourceforge.net/index.php?project=LGeneral|4={{AUR|lgeneral}}{{Broken package link|{{aur-mirror|lgeneral}}}}}}<br />
* {{App|[[Wikipedia:Spring_Engine#Kernel_Panic|Kernel Panic]]|A game based around combat inside a computer, with 3 unique sides: the System, the Hacker and the Network waging war in a matrix of DOOM! No resource economy exists in KP, with the only constraints being time and space.|http://springrts.com/wiki/Kernel_Panic|{{Pkg|spring-kp}}}}<br />
* {{App|[[Wikipedia:MegaGlest|MegaGlest]]|Fork of Glest, a 3D real-time strategy game in a fantastic world.|https://github.com/megaglest|{{Pkg|megaglest}}}}<br />
* {{App|[[Wikipedia:Netpanzer|Netpanzer]]|Realtime Strategy game like Command and Conquer but without building bases.|http://www.netpanzer.org/|{{AUR|netpanzer}}}}<br />
* {{App|[[Wikipedia:Spring_Engine#Spring:1944|Spring:1944]]| A WWII themed game with four fully functional sides (US, Germany, USSR, Britain), period-accurate units and strengths. Realism comes second only to creating a game that is fun and accessible to play.|http://spring1944.org/|{{Pkg|spring-1944}}}}<br />
* {{App|[[Wikipedia:The Battle for Wesnoth|The Battle for Wesnoth]]|Free, turn-based tactical strategy game with a high fantasy theme, featuring both single-player, and online/hotseat multiplayer combat.|http://www.wesnoth.org/|{{Pkg|wesnoth}}}}<br />
* {{App|UFO Alien Invasion|Fight aliens trying to capture Earth.|http://ufoai.ninex.info/wiki/index.php/News|{{Pkg|ufoai}}}}<br />
* {{App|[[Wikipedia:Unknown Horizons|Unknown Horizons]]|2.5D isometric realtime strategy simulation with an emphasis on economy and city building. Expand your small settlement to a strong and wealthy colony, collect taxes and supply your inhabitants with valuable goods. Increase your power with a well balanced economy and with strategic trade and diplomacy.|http://www.unknown-horizons.org/|{{AUR|unknown-horizons-git}}}}<br />
* {{App|[[Wikipedia:Widelands|Widelands]]|Slow-paced strategy like "the Settlers 2".|http://widelands.org|{{Pkg|widelands}}}}<br />
* {{App|[[Warzone 2100]]|You command the forces of The Project in a battle to rebuild the world after mankind has almost been destroyed by nuclear missiles. The game offers campaign, multi-player, and single-player skirmish modes. An extensive tech tree with over 400 different technologies, combined with the unit design system, allows for a wide variety of possible units and tactics.|http://wz2100.net/|{{Pkg|warzone2100}}}}<br />
* {{App|[[Wikipedia:Zero-K|Zero-K]]|Zero-K is a free multi-platform open source real-time strategy computer game. Initially based on content from Total Annihilation on the open source Spring Engine, it was forked and all proprietary content replaced, and evolved into a completely new game with unique features. It can be easily installed by installing the flobby client from the AUR or alternatively (and preferably) by installing the official mono package and downloading and running the Zero-K lobby from the official website.|http://zero-k.info/|{{AUR|flobby-git}}}}<br />
<br />
== Tycoon/management games ==<br />
<br />
* {{App|Lincity-ng|City simulation game in which you are required to build and maintain a city. You can win the game either by building a sustainable economy or by evacuating all citizens with spaceships.|https://fedorahosted.org/LinCity-NG/|{{Pkg|lincity-ng}}}}<br />
* {{App|[[Wikipedia:Simutrans|Simutrans]]|Another Transport simulation that works on linux with sdl.|http://www.simutrans.com/|{{Pkg|simutrans}}}}<br />
* {{App|[[OpenTTD]]|Open source clone of the Microprose game "Transport Tycoon Deluxe", a popular game originally written by Chris Sawyer. It attempts to mimic the original game as closely as possible while extending it with new features.|http://www.openttd.org/|{{Pkg|openttd}}}}<br />
* {{App|Tropic Euro|Free online adaptation of the board game Puerto Rico for 2-5 players.|[http://www.tropiceuro.com/play Play via Web Start]|http://www.tropiceuro.com|{{AUR?|Tropic Euro}}}}<br />
<br />
== Visual novels ==<br />
<br />
* {{App|[[Wikipedia:Digital: A Love Story|Digital: A Love Story]]|Computer mystery/romance set five minutes into the future of 1988.|http://www.scoutshonour.com/digital/|{{AUR|digital}}{{Broken package link|{{aur-mirror|digital}}}}}}<br />
* {{App|[[Wikipedia:Don't take it personally, babe, it just ain't your story|Don't take it personally]]|Almost kinetic visual novel that tells a story of a new high school literature teacher, set in a prestigious private high school, and on the social networks of 2027.|http://scoutshonour.com/donttakeitpersonallybabeitjustaintyourstory/|{{AUR|donttakeitpersonally}}}}<br />
* {{App|[[Wikipedia:Juniper's Knot|Juniper's Knot]]|Short game about boy and fiend.|http://junipersknot.dischan.org/|{{AUR|junipersknot}}}}<br />
* {{App|[[Wikipedia:Katawa Shoujo|Katawa Shoujo]]|Bishoujo-style visual novel game that tells a story of a young man and five other girls suffering with varying disabilities.|http://katawa-shoujo.com/|{{AUR|katawa-shoujo}}}}<br />
* {{App|[[Wikipedia:Narcissu|Narcissu]]|Visual novel, telling the story of a terminally ill young man and woman.|http://narcissu.insani.org/|{{AUR|narcissu2-en}}}}<br />
* {{App|[[Wikipedia:RE: Alistair|RE: Alistair++]]|English otome game (subtype of visual novel) that tells a story of a young girl fond of MMORPGs, her online and everyday life.|http://sakevisual.com/realistair/|{{AUR|realistair}}{{Broken package link|{{aur-mirror|realistair}}}}}}<br />
<br />
== Other ==<br />
* {{App|Pygame|A set of python modules for writing games in [[Wikipedia:python|python]]. It is used as the basis of the [http://inventwithpython.com/ "Invent with Python"] books.|http://www.pygame.org|{{Pkg|python2-pygame}}}}<br />
<br />
== Comparison table ==<br />
{| class="wikitable sortable"<br />
! style="width:190px;" | Name<br />
! Written in<br />
! Genre<br />
! License<br />
! style="width:130px;" | Package<br />
! Description<br />
|-<br />
| '''[[w:0 A.D. (video game)|0 A.D.]]'''<br/>- [https://play0ad.com/ play0ad.com]<br />
| style="background:#c6769b;" | C/C++<br />
| Strategy<br />
| style="background:#9F9;" | <abbr title="GNU Lesser General Public License">LGPL</abbr>/<abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{Pkg|0ad}}<br />
| 3D and historically-based real-time strategy game.<br />
|-<br />
| '''Abuse'''<br/>- [http://abuse.zoy.org abuse.zoy.org]<br />
| style="background:#f56f9f;" | C++<br />
| Action<br />
| style = "background:#9F9;" | <abbr title="Public Domain">PD</abbr>/<abbr title="GNU General Public License">GPL</abbr>/<abbr title="Do What the Fuck You Want To Public License">WTFPL</abbr><br />
| {{Pkg|abuse}}<br />
| Side-scroller action game that pits you against ruthless alien killers.<br />
|-<br />
| '''[[w:ADOM|ADOM]]'''<br/>- [http://adom.de adom.de]<br />
| style="background-color:#999999;" | C<br />
| Rogue-Like<br />
| style="background:#F99;" | Freemium<br />
| {{AUR|adom}}<br />
| Ancient Domains Of Mystery.<br />
|-<br />
| '''[[w:CodeRED: Alien Arena|Alien Arena]]'''<br/>- [http://red.planetarena.org/ red.planetarena.org]<br />
| style="background-color:#999999;" | C<br />
| <abbr title="First-Person Shooter">FPS</abbr><br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{Pkg|alienarena}}<br />
| Free, standalone FPS focused mainly on online multiplayer, but can also be played singleplayer against bots.<br />
|-<br />
| '''[[w:Angband (video game)|Angband]]'''<br/>- [http://rephial.org rephial.org]<br />
| style="background-color:#999999;" | C<br />
| Rogue-Like<br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{Pkg|angband}}<br />
| Roguelike dungeon exploration game based on the writings of JRR Tolkien.<br />
|-<br />
| '''[[w:AssaultCube|AssaultCube]]'''<br/>- [http://assault.cubers.net/ assault.cubers.net]<br />
| style="background:#c6769b;" | C/C++<br />
| <abbr title="First-Person Shooter">FPS</abbr><br />
| style="background:#9F9;" | ZLIB<br />
| {{Pkg|assaultcube}}<br />
| Free multiplayer FPS, based on the cube engine. Realistic environments, fast, arcade gameplay. Much like Counter-Strike.<br />
|-<br />
| '''[[w:Endgame: Singularity|Endgame Singularity]]'''<br/>- [http://www.emhsoft.com/singularity/ emhsoft.com/singularity]<br />
| style="background:#5f8db3;" | Python<br />
| Strategy<br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{Pkg|singularity}}<br />
| Turn based single player strategy/simulation about a AI hiding, growing and evolving.<br />
|-<br />
| '''[[w:FlightGear|FlightGear]]'''<br/>- [http://www.flightgear.org/ flightgear.org]<br />
| style="background:#c6769b;" | C/C++<br />
| Simulation<br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{Pkg|flightgear}}<br />
| Open-source, multi-platform flight simulator.<br />
|-<br />
| '''[[w:Foobillard++|Foobillard++]]'''<br/>- [http://foobillardplus.sourceforge.net/ foobillardplus.sourceforge.net]<br />
| style="background-color:#999999;" | C<br />
| Simulation<br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{Pkg|foobillard++}}<br />
| Successor to Foobillard, OpenGL billiard game for Linux.<br />
|-<br />
| '''[[w:Freeciv|Freeciv]]'''<br/>- [http://freeciv.wikia.com/wiki/Main_Page freeciv.wikia.com]<br />
| style="background-color:#999999;" | C<br />
| Strategy<br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{Pkg|freeciv}}<br />
| Multiuser clone of the famous Microprose game of Civilization.<br />
|-<br />
| '''[[w:Freecol|Freecol]]'''<br/>- [http://www.freecol.org/ freecol.org]<br />
| style="background:#f2943b;" | Java<br />
| Strategy<br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{Pkg|freecol}}<br />
| Turn-based strategy game based on Colonization.<br />
|-<br />
| '''[[w:Megaglest|Megaglest]]'''<br/>- [https://megaglest.org/ megaglest.org]<br />
| style="background:#c6769b;" | C/C++<br />
| Strategy<br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 3">GPLv3</abbr><br />
| {{Pkg|megaglest}}<br />
| Fork of Glest, a 3D real-time strategy game in a fantastic world.<br />
|-<br />
| '''[[w:Command_%26_Conquer:_Red_Alert#Open_source_remake|OpenRA]]'''<br/>- [http://www.openra.net openra.net]<br />
| style="background:#3ab922;" | C#<br />
| Strategy<br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 3">GPLv3</abbr><br />
| {{Pkg|openra}}, {{AUR|openra-git}}<br />
| An open-source implementation of the Command & Conquer: Red Alert engine using .NET/Mono and OpenGL.<br />
|-<br />
| '''PyChess'''<br/>- [http://pychess.org pychess.org]<br />
| style="background:#5f8db3;" | Python<br />
| Chess<br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 3">GPLv3</abbr><br />
| {{Pkg|pychess}}<br />
| An advanced chess client for Linux following the GNOME Human Interface Guidelines.<br />
|-<br />
| rowspan = "2" | '''[[w:RuneScape|RuneScape]]'''<br/>- [http://www.runescape.com runescape.com]<br />
| style="background:#f2943b;" | Java (legacy)<br />
| rowspan = "2" | <abbr title="Massively Multiplayer Online Role-Playing Game">MMORPG</abbr><br />
| rowspan = "2" style="background:#F99;" | Freemium<br />
| {{AUR|unix-runescape-client}}<br />
| rowspan = "2" | Massive online medieval fantasy game by Jagex.<br />
|-<br />
| style="background:#f56f9f;" | C++ (NXT) <br />
| {{AUR|runescape-launcher}}<br />
|-<br />
| '''[[w:SuperTux|SuperTux]]'''<br/>- [http://supertux.github.io/ supertux.github.io]<br />
| style="background:#f56f9f;" | C++<br />
| Platform<br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 3">GPLv3</abbr><br />
| {{Pkg|supertux}}<br/>{{AUR|supertux-git}}<br/>{{AUR|supertux-old}}<br />
| Classic 2D jump'n side-scroller game similar to the Super Mario Bros games, featuring Tux. <br/>Milestone 1 of the game was released in 2003 and is provided by supertux-old. <br/>Milestone 2, the current version of SuperTux in the Arch Linux community repository, was released in December 2015.<br />
|-<br />
| '''[[w:The Battle for Wesnoth|The Battle for Wesnoth]]'''<br/>- [http://www.wesnoth.org/ wesnoth.org]<br />
| style="background:#b5857b;" | C/C++/Java<br />
| Strategy<br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{Pkg|wesnoth}}<br />
| Free, turn-based tactical strategy game with a high fantasy theme, featuring both single-player, and online/hotseat multiplayer combat.<br />
|-<br />
| '''The Mana World'''<br/>- [http://themanaworld.org/ themanaworld.org]<br />
| style="background:#f56f9f;" | C++<br />
| <abbr title="Massively Multiplayer Online Role-Playing Game">MMORPG</abbr><br />
| style="background:#9F9;" | <abbr title="GNU Affero General Public License Version 3">AGPLv3</abbr>/<abbr title="GNU General Public License Version 3">GPLv3</abbr><br />
| {{Pkg|manaplus}}<br />
| Serious effort to create an innovative free and open-source MMORPG.<br />
|-<br />
| '''[[Urban Terror]]'''<br/>- [http://urbanterror.info/ urbanterror.info]<br />
| style="background-color:#999999;" | C<br />
| <abbr title="First-Person Shooter">FPS</abbr><br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{Pkg|urbanterror}}<br />
| Modern multiplayer FPS based on the ioquake3 engine.<br />
|-<br />
| '''[[Warzone 2100]]'''<br/>- [http://wz2100.net/ wz2100.net]<br />
| style="background:#f56f9f;" | C++<br />
| Strategy<br />
| style="background:#9F9;" | <abbr title="GNU General Public License Version 2">GPLv2</abbr><br />
| {{Pkg|warzone2100}}<br />
| 3D realtime strategy game on a future Earth.<br />
|}<br />
<br />
== See also ==<br />
* [http://liflg.org/ Linux Installers for Linux Gamers]<br />
* [http://www.icculus.org/lgfaq/gamelist.php The Linux Gamers' Game List]<br />
* [https://www.humblebundle.com/ The Humble Bundle]<br />
* [[Wikipedia:Humble Bundle]]<br />
* [http://store.steampowered.com/browse/linux/ Steam Linux store]<br />
* [https://steamdb.info/linux/ List of Linux Steam games]<br />
* [[Wikipedia:List of games developed by Valve]]<br />
* [[Wikipedia:Game engine recreation]]<br />
* [[Wikipedia:Source port]]<br />
* [http://www.lgdb.org/ Linux game database]<br />
* [http://www.penguspy.com/#/All/free_and_commercial/open_closed/sort=1/view=1/limit=0 Penguspy]<br />
* [[Wikipedia:Category:Linux_games|Lists of Linux games on Wikipedia]]<br />
* http://rewiki.regengedanken.de/wiki/Links_to_engine_reimplementations</div>Munzirtahahttps://wiki.archlinux.org/index.php?title=Fonts&diff=438949Fonts2016-06-24T22:12:37Z<p>Munzirtaha: just a change in order which makes sense</p>
<hr />
<div>[[Category:Fonts]]<br />
[[cs:Fonts]]<br />
[[de:Schriftarten]]<br />
[[es:Fonts]]<br />
[[it:Fonts]]<br />
[[ja:フォント]]<br />
[[ru:Fonts]]<br />
[[tr:Yazıtipleri]]<br />
[[zh-CN:Fonts]]<br />
[[zh-TW:Fonts]]<br />
{{Related articles start}}<br />
{{Related|Font configuration}}<br />
{{Related|Infinality}}<br />
{{Related|Java Runtime Environment Fonts}}<br />
{{Related|Metric-compatible fonts}}<br />
{{Related articles end}}<br />
<br />
From [[Wikipedia:Computer font|Wikipedia]]:<br />
:''A computer font (or font) is an electronic data file containing a set of glyphs, characters, or symbols such as dingbats.''<br />
<br />
Note that certain font licenses may impose some legal limitations.<br />
<br />
== Font formats ==<br />
<br />
Most computer fonts used today are in either ''bitmap'' or ''outline'' data formats. <br />
;Bitmap fonts: Consist of a matrix of dots or pixels representing the image of each glyph in each face and size.<br />
;Outline or ''vector'' fonts: Use Bézier curves, drawing instructions and mathematical formulae to describe each glyph, which make the character outlines scalable to any size.<br />
<br />
=== Common extensions ===<br />
<br />
* {{ic|bdf}} and {{ic|bdf.gz}} – bitmap fonts, ''b''itmap ''d''istribution ''f''ormat and gzip compressed {{ic|bdf}}<br />
* {{ic|pcf}} and {{ic|pcf.gz}} – bitmaps, ''p''ortable ''c''ompiled ''f''ont and gzip compressed {{ic|pcf}}<br />
* {{ic|psf}}, {{ic|psfu}}, {{ic|psf.gz}} and {{ic|psfu.gz}} – bitmaps, ''P''C ''s''creen ''f''ont, ''P''C ''s''creen ''f''ont ''U''nicode and the gzipped versions (not compatible with X.Org)<br />
* {{ic|pfa}} and {{ic|pfb}} – outline fonts, ''P''ostScript ''f''ont ''A''SCII and ''P''ostScript ''f''ont ''b''inary. PostScript fonts carry built-in printer instructions.<br />
* {{ic|ttf}} – outline, ''T''rue''T''ype ''f''ont. Originally designed as a replacement for the PostScript fonts.<br />
* {{ic|otf}} – outline, ''O''pen''T''ype ''f''ont. TrueType with PostScript typographic instructions.<br />
<br />
For most purposes, the technical differences between TrueType and OpenType can be ignored, some fonts with a {{ic|ttf}} extension are actually OpenType fonts.<br />
<br />
=== Other formats ===<br />
<br />
The typesetting application, ''TeX,'' and its companion font software, ''Metafont,'' render characters using their own methods. Some of the file extensions used for fonts by these two programs are {{ic|*pk}}, {{ic|*gf}}, {{ic|mf}} and {{ic|vf}}.<br />
<br />
''FontForge,'' a font editing application, can store fonts in its native text-based format, {{ic|sfd}}, ''s''pline ''f''ont ''d''atabase.<br />
<br />
The [http://www.w3.org/TR/SVG/fonts.html SVG] format also has its own font description method.<br />
<br />
== Installation ==<br />
<br />
There are various methods for installing fonts.<br />
<br />
=== Pacman ===<br />
<br />
Fonts and font collections in the enabled repositories can be installed using [[pacman]]. Available fonts may be found by using:<br />
$ pacman -Ss font<br />
<br />
Or to search for {{ic|ttf}} fonts only:<br />
$ pacman -Ss ttf<br />
<br />
=== Creating a package ===<br />
<br />
You should give pacman the ability to manage your fonts, which is done by creating an Arch package. These can also be shared with the community in the [[AUR]]. Here is an example of how to create a basic package. To learn more about building packages, read [[PKGBUILD]].<br />
<br />
The family name of a font file can be aquired with the use of {{ic|fc-query}} for example: {{ic|fc-query -f '%{family[0]}\n' /path/to/file}}. The formatting is described in the FcPatternFormat(3) manual.<br />
<br />
{{hc|PKGBUILD|<nowiki><br />
pkgname=fontname-fonts<br />
pkgver=1.0<br />
pkgrel=1<br />
pkgdesc="Some description"<br />
arch=(any)<br />
depends=(fontconfig xorg-font-utils)<br />
source=("http://someurl.org/$pkgname.tar.bz2")<br />
install=$pkgname.install<br />
<br />
package() {<br />
install -Dm644 $pkgname/font.otf "$pkgdir"/usr/share/fonts/family_name/font.otf<br />
install -Dm644 $pkgname/font_bold.otf "$pkgdir"/usr/share/fonts/family_name/font_bold.otf<br />
}<br />
</nowiki>}}<br />
<br />
{{hc|fontname-fonts.install|<nowiki><br />
post_install() {<br />
fc-cache -s<br />
}<br />
<br />
post_upgrade() {<br />
post_install<br />
}<br />
<br />
post_remove() {<br />
post_install<br />
}<br />
</nowiki>}}<br />
<br />
=== Manual installation ===<br />
<br />
The recommended way of adding fonts that are not in the repositories to your system is described in [[#Creating a package]]. This gives pacman the ability to remove or update them at a later time. Fonts can alternately be installed manually as well.<br />
<br />
To install fonts system-wide (available for all users), move the folder to the {{ic|/usr/share/fonts/}} directory. The files need to be readable by every user, use [[chmod]] to set the correct permissions (i.e. at least {{ic|0444}} for files and {{ic|0555}} for directories). To install fonts for only a single user, use {{ic|~/.local/share/fonts}} ({{ic|~/.fonts/}} is now deprecated).<br />
<br />
For Xserver to load fonts directly (as opposed to the use of a ''font server'') the directory for your newly added font must be added with a FontPath entry. This entry is located in the ''Files'' section [[Xorg#Configuration|of your Xorg configuration file]] (e.g. {{ic|/etc/X11/xorg.conf}} or {{ic|/etc/xorg.conf}}). See [[#Older applications]] for more detail.<br />
<br />
Then update the fontconfig font cache: (usually unnecessary as software using the fontconfig library do this.)<br />
<br />
$ fc-cache<br />
<br />
=== Older applications ===<br />
<br />
With older applications that do not support fontconfig (e.g. GTK+ 1.x applications, and {{ic|xfontsel}}) the index will need to be created in the font directory:<br />
<br />
$ mkfontscale<br />
$ mkfontdir<br />
<br />
Or to include more than one folder with one command:<br />
<br />
$ for dir in /font/dir1/ /font/dir2/; do xset +fp $dir; done && xset fp rehash<br />
<br />
Or if fonts were installed in a different sub-folders under the e.g. {{ic|/usr/share/fonts}}:<br />
<br />
$ for dir in * ; do if [ -d "$dir" ]; then cd "$dir";xset +fp "$PWD" ;mkfontscale; mkfontdir;cd .. ;fi; done && xset fp rehash<br />
<br />
At times the X server may fail to load the fonts directory and you will need to rescan all the {{ic|fonts.dir}} files:<br />
<br />
# xset +fp /usr/share/fonts/misc # Inform the X server of new directories<br />
# xset fp rehash # Forces a new rescan<br />
<br />
To check that the font(s) is included:<br />
<br />
$ xlsfonts | grep fontname<br />
<br />
{{note|Many packages will automatically configure Xorg to use the font upon installation. If that is the case with your font, this step is not necessary.}}<br />
<br />
This can also be set globally in {{ic|/etc/X11/xorg.conf}} or {{ic|/etc/X11/xorg.conf.d}}.<br />
<br />
Here is an example of the section that must be added to {{ic|/etc/X11/xorg.conf}}. Add or remove paths based on your particular font requirements.<br />
<br />
# Let X.Org know about the custom font directories<br />
Section "Files"<br />
FontPath "/usr/share/fonts/100dpi"<br />
FontPath "/usr/share/fonts/75dpi"<br />
FontPath "/usr/share/fonts/cantarell"<br />
FontPath "/usr/share/fonts/cyrillic"<br />
FontPath "/usr/share/fonts/encodings"<br />
FontPath "/usr/share/fonts/misc"<br />
FontPath "/usr/share/fonts/truetype"<br />
FontPath "/usr/share/fonts/TTF"<br />
FontPath "/usr/share/fonts/util"<br />
EndSection<br />
<br />
=== Pango Warnings ===<br />
<br />
When [http://www.pango.org/ Pango] is in use on your system it will read from [http://www.freedesktop.org/wiki/Software/fontconfig fontconfig] to sort out where to source fonts.<br />
<br />
(process:5741): Pango-WARNING **: failed to choose a font, expect ugly output. engine-type='PangoRenderFc', script='common'<br />
(process:5741): Pango-WARNING **: failed to choose a font, expect ugly output. engine-type='PangoRenderFc', script='latin'<br />
<br />
If you are seeing errors similar to this and/or seeing blocks instead of characters in your application then you need to add fonts and update the font cache. This example uses the {{Pkg|ttf-liberation}} fonts to illustrate the solution (after successful installation of the package) and runs as root to enable them system-wide.<br />
<br />
# fc-cache<br />
/usr/share/fonts: caching, new cache contents: 0 fonts, 3 dirs<br />
/usr/share/fonts/TTF: caching, new cache contents: 16 fonts, 0 dirs<br />
/usr/share/fonts/encodings: caching, new cache contents: 0 fonts, 1 dirs<br />
/usr/share/fonts/encodings/large: caching, new cache contents: 0 fonts, 0 dirs<br />
/usr/share/fonts/util: caching, new cache contents: 0 fonts, 0 dirs<br />
/var/cache/fontconfig: cleaning cache directory<br />
fc-cache: succeeded<br />
<br />
You can test for a default font being set like so:<br />
<br />
# fc-match<br />
LiberationMono-Regular.ttf: "Liberation Mono" "Regular"<br />
<br />
== Console fonts ==<br />
<br />
{{Note|This section is about the [[Wikipedia:Linux console|Linux console]]. For alternative console solutions offering more features (full Unicode fonts, modern graphics adapters etc.), see [[fbterm]], [[KMSCON]] or similar projects.}}<br />
<br />
By default, the [[Wikipedia:Virtual console|virtual console]] uses the kernel built-in font with a [[Wikipedia:CP437|CP437]] character set,<sup>[https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/tty/vt/Makefile#n4]</sup> but this can be easily changed.<br />
<br />
The [[Wikipedia:Linux console|Linux console]] uses UTF-8 encoding by default, but because the standard VGA-compatible framebuffer is used, a console font is limited to either a standard 256, or 512 glyphs. If the font has more than 256 glyphs, the number of colours is reduced from 16 to 8. In order to assign correct symbol to be displayed to the given Unicode value, a special translation map, often called ''unimap'', is needed. Nowadays most of the console fonts have the ''unimap'' built-in, historically it had to be loaded separately.<br />
<br />
The {{Pkg|kbd}} package provides tools to change virtual console font and font mapping. Available fonts are saved in the {{ic|/usr/share/kbd/consolefonts/}} directory, those ending with ''.psfu'' or ''.psfu.gz'' have a Unicode translation map built-in.<br />
<br />
Keymaps, the connection between the key pressed and the character used by the computer, are found in the subdirectories of {{ic|/usr/share/kbd/keymaps/}}, see [[Keyboard configuration in console]] for details.<br />
<br />
{{Note|Replacing the font can cause issues with programs that expect a standard VGA-style font, such as those using line drawing graphics.}}<br />
<br />
=== Previewing and testing ===<br />
<br />
{{Tip|An organized library of images for previewing is available: [http://alexandre.deverteuil.net/pages/consolefonts/ Linux console fonts screenshots].}}<br />
<br />
The available glyphs or letters in the font can also be viewed as a table with using ''showconsolefont'':<br />
<br />
$ showconsolefont<br />
<br />
The ''setfont'' utility may be used to temporarily change the font, so that the user can consider its permanent use. Just pass the name of the font (they are located in {{ic|/usr/share/kbd/consolefonts/}}). For example:<br />
<br />
$ setfont lat2-16 -m 8859-2<br />
<br />
Note that the font name is case-sensitive, so type it ''exactly'' as you see it. If the newly changed font is not suitable, a return to the default font with the following command (even if the console display is totally unreadable, this command will still work, just type the command "blindly"):<br />
<br />
$ setfont<br />
<br />
{{Note|''setfont'' only works on the console currently being used. Any other consoles, active or inactive, remain unaffected.}}<br />
<br />
=== Persistent configuration ===<br />
<br />
The {{ic|FONT}} variable in {{ic|/etc/vconsole.conf}} is used to set the font at boot, persistently for all consoles. See {{ic|man 5 vconsole.conf}} for details.<br />
<br />
For displaying characters such as ''Č, ž, đ, š'' or ''Ł, ę, ą, ś'' using the font {{ic|lat2-16.psfu.gz}}:<br />
<br />
{{hc|/etc/vconsole.conf|2=<br />
...<br />
FONT=lat2-16<br />
FONT_MAP=8859-2<br />
}}<br />
<br />
It means that second part of ISO/IEC 8859 characters are used with size 16. You can change font size using other values (e.g. {{ic|lat2-08}}). For the regions determined by 8859 specification, look at the [[wikipedia:ISO/IEC_8859#The_Parts_of_ISO.2FIEC_8859|Wikipedia table]].<br />
<br />
To use the specified font in early userspace, use the {{ic|consolefont}} hook in {{ic|/etc/mkinitcpio.conf}}. See [[Mkinitcpio#HOOKS]] for more information. <br />
<br />
If the fonts seems to not change on boot, or change only temporarily, it is most likely that they got reset when graphics driver was initialized and console was switched to framebuffer. To avoid this, load your graphics driver earlier. See for example [[Kernel mode setting#Early KMS start]], [https://bbs.archlinux.org/viewtopic.php?id=145765] or other ways to setup your framebuffer before {{ic|/etc/vconsole.conf}} is applied.<br />
<br />
== Font packages ==<br />
<br />
This is a selective list that includes many font packages from the [[AUR]] along with those in the official repositories. Fonts are tagged "Unicode" if they have wide Unicode support, see the project or Wikipedia pages for detail.<br />
<br />
Github user Ternstor has created a python script that generates HTML documents with PNG images of all the fonts in the AUR and the official repositories: [https://github.com/ternstor/distrofonts/blob/master/archfonts.py].<br />
<br />
=== Ancient Scripts ===<br />
<br />
*{{AUR|ttf-ancient-fonts}} - Font containing Unicode symbols for Aegean, Egyptian, Cuneiform, Anatolian, Maya, and Analecta scripts<br />
<br />
=== Braille ===<br />
<br />
*{{Pkg|ttf-ubraille}} - Font containing Unicode symbols for ''braille''<br />
<br />
=== Emoji ===<br />
<br />
A section of the Unicode standard is designated for picotographic characters called "emoji".<br />
<br />
* {{AUR|emojione-color-font}} - a complete, independent, open-source emoji set focused on design correctness<br />
* {{AUR|twemoji-color-font}} - Twitter's open-sourced emoji glyphs<br />
* {{Pkg|ttf-symbola}} - provides many Unicode symbols, including emoji, in outline style<br />
* {{Pkg|noto-fonts-emoji}} - Google's own emoji font, like on Android or Google Hangouts<br />
<br />
Some newer additions to Unicode appear to render poorly with Noto fonts.<br />
<br />
=== International users ===<br />
<br />
Applications and browsers select and display fonts depending upon fontconfig preferences and available font glyph for Unicode text. To list installed fonts for a particular language, issue a command {{ic|<nowiki>fc-list :lang="two letter language code"</nowiki>}}. For instance, to list installed Arabic fonts or fonts supporting Arabic glyph:<br />
{{hc|$ fc-list -f '%{file}\n' :lang&#61;ar|2=<br />
<nowiki><br />
/usr/share/fonts/TTF/FreeMono.ttf<br />
/usr/share/fonts/TTF/DejaVuSansCondensed.ttf<br />
/usr/share/fonts/truetype/custom/DroidKufi-Bold.ttf<br />
/usr/share/fonts/TTF/DejaVuSansMono.ttf<br />
/usr/share/fonts/TTF/FreeSerif.ttf<br />
</nowiki><br />
}}<br />
<br />
To properly render fonts for multilingual websites like Wikipedia or this Arch Linux wiki, install one of the following sets of packages:<br />
* Google's [http://www.google.com/get/noto/ Noto] is a font family that aims to support all languages. [[Install]] it with the {{Pkg|noto-fonts}}, {{Pkg|noto-fonts-cjk}} and {{Pkg|noto-fonts-emoji}} packages.<br />
* An alternative set of fonts which has a good coverage of languages is {{Pkg|ttf-freefont}} with {{Pkg|ttf-arphic-uming}} and {{Pkg|ttf-baekmuk}}.<br />
<br />
==== Arabic & Urdu ====<br />
<br />
* {{AUR|ttf-amiri}} - A classical Arabic typeface in Naskh style poineered by Amiria Press<br />
* {{AUR|ttf-qurancomplex-fonts}} - Fonts by King Fahd Glorious Quran Printing Complex in al-Madinah al-Munawwarah<br />
* {{AUR|ttf-arabeyes-fonts}} - Collection of free Arabic fonts<br />
* {{AUR|ttf-sil-lateef}} - Unicode Arabic font from SIL<br />
* {{AUR|ttf-sil-scheherazade}} - Unicode Arabic font from SIL<br />
* {{AUR|ttf-urdufonts}} - Urdu fonts (Jameel Noori Nastaleeq (+kasheeda), Nafees Web Naskh, PDMS Saleem Quran Font) and font configuration to set Jameel Noori Nastaleeq as default font for Urdu<br />
<br />
==== Burmese ====<br />
<br />
* {{AUR|ttf-my-paduk}} - Padauk font for Myanmar/Birmania<br />
* {{AUR|ttf-myanmar-fonts}} - 121 Fonts from myordbok.com<br />
<br />
==== Chinese, Japanese, Korean, Vietnamese ====<br />
<br />
===== Pan-CJK =====<br />
* {{Pkg|noto-fonts-cjk}} - Large collection of fonts which comprehensively support Simplified Chinese, Traditional Chinese, Japanese, and Korean, with a consistent design and look. It is currently a rebadged version of {{Pkg|adobe-source-han-sans-otc-fonts}}.<br />
* {{Pkg|adobe-source-han-sans-otc-fonts}} - Large collection of fonts which comprehensively support Simplified Chinese, Traditional Chinese, Japanese, and Korean, with a consistent design and look.<br />
<br />
===== (Mainly) Chinese =====<br />
<br />
* {{Pkg|adobe-source-han-sans-cn-fonts}} - Simplified Chinese OpenType/CFF fonts<br />
* {{Pkg|adobe-source-han-sans-tw-fonts}} - Traditional Chinese OpenType/CFF fonts<br />
* {{Pkg|wqy-microhei}} - A Sans-Serif style high quality CJKV outline font.<br />
* {{Pkg|wqy-zenhei}} - Hei Ti Style (sans-serif) Chinese Outline font embedded with bitmapped Song Ti (also supporting Japanese (partial) and Korean characters).<br />
* {{Pkg|ttf-arphic-ukai}} - ''Kaiti'' (brush stroke) Unicode font (enabling anti-aliasing is suggested)<br />
* {{Pkg|ttf-arphic-uming}} - ''Mingti'' (printed) Unicode font<br />
* {{Pkg|opendesktop-fonts}} - ''New Sung'' font, previously is ttf-fireflysung package<br />
* {{Pkg|wqy-bitmapfont}} - Bitmapped Song Ti (serif) Chinese font<br />
* {{Pkg|ttf-hannom}} - Chinese and Vietnamese TrueType font<br />
* {{AUR|ttf-i.bming}} - CJK serif font that emphasis on an old-style typeface<br />
* {{AUR|ttf-tw}} - Kai and Song traditional Chinese font from the Ministry of Education of Taiwan<br />
<br />
===== Japanese =====<br />
<br />
* {{Pkg|adobe-source-han-sans-jp-fonts}} - Japanese OpenType/CFF fonts<br />
* {{Pkg|otf-ipafont}} - Formal style Japanese Gothic (sans-serif) and Mincho (serif) fonts set; one of the highest quality open source font. Default of openSUSE-ja.<br />
* {{Pkg|ttf-sazanami}} - Japanese free TrueType font. This is outdated and not maintained any more, but may be defined as a fallback font on several environments.<br />
* {{Pkg|ttf-hanazono}} - A free Japanese kanji font, style Mincho (serif).<br />
* {{AUR|ttf-vlgothic}} - Japanese Gothic fonts. Default of Debian/Fedora/Vine Linux<br />
* {{AUR|ttf-mplus}} - Modern Gothic style Japanese outline fonts. It includes all of Japanese Hiragana/Katakana, Basic Latin, Latin-1 Supplement, Latin Extended-A, IPA Extensions and most of Japanese Kanji, Greek, Cyrillic, Vietnamese with 7 weights (proportional) or 5 weights (monospace).<br />
* {{AUR|ttf-koruri}} - Japanese TrueType font obtained by mixing {{AUR|ttf-mplus}} and Open Sans<br />
* {{AUR|ttf-monapo}} - Japanese fonts to show [[wikipedia:2channel_Shift_JIS_art|2channel Shift JIS art]] properly.<br />
<br />
===== Korean =====<br />
<br />
* {{Pkg|adobe-source-han-sans-kr-fonts}} - Korean OpenType/CFF fonts<br />
* {{Pkg|ttf-baekmuk}} - Collection of Korean TrueType fonts<br />
* {{AUR|ttf-nanum}} - Nanum series TrueType fonts<br />
* {{AUR|ttf-nanumgothic_coding}} - Nanum series fixed width TrueType fonts<br />
* {{AUR|ttf-d2coding}} - D2Coding fixed width TrueType font made by Naver<br />
* {{AUR|spoqa-han-sans}} - Source Han Sans customized by Spoqa<br />
<br />
==== Cyrillic ====<br />
<br />
See also [[#Monospaced]], [[#Sans-serif]] and [[#Serif]].<br />
<br />
* {{AUR|otf-russkopis}} - A free OpenType cursive font for Cyrillic script<br />
* {{AUR|ttf-paratype}} - Font family by ParaType: sans, serif, mono, extended cyrillic and latin, OFL license<br />
<br />
==== Greek ====<br />
<br />
Almost all Unicode fonts contain the Greek character set (polytonic included). Some additional font packages, which might not contain the complete Unicode set but utilize high quality Greek (and Latin, of course) typefaces are:<br />
<br />
* {{AUR|otf-gfs}} - Selection of OpenType fonts from the Greek Font Society<br />
* {{AUR|ttf-mgopen}} - Professional TrueType fonts from Magenta<br />
<br />
==== Hebrew ====<br />
<br />
* {{AUR|culmus}} - Nice collection of free Hebrew fonts<br />
<br />
==== Indic ====<br />
<br />
* {{Pkg|ttf-freebanglafont}} - Font for Bangla<br />
* {{Pkg|ttf-indic-otf}} - Indic OpenType Fonts collection (containing ttf-freebanglafont)<br />
: (This one contains a "look of disapproval" that might be more to your liking than the {{Pkg|bdf-unifont}} one mentioned elsewhere in this document)<br />
* {{AUR|lohit-fonts}} - Indic TrueType fonts from Fedora Project (containing Oriya Fonts and more)<br />
* {{AUR|ttf-devanagarifonts}} - Devanagari TrueType fonts (contains 283 fonts)<br />
* {{AUR|ttf-gujrati-fonts}} - TTF Gujarati fonts (Avantika,Gopika,Shree768)<br />
* {{AUR|ttf-gurmukhi-fonts_sikhnet}} - TrueType Gurmukhi fonts (gurbaniwebthick,prabhki)<br />
* {{AUR|ttf-gurmukhi_punjabi}} - TTF Gurmukhi / Punjabi (contains 252 fonts)<br />
* {{AUR|ttf-kannada-font}} - Kannada, the language of Karnataka state in India<br />
* {{AUR|ttf-tamil}} - Tamil Unicode fonts<br />
<br />
==== Khmer ====<br />
<br />
* {{Pkg|ttf-khmer}} - Font covering glyphs for Khmer language<br />
* [https://www.google.com/fonts/specimen/Hanuman Hanuman] ({{AUR|ttf-google-fonts-git}})<br />
<br />
==== Lao ====<br />
<br />
* {{AUR|ttf-lao}} - Lao TTF font (Phetsarath_OT)<br />
* {{AUR|ttf-lao-fonts}} - Lao TTF fonts, both Unicode and non-Unicode for Windows<br />
<br />
==== Persian ====<br />
<br />
* {{AUR|ttf-irfonts}} - Iran Supreme Council of Information and Communication Technology (SCICT) standard Persian fonts series.<br />
* {{AUR|ttf-borna}} - Borna Rayaneh Persian B font series.<br />
* {{AUR|ttf-sina}} - Sina Pardazesh Persian font series.<br />
* {{AUR|ttf-x2}} - Free fonts with support for Persian, Arabic, Urdu, Pashto, Dari, Uzbek, Kurdish, Uighur, old Turkish (Ottoman) and modern Turkish (Roman).<br />
* {{AUR|ttf-iran-nastaliq}} - A free Unicode calligraphic Persian font created by Iran Supreme Council of Information and Communication Technology (SCICT).<br />
* {{AUR|ttf-vazir}}, {{AUR|ttf-samim}}, {{AUR|ttf-tanha}}, {{AUR|ttf-shabnam}}, {{AUR|ttf-gandom}}, {{AUR|ttf-parastoo}} - Beautiful Persian fonts made by Ali Rasti Kerdar.<br />
* {{AUR|ttf-persian-hm-xs2}} - An improved and corrected font series derived from {{AUR|ttf-x2}} Persian font series with Kashida feature.<br />
* {{AUR|ttf-persian-hm-ftx}} - An improved and corrected font series derived from {{AUR|ttf-x2}} Persian font series, Metafont and FarsiTeX fonts with Kashida feature.<br />
<br />
==== Sinhala ====<br />
<br />
* {{AUR|ttf-lklug}} - Sinhala Unicode font<br />
<br />
==== Thai ====<br />
<br />
* {{Pkg|ttf-tlwg}} - Collection of scalable Thai fonts<br />
<br />
==== Tibetan ====<br />
<br />
* {{Pkg|ttf-tibetan-machine}} - Tibetan Machine TTFont<br />
<br />
=== Math ===<br />
<br />
* {{Pkg|font-mathematica}} - Mathematica fonts by Wolfram Research, Inc.<br />
* {{AUR|ttf-mathtype}} - MathType fonts<br />
* {{AUR|ttf-computer-modern-fonts}}, {{AUR|otf-cm-unicode}} - [[wikipedia:Computer Modern|Computer Modern]] (of TeX fame)<br />
* {{AUR|otf-latin-modern}}, {{AUR|otf-latinmodern-math}} - Improved version of Computer Modern fonts as used in LaTeX<br />
* {{Pkg|texlive-core}} and {{Pkg|texlive-fontsextra}} contain many math fonts such as Latin Modern Math and [[Wikipedia:STIX Fonts project|STIX Fonts]]. See [[TeX Live#Fonts]] for configuration.<br />
* {{AUR|otf-xits}} - An OpenType implementation of [[Wikipedia:STIX Fonts project|STIX Fonts]] with support for maths written from right to left.<br />
<br />
=== Metric-compatible fonts ===<br />
<br />
See [[Metric-compatible fonts]], which lists available alternatives for [[Microsoft fonts]].<br />
<br />
=== Apple OS X fonts ===<br />
<br />
* {{AUR|ttf-mac-fonts}} - Mac OS X TrueType fonts<br />
<br />
=== Monospaced ===<br />
<br />
Here are some suggestions. Every user has their own favorite, so experiment to find yours. <br />
If you are in a hurry, you read Dan Benjamin's blog post: [http://hivelogic.com/articles/top-10-programming-fonts ''Top 10 Programming Fonts''].<br />
<br />
Here is a long list of fonts by Trevor Lowing: http://www.lowing.org/fonts/.<br />
<br />
A comparison with images on Slant: [http://www.slant.co/topics/67/~what-are-the-best-programming-fonts What are the best programming fonts?]<br />
<br />
And a Stack Overflow question with some images: [http://stackoverflow.com/questions/4689/recommended-fonts-for-programming Recommended fonts for programming]<br />
<br />
==== TrueType ====<br />
<br />
* [[Wikipedia:Andalé Mono|Andalé Mono]] ({{AUR|ttf-ms-fonts}})<br />
* [http://www.marksimonson.com/fonts/view/anonymous-pro Anonymous Pro] ({{pkg|ttf-anonymous-pro}}, included in {{AUR|ttf-google-fonts-git}})<br />
* [[Wikipedia:Bitstream Vera|Bitstream Vera Mono]] ({{Pkg|ttf-bitstream-vera}})<br />
* [[Wikipedia:Consolas|Consolas]] ({{AUR|ttf-vista-fonts}}) - Windows programming font<br />
* [[Wikipedia:Courier New|Courier New]] ({{AUR|ttf-ms-fonts}})<br />
* Cousine ({{AUR|ttf-chromeos-fonts}} or {{AUR|ttf-google-fonts-git}}) - Chrome/Chromium OS replacement for Courier New (metric-compatible)<br />
* [[Wikipedia:DejaVu fonts|DejaVu Sans Mono]] ({{Pkg|ttf-dejavu}}) - Unicode<br />
* [[Wikipedia:Droid (font)|Droid Sans Mono]] ({{Pkg|ttf-droid}}, included in {{AUR|ttf-google-fonts-git}})<br />
* [https://damieng.com/blog/2008/05/26/envy-code-r-preview-7-coding-font-released Envy Code R] ({{AUR|ttf-envy-code-r}})<br />
* Fantasque Sans Mono ({{AUR|ttf-fantasque-sans}} or {{AUR|ttf-fantasque-sans-git}})<br />
* [[Wikipedia:GNU FreeFont|FreeMono]] ({{Pkg|ttf-freefont}}) - Unicode<br />
* [[Wikipedia:Inconsolata|Inconsolata]] ({{Pkg|ttf-inconsolata}}, included in {{AUR|ttf-google-fonts-git}}) - Excellent programming font<br />
* [[Wikipedia:Inconsolata|Inconsolata-g]] ({{AUR|ttf-inconsolata-g}}) - adds some programmer-friendly modifications<br />
* [[Wikipedia:Liberation fonts|Liberation Mono]] ({{Pkg|ttf-liberation}}) - Replacement for Courier New, based on Cousine (metric-compatible)<br />
* [[Wikipedia:Lucida Typewriter|Lucida Typewriter]] (included in package {{AUR|jre}})<br />
* [[Wikipedia:Monaco (typeface)|Monaco]] ({{AUR|ttf-monaco}}) - Popular programming font on OSX/Textmate<br />
* Monofur ({{AUR|ttf-monofur}})<br />
* [[Wikipedia:Source_Code_Pro|Source Code Pro]] ({{pkg|adobe-source-code-pro-fonts}})<br />
<br />
==== Bitmap ====<br />
<br />
* Default 8x16<br />
* Dina ({{Pkg|dina-font}})<br />
* [http://font.gohu.org/ Gohu] ({{AUR|gohufont}})<br />
* Lime ({{Pkg|artwiz-fonts}})<br />
* [[Wikipedia:ProFont|ProFont]] ({{Pkg|profont}})<br />
* [[Wikipedia:Proggy Programming Fonts|Proggy Programming Fonts]] ({{AUR|proggyfonts}})<br />
* Tamsyn ({{Pkg|tamsyn-font}})<br />
* [http://terminus-font.sourceforge.net/ Terminus] ({{Pkg|terminus-font}})<br />
* [https://github.com/lucy/tewi-font Tewi] ({{AUR|bdf-tewi-git}})<br />
* Unifont (glyphs like (look of disapproval)) ({{Pkg|bdf-unifont}})<br />
<br />
=== Sans-serif ===<br />
<br />
* [http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=andika Andika] ({{AUR|ttf-andika}})<br />
* [[Wikipedia:Arial|Arial]] ({{AUR|ttf-ms-fonts}})<br />
* [[Wikipedia:Arial Black|Arial Black]] ({{AUR|ttf-ms-fonts}})<br />
* Arimo ({{AUR|ttf-chromeos-fonts}} or {{AUR|ttf-google-fonts-git}}) - Chrome/Chromium OS replacement for Arial (metric-compatible)<br />
* [[Wikipedia:Calibri|Calibri]] ({{AUR|ttf-vista-fonts}})<br />
* [[Wikipedia:Candara|Candara]] ({{AUR|ttf-vista-fonts}})<br />
* [[Wikipedia:Corbel (typeface)|Corbel]] ({{AUR|ttf-vista-fonts}})<br />
* [[Wikipedia:DejaVu fonts|DejaVu Sans]] ({{Pkg|ttf-dejavu}}) - Unicode<br />
* [[Wikipedia:Droid (font)|Droid Sans]] ({{Pkg|ttf-droid}}, included in {{AUR|ttf-google-fonts-git}})<br />
* [[Wikipedia:GNU FreeFont|FreeSans]] ({{Pkg|ttf-freefont}}) - Unicode<br />
* [[Wikipedia:Impact (typeface)|Impact]] ({{AUR|ttf-ms-fonts}})<br />
* [[Wikipedia:Liberation fonts|Liberation Sans]] ({{Pkg|ttf-liberation}}) Replacement for Arial, based on Arimo (metric-compatible)<br />
* [[Wikipedia:Linux Libertine|Linux Biolinum]] ({{Pkg|ttf-linux-libertine}})<br />
* [[Wikipedia:Lucida Sans|Lucida Sans]] ({{AUR|ttf-ms-fonts}})<br />
* [[Wikipedia:Microsoft Sans Serif|Microsoft Sans Serif]] ({{AUR|ttf-ms-fonts}})<br />
* [[Wikipedia:PT Sans|PT Sans]] ({{AUR|ttf-google-fonts-git}}) - 3 major variations: normal, narrow, and caption - Unicode: Latin, Cyrillic<br />
* [[Wikipedia:Source Sans Pro|Source Sans Pro]] ({{pkg|adobe-source-sans-pro-fonts}})<br />
* [[Wikipedia:Tahoma (typeface)|Tahoma]] ({{AUR|ttf-tahoma}})<br />
* [[Wikipedia:Trebuchet MS|Trebuchet]] ({{AUR|ttf-ms-fonts}})<br />
* [[Wikipedia:Ubuntu Font Family|Ubuntu Font Family]] ({{Pkg|ttf-ubuntu-font-family}})<br />
* [[Wikipedia:Verdana|Verdana]] ({{AUR|ttf-ms-fonts}})<br />
<br />
=== Script ===<br />
<br />
* [[Wikipedia:Comic Sans|Comic Sans]] ({{AUR|ttf-ms-fonts}})<br />
<br />
=== Serif ===<br />
<br />
* [[Wikipedia:Cambria (typeface)|Cambria]] ({{AUR|ttf-vista-fonts}})<br />
* [[Wikipedia:Constantia (typeface)|Constantia]] ({{AUR|ttf-vista-fonts}})<br />
* [[Wikipedia:DejaVu fonts|DejaVu Serif]] ({{Pkg|ttf-dejavu}}) - Unicode<br />
* [[Wikipedia:Droid (font)|Droid Serif]] ({{Pkg|ttf-droid}}, included in {{AUR|ttf-google-fonts-git}})<br />
* [[Wikipedia:GNU FreeFont|FreeSerif]] ({{Pkg|ttf-freefont}}) - Unicode<br />
* [[Wikipedia:Gentium|Gentium]] ({{Pkg|ttf-gentium}}) - Unicode: Latin, Greek, Cyrillic, Phonetic Alphabet<br />
* [[Wikipedia:Georgia (typeface)|Georgia]] ({{AUR|ttf-ms-fonts}})<br />
* [[Wikipedia:Liberation fonts|Liberation Serif]] ({{Pkg|ttf-liberation}}) - Replacement for Times New Roman, based on Tinos (metric-compatible)<br />
* [[Wikipedia:Linux Libertine|Linux Libertine]] ({{Pkg|ttf-linux-libertine}}) - Unicode: Latin, Greek, Cyrillic, Hebrew<br />
* [[Wikipedia:Times New Roman|Times New Roman]] ({{AUR|ttf-ms-fonts}})<br />
* Tinos ({{AUR|ttf-chromeos-fonts}} or {{AUR|ttf-google-fonts-git}}) - Chrome/Chromium OS replacement for Times New Roman (metric-compatible)<br />
<br />
=== Unsorted ===<br />
<br />
{{Style|This section should be absorbed into the Monospace/Serif/Sans-Serif structure}}<br />
<br />
* {{AUR|ttf-google-fonts-git}} - a huge collection of free fonts (including ubuntu, inconsolata, droid, etc.) - Note: Your font dialog might get very long as >100 fonts will be added.<br />
* {{Pkg|ttf-mph-2b-damase}} - Covers full plane 1 and several scripts<br />
* {{Pkg|ttf-symbola}} - Provides emoji and many many other symbols<br />
* {{Pkg|font-bh-ttf}} - X.Org Luxi fonts<br />
* {{Pkg|ttf-cheapskate}} - Font collection from ''dustismo.com''<br />
* {{Pkg|ttf-junicode}} - Junius font containing almost complete medieval latin script glyphs<br />
* {{Pkg|xorg-fonts-type1}} - IBM Courier and Adobe Utopia sets of [[Wikipedia:PostScript fonts|PostScript fonts]]<br />
* {{AUR|all-repository-fonts}} - Meta package for all fonts in the official repositories.<br />
<br />
== Fallback font order with X11 ==<br />
<br />
Fontconfig automatically chooses a font that matches the current requirement. That is to say, if one is looking at a window containing English and Chinese for example, it will switch to another font for the Chinese text if the default one does not support it.<br />
<br />
Fontconfig lets every user configure the order they want via {{ic|$XDG_CONFIG_HOME/fontconfig/fonts.conf}}.<br />
If you want a particular Chinese font to be selected after your favorite Serif font, your file would look like this:<br />
<br />
<?xml version="1.0"?><br />
<!DOCTYPE fontconfig SYSTEM "fonts.dtd"><br />
<fontconfig><br />
<alias><br />
<family>serif</family><br />
<prefer><br />
<family>Your favorite Latin Serif font name</family><br />
<family>Your Chinese font name</family><br />
</prefer><br />
</alias><br />
</fontconfig><br />
<br />
{{Tip|If you use a Chinese locale, set {{ic|LC_LANG}} to {{ic|und}} to make this work. Otherwise both English and Chinese text will be rendered in the Chinese font.}}<br />
<br />
You can add a section for sans-serif and monospace as well. For more informations, have a look at the fontconfig manual.<br />
<br />
See also [[Font configuration#Replace or set default fonts]].<br />
<br />
== Font alias ==<br />
<br />
There are several font aliases which represent other fonts in order that applications may use similar fonts. The most common aliases are: {{ic|serif}} for a font of the serif type (e.g. DejaVu Serif); {{ic|sans-serif}} for a font of the sans-serif type (e.g. DejaVu Sans); and {{ic|monospace}} for a monospaced font (e.g. DejaVu Sans Mono). However, the fonts which these aliases represent may vary and the relationship is often not shown in font management tools, such as those found in [[KDE]] and other [[desktop environments]].<br />
<br />
To reverse an alias and find which font it is representing, run:<br />
<br />
{{hc|$ fc-match monospace|<br />
DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"<br />
}}<br />
<br />
In this case, {{ic|DejaVuSansMono.ttf}} is the font represented by the monospace alias.<br />
<br />
== Tips and tricks ==<br />
<br />
=== List all installed fonts ===<br />
<br />
You can use the following command to list all installed fonts that are available on your system. <br />
<br />
$ fc-list<br />
<br />
=== Set terminal font on-the-fly ===<br />
<br />
{{Expansion|Which terminals specifically support this method? Where is the documentation for the escape codes?}}<br />
<br />
For terminal emulators that use {{ic|Xresources}}, fonts can be set by using escape sequences. Specifically, echo {{ic|\033]710;$font\007}} to change the normal font ({{ic|*font}} in {{ic|~/.Xresources}}), and replace {{ic|710}} with {{ic|711}}, {{ic|712}}, and {{ic|713}} to change the {{ic|*boldFont}}, {{ic|*italicFont}}, and {{ic|*boldItalicFont}}, respectively.<br />
<br />
{{ic|$font}} can be anything the terminal emulator will support.<br />
<br />
=== Application-specific font cache ===<br />
<br />
Matplotlib ({{pkg|python-matplotlib}} or {{pkg|python2-matplotlib}}) uses its own font cache, so after updating fonts, be sure to remove {{ic|$HOME/.matplotlib/fontList.cache}}, <br />
{{ic|$HOME/.cache/matplotlib/fontList.cache}}, {{ic|$HOME/.sage/matplotlib-1.2.1/fontList.cache}}, etc. so it will regenerate its cache and find the new fonts [http://matplotlib.1069221.n5.nabble.com/getting-matplotlib-to-recognize-a-new-font-td40500.html].<br />
<br />
== See also ==<br />
<br />
* [http://behdad.org/text/ State of Text Rendering]</div>Munzirtahahttps://wiki.archlinux.org/index.php?title=Unified_Extensible_Firmware_Interface&diff=427447Unified Extensible Firmware Interface2016-03-24T02:50:49Z<p>Munzirtaha: /* OVMF for Virtual Machines: The path is not correct may be it has changed in latest versions */</p>
<hr />
<div>[[Category:Boot process]]<br />
[[es:Unified Extensible Firmware Interface]]<br />
[[it:Unified Extensible Firmware Interface]]<br />
[[ja:Unified Extensible Firmware Interface]]<br />
[[ru:Unified Extensible Firmware Interface]]<br />
[[zh-CN:Unified Extensible Firmware Interface]]<br />
{{Related articles start}}<br />
{{Related|Arch boot process}}<br />
{{Related|Master Boot Record}}<br />
{{Related|GUID Partition Table}}<br />
{{Related|UEFI/Hardware}}<br />
{{Related articles end}}<br />
{{Warning|While the choice to install in EFI mode is forward looking, early vendor UEFI implementations may carry more bugs than their BIOS counterparts. It is advised to do a search relating to your particular mainboard model before proceeding.}}<br />
<br />
'''Unified Extensible Firmware Interface''' (or UEFI for short) is a new type of firmware. It introduces new ways of booting an OS that is distinct from the commonly used "[[MBR]] boot code" method followed for [[Wikipedia:BIOS|BIOS]] systems. See [[Arch boot process#Firmware types]] for their differences. This page explains '''What is UEFI''' and '''UEFI support in Linux kernel'''. To set up UEFI Boot Loaders, see [[Boot loaders]].<br />
<br />
== UEFI versions ==<br />
* UEFI started as Intel's EFI in versions 1.x. <br />
* Later, a group of companies called the UEFI Forum took over its development, which renamed it as Unified EFI starting with version 2.0. <br />
* Unless specified as EFI 1.x, EFI and UEFI terms are used interchangeably to denote UEFI 2.x firmware. <br />
* As of 15 April 2015, UEFI Specification 2.5 is the most recent version. <br />
* Apple's EFI implementation is neither a EFI 1.x version nor UEFI 2.x version but mixes up both. This kind of firmware does not fall under any one (U)EFI specification and therefore is not a standard UEFI firmware. Unless stated explicitly, these instructions are general and some of them may not work or may be different in [[MacBook|Apple Macs]].<br />
<br />
== Boot Process under UEFI ==<br />
<br />
# System switched on. The Power On Self Test (POST) is executed.<br />
# UEFI firmware is loaded. Firmware initializes the hardware required for booting.<br />
# Firmware reads the boot entries in the firmware's boot manager to determine which UEFI application to be launched and from where (i.e. from which disk and partition).<br />
# Firmware launches the UEFI application.<br />
#* This could be the Arch kernel itself (since [[EFISTUB]] is enabled by default).<br />
#* It could be some other application such as a shell or a graphical boot manager.<br />
#* Or the boot entry could simply be a disk. In this case the firmware looks for an EFI system partition on that disk and tries to run the fallback UEFI application {{ic|\EFI\BOOT\BOOTX64.EFI}} ({{ic|BOOTIA32.EFI}} on 32-bit systems). This is how UEFI bootable thumb drives work.<br />
<br />
If [[Secure Boot]] is enabled, the boot process will verify authenticity of the EFI binary by signature.<br />
<br />
{{Note|On some (poorly-designed) UEFI systems the only way to boot is using a disk boot entry with the fallback UEFI application path.}}<br />
<br />
=== Multibooting in UEFI ===<br />
<br />
Since each OS or vendor can maintain its own files within the EFI System Partition without affecting the other, multi-booting using UEFI is just a matter of launching a different UEFI application corresponding to the particular OS's bootloader. This removes the need for relying on chainloading mechanisms of one [[boot loader]] to load another to switch OSes.<br />
<br />
See also [[Dual boot with Windows]].<br />
<br />
=== Detecting UEFI Firmware bitness ===<br />
<br />
==== Non Macs ====<br />
<br />
Check whether the dir {{ic|/sys/firmware/efi}} exists, if it exists it means the kernel has booted in EFI mode. In that case the UEFI bitness is same as kernel bitness. (ie. i686 or x86_64)<br />
<br />
{{Note|Intel Atom System-on-Chip systems ship with 32-bit UEFI (as on 2 November 2013). See [[#Using GRUB]] for more info.}}<br />
<br />
==== Apple Macs ====<br />
<br />
Pre-2008 Macs mostly have i386-efi firmware while >=2008 Macs have mostly x86_64-efi. All Macs capable of running Mac OS X Snow Leopard 64-bit Kernel have x86_64 EFI 1.x firmware. <br />
<br />
To find out the arch of the efi firmware in a Mac, type the following into the Mac OS X terminal:<br />
<br />
ioreg -l -p IODeviceTree | grep firmware-abi<br />
<br />
If the command returns EFI32 then it is IA32 (32-bit) EFI firmware. If it returns EFI64 then it is x86_64 EFI firmware. Most of the Macs do not have UEFI 2.x firmware as Apple's EFI implementation is not fully compliant with UEFI 2.x Specification.<br />
<br />
== Linux Kernel Config options for UEFI ==<br />
<br />
The required Linux Kernel configuration options for UEFI systems are :<br />
<br />
CONFIG_RELOCATABLE=y<br />
CONFIG_EFI=y<br />
CONFIG_EFI_STUB=y<br />
CONFIG_FB_EFI=y<br />
CONFIG_FRAMEBUFFER_CONSOLE=y<br />
<br />
UEFI Runtime Variables Support ('''efivarfs''' filesystem - {{ic|/sys/firmware/efi/efivars}}). This option is important as this is required to manipulate UEFI Runtime Variables using tools like {{ic|/usr/bin/efibootmgr}}. The below config option has been added in kernel 3.10 and above.<br />
<br />
CONFIG_EFIVAR_FS=y<br />
<br />
UEFI Runtime Variables Support (old '''efivars sysfs''' interface - {{ic|/sys/firmware/efi/vars}}). This option should be disabled to prevent any potential issues with both efivarfs and sysfs-efivars enabled.<br />
<br />
CONFIG_EFI_VARS=n<br />
<br />
GUID Partition Table [[GPT]] config option - mandatory for UEFI support<br />
<br />
CONFIG_EFI_PARTITION=y<br />
<br />
{{Note|All of the above options are required to boot Linux via UEFI, and are enabled in Archlinux kernels in official repos.}}<br />
<br />
Retrieved from https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/plain/Documentation/x86/x86_64/uefi.txt .<br />
<br />
== UEFI Variables ==<br />
<br />
UEFI defines variables through which an operating system can interact with the firmware. UEFI Boot Variables are used by the boot-loader and used by the OS only for early system start-up. UEFI Runtime Variables allow an OS to manage certain settings of the firmware like the UEFI Boot Manager or managing the keys for UEFI Secure Boot Protocol etc. You can get the list using <br />
$ efivar -l<br />
<br />
=== UEFI Variables Support in Linux Kernel ===<br />
<br />
Linux kernel exposes EFI variables data to userspace via '''efivarfs''' ('''EFI''' '''VAR'''iable '''F'''ile'''S'''ystem) interface (CONFIG_EFIVAR_FS) - mounted using {{ic|efivarfs}} kernel module at {{ic|/sys/firmware/efi/efivars}} - it has no maximum per-variable size limitation and supports UEFI Secure Boot variables. Introduced in kernel 3.8.<br />
<br />
=== Requirements for UEFI variable support ===<br />
<br />
# EFI Runtime Services support should be present in the kernel ({{ic|1=CONFIG_EFI=y}}, check if present with {{ic|zgrep CONFIG_EFI /proc/config.gz}}).<br />
# Kernel processor [[#Detecting UEFI Firmware bitness|bitness]] and EFI processor bitness should match<br />
# Kernel should be booted in EFI mode (via [[EFISTUB]] or any [[Boot loaders|EFI boot loader]], not via BIOS/CSM or Apple's "bootcamp" which is also BIOS/CSM)<br />
# EFI Runtime Services in the kernel SHOULD NOT be disabled via kernel cmdline, i.e. {{ic|noefi}} kernel parameter SHOULD NOT be used<br />
# {{ic|efivarfs}} filesystem should be mounted at {{ic|/sys/firmware/efi/efivars}}, otherwise follow [[#Mount efivarfs]] section below.<br />
# {{ic|efivar}} should list (option {{ic|-l}}) the EFI Variables without any error.<br />
<br />
If EFI Variables support does not work even after the above conditions are satisfied, try the below workarounds:<br />
<br />
# If any userspace tool is unable to modify efi variables data, check for existence of {{ic|/sys/firmware/efi/efivars/dump-*}} files. If they exist, delete them, reboot and retry again.<br />
# If the above step does not fix the issue, try booting with {{ic|efi_no_storage_paranoia}} kernel parameter to disable kernel efi variable storage space check that may prevent writing/modification of efi variables.<br />
<br />
{{Note|{{ic|efi_no_storage_paranoia}} should only be used when needed and should not be left as a normal boot option. The effect of this kernel command line parameter turns off a safeguard that was put in place to help avoid the bricking of machines when the NVRAM gets too full.}}<br />
<br />
==== Mount efivarfs ====<br />
<br />
{{Warning|1=''efivars'' is mounted writeable by default [https://github.com/systemd/systemd/issues/2402], which may cause permanent damage to the system. [https://bbs.archlinux.org/viewtopic.php?id=207549] As such, consider mounting ''efivars'' read-only ({{ic|-o ro}}) as described below. Note that when it is mounted read-only, tools such as ''efibootmgr'' and bootloaders will not be able to change boot settings, nor will commands like {{ic|systemctl reboot --firmware-setup}} work.}}<br />
<br />
If {{ic|efivarfs}} is not automatically mounted at {{ic|/sys/firmware/efi/efivars}} by [[systemd]] during boot, then you need to manually mount it to expose UEFI variables to [[#Userspace tools]] like {{ic|efibootmgr}}:<br />
<br />
# mount -t efivarfs efivarfs /sys/firmware/efi/efivarsb<br />
<br />
{{Note|The above command should be run both '''outside''' ('''before''') and '''inside''' the [[chroot]], if any.}}<br />
<br />
To mount {{ic|efivarfs}} read-only during boot, add to {{ic|/etc/fstab}}:<br />
<br />
{{hc|/etc/fstab|2=<br />
efivarfs /sys/firmware/efi/efivars efivarfs '''ro''',nosuid,nodev,noexec,noatime 0 0<br />
}}<br />
<br />
To remount with write support, run:<br />
<br />
# mount -o remount /sys/firmware/efi/efivars -o '''rw''',nosuid,nodev,noexec,noatime<br />
<br />
=== Userspace tools ===<br />
<br />
There are few tools that can access/modify the UEFI variables, namely<br />
<br />
# '''efivar''' - Library and Tool to manipulate UEFI Variables (used by efibootmgr) - https://github.com/vathpela/efivar - {{Pkg|efivar}} or {{AUR|efivar-git}}<br />
# '''efibootmgr''' - Tool to manipulate UEFI Firmware Boot Manager Settings - https://github.com/vathpela/efibootmgr - {{Pkg|efibootmgr}} or {{AUR|efibootmgr-git}}<br />
# '''uefivars''' - Dumps list of EFI variables with some additional PCI related info (uses efibootmgr code internally) - https://github.com/fpmurphy/Various/tree/master/uefivars-2.0 supports only efivarfs and https://github.com/fpmurphy/Various/tree/master/uefivars-1.0 supports only sysfs-efivars . AUR package {{AUR|uefivars-git}} <br />
# '''efitools''' - Tools to Create and Setup own UEFI Secure Boot Certificates, Keys and Signed Binaries (requires efivarfs) - {{AUR|efitools-git}}<br />
# '''Ubuntu's Firmware Test Suite''' - https://wiki.ubuntu.com/FirmwareTestSuite/ - {{AUR|fwts}}{{Broken package link|{{aur-mirror|fwts}}}} (along with {{AUR|fwts-efi-runtime-dkms}}{{Broken package link|{{aur-mirror|fwts-efi-runtime-dkms}}}}) or {{AUR|fwts-git}}<br />
<br />
==== efibootmgr ====<br />
<br />
{{Note|<br />
* If {{ic|efibootmgr}} completely fails to work in your system, you can reboot into UEFI Shell v2 and use {{ic|bcfg}} command to create a boot entry for the bootloader.<br />
* If you are unable to use {{ic|efibootmgr}}, some UEFI firmwares allow users to directly manage uefi boot entries from within its boot-time interface. For example, some ASUS firmwares have an "Add New Boot Option" choice which enables you to select a local EFI System Partition and manually enter the EFI stub location. (for example {{ic|\EFI\refind\refind_x64.efi}}).<br />
* The below commands use {{Pkg|refind-efi}} boot-loader as example.<br />
}}<br />
<br />
Assuming the boot-loader file to be launched is {{ic|/boot/efi/EFI/refind/refind_x64.efi}}, {{ic|/boot/efi/EFI/refind/refind_x64.efi}} can be split up as {{ic|/boot/efi}} and {{ic|/EFI/refind/refind_x64.efi}}, wherein {{ic|/boot/efi}} is the mountpoint of the EFI System Partition, which is assumed to be {{ic|/dev/sdXY}} (here {{ic|X}} and {{ic|Y}} are just placeholders for the actual values - eg:- in {{ic|/dev/sda1}} , {{ic|1=X==a}} {{ic|1=Y==1}}).<br />
<br />
To determine the actual device path for the EFI System Partition (assuming mountpoint {{ic|/boot/efi}} for example) (should be in the form {{ic|/dev/sdXY}}), try :<br />
<br />
# findmnt /boot/efi<br />
TARGET SOURCE FSTYPE OPTIONS<br />
/boot/efi /dev/sdXY vfat rw,flush,tz=UTC<br />
<br />
Verify that uefi variables support in kernel is working properly by running:<br />
<br />
# efivar -l<br />
<br />
If efivar lists the uefi variables without any error, then you can proceed. If not, check whether all the conditions in [[#Requirements for UEFI variable support]] are met.<br />
<br />
Then create the boot entry using efibootmgr as follows:<br />
<br />
# efibootmgr -c -d /dev/sdX -p Y -l /EFI/refind/refind_x64.efi -L "rEFInd"<br />
<br />
{{Note|1=UEFI uses backward slash {{ic|\}} as path separator (similar to Windows paths), but the official {{Pkg|efibootmgr}} pkg support passing unix-style paths with forward-slash {{ic|/}} as path-separator for the {{ic|-l}} option. Efibootmgr internally converts {{ic|/}} to {{ic|\}} before encoding the loader path. The relevant git commit that incorporated this feature in efibootmgr is http://linux.dell.com/cgi-bin/cgit.cgi/efibootmgr.git/commit/?id=f38f4aaad1dfa677918e417c9faa6e3286411378 .}}<br />
<br />
In the above command {{ic|/boot/efi/EFI/refind/refind_x64.efi}} translates to {{ic|/boot/efi}} and {{ic|/EFI/refind/refind_x64.efi}} which in turn translate to drive {{ic|/dev/sdX}} -> partition {{ic|Y}} -> file {{ic|/EFI/refind/refind_x64.efi}}.<br />
<br />
The 'label' is the name of the menu entry shown in the UEFI boot menu. This name is user's choice and does not affect the booting of the system. More info can be obtained from [http://linux.dell.com/cgi-bin/cgit.cgi/efibootmgr.git/plain/README efibootmgr GIT README] .<br />
<br />
FAT32 filesystem is case-insensitive since it does not use UTF-8 encoding by default. In that case the firmware uses capital 'EFI' instead of small 'efi', therefore using {{ic|\EFI\refind\refindx64.efi}} or {{ic|\efi\refind\refind_x64.efi}} does not matter (this will change if the filesystem encoding is UTF-8).<br />
<br />
== EFI System Partition ==<br />
<br />
The EFI System Partition (also called ESP or EFISYS) is a FAT32 formatted physical partition (in the main partition table of the disk, not LVM or software raid etc.) from where the UEFI firmware launches the UEFI bootloader and application. <br />
<br />
It is an OS independent partition that acts as the storage place for the EFI bootloaders and applications to be launched by the EFI firmware. It is mandatory for UEFI boot. It should have the EFI System partition type (see [[#GPT partitioned disks]]). It is recommended to keep ESP size at 512 MiB although smaller/larger sizes are fine (see note below). For more information see [[Wikipedia:EFI System partition]].<br />
<br />
{{Note|<br />
* It is recommended to use always GPT for UEFI boot as some UEFI firmwares do not allow UEFI-MBR boot.<br />
* In [[GNU Parted]], {{ic|boot}} flag (not to be confused with {{ic|legacy_boot}} flag) has different effect in MBR and GPT disk. In MBR disk, it marks the partition as active. In GPT disk, it changes the type code of the partition to {{ic|EFI System Partition}} type. [[Parted]] has no flag to mark a partition as ESP in MBR disk (this can be done using fdisk though).<br />
* According to a Microsoft note[http://technet.microsoft.com/en-us/library/hh824839.aspx#DiskPartitionRules], the minimum size for the EFI System Partition (ESP) would be 100 MB, though this is not stated in the UEFI Specification. Note that for Advanced Format 4K Native drives (4-KB-per-sector) drives, the size is at least 260 MB, because it is the minimum partition size of FAT32 drives (calculated as sector size (4KB) x 65527 &#61; 256 MB), due to a limitation of the FAT32 file format.<br />
* In case of [[EFISTUB]], the kernels and initramfs files should be stored in the EFI System Partition. For sake of simplicity, you can also use the ESP as the {{ic|/boot}} partition itself instead of a separate {{ic|/boot}} partition, for EFISTUB booting.<br />
}}<br />
<br />
=== GPT partitioned disks ===<br />
<br />
*'''fdisk'''/'''gdisk''': Create a partition with partition type EFI System ({{ic|EFI System}} in ''fdisk'' or {{ic|ef00}} in ''gdisk''). Then format that partition as FAT32 using {{ic|mkfs.fat -F32 /dev/<THAT_PARTITION>}} <br />
(or)<br />
*[[GNU Parted]]: Create a FAT32 partition and in Parted set/activate the {{ic|boot}} flag (not {{ic|legacy_boot}} flag) on that partition<br />
<br />
{{Note|If you get the message {{ic|WARNING: Not enough clusters for a 32 bit FAT!}}, reduce cluster size with {{ic|mkfs.fat -s2 -F32 ...}} or {{ic|-s1}}, otherwise the partition may be unreadable by UEFI.}}<br />
<br />
=== MBR partitioned disks ===<br />
<br />
*'''fdisk''': Create a partition with partition type ''EFI System'' using fdisk. Then format that partition as FAT32 using {{ic|mkfs.fat -F32 /dev/<THAT_PARTITION>}}<br />
<br />
=== ESP on RAID ===<br />
It is possible to make the ESP part of a RAID1 array, but doing so brings the risk of data corruption, and further considerations need to be taken when creating the ESP. <br />
See https://bbs.archlinux.org/viewtopic.php?pid=1398710#p1398710 and https://bbs.archlinux.org/viewtopic.php?pid=1390741#p1390741 for details.<br />
<br />
== UEFI Shell ==<br />
<br />
The UEFI Shell is a shell/terminal for the firmware which allows launching uefi applications which include uefi bootloaders. Apart from that, the shell can also be used to obtain various other information about the system or the firmware like memory map (memmap), modifying boot manager variables (bcfg), running partitioning programs (diskpart), loading uefi drivers, editing text files (edit), hexedit etc. <br />
<br />
=== Obtaining UEFI Shell ===<br />
<br />
You can download a BSD licensed UEFI Shell from Intel's Tianocore UDK/EDK2 Sourceforge.net project:<br />
* [[AUR]] package {{AUR|uefi-shell-git}} (recommended) - provides x86_64 Shell in x86_64 system and IA32 Shell in i686 system - compiled directly from latest Tianocore EDK2 SVN source<br />
* There are copies of Shell v1 and Shell v2 in the EFI directory on the Arch install media image.<br />
* [https://github.com/tianocore/edk2-ShellBinPkg/blob/master/UefiShell/X64/Shell.efi?raw=true Precompiled x86_64 UEFI Shell v2 binary] (may not be up-to-date)<br />
* [https://github.com/tianocore/edk2-EdkShellBinPkg/blob/master/FullShell/X64/Shell_Full.efi?raw=true Precompiled x86_64 UEFI Shell v1 binary] (not updated anymore upstream)<br />
* [https://github.com/tianocore/edk2-ShellBinPkg/blob/master/UefiShell/Ia32/Shell.efi?raw=true Precompiled IA32 UEFI Shell v2 binary] (may not be up-to-date)<br />
* [https://github.com/tianocore/edk2-EdkShellBinPkg/blob/master/FullShell/Ia32/Shell_Full.efi?raw=true Precompiled IA32 UEFI Shell v1 binary] (not updated anymore upstream)<br />
<br />
Shell v2 works best in UEFI 2.3+ systems and is recommended over Shell v1 in those systems. Shell v1 should work in all UEFI systems irrespective of the spec. version the firmware follows. More info at [http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=ShellPkg ShellPkg] and [http://sourceforge.net/mailarchive/message.php?msg_id=28690732 this mail]<br />
<br />
=== Launching UEFI Shell ===<br />
<br />
Few Asus and other AMI Aptio x86_64 UEFI firmware based motherboards (from Sandy Bridge onwards) provide an option called {{ic|"Launch EFI Shell from filesystem device"}} . For those motherboards, download the x86_64 UEFI Shell and copy it to your EFI System Partition as {{ic|<EFI_SYSTEM_PARTITION>/shellx64.efi}} (mostly {{ic|/boot/efi/shellx64.efi}}) .<br />
<br />
Systems with Phoenix SecureCore Tiano UEFI firmware are known to have embedded UEFI Shell which can be launched using either {{ic|F6}}, {{ic|F11}} or {{ic|F12}} key.<br />
<br />
{{Note|If you are unable to launch UEFI Shell from the firmware directly using any of the above mentioned methods, create a FAT32 USB pen drive with {{ic|Shell.efi}} copied as {{ic|(USB)/efi/boot/bootx64.efi}}. This USB should come up in the firmware boot menu. Launching this option will launch the UEFI Shell for you.}}<br />
<br />
=== Important UEFI Shell Commands ===<br />
<br />
UEFI Shell commands usually support {{ic|-b}} option which makes output pause after each page. Run {{ic|help -b}} to list available commands.<br />
<br />
More info at http://software.intel.com/en-us/articles/efi-shells-and-scripting/<br />
<br />
==== bcfg ====<br />
<br />
{{ic|bcfg}} modifies the UEFI NVRAM entries which allows the user to change the boot entries or driver options. This command is described in detail in page 83 (Section 5.3) of "UEFI Shell Specification 2.0" PDF document.<br />
<br />
{{Note|<br />
* Try {{ic|bcfg}} only if {{ic|efibootmgr}} fails to create working boot entries on your system.<br />
* UEFI Shell v1 official binary does not support {{ic|bcfg}} command. You can download a [http://dl.dropbox.com/u/17629062/Shell2.zip modified UEFI Shell v2 binary] which may work in UEFI pre-2.3 firmwares.<br />
}}<br />
<br />
To dump a list of current boot entries:<br />
<br />
Shell> bcfg boot dump -v<br />
<br />
To add a boot menu entry for rEFInd (for example) as 4th (numbering starts from zero) option in the boot menu:<br />
<br />
Shell> bcfg boot add 3 fs0:\EFI\refind\refind_x64.efi "rEFInd"<br />
<br />
where {{ic|fs0:}} is the mapping corresponding to the EFI System Partition and {{ic|fs0:\EFI\refind\refind_x64.efi}} is the file to be launched.<br />
<br />
To remove the 4th boot option:<br />
<br />
Shell> bcfg boot rm 3<br />
<br />
To move the boot option #3 to #0 (i.e. 1st or the default entry in the UEFI Boot menu):<br />
<br />
Shell> bcfg boot mv 3 0<br />
<br />
For bcfg help text:<br />
<br />
Shell> help bcfg -v -b<br />
<br />
or:<br />
<br />
Shell> bcfg -? -v -b<br />
<br />
==== map ====<br />
<br />
{{ic|map}} displays a list of device mappings i.e. the names of available file systems ({{ic|fs0}}) and storage devices ({{ic|blk0}}).<br />
<br />
Before running file system commands such as {{ic|cd}} or {{ic|ls}}, you need to change the shell to the appropriate file system by typing its name:<br />
<br />
Shell> fs0:<br />
fs0:\> cd EFI/<br />
<br />
==== edit ====<br />
<br />
{{ic|edit}} provides a basic text editor with an interface similar to nano, but slightly less functional. It handles UTF-8 encoding and takes care or LF vs CRLF line endings.<br />
<br />
For example, to edit rEFInd's {{ic|refind.conf}} in the EFI System Partition ({{ic|fs0:}} in the firmware),<br />
<br />
Shell> fs0:<br />
FS0:\> cd \EFI\arch\refind<br />
FS0:\EFI\arch\refind\> edit refind.conf<br />
<br />
Type {{ic|Ctrl-E}} for help.<br />
<br />
== UEFI Linux Hardware Compatibility ==<br />
<br />
See [[Unified Extensible Firmware Interface/Hardware]] for more information.<br />
<br />
== UEFI Bootable Media ==<br />
<br />
=== Create UEFI bootable USB from ISO ===<br />
<br />
Follow [[USB flash installation media#BIOS and UEFI Bootable USB]]<br />
<br />
=== Remove UEFI boot support from Optical Media ===<br />
<br />
{{Note|This section mentions removing UEFI boot support from a '''CD/DVD only''' (Optical Media), not from a USB flash drive.}}<br />
<br />
Most of the 32-bit EFI Macs and some 64-bit EFI Macs refuse to boot from a UEFI(X64)+BIOS bootable CD/DVD. If one wishes to proceed with the installation using optical media, it might be necessary to remove UEFI support first.<br />
<br />
* Mount the official installation media and obtain the {{ic|archisolabel}} as shown in the previous section.<br />
<br />
# mount -o loop ''input.iso'' /mnt/iso<br />
<br />
* Then rebuild the ISO, excluding the UEFI Optical Media booting support, using {{ic|xorriso}} from {{pkg|libisoburn}}. Be sure to set the correct archisolabel, e.g. "ARCH_201411" or similar:<br />
{{bc|1=<br />
$ xorriso -as mkisofs -iso-level 3 \<br />
-full-iso9660-filenames\<br />
-volid "''archisolabel''" \<br />
-appid "Arch Linux CD" \<br />
-publisher "Arch Linux <https://www.archlinux.org>" \<br />
-preparer "prepared by $USER" \<br />
-eltorito-boot isolinux/isolinux.bin \<br />
-eltorito-catalog isolinux/boot.cat \<br />
-no-emul-boot -boot-load-size 4 -boot-info-table \<br />
-isohybrid-mbr "/mnt/iso/isolinux/isohdpfx.bin" \<br />
-output ''output.iso'' /mnt/iso/<br />
}}<br />
<br />
* Burn {{ic|''output.iso''}} to optical media and proceed with installation normally.<br />
<br />
== Testing UEFI in systems without native support ==<br />
<br />
=== OVMF for Virtual Machines ===<br />
<br />
[https://tianocore.github.io/ovmf/ OVMF] is a tianocore project to enable UEFI support for Virtual Machines. OVMF contains a sample UEFI firmware for QEMU.<br />
<br />
You can install {{pkg|ovmf}} from the extra repository and run it as follows:<br />
<br />
$ qemu-system-x86_64 -enable-kvm -net none -m 1024 -drive file=/usr/share/ovmf/ovmf_x64.bin,format=raw,if=pflash,readonly<br />
<br />
=== DUET for BIOS only systems ===<br />
<br />
DUET is a tianocore project that enables chainloading a full UEFI environment from a BIOS system, in a way similar to BIOS OS booting. This method is being discussed extensively in http://www.insanelymac.com/forum/topic/186440-linux-and-windows-uefi-boot-using-tianocore-duet-firmware/. Pre-build DUET images can be downloaded from one of the repos at https://gitorious.org/tianocore_uefi_duet_builds. Specific instructions for setting up DUET is available at https://gitorious.org/tianocore_uefi_duet_builds/tianocore_uefi_duet_installer/blobs/raw/master/Migle_BootDuet_INSTALL.txt. <br />
<br />
You can also try http://sourceforge.net/projects/cloverefiboot/ which provides modified DUET images that may contain some system specific fixes and is more frequently updated compared to the gitorious repos.<br />
<br />
== Troubleshooting ==<br />
<br />
=== Windows 7 will not boot in UEFI Mode ===<br />
<br />
If you have installed Windows to a different hard disk with GPT partitioning and still have a MBR partitioned hard disk in your computer, then it is possible that the firmware (UEFI) is starting its CSM support (for booting MBR partitions) and therefore Windows will not boot. To solve this merge your MBR hard disk to GPT partitioning or disable the SATA port where the MBR hard disk is plugged in or unplug the SATA connector from this hard disk.<br />
<br />
Mainboards with this kind of problem:<br />
<br />
* Gigabyte Z77X-UD3H rev. 1.1 (UEFI version F19e)<br />
** The firmware option for booting "UEFI Only" does not prevent the firmware from starting CSM.<br />
<br />
=== Windows changes boot order ===<br />
In some motherboards (confirmed in ASRock Z77 Extreme4) Windows 8 changes the boot order in the NVRAM everytime is booted. This can be fixed making the Windows Boot Manager to load another loader instead of booting Windows.<br />
Run this command in a Administrator mode console in Windows:<br />
bcdedit /set {bootmgr} path \EFI\boot_app_dir\boot_app.efi<br />
<br />
=== USB media gets struck with black screen ===<br />
<br />
* This issue can occur either due to [[KMS]] issue. Try [[Kernel mode setting#Disabling_modesetting|Disabling KMS]] while booting the USB.<br />
<br />
* If the issue is not due to KMS, then it may be due to bug in [[EFISTUB]] booting (see {{Bug|33745}} and [https://bbs.archlinux.org/viewtopic.php?id=156670] for more information.). Both Official ISO ([[Archiso]]) and [[Archboot]] iso use EFISTUB (via [[Gummiboot]] Boot Manager for menu) for booting the kernel in UEFI mode. In such a case you have to use [[GRUB]] as the USB's UEFI bootloader by following the below section.<br />
<br />
==== Using GRUB ====<br />
{{Tip|The given configuration entries can also be entered inside a [[GRUB#Using_the_command_shell|GRUB command-shell]].}}<br />
<br />
* [[USB flash installation media#BIOS_and_UEFI_Bootable_USB|Create an USB Flash Installation]]<br />
<br />
* Backup {{ic|EFI/boot/loader.efi}} to {{ic|EFI/boot/gummiboot.efi}}<br />
<br />
* [[GRUB#GRUB_standalone|Create a GRUB standalone image]] and copy the generate {{ic|grub*.efi}} to the USB as {{ic|EFI/boot/loader.efi}}, {{ic|EFI/boot/bootx64.efi}} and/or {{ic|EFI/boot/bootia32.efi}} (useful when running on a 32-bit UEFI)<br />
<br />
* Create {{ic|EFI/boot/grub.cfg}} with the following contents (replace {{ic|ARCH_YYYYMM}} with the required archiso label e.g. {{ic|ARCH_201507}}):<br />
<br />
{{hc|grub.cfg for Official ISO|<nowiki><br />
insmod part_gpt<br />
insmod part_msdos<br />
insmod fat<br />
<br />
insmod efi_gop<br />
insmod efi_uga<br />
insmod video_bochs<br />
insmod video_cirrus<br />
<br />
insmod font<br />
<br />
if loadfont "${prefix}/fonts/unicode.pf2" ; then<br />
insmod gfxterm<br />
set gfxmode="1024x768x32;auto"<br />
terminal_input console<br />
terminal_output gfxterm<br />
fi<br />
<br />
menuentry "Arch Linux archiso x86_64" {<br />
set gfxpayload=keep<br />
search --no-floppy --set=root --label ARCH_YYYYMM<br />
linux /arch/boot/x86_64/vmlinuz archisobasedir=arch archisolabel=ARCH_YYYYMM add_efi_memmap<br />
initrd /arch/boot/x86_64/archiso.img<br />
}<br />
<br />
menuentry "UEFI Shell x86_64 v2" {<br />
search --no-floppy --set=root --label ARCH_YYYYMM<br />
chainloader /EFI/shellx64_v2.efi<br />
}<br />
<br />
menuentry "UEFI Shell x86_64 v1" {<br />
search --no-floppy --set=root --label ARCH_YYYYMM<br />
chainloader /EFI/shellx64_v1.efi<br />
}<br />
</nowiki>}}<br />
<br />
{{hc|grub.cfg for Archboot ISO|<nowiki><br />
insmod part_gpt<br />
insmod part_msdos<br />
insmod fat<br />
<br />
insmod efi_gop<br />
insmod efi_uga<br />
insmod video_bochs<br />
insmod video_cirrus<br />
<br />
insmod font<br />
<br />
if loadfont "${prefix}/fonts/unicode.pf2" ; then<br />
insmod gfxterm<br />
set gfxmode="1024x768x32;auto"<br />
terminal_input console<br />
terminal_output gfxterm<br />
fi<br />
<br />
menuentry "Arch Linux x86_64 Archboot" {<br />
set gfxpayload=keep<br />
search --no-floppy --set=root --file /boot/vmlinuz_x86_64<br />
linux /boot/vmlinuz_x86_64 cgroup_disable=memory loglevel=7 add_efi_memmap<br />
initrd /boot/initramfs_x86_64.img<br />
}<br />
<br />
menuentry "UEFI Shell x86_64 v2" {<br />
search --no-floppy --set=root --file /boot/vmlinuz_x86_64<br />
chainloader /EFI/tools/shellx64_v2.efi<br />
}<br />
<br />
menuentry "UEFI Shell x86_64 v1" {<br />
search --no-floppy --set=root --file /boot/vmlinuz_x86_64<br />
chainloader /EFI/tools/shellx64_v1.efi<br />
}<br />
</nowiki>}}<br />
<br />
=== UEFI boot loader does not show up in firmware menu ===<br />
<br />
On some UEFI motherboards like boards with an Intel Z77 chipset, adding entries with {{ic|efibootmgr}} or {{ic|bcfg}} from the EFI Shell will not work because they do not show up on the boot menu list after being added to NVRAM.<br />
<br />
This issue is caused because the motherboards can only load Microsoft Windows. To solve this you have to place the {{ic|.efi}} file in the location that Windows uses.<br />
<br />
Copy the {{ic|bootx64.efi}} file from the Arch Linux installation medium ({{ic|FSO:}}) to the Microsoft directory your ESP partition on your hard drive ({{ic|FS1:}}). Do this by booting into EFI shell and typing:<br />
<br />
FS1:<br />
cd EFI<br />
mkdir Microsoft<br />
cd Microsoft<br />
mkdir Boot<br />
cp FS0:\EFI\BOOT\bootx64.efi FS1:\EFI\Microsoft\Boot\bootmgfw.efi<br />
<br />
After reboot, any entries added to NVRAM should show up in the boot menu.<br />
<br />
== See also ==<br />
<br />
* [[Wikipedia:UEFI]]<br />
* [http://www.uefi.org/home/ UEFI Forum] - contains the official [http://uefi.org/specifications UEFI Specifications] - GUID Partition Table is part of UEFI Specification<br />
* [https://www.happyassassin.net/2014/01/25/uefi-boot-how-does-that-actually-work-then/ UEFI boot: how does that actually work, then? - A blog post by AdamW]<br />
* [[Wikipedia:EFI System partition]]<br />
* [http://blog.uncooperative.org/blog/2014/02/06/the-efi-system-partition/ The EFI System Partition and the Default Boot Behavior]<br />
* [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/plain/Documentation/x86/x86_64/uefi.txt Linux Kernel x86_64 UEFI Documentation]<br />
* [http://www.intel.com/technology/efi/ Intel's page on EFI]<br />
* [http://uefidk.intel.com/ Intel UEFI Community Resource Center]<br />
* [http://uefidk.intel.com/blog/linux-efi-boot-stub Matt Fleming - The Linux EFI Boot Stub]<br />
* [http://uefidk.intel.com/blog/accessing-uefi-variables-linux Matt Fleming - Accessing UEFI Variables from Linux]<br />
* [http://www.rodsbooks.com/linux-uefi/ Rod Smith - Linux on UEFI: A Quick Installation Guide]<br />
* [https://lkml.org/lkml/2011/6/8/322 UEFI Boot problems on some newer machines (LKML)]<br />
* [http://linuxplumbers.ubicast.tv/videos/plumbing-uefi-into-linux/ LPC 2012 Plumbing UEFI into Linux]<br />
* [http://linuxplumbers.ubicast.tv/videos/uefi-tutorial-part-1/ LPC 2012 UEFI Tutorial : part 1]<br />
* [http://linuxplumbers.ubicast.tv/videos/uefi-tutorial-part-2/ LPC 2012 UEFI Tutorial : part 2]<br />
* [http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=Welcome_to_TianoCore Intel's Tianocore Project] for Open-Source UEFI firmware which includes DuetPkg for direct BIOS based booting and OvmfPkg used in QEMU and Oracle VirtualBox<br />
* [http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/efi-boot-process.html FGA: The EFI boot process]<br />
* [http://www.microsoft.com/whdc/device/storage/GPT_FAQ.mspx Microsoft's Windows and GPT FAQ]<br />
* [https://gitorious.org/tianocore_uefi_duet_builds/pages/Windows_x64_BIOS_to_UEFI Convert Windows x64 from BIOS-MBR mode to UEFI-GPT mode without Reinstall]<br />
* [https://gitorious.org/tianocore_uefi_duet_builds/pages/Linux_Windows_BIOS_UEFI_boot_USB Create a Linux BIOS+UEFI and Windows x64 BIOS+UEFI bootable USB drive]<br />
* [http://rodsbooks.com/bios2uefi/ Rod Smith - A BIOS to UEFI Transformation]<br />
* [http://software.intel.com/en-us/articles/efi-shells-and-scripting/ EFI Shells and Scripting - Intel Documentation]<br />
* [http://software.intel.com/en-us/articles/uefi-shell/ UEFI Shell - Intel Documentation]<br />
* [http://www.hpuxtips.es/?q=node/293 UEFI Shell - bcfg command info]<br />
* [http://dl.dropbox.com/u/17629062/Shell2.zip UEFI Shell v2 binary with bcfg modified to work with UEFI pre-2.3 firmware - from Clover efiboot]</div>Munzirtahahttps://wiki.archlinux.org/index.php?title=Mpv&diff=364564Mpv2015-03-08T04:13:39Z<p>Munzirtaha: smplayer now supports mpv</p>
<hr />
<div>{{Lowercase title}}<br />
[[Category:Player]]<br />
[[ja:Mpv]]<br />
[[ru:Mpv]]<br />
{{Related articles start}}<br />
{{Related|MPlayer}}<br />
{{Related articles end}}<br />
[http://mpv.io/ mpv] is a movie player based on [http://www.mplayerhq.hu/design7/news.html mplayer] and [http://www.mplayer2.org/ 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 />
[[Pacman|Install]] the {{Pkg|mpv}} package from the [[official repositories]] or {{AUR|mpv-git}} from the [[Arch User Repository]].<br />
<br />
=== Front ends ===<br />
<br />
''mpv'' provides an elegant User Interface called OSC which appears when moving the mouse. To ease casual users, other graphical interfaces exist:<br />
<br />
* {{App|[[Wikipedia:SMPlayer|SMPlayer]]|Qt multimedia player with extra features (CSS themes, YouTube integration, etc.).|http://smplayer.sourceforge.net/|{{Pkg|smplayer}}}}<br />
* {{App|Baka MPlayer|Free and open source, cross-platform, ''libmpv'' based multimedia player (Qt 5).|https://github.com/u8sand/Baka-MPlayer/|{{AUR|baka-mplayer-git}}, {{AUR|baka-mplayer}}}}<br />
* {{App|bomi|Powerful and easy to use multimedia player (Qt 5).|https://bomi-player.github.io/|{{AUR|bomi}} (previously {{AUR|cmplayer}}), {{AUR|bomi-git}}}}<br />
* {{App|GNOME MPV|A simple frontend for ''mpv'' (GTK+ 3).|https://github.com/gnome-mpv/gnome-mpv/|{{AUR|gnome-mpv-git}}}}<br />
<br />
{{Note|CMPlayer/''bomi'' packages provide ''mpv'' internally.}}<br />
<br />
== Configuration ==<br />
<br />
''mpv'''s configuration is read from the files {{ic|mpv.conf}} (settings) and {{ic|input.conf}} (key bindings). If the [[environment variables|environment variable]] {{ic|XDG_CONFIG_HOME}} is not set, user configuration files will be read from the {{ic|~/.config/mpv}} directory. System-wide configuration files are read from the {{ic|/etc/mpv}} directory.<br />
<br />
== Tips and Tricks ==<br />
<br />
=== Hardware Decoding ===<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 for {{ic|1=--hwdec=<api>}} in [[man page]] {{ic|mpv (1)}}. To make this persistent, add the line {{ic|1=hwdec=''method''}} to your configuration file. When hardware decoding is used, the video output should be set to {{ic|opengl}}, {{ic|opengl-hq}} or {{ic|vdpau}} (if using {{ic|1=hwdec=vdpau}}). Using {{ic|1=vo=vaapi}} is not recommended for use anymore [https://github.com/mpv-player/mpv/blob/master/DOCS/man/vo.rst]. If hardware decoding cannot be used, ''mpv'' will automatically fall back to software decoding. See [https://github.com/mpv-player/mpv/blob/master/DOCS/man/options.rst options.rst] and [https://github.com/mpv-player/mpv/blob/master/DOCS/man/vo.rst vo.rst] for more information.<br />
<br />
=== Automatically resuming from where you left off ===<br />
<br />
The default key to quit ''mpv'', saving the video's current position and state, is {{ic|Shift+q}}. This key can be changed by adding the {{ic|quit_watch_later}} string in the key bindings configuration file.<br />
<br />
=== Volume is too low ===<br />
<br />
Set {{ic|1=softvol-max=''value''}} in your configuration file to a reasonable amount, such as {{ic|1=softvol-max=600}}. Additionally (or alternatively), you can utilize [[Wikipedia:Dynamic range compression|dynamic range compression]] with {{ic|1=af=drc}}.<br />
<br />
=== Quickly cycle between multiple aspect ratio ===<br />
<br />
You can cycle between aspect ratios using {{ic|Shift+a}} from version 0.8.0 onwards.<br />
<br />
=== Drawing to a root window ===<br />
<br />
Run ''mpv'' with {{ic|1=--wid=0 file.mp4}}. This tells ''mpv'' to draw onto a 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 />
=== 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 />
[[Browser_plugins#Video_players_workarounds]] 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://bamos.github.io/2014/07/05/mpv-lua-scripting/ This blog post] introduces the<br />
[https://github.com/bamos/dotfiles/blob/master/.mpv/lua/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 />
See [[Livestreamer#Twitch]].<br />
<br />
Another alternative based on Livestreamer is this Lua script: https://gist.github.com/ChrisK2/8701184fe3ea7701c9cc<br />
<br />
If {{Pkg|youtube-dl}} is installed, mpv can directly open a Twitch livestream.<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 {{ic|vapoursynth}} package and compile ''mpv'' with the {{ic|--enable-vapoursynth}} build flag.<br />
<br />
=== Debanding (flash3kyuu) ===<br />
<br />
To use the f3k_db debanding filter install {{AUR|vapoursynth-plugin-flash3kyuu_deband-git}} and write a python script that uses the ''vapoursynth'' extension.<br />
<br />
The following sample script can be used to enable debanding in ''mpv''.<br />
<br />
import vapoursynth as vs<br />
core = vs.get_core()<br />
<br />
clip = video_in<br />
clip = core.std.Trim(clip, first=0, length=500000)<br />
clip = core.f3kdb.Deband(clip, grainy=0, grainc=0, output_depth=16)<br />
clip.set_output()<br />
<br />
Finally specify the python script in the config file or use a command line argument when executing mpv.<br />
mpv --vf=vapoursynth=f3k_db.py <video_file></div>Munzirtahahttps://wiki.archlinux.org/index.php?title=SANE&diff=335131SANE2014-09-13T00:52:39Z<p>Munzirtaha: The filename currently is 49-sane.rules not 53-sane.rules</p>
<hr />
<div>[[Category:Imaging]]<br />
[[es:Sane]]<br />
[[fr:Sane]]<br />
[[it:Sane]]<br />
[[ja:Sane]]<br />
[[zh-CN:Sane]]<br />
{{Related articles start}}<br />
{{Related|Scan print and save Script}}<br />
{{Related|Scanner Button Daemon}}<br />
{{Related articles end}}<br />
<br />
SANE ([[wikipedia:Scanner Access Now Easy|Scanner Access Now Easy]]) provides a library and a command-line tool to use scanners under GNU/Linux.<br />
[http://www.sane-project.org/sane-supported-devices.html Here] you can check if sane supports your scanner.<br />
<br />
== Installation ==<br />
[[pacman|Install]] {{Pkg|sane}} from the [[official repositories]].<br />
<br />
== Configuration ==<br />
Now you can try to see if sane recognizes your scanner<br />
$ scanimage -L<br />
If that fails, check that your scanner is plugged into the computer. You also might have to unplug/plug your scanner for {{ic|/etc/udev/rules.d/sane.rules}} to recognize your scanner.<br />
<br />
Now you can see if it actually works<br />
$ scanimage --format=tiff > test.tiff<br />
<br />
If the scanning fails with the message {{ic|scanimage: sane_start: Invalid argument}} you may need to specify the device.<br />
{{hc|$ scanimage -L|<br />
device `v4l:/dev/video0' is a Noname Video WebCam virtual device<br />
device `pixma:04A91749_247936' is a CANON Canon PIXMA MG5200 multi-function peripheral}}<br />
<br />
Then you would need to run<br />
$ scanimage --device pixma:04A91749_247936 --format=tiff > test.tiff<br />
<br />
=== For Acer/BenQ hardware ===<br />
If you own an USB scanner from Acer (now BenQ), you need to download a suitable firmware binary and configure {{ic|/etc/sane.d/snapscan.conf}}.<br />
<br />
* Find out which model you own and take note of the USB ID:<br />
{{hc|$ lsusb|<br />
Bus 002 Device 010: ID 04a5:20b0 Acer Peripherals Inc. (now BenQ Corp.) S2W 3300U/4300U}}<br />
* Go to [http://snapscan.sourceforge.net/ snapscan] main page and see whether your scanner is supported and which firmware you need (e.g, {{ic|u176v046.bin}}).<br />
* Search the firmware image on the Internet and download it to {{ic|/usr/share/sane/snapscan/}}.<br />
* Edit the head of {{ic|/etc/sane.d/snapscan.conf}} and configure the following two lines:<br />
firmware /usr/share/sane/snapscan/u176v046.bin<br />
/dev/usb/scanner0 bus=usb<br />
<br />
=== For HP hardware ===<br />
For HP hardware you may also need to install {{Pkg|hplip}} from the [[official repositories]] (see [http://hplipopensource.com/hplip-web/supported_devices/index.html hplib supported devices]) and/or {{AUR|hpoj}} from the [[Arch User Repository|AUR]] (see [http://hpoj.sourceforge.net/suplist.shtml hpoj supported devices]).<br />
<br />
* Uncomment or add {{Ic|hpaio}} and {{Ic|hpoj}} to a new line in {{ic|/etc/sane.d/dll.conf}}.<br />
* Running {{Ic|hp-setup}} as root may help you add your device.<br />
* {{Ic|hp-plugin}} is the 'HPLIP Plugin Download and Install Utility'.<br />
* {{Ic|hp-scan}} is the 'HPLIP Scan Utility'.<br />
For Hewlett-Packard OfficeJet, PSC, LaserJet, and PhotoSmart printer multi-function peripherals, run {{ic|ptal-init setup}} as root and follow instructions. Then start the '''ptal-init''' [[daemon]].<br />
<br />
=== For Brother hardware ===<br />
{{Tip|Each of the brscan drivers can be installed from the AUR and automate the setup process described below.}}<br />
<br />
In order to install a Brother Scanner or Printer/Scanner combo you need the right driver (which can be found in the AUR).<br />
There are only four drivers to choose from (brscan1-4). In order to find the right one you should search for your model at the [http://welcome.solutions.brother.com/bsc/public_s/id/linux/en/download_scn.html brother linux scanner page].<br />
<br />
After you installed the driver you need to run (eg. setupSaneScan2 for brscan2 compatible devices):<br />
# /usr/local/Brother/sane/setupSaneScan2 -i<br />
<br />
so the drivers/scanner are recognized by sane.<br />
<br />
For network scanners, Brother provides a different configuration tool for each brscan version (eg. brsaneconfig2 for brscan2 compatible devices):<br />
# brsaneconfig2 -a name=<ScannerName> model=<ScannerModel> ip=<ScannerIP><br />
Example:<br />
# brsaneconfig2 -a name=SCANNER_DCP770CW model=DCP-770CW ip=192.168.0.110<br />
<br />
==== Scan-key-tool ====<br />
<br />
Brother has released a tool to enable scanning to be triggered by user interaction with the scanner itself (e.g. by selecting one of "Scan to email" etc. on the keypad) rather than an attached computer. This can be set up by installing {{aur|brscan-skey}} from the AUR and starting {{ic|brscan-skey.service}} [[systemd#Using units|using systemd]]. Note that by default this service runs as the '''brscan-skey''' user, which is created by the AUR package.<br />
<br />
It is possible to change what action takes place when a given type of scan is selected on the keypad. This is done by editing {{ic|/opt/brother/scanner/brscan-skey/brscan-skey-0.2.4-0.cfg}}. For each variable {{ic|SCAN_COMMAND}} in {{ic|IMAGE}}, {{ic|OCR}}, {{ic|EMAIL}} and {{ic|FILE}},<br />
<br />
$ $SCAN_COMMAND $SCANNER_DEVICE $SCANNER_FRIENDLY_NAME<br />
<br />
is executed when the corresponding scan type is selected. Note that {{ic|$SCAN_COMMAND}} is not quoted so may specify more than one positional parameter in the final command that is executed. {{ic|$SCANNER_DEVICE}} refers to the name of the device that should be specified to a sane frontend (e.g. via the {{ic|--device-name}} flag when using {{ic|scanimage}}), for example {{ic|brother3:bus4;dev2}}. {{ic|$SCANNER_FRIENDLY_NAME}} is the human-readable name of the scanner.<br />
<br />
=== For Epson hardware ===<br />
For network (including Wi-Fi) scanners, you can use "Image Scan! for Linux".<br />
<br />
Install {{AUR|iscan}} and {{AUR|iscan-plugin-network}} from the [[AUR]], then edit {{ic|/etc/sane.d/epkowa.conf}} and add the line:<br />
net {IP_OF_SCANNER}<br />
<br />
=== For Samsung hardware ===<br />
For some Samsung MFP printers you may need to edit {{ic|/etc/sane.d/xerox_mfp.conf}}.<br />
<br />
example entry:<br />
#Samsung SCX-3200<br />
usb 0x04e8 0x3441<br />
<br />
Change the printer model as needed. You can get the idVendor and idProduct code with {{ic|lsusb}}. See [https://bbs.archlinux.org/viewtopic.php?id=123934 this thread].<br />
<br />
When plugging in a usb2 printer/scanner to a usb3 interface there is currently a bug in the xhci kernel code that causes the xsane process to hang when the scanner is connected. In the event of a multi-function Samsung printer having an ethernet or wireless interface then it is possible to access the scanner over the network rather than the usb interface by adding in a line to the file /etc/sane.d/xerox_mfp.conf such as<br />
<br />
#Samsung scx4500w wireless ip network address<br />
tcp xx.xx.xx.xx<br />
<br />
where xx.xx.xx.xx is the static ip address of the printer.<br />
<br />
Then when xsane starts up you can choose the network tcp access option instead of the usb line, and the scanner will be accessed via the network instead of the usb port and avoid the current usb3 issues.<br />
<br />
=== For plustek scanners ===<br />
Some plustek scanners (noticeably Canoscan ones), require a lock directory. Make sure that /var/lock/sane directory exists, that its permissions are 660, and that it is owned by <user>:scanner. If the directory permissions are wrong, only root will be able to use the scanner. Seems (at least on x86-64) that some programs using libusb (noticeably xsane and kooka) need scanner group rw permissions also for accessing /proc/bus/usb to work for a normal user.<br />
<br />
=== For microtek scanners ===<br />
Some microtek scanners require the {{ic|sg}} module, which should be loaded automatically. If it is not loaded on your system, try to load it manually (see [[Kernel modules#Configuration]] for details).<br />
<br />
Check if the scanner is recognized, you should get the following output:<br />
<br />
{{hc|scanimage -L|<br />
device `microtek2:/dev/sg5' is a Microtek Phantom 636cx / C6 flatbed scanner<br />
}}<br />
<br />
==Firmware==<br />
{{Note|This section is only needed if you need to upload firmware to your scanner.}}<br />
<br />
Firmwares usually have the '''{{Ic|.bin}}''' extension. <br />
<br />
Firstly you need to put the firmware someplace safe, it is recommended to put it in a subdirectory of {{ic|/usr/share/sane}}.<br />
<br />
Then you need to tell sane where the firmware is:<br />
*Find the name of the backend for your scanner from the [http://www.sane-project.org/sane-supported-devices.html sane supported devices list].<br />
*Open the file {{ic|/etc/sane.d/<backend-name>.conf}}.<br />
*Make sure the firmware entry is uncommented and let the file-path point to where you put the firmware file for your scanner. Be sure that members of the group {{Ic|scanner}} can access the {{ic|/etc/sane.d/<backend-name>.conf}} file.<br />
<br />
If the backend of your scanner is not part of the sane package (such as hpaio.conf which is part of hplip), you need to uncomment the relevant entry in /etc/sane.d/dll.d/hplip.<br />
<br />
==Install a frontend==<br />
Many frontends exist for SANE, a non-exhaustive list of which can be found on the [http://www.sane-project.org/sane-frontends.html sane-project website]. Another way to find them is to use {{ic|pacman}} to [[Pacman#Querying_package_databases|search the repositories]] for keywords such as "sane" or "scanner".<br />
<br />
* {{App|[[Wikipedia:Scanner_Access_Now_Easy#gscan2pdf|gscan2pdf]]|A GTK2-based GUI to produce PDFs, TIFFs or DjVus from scanned documents. It is also able to apply OCR in the process using different engines. Depends on a few Perl packages to build of which some are in the [[AUR]] as well.|http://gscan2pdf.sourceforge.net/|{{AUR|gscan2pdf}}}}<br />
* {{App|[[Wikipedia:Scanner_Access_Now_Easy#Simple_Scan|Simple Scan]]|A simplified GUI that is intended to be easier to use and better integrated into the [[GNOME]] desktop than XSane. It was initially written for Ubuntu and is maintained by Robert Ancell of Canonical Ltd. for GNU/Linux.|http://launchpad.net/simple-scan|{{Pkg|simple-scan}}}}<br />
* {{App|[[Wikipedia:Scanner_Access_Now_Easy#XSane|XSane]]| A full-featured GTK-based frontend looking a bit old but providing extended functionalities.|http://www.xsane.org/|{{Pkg|xsane}}}}<br />
{{Note|Scanning directly to PDF using XSane in 16bit color depth mode is known to produces [https://bugs.launchpad.net/ubuntu/+source/xsane/+bug/539162 corrupted files] and a note in {{ic|pacman}} output warns so. 8bit mode is known to work.}}<br />
<br />
==Network scanning==<br />
==== Sharing Your Scanner Over a Network ====<br />
<br />
You can share your scanner with other hosts on your network who use sane, xsane or xsane-enabled Gimp. To set up the server, first indicate which hosts on your network are allowed access.<br />
<br />
Change the {{ic|/etc/sane.d/saned.conf}} file to your liking, for example:<br />
# required<br />
localhost<br />
# allow local subnet<br />
192.168.0.0/24<br />
<br />
Insert the {{ic|nf_conntrack_sane}} module for iptables to let the firewall track saned connections.<br />
<br />
Scanning requests are handled by saned. This can be run as a daemon with {{Ic|saned -a}} or run when needed by xinetd:<br />
<br />
==== Configuring xinetd for sane ====<br />
<br />
[[pacman|Install]] {{Pkg|xinetd}} from the [[official repositories]].<br />
<br />
Next, make sure the file {{ic|/etc/xinetd.d/sane}} exists and disabled is set to no:<br />
service sane-port<br />
{<br />
port = 6566<br />
socket_type = stream<br />
wait = no<br />
user = nobody<br />
group = scanner<br />
server = /usr/bin/saned<br />
disable = no<br />
}<br />
<br />
The user named ('nobody' in the file included in the sane package) must usually be a member of the scanner group to have permission to access the scanner:<br />
# usermod -a -G scanner nobody<br />
For some HP combined scanner-printers the user must be a member of the lp group instead, which should also be used instead of scanner in the service file.<br />
<br />
Add the following line to {{ic|/etc/services}} if it is not already present:<br />
sane-port 6566/tcp<br />
<br />
Start the '''xinetd''' [[daemons|daemon]].<br />
<br />
Your scanner can now be used by other workstations, across your local area network.<br />
<br />
==== Accessing Your Scanner from a Remote Workstation ====<br />
You can access your network-enabled scanner from a remote Arch Linux workstation.<br />
<br />
To set up your workstation, begin by [[pacman|installing]] {{Pkg|xsane}} from the [[official repositories]].<br />
<br />
Next, specify the server's host name or IP address in the {{ic|/etc/sane.d/net.conf}} file:<br />
# static IP address<br />
192.168.0.1<br />
# or host name<br />
stratus<br />
<br />
Now test your workstation's connection, from a non-root login prompt:<br />
$ xsane<br />
<br />
or<br />
$ scanimage -L<br />
<br />
After a short while, xsane should find your remote scanner and present you with the usual windows, ready for network scanning delight!<br />
<br />
For HP All in one network printer/scanner/fax you need to configure it via:<br />
$ hp-setup <printer ip><br />
<br />
==== Scanning over the network with Canon Pixma all-in-one printer/scanners ====<br />
Find out your printer/scanner's IP address, and add it on a new line to /etc/sane.d/pixma.conf in the format 'bjnp://10.0.0.20'.<br />
<br />
Sane should now find your device.<br />
For more details refer to 'man sane-pixma'.<br />
<br />
==Troubleshooting==<br />
===Invalid argument===<br />
If you get an "Invalid argument" error with xsane or another sane front-end, this could be caused by one of the following reasons:<br />
<br />
==== Missing firmware file ====<br />
No firmware file was provided for the used scanner (see above for details).<br />
<br />
==== Wrong firmware file permissions ====<br />
The permissions for the used firmware file are wrong. Correct them using<br />
# chown root:scanner /usr/share/sane/SCANNER_MODEL/FIRMWARE_FILE<br />
# chmod ug+r /usr/share/sane/SCANNER_MODEL/FIRMWARE_FILE<br />
<br />
==== Multiple backends claim scanner ====<br />
It may happen, that multiple backends support (or pretend to support) your scanner, and sane chooses one that doesn't do after all (the scanner won't be displayed by scanimage -L then). This has happend with older Epson scanners and the <code>epson2</code> resp. <code>epson</code> backends. In this case, the solution is to comment out the unwanted backend in <code>/etc/sane.d/dll.conf</code>. In the Epson case, that would be to change<br />
<br />
epson2<br />
#epson<br />
<br />
to <br />
<br />
#epson2<br />
epson<br />
<br />
==== USB 3.0 ====<br />
Attaching a scanner to an USB 3.0 port can also [https://bugs.launchpad.net/ubuntu/+source/xsane/+bug/478761/comments/43 can also cause] this error message. This problem is sometimes accompanied by error messages like {{ic|WARN Event TRB for slot 1 ep 10 with no TDs queued?}} or {{ic|ep 0x85 - rounding interval to 512 microframes, ep desc says 800 microframes}} in the kernel log. The only known solution is using a USB 2.0 port (or hub) at the moment.<br />
<br />
===Slow startup===<br />
If you encounter slow startup issue (e.g. {{ic|xsane}} or {{ic|scanimage -L}} take a lot to find scanner) it may be that more than one driver supporting it is available. <br />
<br />
Have a look at {{ic|/etc/sane.d/dll.conf}} and try commenting out one (e.g. you may have epson, epson2 and epkowa enabled at the same time, try leaving only epson or epkowa uncommented)<br />
<br />
===Permission problem===<br />
If you see your scanner only when running {{Ic|lsusb}} (as root), you might get it working by adding your user to {{Ic|scanner}} and/or {{Ic|lp}} group.<br />
# gpasswd -a username scanner<br />
# gpasswd -a username lp<br />
This is reported to work on HP all-in-one models (e.g., PSC 1315 and PSC 2355).<br />
<br />
You can also try to change permissions of usb device but this is not recommended, a better solution is to fix the Udev rules so that your scanner is recognized.<br />
<br />
Example:<br />
<br />
First, as root, check connected usb devices with {{ic|lsusb}}:<br />
#Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub<br />
#Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub<br />
#Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub<br />
#Bus 003 Device 003: ID 04d9:1603 Holtek Semiconductor, Inc. <br />
#Bus 003 Device 002: ID 04fc:0538 Sunplus Technology Co., Ltd <br />
#Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub<br />
#Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub<br />
#Bus 001 Device 006: ID 03f0:2504 Hewlett-Packard <br />
#Bus 001 Device 002: ID 046d:0802 Logitech, Inc. Webcam C200<br />
#Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub<br />
<br />
In our example we see scanner - ''''Bus 001 Device 006: ID 03f0:2504 Hewlett-Packard''''<br />
<br />
Now edit {{ic|/lib/udev/rules.d/49-sane.rules}} and look for the first part of the ID number found previously and check if there is a line that also reports the second part of the number (model numer), in this example 2504. If not found change or copy a line and enter the idVendor and idProduct of your scanner, in this example it would be:<br />
<br />
# Hewlett-Packard ScanJet 4100C<br />
ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="2504", MODE="0664", GROUP="scanner",<br />
ENV{libsane_matched}="yes"<br />
<br />
Save the file, plug out and back in your scanner and the file permissions should be now correct.<br />
<br />
Another tip, is that you can add your device (scanner) in backend file:<br />
<br />
Add ''''usb 0x03f0 0x2504'''' to {{ic|/etc/sane.d/hp4200.conf}} so it looks like this:<br />
#<br />
# Configuration file for the hp4200 backend<br />
#<br />
#<br />
# HP4200<br />
#usb 0x03f0 0x0105<br />
usb 0x03f0 0x2504<br />
<br />
=== Epson Perfection 1270 ===<br />
<br />
For Epson Perfection 1270, you also need a firmware named {{ic|esfw3e.bin}}. It can be obtained by installing the Windows driver.<br />
<br />
Modify the configuration file of the snapscan backend, {{ic|/etc/sane.d/snapscan.conf}}. Change the firmware path line with yours:<br />
<br />
# Change to the fully qualified filename of your firmware file, if<br />
# firmware upload is needed by the scanner<br />
firmware /mnt/mydata/Backups/firmware/esfw3e.bin<br />
<br />
And add the following line in the end or anywhere you like<br />
<br />
# Epson Perfection 1270<br />
usb 0x04b8 0x0120<br />
<br />
You can get such code information ({{ic|usb 0x04b8 0x0120}}) by ''sane-find-scanner'' command.<br />
<br />
Also add such information lines to {{ic|/etc/hotplug/usb/libsane.usermap}} to setup your privilege, like:<br />
<br />
# Epson Perfection 1270<br />
libusbscanner 0x0003 0x04b8 0x0120 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000<br />
<br />
Replug scanner, you have a working Epson Perfection 1270 now.<br />
<br />
{{Note|I can scan image if I define the X and Y value, but without that error message occurs like: {{ic|scanimage: sane_start: Error during device I/O}}, if anyone knows any other reasons, please add them to this section.}}<br />
<br />
* To prevent {{ic|scanimage: sane_start: Error during device I/O}} and hangup of the scanner itself, when trying to scan with ADF (automatic document feed) enabled, I had to remove or comment out all Backends from {{ic|/etc/sane.d/dll.conf}} and instead just add this to the file: {{bc|snapscan}}<br />
<br />
Finally. If you still get the {{ic|Error I/O}} messages try to check the transportation lock of the scanner. It is on the bottom of the scanner. It must be opened.<br />
<br />
=== Hangs while scanning due to xhci pre-boot mode ===<br />
<br />
If you get a problem where your scanner is detected while running {{ic|lsusb}} or {{ic|scanimage -L}} and even the GUI apps, however when you attempt to scan, the scanner starts but shortly after hangs or freezes while scanning the following fix may help you.<br />
<br />
You may also get this error loged while attempting to scan:<br />
kernel: usb 1-2: new high-speed USB device number 8 using xhci_hcd<br />
kernel: WARNING! power/level is deprecated; use power/control instead<br />
<br />
The fix is: In the UEFI/BIOS change the setting under ''USB configuration'', ''xhci pre-boot mode'' from enabled to disabled.</div>Munzirtahahttps://wiki.archlinux.org/index.php?title=Fonts&diff=245429Fonts2013-01-29T04:18:14Z<p>Munzirtaha: /* Added KFGQPC Arabic fonts */</p>
<hr />
<div>[[Category:Fonts]]<br />
[[Category:Graphics and desktop publishing]]<br />
[[cs:Fonts]]<br />
[[de:Schriftarten]]<br />
[[es:Fonts]]<br />
[[it:Fonts]]<br />
[[ja:Fonts]]<br />
[[ru:Fonts]]<br />
[[tr:Yazıtipleri]]<br />
[[zh-CN:Fonts]]<br />
[[zh-TW:Fonts]]<br />
From [[Wikipedia:Computer font|Wikipedia]]:<br />
:''A computer font (or font) is an electronic data file containing a set of glyphs, characters, or symbols such as dingbats.''<br />
<br />
{{Article summary start}}<br />
{{Article summary text|Covers the selection and installation of fonts on Arch Linux}}<br />
{{Article summary heading|Legal}}<br />
{{Article summary text|Certain font licenses may impose some legal limitations}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|Font Configuration}}: Font setup and beautification<br />
{{Article summary wiki|Java Runtime Environment Fonts}}: Fonts specific to Sun's Java machine<br />
{{Article summary wiki|MS Fonts}}: Adding Microsoft fonts and mimicking Windows' font settings<br />
{{Article summary end}}<br />
<br />
== Font formats ==<br />
<br />
Most computer fonts used today are in either ''bitmap'' or ''outline'' data formats. <br />
;Bitmap fonts: Consist of a matrix of dots or pixels representing the image of each glyph in each face and size.<br />
;Outline or ''vector'' fonts: Use Bézier curves, drawing instructions and mathematical formulae to describe each glyph, which make the character outlines scalable to any size.<br />
<br />
=== Common extensions ===<br />
<br />
* {{ic|bdf}} and {{ic|bdf.gz}} – bitmap fonts, ''b''itmap ''d''istribution ''f''ormat and gzip compressed {{ic|bdf}}<br />
* {{ic|pcf}} and {{ic|pcf.gz}} – bitmaps, ''p''ortable ''c''ompiled ''f''ont and gzip compressed {{ic|pcf}}<br />
* {{ic|psf}}, {{ic|psfu}}, {{ic|psf.gz}} and {{ic|psfu.gz}} – bitmaps, ''P''C ''s''creen ''f''ont, ''P''C ''s''creen ''f''ont ''U''nicode and the gzipped versions (not compatible with X.Org)<br />
* {{ic|pfa}} and {{ic|pfb}} – outline fonts, ''P''ostScript ''f''ont ''A''SCII and ''P''ostScript ''f''ont ''b''inary. PostScript fonts carry built-in printer instructions.<br />
* {{ic|ttf}} – outline, ''T''rue''T''ype ''f''ont. Originally designed as a replacement for the PostScript fonts.<br />
* {{ic|otf}} – outline, ''O''pen''T''ype ''f''ont. TrueType with PostScript typographic instructions.<br />
<br />
For most purposes, the technical differences between TrueType and OpenType can be ignored, some fonts with a {{ic|ttf}} extension are actually OpenType fonts.<br />
<br />
=== Other formats ===<br />
<br />
The typesetting application, ''TeX,'' and its companion font software, ''Metafont,'' render characters using their own methods. Some of the file extensions used for fonts by these two programs are {{ic|*pk}}, {{ic|*gf}}, {{ic|mf}} and {{ic|vf}}.<br />
<br />
''FontForge,'' a font editing application, can store fonts in its native text-based format, {{ic|sfd}}, ''s''pline ''f''ont ''d''atabase.<br />
<br />
The [http://www.w3.org/TR/SVG/fonts.html SVG] format also has its own font description method.<br />
<br />
== Installation ==<br />
<br />
There are various methods for installing fonts.<br />
<br />
=== Pacman ===<br />
<br />
Fonts and font collections in the enabled repositories can be installed using [[Pacman|pacman]]. Available fonts may be found by using:<br />
$ pacman -Ss font<br />
Or to search for {{ic|ttf}} fonts only:<br />
$ pacman -Ss ttf<br />
<br />
Some fonts like terminus are installed in {{ic|/usr/share/fonts/local}}, which is not added to the font path by default. By adding the following lines to {{ic|~/.xinitrc}} the fonts can be used in X11:<br />
{{bc|<br />
xset +fp /usr/share/fonts/local<br />
xset fp rehash<br />
}}<br />
<br />
=== Creating a package ===<br />
<br />
If you want to give pacman the ability to manage your fonts, you can create an Arch package. These can also be shared with the community in the [[AUR]]. Here is an example of how to create a basic package. To learn more about building packages, read [[PKGBUILD]].<br />
<br />
{{bc|<nowiki><br />
pkgname=ttf-fontname<br />
pkgver=1.0<br />
pkgrel=1<br />
depends=('fontconfig' 'xorg-font-utils')<br />
pkgdesc="custom fonts"<br />
arch=('any')<br />
source=(http://someurl.org/$pkgname.tar.bz2)<br />
install=$pkgname.install<br />
<br />
build()<br />
{<br />
mkdir -p $pkgdir/usr/share/fonts/TTF<br />
cp $srcdir/$pkgname/*.ttf $pkgdir/usr/share/fonts/TTF<br />
}<br />
</nowiki>}}<br />
<br />
This PKGBUILD assumes the fonts are TrueType. An install file ({{ic|ttf-fontname.install}}) will also need to be created to update the font cache:<br />
<br />
{{bc|<nowiki><br />
post_install() {<br />
echo -n "Updating font cache... "<br />
fc-cache -fs >/dev/null<br />
mkfontscale /usr/share/fonts/TTF /usr/share/fonts/Type1<br />
mkfontdir /usr/share/fonts/TTF /usr/share/fonts/Type1<br />
echo "done"<br />
}<br />
<br />
post_upgrade() {<br />
post_install<br />
}<br />
<br />
post_remove() {<br />
post_install<br />
}<br />
</nowiki>}}<br />
<br />
=== Manual installation ===<br />
<br />
The recommended way of adding fonts that are not in the repositories to your system is described in [[#Creating a package]]. This gives pacman the ability to remove or update them at a later time. Fonts can alternately be installed manually as well.<br />
<br />
To install fonts system-wide (available for all users), move the folder to the {{ic|/usr/share/fonts/}} directory. To install fonts for only a single user, use {{ic|~/.fonts/}} instead.<br />
<br />
Also you may need to update {{ic|/etc/X11/xorg.conf}} or {{ic|/etc/xorg.conf}} with the new directory. Search for {{ic|FontPath}} to find the correct location within the file to add your new path. See [[#Fonts with X.Org]] for more detail.<br />
<br />
Then update the fontconfig font cache:<br />
<br />
$ fc-cache -vf<br />
<br />
==== Older applications ====<br />
<br />
With older applications that do not support fontconfig (e.g. GTK+ 1.x applications, and {{ic|xfontsel}}) the index will need to be created in the font directory:<br />
<br />
$ mkfontscale<br />
$ mkfontdir<br />
<br />
Or to include more than one folder with one command:<br />
<br />
$ for dir in /font/dir1/ /font/dir2/; do xset +fp $dir; done && xset fp rehash<br />
<br />
At times the X server may fail to load the fonts directory and you will need to rescan all the {{ic|fonts.dir}} files:<br />
<br />
# xset +fp /usr/share/fonts/misc # Inform the X server of new directories<br />
# xset fp rehash # Forces a new rescan<br />
<br />
To check that the font(s) is included:<br />
<br />
$ xlsfonts | grep fontname<br />
<br />
=== Pango Warnings ===<br />
When [http://www.pango.org/ Pango] is in use on your system it will read from [http://www.freedesktop.org/wiki/Software/fontconfig fontconfig] to sort out where to source fonts.<br />
<br />
(process:5741): Pango-WARNING **: failed to choose a font, expect ugly output. engine-type='PangoRenderFc', script='common'<br />
(process:5741): Pango-WARNING **: failed to choose a font, expect ugly output. engine-type='PangoRenderFc', script='latin'<br />
<br />
If you are seeing errors similar to this and/or seeing blocks instead of characters in your application then you need to add fonts and update the font cache. This example uses the {{Pkg|ttf-liberation}} fonts to illustrate the solution and runs as root to enable them system-wide.<br />
<br />
# pacman -S ttf-liberation<br />
-- output abbreviated, assumes installation succeeded -- <br />
<br />
# fc-cache -vfs<br />
/usr/share/fonts: caching, new cache contents: 0 fonts, 3 dirs<br />
/usr/share/fonts/TTF: caching, new cache contents: 16 fonts, 0 dirs<br />
/usr/share/fonts/encodings: caching, new cache contents: 0 fonts, 1 dirs<br />
/usr/share/fonts/encodings/large: caching, new cache contents: 0 fonts, 0 dirs<br />
/usr/share/fonts/util: caching, new cache contents: 0 fonts, 0 dirs<br />
/var/cache/fontconfig: cleaning cache directory <br />
fc-cache: succeeded<br />
<br />
You can test for a default font being set like so:<br />
<br />
# fc-match<br />
LiberationMono-Regular.ttf: "Liberation Mono" "Regular"<br />
<br />
=== Fonts with X.Org ===<br />
<br />
In order for [[Xorg]] to find and use your newly installed fonts, you must add the font paths to {{ic|/etc/X11/xorg.conf}} (another X.Org configuration file may work too).<br />
<br />
Here is an example of the section that must be added to {{ic|/etc/X11/xorg.conf}}. Add or remove paths based on your particular font requirements.<br />
# Let X.Org know about the custom font directories<br />
Section "Files"<br />
FontPath "/usr/share/fonts/100dpi"<br />
FontPath "/usr/share/fonts/75dpi"<br />
FontPath "/usr/share/fonts/cantarell"<br />
FontPath "/usr/share/fonts/cyrillic"<br />
FontPath "/usr/share/fonts/encodings"<br />
FontPath "/usr/share/fonts/local"<br />
FontPath "/usr/share/fonts/misc"<br />
FontPath "/usr/share/fonts/truetype"<br />
FontPath "/usr/share/fonts/TTF"<br />
FontPath "/usr/share/fonts/util"<br />
EndSection<br />
<br />
==Font packages==<br />
This is a selective list that includes many font packages from the [[AUR]] along with those in the official repositories. Fonts are tagged "Unicode" if they have wide Unicode support, see the project or Wikipedia pages for detail.<br />
<br />
Github user Ternstor has created a python script that generates PNG images of all fonts in [http://ternstor.github.com/archfonts/extra.html extra], [http://ternstor.github.com/archfonts/community.html community] and the [http://ternstor.github.com/archfonts/aur.html AUR] so you can preview all the fonts below.<br />
<br />
===Braille===<br />
*{{Pkg|ttf-ubraille}} - Font containing Unicode symbols for ''braille''<br />
<br />
===International users===<br />
<br />
====Arabic====<br />
*{{AUR|ttf-qurancomplex-fonts}} - Fonts by King Fahd Glorious Quran Printing Complex in al-Madinah al-Munawwarah ''(AUR)''<br />
*{{AUR|ttf-amiri}} - A classical Arabic typeface in Naskh style poineered by Amiria Press ''(AUR)''<br />
*{{AUR|ttf-sil-lateef}} - Unicode Arabic font from SIL ''(AUR)''<br />
*{{AUR|ttf-sil-scheherazade}} - Unicode Arabic font from SIL ''(AUR)''<br />
*{{AUR|ttf-arabeyes-fonts}} - Collection of free Arabic fonts ''(AUR)''<br />
<br />
====Birman====<br />
*{{AUR|ttf-myanmar3}} - Font for Myanmar/Burmese script ''(AUR)''<br />
<br />
====Chinese, Japanese, Korean, Vietnamese====<br />
<br />
=====(Mainly) Chinese=====<br />
*{{AUR|ttf-tw}} - Kai and Song traditional Chinese font from the Ministry of Education of Taiwan ''(AUR)''.<br />
*{{Pkg|wqy-microhei}} - A Sans-Serif style high quality CJKV outline font.<br />
*{{Pkg|wqy-zenhei}} - Hei Ti Style (sans-serif) Chinese Outline font embedded with bitmapped Song Ti (also supporting Japanese (partial) and Korean characters).<br />
*{{Pkg|ttf-arphic-ukai}} - ''Kaiti'' (brush stroke) Unicode font (enabling anti-aliasing is suggested)<br />
*{{Pkg|ttf-arphic-uming}} - ''Mingti'' (printed) Unicode font<br />
*{{Pkg|opendesktop-fonts}} - ''New Sung'' font, previously is ttf-fireflysung package<br />
*{{Pkg|wqy-bitmapfont}} - Bitmapped Song Ti (serif) Chinese font<br />
*{{Pkg|ttf-hannom}} - Chinese and Vietnamese TrueType font<br />
<br />
=====Japanese=====<br />
*{{AUR|otf-ipafont}} - Formal style Japanese Gothic (sans-serif) and Mincho (serif) fonts set; one of the highest quality open source font. Default of openSUSE-ja. ''(AUR)''<br />
*{{AUR|ttf-vlgothic}} - Japanese Gothic fonts. Default of Debian/Fedora/Vine Linux ''(AUR)''<br />
*{{AUR|ttf-mplus}} - Modern Gothic style Japanese outline fonts. It includes all of Japanese Hiragana/Katakana, Basic Latin, Latin-1 Supplement, Latin Extended-A, IPA Extensions and most of Japanese Kanji, Greek, Cyrillic, Vietnamese with 7 weights (proportional) or 5 weights (monospace). ''(AUR)''<br />
*{{AUR|ttf-ipa-mona}}, {{AUR|ttf-monapo}} - Japanese fonts to show [http://en.wikipedia.org/wiki/2channel_Shift_JIS_art 2channel Shift JIS art] properly. ''(AUR)''<br />
*{{Pkg|ttf-sazanami}} - Japanese free TrueType font. This is outdated and not maintained any more, but may be defined as a fallback font on several environments.<br />
<br />
=====Korean=====<br />
*{{Pkg|ttf-baekmuk}} - Collection of Korean TrueType fonts<br />
*{{AUR|ttf-alee}} - Set of free Hangul TrueType fonts (''AUR'')<br />
*{{AUR|ttf-unfonts-core}} - Un fonts (default Baekmuk fonts may be unsatisfactory) (''AUR'')<br />
*{{AUR|ttf-nanum}} - Nanum series TrueType fonts (''AUR'')<br />
*{{AUR|ttf-nanumgothic_coding}} - Nanum series fixed width TrueType fonts (''AUR'')<br />
<br />
====Cyrillic====<br />
''Also see [[#Monospace]], [[#Sans]] and [[#Serif]]''<br />
*{{AUR|font-arhangai}} - Mongolian Cyrillic (''AUR'')<br />
*{{AUR|ttf-pingwi-typography}} - PingWi Typography (PWT) fonts (''AUR'')<br />
<br />
====Greek====<br />
Almost all Unicode fonts contain the Greek character set (polytonic included). Some additional font packages, which might not contain the complete Unicode set but utilize high quality Greek (and Latin, of course) typefaces are:<br />
*{{AUR|otf-gfs}} - Selection of OpenType fonts from the Greek Font Society ''(AUR)''<br />
*{{AUR|ttf-mgopen}} - Professional TrueType fonts from Magenta ''(AUR)''<br />
<br />
====Hebrew====<br />
*{{AUR|culmus}} - Nice collection of free Hebrew fonts ''(AUR)''<br />
<br />
====Indic====<br />
*{{Pkg|ttf-freebanglafont}} - Font for Bangla<br />
*{{Pkg|ttf-indic-otf}} - Indic OpenType Fonts collection (containing ttf-freebanglafont)<br />
:(This one contains a "look of disapproval" that might be more to your liking than the {{Pkg|bdf-unifont}} one mentioned elsewhere in this document)<br />
* {{Pkg|lohit-font}} - Indic TrueType fonts from Fedora Project (containing Oriya Fonts and more) ''(AUR)''<br />
<br />
====Khmer====<br />
*{{Pkg|ttf-khmer}} - Font covering glyphs for Khmer language<br />
*[http://code.google.com/webfonts/family?family=Hanuman&subset=khmer Hanuman] ({{AUR|ttf-google-webfonts}})<br />
<br />
====Sinhala====<br />
*{{AUR|ttf-lklug}} - Sinhala Unicode font (''AUR'')<br />
<br />
====Tamil====<br />
*{{AUR|ttf-tamil}} - Tamil Unicode fonts (''AUR'')<br />
<br />
====Tibetan====<br />
*{{Pkg|ttf-tibetan-machine}} - Tibetan Machine TTFont<br />
<br />
===Math===<br />
*{{Pkg|font-mathematica}} - Mathematica fonts by Wolfram Research, Inc.<br />
*{{AUR|ttf-mathtype}} - MathType fonts ''(AUR)''<br />
*{{AUR|ttf-computer-modern-fonts}} - ''(AUR)''<br />
<br />
===Microsoft fonts===<br />
See [[MS Fonts]].<br />
<br />
===Apple Mac OS X fonts===<br />
*{{AUR|ttf-mac}} - Mac OS X TrueType fonts. ''(AUR)''<br />
Note this package does not come with the ttf fonts (only the otf fonts), you have to provide the ttf fonts on your own (the package will not build without them sadly)<br />
<br />
===Monospaced===<br />
Here are some suggestions. Every user has their own favorite, so experiment to find yours. <br />
If you're in a hurry, you read Dan Benjamin's blog post: [http://hivelogic.com/articles/top-10-programming-fonts ''Top 10 Programming Fonts''].<br />
<br />
Here's a long list of fonts by Trevor Lowing: http://www.lowing.org/fonts/.<br />
<br />
====TrueType====<br />
* [[Wikipedia:Andalé Mono|Andalé Mono]] ({{AUR|ttf-ms-fonts}})<br />
* Anka/Coder ({{AUR|ttf-anka-coder}})<br />
* Anonymous Pro ({{AUR|ttf-anonymous-pro}}, included in {{AUR|ttf-google-webfonts}})<br />
* [[Wikipedia:Bitstream Vera|Bitstream Vera Mono]] ({{Pkg|ttf-bitstream-vera}})<br />
* [[Wikipedia:Consolas|Consolas]] ({{AUR|ttf-vista-fonts}}) - Windows programming font<br />
* [[Wikipedia:Courier New|Courier New]] ({{AUR|ttf-ms-fonts}})<br />
* Cousine ({{AUR|ttf-google-webfonts}}) - Chrome/Chromium OS replacement for Courier New (metric-compatible)<br />
* [[Wikipedia:DejaVu fonts|DejaVu Sans Mono]] ({{Pkg|ttf-dejavu}}) - Unicode<br />
* [[Wikipedia:Droid (font)|Droid Sans Mono]] ({{Pkg|ttf-droid}}, included in {{AUR|ttf-google-webfonts}})<br />
* Envy Code R ({{AUR|ttf-envy-code-r}})<br />
* [[Wikipedia:GNU FreeFont|FreeMono]] ({{Pkg|ttf-freefont}}) - Unicode<br />
* [[Wikipedia:Inconsolata|Inconsolata]] ({{Pkg|ttf-inconsolata}}) - Excellent programming font<br />
* [[Wikipedia:Inconsolata|Inconsolata-g]] ({{AUR|ttf-inconsolata-g}}) - adds some programmer-friendly modifications<br />
* Anonymous-Pro ({{AUR|ttf-anonymous-pro}})<br />
* [[Wikipedia:Liberation fonts|Liberation Mono]] ({{Pkg|ttf-liberation}}) - Alternative to Courier New (metric-compatible)<br />
* [[Wikipedia:Lucida Console|Lucida Console]] ({{AUR|ttf-ms-fonts}})<br />
* [[Wikipedia:Lucida Typewriter|Lucida Typewriter]] (included in package {{Pkg|jre}})<br />
* [[Wikipedia:Monaco (typeface)|Monaco]] ({{Pkg|ttf-monaco}}) - Popular programming font on OSX/Textmate<br />
* Monofur ({{AUR|ttf-monofur}})<br />
<br />
====Bitmap====<br />
*Default 8x16<br />
*Dina ({{Pkg|dina-font}})<br />
*[http://font.gohu.eu/ Gohu] ({{Pkg|gohu-font}})<br />
*Lime ({{Pkg|artwiz-fonts}})<br />
*[[Wikipedia:ProFont|ProFont]] ({{Pkg|profont}})<br />
*[[Wikipedia:Proggy Programming Fonts|Proggy Programming Fonts]] ({{AUR|proggyfonts}})<br />
*Proggy opti cyrillic ({{AUR|proggyopticyr-font}})<br />
*Tamsyn ({{Pkg|tamsyn-font}})<br />
*[[Wikipedia:Terminus (typeface)|Terminus]] ({{Pkg|terminus-font}})<br />
*Unifont (glyphs like (look of disapproval)) ({{Pkg|bdf-unifont}})<br />
<br />
===Sans-serif===<br />
<br />
*[http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=andika Andika] ({{AUR|ttf-andika}}, included in {{AUR|ttf-sil-fonts}})<br />
*[[Wikipedia:Arial|Arial]] ({{AUR|ttf-ms-fonts}})<br />
*[[Wikipedia:Arial Black|Arial Black]] ({{AUR|ttf-ms-fonts}})<br />
*Arimo ({{AUR|ttf-google-webfonts}}) - Chrome/Chromium OS replacement for Arial (metric-compatible)<br />
*[[Wikipedia:Calibri|Calibri]] ({{AUR|ttf-vista-fonts}})<br />
*[[Wikipedia:Candara|Candara]] ({{AUR|ttf-vista-fonts}})<br />
*[[Wikipedia:Constantia (typeface)|Constantia]] ({{AUR|ttf-vista-fonts}})<br />
*[[Wikipedia:Corbel (typeface)|Corbel]] ({{AUR|ttf-vista-fonts}})<br />
*[[Wikipedia:DejaVu fonts|DejaVu Sans]] ({{Pkg|ttf-dejavu}}) - Unicode<br />
*[[Wikipedia:Droid (font)|Droid Sans]] ({{Pkg|ttf-droid}}, included in {{AUR|ttf-google-webfonts}})<br />
*[[Wikipedia:GNU FreeFont|FreeSans]] ({{Pkg|ttf-freefont}}) - Unicode<br />
*[[Wikipedia:Impact (typeface)|Impact]] ({{AUR|ttf-ms-fonts}})<br />
*[[Wikipedia:Liberation fonts|Liberation Sans]] ({{Pkg|ttf-liberation}}, improved/reworked Cyrillic: {{Pkg|ttf-liberastika}}) - Alternative to Arial (metric-compatible)<br />
*[[Wikipedia:Liberation fonts|Liberation Sans Narrow]] ({{Pkg|ttf-liberation}}) - Alternative to Arial Narrow (metric-compatible)<br />
*[[Wikipedia:Linux Libertine|Linux Biolinum]] ({{Pkg|ttf-linux-libertine}})<br />
*[[Wikipedia:Lucida Sans|Lucida Sans]] ({{AUR|ttf-ms-fonts}})<br />
*[[Wikipedia:Microsoft Sans Serif|Microsoft Sans Serif]] ({{AUR|ttf-ms-fonts}})<br />
*[[Wikipedia:PT Sans|PT Sans]] ({{AUR|ttf-google-webfonts}}) - 3 major variations: normal, narrow, and caption - Unicode: Latin, Cyrillic<br />
*[[Wikipedia:Tahoma (typeface)|Tahoma]] ({{AUR|ttf-tahoma}})<br />
*[[Wikipedia:Trebuchet MS|Trebuchet]] ({{AUR|ttf-ms-fonts}})<br />
*[[Wikipedia:Ubuntu-Title|Ubuntu-Title]] ({{AUR|ttf-ubuntu-title}})<br />
*[[Wikipedia:Ubuntu Font Family|Ubuntu Font Family]] ({{Pkg|ttf-ubuntu-font-family}})<br />
*[[Wikipedia:Verdana|Verdana]] ({{AUR|ttf-ms-fonts}})<br />
<br />
===Script===<br />
<br />
*[[Wikipedia:Comic Sans|Comic Sans]] ({{AUR|ttf-ms-fonts}})<br />
<br />
===Serif===<br />
*[[Wikipedia:Cambria (typeface)|Cambria]] ({{AUR|ttf-vista-fonts}})<br />
*[[Wikipedia:Charis SIL|Charis]] ({{AUR|ttf-charis}}, included in {{AUR|ttf-sil-fonts}}) - Unicode: Latin, Cyrillic<br />
*[[Wikipedia:DejaVu fonts|DejaVu Serif]] ({{Pkg|ttf-dejavu}}) - Unicode<br />
*[[Wikipedia:Doulos SIL|Doulos]] ({{AUR|doulos-sil}}, included in {{AUR|ttf-sil-fonts}}) - Unicode: Latin, Cyrillic<br />
*[[Wikipedia:Droid (font)|Droid Serif]] ({{Pkg|ttf-droid}}, included in {{AUR|ttf-google-webfonts}})<br />
*[[Wikipedia:GNU FreeFont|FreeSerif]] ({{Pkg|ttf-freefont}}) - Unicode<br />
*[[Wikipedia:Gentium|Gentium]] ({{Pkg|ttf-gentium}}, included in {{AUR|ttf-sil-fonts}}) - Unicode: Latin, Greek, Cyrillic, Phonetic Alphabet<br />
*[[Wikipedia:Georgia (typeface)|Georgia]] ({{AUR|ttf-ms-fonts}})<br />
*[[Wikipedia:Liberation fonts|Liberation Serif]] ({{Pkg|ttf-liberation}}) - Alternative to Times New Roman (metric-compatible)<br />
*[[Wikipedia:Linux Libertine|Linux Libertine]] ({{Pkg|ttf-linux-libertine}}) - Unicode: Latin, Greek, Cyrillic, Hebrew<br />
*[[Wikipedia:Times New Roman|Times New Roman]] ({{AUR|ttf-ms-fonts}})<br />
*Tinos ({{AUR|ttf-google-webfonts}}) - Chrome/Chromium OS replacement for Times New Roman (metric-compatible)<br />
<br />
===Unsorted===<br />
<!--This section should be absorbed into the Monospace/Serif/Sans-Serif structure--><br />
*{{AUR|ttf-google-webfonts}} and {{AUR|ttf-google-webfonts-hg}} — a huge collection of free fonts (including ubuntu, inconsolata, droid, etc.) - Note: Your font dialog might get very long as >100 fonts will be added ''(AUR)''<br />
*{{Pkg|ttf-mph-2b-damase}} — Covers full plane 1 and several scripts<br />
*{{AUR|ttf-symbola}} — Provides emoji and many many other symbols. ''(AUR)''<br />
*{{AUR|ttf-sil-fonts}} — Gentium, Charis, Doulos, Andika and Abyssinica from SIL ''(AUR)''<br />
*{{Pkg|font-bh-ttf}} — X.Org Luxi fonts<br />
*{{Pkg|ttf-cheapskate}} — Font collection from ''dustismo.com''<br />
*{{Pkg|ttf-isabella}} — Calligraphic font based on the ''Isabella Breviary'' of 1497<br />
*{{Pkg|ttf-junicode}} — Junius font containing almost complete medieval latin script glyphs<br />
*arkpandorafonts {{AUR|ttf-arkpandora}} — Alternative to Arial and Times New Roman fonts ''(AUR)''<br />
*{{Pkg|xorg-fonts-type1}} — IBM Courier and Adobe Utopia sets of [[Wikipedia:PostScript fonts|PostScript fonts]]<br />
<br />
==Console fonts==<br />
<br />
The console, meaning a terminal running with no X Window System, uses the ASCII character set as the default. This font and the keymap used are easily changed.<br />
<br />
A console font is limited to either 256 or 512 characters. The fonts are found in {{ic|/usr/share/kbd/consolefonts/}}.<br />
<br />
Keymaps, the connection between the key pressed and the character used by the computer, are found in the subdirectories of {{ic|/usr/share/kbd/keymaps/}}.<br />
<br />
=== Previewing and testing ===<br />
<br />
An organized library of images for previewing is available at http://alexandre.deverteuil.net/consolefonts/consolefonts.html.<br />
<br />
Moreover, the user can use {{ic|setfont}} to temporarily change the font and be able to consider its use as the default. The available glyphs, or letters in the font can also be viewed as a table with the command {{ic|showconsolefont}}.<br />
<br />
If the newly changed font is not suitable, a return to the default font is done by issuing the command {{ic|setfont}} without any arguments. If the console display is totally unreadable, this command will still work—the user just types in {{ic|setfont}} while "working blind."<br />
<br />
Note that {{ic|setfont}} only works on the console currently being used. Any other consoles, active or inactive, remain unaffected.<br />
<br />
==== Examples ====<br />
<br />
Change the font. This example is distinctive:<br />
$ setfont /usr/share/kbd/consolefonts/gr737b-9x16-medieval.psfu.gz<br />
<br />
Or change the font to one with 512 glyphs and set the keymap to ''ISO 8859-5'' using the {{ic|-m}} option:<br />
$ setfont /usr/share/kbd/consolefonts/LatArCyrHeb-16.psfu.gz -m 8859-5<br />
<br />
Then issue commands that send text to the display, perhaps view a ''manpage'' and try ''vi'' or ''nano'', and view the table of glyphs with the command, {{ic|showconsolefont}}.<br />
<br />
Return to the default font with:<br />
$ setfont<br />
<br />
=== Changing the default font ===<br />
<br />
To change the default font, the {{ic|FONT<nowiki>=</nowiki>}} and {{ic|FONT_MAP<nowiki>=</nowiki>}} settings in {{ic|/etc/vconsole.conf}} (this file may need to be created) must be altered. Again, the fonts can be found in {{ic|/usr/share/kbd/consolefonts/}} directory and keymaps can be found in the subdirectories of {{ic|/usr/share/kbd/keymaps/}}.<br />
<br />
==== Examples ====<br />
For displaying characters such as ''Č, ž, đ, š'' or ''Ł, ę, ą, ś'' using the font {{ic|lat2-16.psfu.gz}}:<br />
FONT=lat2-16<br />
It means that second part of ISO/IEC 8859 characters are used with size 16. You can change font size using other values like lat2-08...16. For the regions determined by 8859 specification, look at the [http://en.wikipedia.org/wiki/ISO/IEC_8859#The_Parts_of_ISO.2FIEC_8859 Wikipedia]. You can use a Terminus font which is recommended if you work a lot in console without X server. ter-216b for example is latin-2 part, size 16, bold. ter-216n is the same but normal weight. Terminus fonts have sizes up to 32.<br />
<br />
Now, set the proper keymap, for lat2-16 it will be:<br />
FONT_MAP=8859-2<br />
<br />
To use the specified font in early userspace, that is, early in the bootup process, add the {{ic|consolefont}} hook to {{ic|/etc/mkinitcpio.conf}}:<br />
HOOKS="base udev autodetect modconf block filesystems usbinput fsck '''consolefont''' '''keymap'''"<br />
<br />
Then rebuild the image:<br />
# mkinitcpio -p linux<br />
<br />
{{Note|The above steps must be repeated for each kernel if more than one kernel package is installed.}}<br />
<br />
See [[Mkinitcpio#HOOKS]] for more information.<br />
<br />
If the fonts seems to not change on boot, or change only temporarily, it is most likely that they got reset when graphics driver was initialized and console was switched to framebuffer. To avoid this, load your graphics driver earlier. See for example [[KMS#Early_KMS_start]] or other ways to setup your framebuffer before {{ic|/etc/vconsole.conf}} gets applied.<br />
<br />
==== Boot Error ====<br />
<br />
If "Loading Console Font" fails at boot time, this is probably because you didn't choose a valid font during your Arch Linux install.<br />
<br />
To get rid of this message, simply empty the {{ic|CONSOLEFONT}} variable in {{ic|/etc/rc.conf}}. It will fallback on default font at boot.<br />
<br />
== Fallback font order with X11 ==<br />
Fontconfig automatically chooses a font that matches the current requirement. That is to say, if one is looking at a window containing English and Chinese for example, it will switch to another font for the Chinese text if the default one doesn't support it.<br />
<br />
Fontconfig lets every user configure the order they want via {{ic|$XDG_CONFIG_HOME/fontconfig/fonts.conf}}.<br />
If you want a particular Chinese font to be selected after your favorite Serif font, your file would look like this:<br />
<?xml version="1.0"?><br />
<!DOCTYPE fontconfig SYSTEM "fonts.dtd"><br />
<fontconfig><br />
<alias><br />
<family>serif</family><br />
<prefer><br />
<family>Your favorite Latin Serif font name</family><br />
<family>Your Chinese font name</family><br />
</prefer><br />
</alias><br />
</fontconfig><br />
<br />
You can add a section for Sans-serif and monospaced as well. For more informations, have a look at the fontconfig manual.<br />
<br />
== Font alias ==<br />
In Linux there are several font aliases which represent other fonts in order that applications may use similar fonts. The most common aliases are: {{ic|serif}} for a font of the serif type (e.g. DejaVu Serif); {{ic|sans-serif}} for a font of the sans-serif type (e.g. DejaVu Sans); and {{ic|monospace}} for a monospaced font (e.g. DejaVu Sans Mono). However, the fonts which these aliases represent may vary and the relationship is often not shown in font management tools such as those found in KDE and other desktop environments.<br />
<br />
To reverse an alias and find which font it is representing, run:<br />
$ fc-match monospace<br />
DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"<br />
<br />
In this case {{ic|DejaVuSansMono.ttf}} is the font represented by the monospace alias.</div>Munzirtahahttps://wiki.archlinux.org/index.php?title=Fonts&diff=245290Fonts2013-01-27T15:29:38Z<p>Munzirtaha: Added the Amiri font for Arabic language which I added to the repos</p>
<hr />
<div>[[Category:Fonts]]<br />
[[Category:Graphics and desktop publishing]]<br />
[[cs:Fonts]]<br />
[[de:Schriftarten]]<br />
[[es:Fonts]]<br />
[[it:Fonts]]<br />
[[ja:Fonts]]<br />
[[ru:Fonts]]<br />
[[tr:Yazıtipleri]]<br />
[[zh-CN:Fonts]]<br />
[[zh-TW:Fonts]]<br />
From [[Wikipedia:Computer font|Wikipedia]]:<br />
:''A computer font (or font) is an electronic data file containing a set of glyphs, characters, or symbols such as dingbats.''<br />
<br />
{{Article summary start}}<br />
{{Article summary text|Covers the selection and installation of fonts on Arch Linux}}<br />
{{Article summary heading|Legal}}<br />
{{Article summary text|Certain font licenses may impose some legal limitations}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|Font Configuration}}: Font setup and beautification<br />
{{Article summary wiki|Java Runtime Environment Fonts}}: Fonts specific to Sun's Java machine<br />
{{Article summary wiki|MS Fonts}}: Adding Microsoft fonts and mimicking Windows' font settings<br />
{{Article summary end}}<br />
<br />
== Font formats ==<br />
<br />
Most computer fonts used today are in either ''bitmap'' or ''outline'' data formats. <br />
;Bitmap fonts: Consist of a matrix of dots or pixels representing the image of each glyph in each face and size.<br />
;Outline or ''vector'' fonts: Use Bézier curves, drawing instructions and mathematical formulae to describe each glyph, which make the character outlines scalable to any size.<br />
<br />
=== Common extensions ===<br />
<br />
* {{ic|bdf}} and {{ic|bdf.gz}} – bitmap fonts, ''b''itmap ''d''istribution ''f''ormat and gzip compressed {{ic|bdf}}<br />
* {{ic|pcf}} and {{ic|pcf.gz}} – bitmaps, ''p''ortable ''c''ompiled ''f''ont and gzip compressed {{ic|pcf}}<br />
* {{ic|psf}}, {{ic|psfu}}, {{ic|psf.gz}} and {{ic|psfu.gz}} – bitmaps, ''P''C ''s''creen ''f''ont, ''P''C ''s''creen ''f''ont ''U''nicode and the gzipped versions (not compatible with X.Org)<br />
* {{ic|pfa}} and {{ic|pfb}} – outline fonts, ''P''ostScript ''f''ont ''A''SCII and ''P''ostScript ''f''ont ''b''inary. PostScript fonts carry built-in printer instructions.<br />
* {{ic|ttf}} – outline, ''T''rue''T''ype ''f''ont. Originally designed as a replacement for the PostScript fonts.<br />
* {{ic|otf}} – outline, ''O''pen''T''ype ''f''ont. TrueType with PostScript typographic instructions.<br />
<br />
For most purposes, the technical differences between TrueType and OpenType can be ignored, some fonts with a {{ic|ttf}} extension are actually OpenType fonts.<br />
<br />
=== Other formats ===<br />
<br />
The typesetting application, ''TeX,'' and its companion font software, ''Metafont,'' render characters using their own methods. Some of the file extensions used for fonts by these two programs are {{ic|*pk}}, {{ic|*gf}}, {{ic|mf}} and {{ic|vf}}.<br />
<br />
''FontForge,'' a font editing application, can store fonts in its native text-based format, {{ic|sfd}}, ''s''pline ''f''ont ''d''atabase.<br />
<br />
The [http://www.w3.org/TR/SVG/fonts.html SVG] format also has its own font description method.<br />
<br />
== Installation ==<br />
<br />
There are various methods for installing fonts.<br />
<br />
=== Pacman ===<br />
<br />
Fonts and font collections in the enabled repositories can be installed using [[Pacman|pacman]]. Available fonts may be found by using:<br />
$ pacman -Ss font<br />
Or to search for {{ic|ttf}} fonts only:<br />
$ pacman -Ss ttf<br />
<br />
Some fonts like terminus are installed in {{ic|/usr/share/fonts/local}}, which is not added to the font path by default. By adding the following lines to {{ic|~/.xinitrc}} the fonts can be used in X11:<br />
{{bc|<br />
xset +fp /usr/share/fonts/local<br />
xset fp rehash<br />
}}<br />
<br />
=== Creating a package ===<br />
<br />
If you want to give pacman the ability to manage your fonts, you can create an Arch package. These can also be shared with the community in the [[AUR]]. Here is an example of how to create a basic package. To learn more about building packages, read [[PKGBUILD]].<br />
<br />
{{bc|<nowiki><br />
pkgname=ttf-fontname<br />
pkgver=1.0<br />
pkgrel=1<br />
depends=('fontconfig' 'xorg-font-utils')<br />
pkgdesc="custom fonts"<br />
arch=('any')<br />
source=(http://someurl.org/$pkgname.tar.bz2)<br />
install=$pkgname.install<br />
<br />
build()<br />
{<br />
mkdir -p $pkgdir/usr/share/fonts/TTF<br />
cp $srcdir/$pkgname/*.ttf $pkgdir/usr/share/fonts/TTF<br />
}<br />
</nowiki>}}<br />
<br />
This PKGBUILD assumes the fonts are TrueType. An install file ({{ic|ttf-fontname.install}}) will also need to be created to update the font cache:<br />
<br />
{{bc|<nowiki><br />
post_install() {<br />
echo -n "Updating font cache... "<br />
fc-cache -fs >/dev/null<br />
mkfontscale /usr/share/fonts/TTF /usr/share/fonts/Type1<br />
mkfontdir /usr/share/fonts/TTF /usr/share/fonts/Type1<br />
echo "done"<br />
}<br />
<br />
post_upgrade() {<br />
post_install<br />
}<br />
<br />
post_remove() {<br />
post_install<br />
}<br />
</nowiki>}}<br />
<br />
=== Manual installation ===<br />
<br />
The recommended way of adding fonts that are not in the repositories to your system is described in [[#Creating a package]]. This gives pacman the ability to remove or update them at a later time. Fonts can alternately be installed manually as well.<br />
<br />
To install fonts system-wide (available for all users), move the folder to the {{ic|/usr/share/fonts/}} directory. To install fonts for only a single user, use {{ic|~/.fonts/}} instead.<br />
<br />
Also you may need to update {{ic|/etc/X11/xorg.conf}} or {{ic|/etc/xorg.conf}} with the new directory. Search for {{ic|FontPath}} to find the correct location within the file to add your new path. See [[#Fonts with X.Org]] for more detail.<br />
<br />
Then update the fontconfig font cache:<br />
<br />
$ fc-cache -vf<br />
<br />
==== Older applications ====<br />
<br />
With older applications that do not support fontconfig (e.g. GTK+ 1.x applications, and {{ic|xfontsel}}) the index will need to be created in the font directory:<br />
<br />
$ mkfontscale<br />
$ mkfontdir<br />
<br />
Or to include more than one folder with one command:<br />
<br />
$ for dir in /font/dir1/ /font/dir2/; do xset +fp $dir; done && xset fp rehash<br />
<br />
At times the X server may fail to load the fonts directory and you will need to rescan all the {{ic|fonts.dir}} files:<br />
<br />
# xset +fp /usr/share/fonts/misc # Inform the X server of new directories<br />
# xset fp rehash # Forces a new rescan<br />
<br />
To check that the font(s) is included:<br />
<br />
$ xlsfonts | grep fontname<br />
<br />
=== Pango Warnings ===<br />
When [http://www.pango.org/ Pango] is in use on your system it will read from [http://www.freedesktop.org/wiki/Software/fontconfig fontconfig] to sort out where to source fonts.<br />
<br />
(process:5741): Pango-WARNING **: failed to choose a font, expect ugly output. engine-type='PangoRenderFc', script='common'<br />
(process:5741): Pango-WARNING **: failed to choose a font, expect ugly output. engine-type='PangoRenderFc', script='latin'<br />
<br />
If you are seeing errors similar to this and/or seeing blocks instead of characters in your application then you need to add fonts and update the font cache. This example uses the {{Pkg|ttf-liberation}} fonts to illustrate the solution and runs as root to enable them system-wide.<br />
<br />
# pacman -S ttf-liberation<br />
-- output abbreviated, assumes installation succeeded -- <br />
<br />
# fc-cache -vfs<br />
/usr/share/fonts: caching, new cache contents: 0 fonts, 3 dirs<br />
/usr/share/fonts/TTF: caching, new cache contents: 16 fonts, 0 dirs<br />
/usr/share/fonts/encodings: caching, new cache contents: 0 fonts, 1 dirs<br />
/usr/share/fonts/encodings/large: caching, new cache contents: 0 fonts, 0 dirs<br />
/usr/share/fonts/util: caching, new cache contents: 0 fonts, 0 dirs<br />
/var/cache/fontconfig: cleaning cache directory <br />
fc-cache: succeeded<br />
<br />
You can test for a default font being set like so:<br />
<br />
# fc-match<br />
LiberationMono-Regular.ttf: "Liberation Mono" "Regular"<br />
<br />
=== Fonts with X.Org ===<br />
<br />
In order for [[Xorg]] to find and use your newly installed fonts, you must add the font paths to {{ic|/etc/X11/xorg.conf}} (another X.Org configuration file may work too).<br />
<br />
Here is an example of the section that must be added to {{ic|/etc/X11/xorg.conf}}. Add or remove paths based on your particular font requirements.<br />
# Let X.Org know about the custom font directories<br />
Section "Files"<br />
FontPath "/usr/share/fonts/100dpi"<br />
FontPath "/usr/share/fonts/75dpi"<br />
FontPath "/usr/share/fonts/cantarell"<br />
FontPath "/usr/share/fonts/cyrillic"<br />
FontPath "/usr/share/fonts/encodings"<br />
FontPath "/usr/share/fonts/local"<br />
FontPath "/usr/share/fonts/misc"<br />
FontPath "/usr/share/fonts/truetype"<br />
FontPath "/usr/share/fonts/TTF"<br />
FontPath "/usr/share/fonts/util"<br />
EndSection<br />
<br />
==Font packages==<br />
This is a selective list that includes many font packages from the [[AUR]] along with those in the official repositories. Fonts are tagged "Unicode" if they have wide Unicode support, see the project or Wikipedia pages for detail.<br />
<br />
Github user Ternstor has created a python script that generates PNG images of all fonts in [http://ternstor.github.com/archfonts/extra.html extra], [http://ternstor.github.com/archfonts/community.html community] and the [http://ternstor.github.com/archfonts/aur.html AUR] so you can preview all the fonts below.<br />
<br />
===Braille===<br />
*{{Pkg|ttf-ubraille}} - Font containing Unicode symbols for ''braille''<br />
<br />
===International users===<br />
<br />
====Arabic====<br />
*{{AUR|ttf-amiri}} - Unicode Arabic font from SIL ''(AUR)''<br />
*{{AUR|ttf-sil-lateef}} - Unicode Arabic font from SIL ''(AUR)''<br />
*{{AUR|ttf-sil-scheherazade}} - Unicode Arabic font from SIL ''(AUR)''<br />
*{{AUR|ttf-arabeyes-fonts}} - Collection of free Arabic fonts ''(AUR)''<br />
<br />
====Birman====<br />
*{{AUR|ttf-myanmar3}} - Font for Myanmar/Burmese script ''(AUR)''<br />
<br />
====Chinese, Japanese, Korean, Vietnamese====<br />
<br />
=====(Mainly) Chinese=====<br />
*{{AUR|ttf-tw}} - Kai and Song traditional Chinese font from the Ministry of Education of Taiwan ''(AUR)''.<br />
*{{Pkg|wqy-microhei}} - A Sans-Serif style high quality CJKV outline font.<br />
*{{Pkg|wqy-zenhei}} - Hei Ti Style (sans-serif) Chinese Outline font embedded with bitmapped Song Ti (also supporting Japanese (partial) and Korean characters).<br />
*{{Pkg|ttf-arphic-ukai}} - ''Kaiti'' (brush stroke) Unicode font (enabling anti-aliasing is suggested)<br />
*{{Pkg|ttf-arphic-uming}} - ''Mingti'' (printed) Unicode font<br />
*{{Pkg|opendesktop-fonts}} - ''New Sung'' font, previously is ttf-fireflysung package<br />
*{{Pkg|wqy-bitmapfont}} - Bitmapped Song Ti (serif) Chinese font<br />
*{{Pkg|ttf-hannom}} - Chinese and Vietnamese TrueType font<br />
<br />
=====Japanese=====<br />
*{{AUR|otf-ipafont}} - Formal style Japanese Gothic (sans-serif) and Mincho (serif) fonts set; one of the highest quality open source font. Default of openSUSE-ja. ''(AUR)''<br />
*{{AUR|ttf-vlgothic}} - Japanese Gothic fonts. Default of Debian/Fedora/Vine Linux ''(AUR)''<br />
*{{AUR|ttf-mplus}} - Modern Gothic style Japanese outline fonts. It includes all of Japanese Hiragana/Katakana, Basic Latin, Latin-1 Supplement, Latin Extended-A, IPA Extensions and most of Japanese Kanji, Greek, Cyrillic, Vietnamese with 7 weights (proportional) or 5 weights (monospace). ''(AUR)''<br />
*{{AUR|ttf-ipa-mona}}, {{AUR|ttf-monapo}} - Japanese fonts to show [http://en.wikipedia.org/wiki/2channel_Shift_JIS_art 2channel Shift JIS art] properly. ''(AUR)''<br />
*{{Pkg|ttf-sazanami}} - Japanese free TrueType font. This is outdated and not maintained any more, but may be defined as a fallback font on several environments.<br />
<br />
=====Korean=====<br />
*{{Pkg|ttf-baekmuk}} - Collection of Korean TrueType fonts<br />
*{{AUR|ttf-alee}} - Set of free Hangul TrueType fonts (''AUR'')<br />
*{{AUR|ttf-unfonts-core}} - Un fonts (default Baekmuk fonts may be unsatisfactory) (''AUR'')<br />
*{{AUR|ttf-nanum}} - Nanum series TrueType fonts (''AUR'')<br />
*{{AUR|ttf-nanumgothic_coding}} - Nanum series fixed width TrueType fonts (''AUR'')<br />
<br />
====Cyrillic====<br />
''Also see [[#Monospace]], [[#Sans]] and [[#Serif]]''<br />
*{{AUR|font-arhangai}} - Mongolian Cyrillic (''AUR'')<br />
*{{AUR|ttf-pingwi-typography}} - PingWi Typography (PWT) fonts (''AUR'')<br />
<br />
====Greek====<br />
Almost all Unicode fonts contain the Greek character set (polytonic included). Some additional font packages, which might not contain the complete Unicode set but utilize high quality Greek (and Latin, of course) typefaces are:<br />
*{{AUR|otf-gfs}} - Selection of OpenType fonts from the Greek Font Society ''(AUR)''<br />
*{{AUR|ttf-mgopen}} - Professional TrueType fonts from Magenta ''(AUR)''<br />
<br />
====Hebrew====<br />
*{{AUR|culmus}} - Nice collection of free Hebrew fonts ''(AUR)''<br />
<br />
====Indic====<br />
*{{Pkg|ttf-freebanglafont}} - Font for Bangla<br />
*{{Pkg|ttf-indic-otf}} - Indic OpenType Fonts collection (containing ttf-freebanglafont)<br />
:(This one contains a "look of disapproval" that might be more to your liking than the {{Pkg|bdf-unifont}} one mentioned elsewhere in this document)<br />
* {{Pkg|lohit-font}} - Indic TrueType fonts from Fedora Project (containing Oriya Fonts and more) ''(AUR)''<br />
<br />
====Khmer====<br />
*{{Pkg|ttf-khmer}} - Font covering glyphs for Khmer language<br />
*[http://code.google.com/webfonts/family?family=Hanuman&subset=khmer Hanuman] ({{AUR|ttf-google-webfonts}})<br />
<br />
====Sinhala====<br />
*{{AUR|ttf-lklug}} - Sinhala Unicode font (''AUR'')<br />
<br />
====Tamil====<br />
*{{AUR|ttf-tamil}} - Tamil Unicode fonts (''AUR'')<br />
<br />
====Tibetan====<br />
*{{Pkg|ttf-tibetan-machine}} - Tibetan Machine TTFont<br />
<br />
===Math===<br />
*{{Pkg|font-mathematica}} - Mathematica fonts by Wolfram Research, Inc.<br />
*{{AUR|ttf-mathtype}} - MathType fonts ''(AUR)''<br />
*{{AUR|ttf-computer-modern-fonts}} - ''(AUR)''<br />
<br />
===Microsoft fonts===<br />
See [[MS Fonts]].<br />
<br />
===Apple Mac OS X fonts===<br />
*{{AUR|ttf-mac}} - Mac OS X TrueType fonts. ''(AUR)''<br />
Note this package does not come with the ttf fonts (only the otf fonts), you have to provide the ttf fonts on your own (the package will not build without them sadly)<br />
<br />
===Monospaced===<br />
Here are some suggestions. Every user has their own favorite, so experiment to find yours. <br />
If you're in a hurry, you read Dan Benjamin's blog post: [http://hivelogic.com/articles/top-10-programming-fonts ''Top 10 Programming Fonts''].<br />
<br />
Here's a long list of fonts by Trevor Lowing: http://www.lowing.org/fonts/.<br />
<br />
====TrueType====<br />
* [[Wikipedia:Andalé Mono|Andalé Mono]] ({{AUR|ttf-ms-fonts}})<br />
* Anka/Coder ({{AUR|ttf-anka-coder}})<br />
* Anonymous Pro ({{AUR|ttf-anonymous-pro}}, included in {{AUR|ttf-google-webfonts}})<br />
* [[Wikipedia:Bitstream Vera|Bitstream Vera Mono]] ({{Pkg|ttf-bitstream-vera}})<br />
* [[Wikipedia:Consolas|Consolas]] ({{AUR|ttf-vista-fonts}}) - Windows programming font<br />
* [[Wikipedia:Courier New|Courier New]] ({{AUR|ttf-ms-fonts}})<br />
* Cousine ({{AUR|ttf-google-webfonts}}) - Chrome/Chromium OS replacement for Courier New (metric-compatible)<br />
* [[Wikipedia:DejaVu fonts|DejaVu Sans Mono]] ({{Pkg|ttf-dejavu}}) - Unicode<br />
* [[Wikipedia:Droid (font)|Droid Sans Mono]] ({{Pkg|ttf-droid}}, included in {{AUR|ttf-google-webfonts}})<br />
* Envy Code R ({{AUR|ttf-envy-code-r}})<br />
* [[Wikipedia:GNU FreeFont|FreeMono]] ({{Pkg|ttf-freefont}}) - Unicode<br />
* [[Wikipedia:Inconsolata|Inconsolata]] ({{Pkg|ttf-inconsolata}}) - Excellent programming font<br />
* [[Wikipedia:Inconsolata|Inconsolata-g]] ({{AUR|ttf-inconsolata-g}}) - adds some programmer-friendly modifications<br />
* Anonymous-Pro ({{AUR|ttf-anonymous-pro}})<br />
* [[Wikipedia:Liberation fonts|Liberation Mono]] ({{Pkg|ttf-liberation}}) - Alternative to Courier New (metric-compatible)<br />
* [[Wikipedia:Lucida Console|Lucida Console]] ({{AUR|ttf-ms-fonts}})<br />
* [[Wikipedia:Lucida Typewriter|Lucida Typewriter]] (included in package {{Pkg|jre}})<br />
* [[Wikipedia:Monaco (typeface)|Monaco]] ({{Pkg|ttf-monaco}}) - Popular programming font on OSX/Textmate<br />
* Monofur ({{AUR|ttf-monofur}})<br />
<br />
====Bitmap====<br />
*Default 8x16<br />
*Dina ({{Pkg|dina-font}})<br />
*[http://font.gohu.eu/ Gohu] ({{Pkg|gohu-font}})<br />
*Lime ({{Pkg|artwiz-fonts}})<br />
*[[Wikipedia:ProFont|ProFont]] ({{Pkg|profont}})<br />
*[[Wikipedia:Proggy Programming Fonts|Proggy Programming Fonts]] ({{AUR|proggyfonts}})<br />
*Proggy opti cyrillic ({{AUR|proggyopticyr-font}})<br />
*Tamsyn ({{Pkg|tamsyn-font}})<br />
*[[Wikipedia:Terminus (typeface)|Terminus]] ({{Pkg|terminus-font}})<br />
*Unifont (glyphs like (look of disapproval)) ({{Pkg|bdf-unifont}})<br />
<br />
===Sans-serif===<br />
<br />
*[http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=andika Andika] ({{AUR|ttf-andika}}, included in {{AUR|ttf-sil-fonts}})<br />
*[[Wikipedia:Arial|Arial]] ({{AUR|ttf-ms-fonts}})<br />
*[[Wikipedia:Arial Black|Arial Black]] ({{AUR|ttf-ms-fonts}})<br />
*Arimo ({{AUR|ttf-google-webfonts}}) - Chrome/Chromium OS replacement for Arial (metric-compatible)<br />
*[[Wikipedia:Calibri|Calibri]] ({{AUR|ttf-vista-fonts}})<br />
*[[Wikipedia:Candara|Candara]] ({{AUR|ttf-vista-fonts}})<br />
*[[Wikipedia:Constantia (typeface)|Constantia]] ({{AUR|ttf-vista-fonts}})<br />
*[[Wikipedia:Corbel (typeface)|Corbel]] ({{AUR|ttf-vista-fonts}})<br />
*[[Wikipedia:DejaVu fonts|DejaVu Sans]] ({{Pkg|ttf-dejavu}}) - Unicode<br />
*[[Wikipedia:Droid (font)|Droid Sans]] ({{Pkg|ttf-droid}}, included in {{AUR|ttf-google-webfonts}})<br />
*[[Wikipedia:GNU FreeFont|FreeSans]] ({{Pkg|ttf-freefont}}) - Unicode<br />
*[[Wikipedia:Impact (typeface)|Impact]] ({{AUR|ttf-ms-fonts}})<br />
*[[Wikipedia:Liberation fonts|Liberation Sans]] ({{Pkg|ttf-liberation}}, improved/reworked Cyrillic: {{Pkg|ttf-liberastika}}) - Alternative to Arial (metric-compatible)<br />
*[[Wikipedia:Liberation fonts|Liberation Sans Narrow]] ({{Pkg|ttf-liberation}}) - Alternative to Arial Narrow (metric-compatible)<br />
*[[Wikipedia:Linux Libertine|Linux Biolinum]] ({{Pkg|ttf-linux-libertine}})<br />
*[[Wikipedia:Lucida Sans|Lucida Sans]] ({{AUR|ttf-ms-fonts}})<br />
*[[Wikipedia:Microsoft Sans Serif|Microsoft Sans Serif]] ({{AUR|ttf-ms-fonts}})<br />
*[[Wikipedia:PT Sans|PT Sans]] ({{AUR|ttf-google-webfonts}}) - 3 major variations: normal, narrow, and caption - Unicode: Latin, Cyrillic<br />
*[[Wikipedia:Tahoma (typeface)|Tahoma]] ({{AUR|ttf-tahoma}})<br />
*[[Wikipedia:Trebuchet MS|Trebuchet]] ({{AUR|ttf-ms-fonts}})<br />
*[[Wikipedia:Ubuntu-Title|Ubuntu-Title]] ({{AUR|ttf-ubuntu-title}})<br />
*[[Wikipedia:Ubuntu Font Family|Ubuntu Font Family]] ({{Pkg|ttf-ubuntu-font-family}})<br />
*[[Wikipedia:Verdana|Verdana]] ({{AUR|ttf-ms-fonts}})<br />
<br />
===Script===<br />
<br />
*[[Wikipedia:Comic Sans|Comic Sans]] ({{AUR|ttf-ms-fonts}})<br />
<br />
===Serif===<br />
*[[Wikipedia:Cambria (typeface)|Cambria]] ({{AUR|ttf-vista-fonts}})<br />
*[[Wikipedia:Charis SIL|Charis]] ({{AUR|ttf-charis}}, included in {{AUR|ttf-sil-fonts}}) - Unicode: Latin, Cyrillic<br />
*[[Wikipedia:DejaVu fonts|DejaVu Serif]] ({{Pkg|ttf-dejavu}}) - Unicode<br />
*[[Wikipedia:Doulos SIL|Doulos]] ({{AUR|doulos-sil}}, included in {{AUR|ttf-sil-fonts}}) - Unicode: Latin, Cyrillic<br />
*[[Wikipedia:Droid (font)|Droid Serif]] ({{Pkg|ttf-droid}}, included in {{AUR|ttf-google-webfonts}})<br />
*[[Wikipedia:GNU FreeFont|FreeSerif]] ({{Pkg|ttf-freefont}}) - Unicode<br />
*[[Wikipedia:Gentium|Gentium]] ({{Pkg|ttf-gentium}}, included in {{AUR|ttf-sil-fonts}}) - Unicode: Latin, Greek, Cyrillic, Phonetic Alphabet<br />
*[[Wikipedia:Georgia (typeface)|Georgia]] ({{AUR|ttf-ms-fonts}})<br />
*[[Wikipedia:Liberation fonts|Liberation Serif]] ({{Pkg|ttf-liberation}}) - Alternative to Times New Roman (metric-compatible)<br />
*[[Wikipedia:Linux Libertine|Linux Libertine]] ({{Pkg|ttf-linux-libertine}}) - Unicode: Latin, Greek, Cyrillic, Hebrew<br />
*[[Wikipedia:Times New Roman|Times New Roman]] ({{AUR|ttf-ms-fonts}})<br />
*Tinos ({{AUR|ttf-google-webfonts}}) - Chrome/Chromium OS replacement for Times New Roman (metric-compatible)<br />
<br />
===Unsorted===<br />
<!--This section should be absorbed into the Monospace/Serif/Sans-Serif structure--><br />
*{{AUR|ttf-google-webfonts}} and {{AUR|ttf-google-webfonts-hg}} — a huge collection of free fonts (including ubuntu, inconsolata, droid, etc.) - Note: Your font dialog might get very long as >100 fonts will be added ''(AUR)''<br />
*{{Pkg|ttf-mph-2b-damase}} — Covers full plane 1 and several scripts<br />
*{{AUR|ttf-symbola}} — Provides emoji and many many other symbols. ''(AUR)''<br />
*{{AUR|ttf-sil-fonts}} — Gentium, Charis, Doulos, Andika and Abyssinica from SIL ''(AUR)''<br />
*{{Pkg|font-bh-ttf}} — X.Org Luxi fonts<br />
*{{Pkg|ttf-cheapskate}} — Font collection from ''dustismo.com''<br />
*{{Pkg|ttf-isabella}} — Calligraphic font based on the ''Isabella Breviary'' of 1497<br />
*{{Pkg|ttf-junicode}} — Junius font containing almost complete medieval latin script glyphs<br />
*arkpandorafonts {{AUR|ttf-arkpandora}} — Alternative to Arial and Times New Roman fonts ''(AUR)''<br />
*{{Pkg|xorg-fonts-type1}} — IBM Courier and Adobe Utopia sets of [[Wikipedia:PostScript fonts|PostScript fonts]]<br />
<br />
==Console fonts==<br />
<br />
The console, meaning a terminal running with no X Window System, uses the ASCII character set as the default. This font and the keymap used are easily changed.<br />
<br />
A console font is limited to either 256 or 512 characters. The fonts are found in {{ic|/usr/share/kbd/consolefonts/}}.<br />
<br />
Keymaps, the connection between the key pressed and the character used by the computer, are found in the subdirectories of {{ic|/usr/share/kbd/keymaps/}}.<br />
<br />
=== Previewing and testing ===<br />
<br />
An organized library of images for previewing is available at http://alexandre.deverteuil.net/consolefonts/consolefonts.html.<br />
<br />
Moreover, the user can use {{ic|setfont}} to temporarily change the font and be able to consider its use as the default. The available glyphs, or letters in the font can also be viewed as a table with the command {{ic|showconsolefont}}.<br />
<br />
If the newly changed font is not suitable, a return to the default font is done by issuing the command {{ic|setfont}} without any arguments. If the console display is totally unreadable, this command will still work—the user just types in {{ic|setfont}} while "working blind."<br />
<br />
Note that {{ic|setfont}} only works on the console currently being used. Any other consoles, active or inactive, remain unaffected.<br />
<br />
==== Examples ====<br />
<br />
Change the font. This example is distinctive:<br />
$ setfont /usr/share/kbd/consolefonts/gr737b-9x16-medieval.psfu.gz<br />
<br />
Or change the font to one with 512 glyphs and set the keymap to ''ISO 8859-5'' using the {{ic|-m}} option:<br />
$ setfont /usr/share/kbd/consolefonts/LatArCyrHeb-16.psfu.gz -m 8859-5<br />
<br />
Then issue commands that send text to the display, perhaps view a ''manpage'' and try ''vi'' or ''nano'', and view the table of glyphs with the command, {{ic|showconsolefont}}.<br />
<br />
Return to the default font with:<br />
$ setfont<br />
<br />
=== Changing the default font ===<br />
<br />
To change the default font, the {{ic|FONT<nowiki>=</nowiki>}} and {{ic|FONT_MAP<nowiki>=</nowiki>}} settings in {{ic|/etc/vconsole.conf}} (this file may need to be created) must be altered. Again, the fonts can be found in {{ic|/usr/share/kbd/consolefonts/}} directory and keymaps can be found in the subdirectories of {{ic|/usr/share/kbd/keymaps/}}.<br />
<br />
==== Examples ====<br />
For displaying characters such as ''Č, ž, đ, š'' or ''Ł, ę, ą, ś'' using the font {{ic|lat2-16.psfu.gz}}:<br />
FONT=lat2-16<br />
It means that second part of ISO/IEC 8859 characters are used with size 16. You can change font size using other values like lat2-08...16. For the regions determined by 8859 specification, look at the [http://en.wikipedia.org/wiki/ISO/IEC_8859#The_Parts_of_ISO.2FIEC_8859 Wikipedia]. You can use a Terminus font which is recommended if you work a lot in console without X server. ter-216b for example is latin-2 part, size 16, bold. ter-216n is the same but normal weight. Terminus fonts have sizes up to 32.<br />
<br />
Now, set the proper keymap, for lat2-16 it will be:<br />
FONT_MAP=8859-2<br />
<br />
To use the specified font in early userspace, that is, early in the bootup process, add the {{ic|consolefont}} hook to {{ic|/etc/mkinitcpio.conf}}:<br />
HOOKS="base udev autodetect modconf block filesystems usbinput fsck '''consolefont''' '''keymap'''"<br />
<br />
Then rebuild the image:<br />
# mkinitcpio -p linux<br />
<br />
{{Note|The above steps must be repeated for each kernel if more than one kernel package is installed.}}<br />
<br />
See [[Mkinitcpio#HOOKS]] for more information.<br />
<br />
If the fonts seems to not change on boot, or change only temporarily, it is most likely that they got reset when graphics driver was initialized and console was switched to framebuffer. To avoid this, load your graphics driver earlier. See for example [[KMS#Early_KMS_start]] or other ways to setup your framebuffer before {{ic|/etc/vconsole.conf}} gets applied.<br />
<br />
==== Boot Error ====<br />
<br />
If "Loading Console Font" fails at boot time, this is probably because you didn't choose a valid font during your Arch Linux install.<br />
<br />
To get rid of this message, simply empty the {{ic|CONSOLEFONT}} variable in {{ic|/etc/rc.conf}}. It will fallback on default font at boot.<br />
<br />
== Fallback font order with X11 ==<br />
Fontconfig automatically chooses a font that matches the current requirement. That is to say, if one is looking at a window containing English and Chinese for example, it will switch to another font for the Chinese text if the default one doesn't support it.<br />
<br />
Fontconfig lets every user configure the order they want via {{ic|$XDG_CONFIG_HOME/fontconfig/fonts.conf}}.<br />
If you want a particular Chinese font to be selected after your favorite Serif font, your file would look like this:<br />
<?xml version="1.0"?><br />
<!DOCTYPE fontconfig SYSTEM "fonts.dtd"><br />
<fontconfig><br />
<alias><br />
<family>serif</family><br />
<prefer><br />
<family>Your favorite Latin Serif font name</family><br />
<family>Your Chinese font name</family><br />
</prefer><br />
</alias><br />
</fontconfig><br />
<br />
You can add a section for Sans-serif and monospaced as well. For more informations, have a look at the fontconfig manual.<br />
<br />
== Font alias ==<br />
In Linux there are several font aliases which represent other fonts in order that applications may use similar fonts. The most common aliases are: {{ic|serif}} for a font of the serif type (e.g. DejaVu Serif); {{ic|sans-serif}} for a font of the sans-serif type (e.g. DejaVu Sans); and {{ic|monospace}} for a monospaced font (e.g. DejaVu Sans Mono). However, the fonts which these aliases represent may vary and the relationship is often not shown in font management tools such as those found in KDE and other desktop environments.<br />
<br />
To reverse an alias and find which font it is representing, run:<br />
$ fc-match monospace<br />
DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"<br />
<br />
In this case {{ic|DejaVuSansMono.ttf}} is the font represented by the monospace alias.</div>Munzirtaha