hannah-eee/arch-wiki-docs huggingface dataset:
FiiO-BTR3 DAC

From
the manufacturer's website
:
The BTR3 is a Bluetooth amplifier which supports multiple wireless audio codecs (i.e. AAC, SBC, aptX, aptX Low Latency, aptX HD, LDAC, LHDC and HWA).
Installation
PulseAudio
has issues with supported high sample rates - set them in the configuration as default:
/etc/pulse/daemon.conf
default-sample-rate = 192000
alternate-sample-rate = 48000
If your device still is not working, try updating the firmware.
Firmware update
Install
the
dfu-util
package, and download the
firmware
:
1. Power on the BTR3
2. Hold the unlabeled button for 5 sec
3. Hold the unlabeled button and vol + button for 5 sec
4. Check if the device is found:
dfu-util -l
Found Runtime: [0a12:ffff] ver:2520, devnum:125, cfg:1, intf:2, path:"1-6", alt:0, name:"UNKNOWN", serial:"ABCDEF0123456789"
5. Optional: Backup your firmware:
dfu-util -d 0a12:ffff -U backup_fiio_btr3.dfu
6. Flash your new firmware:
dfu-util -d 0a12:ffff -D BTR3-1.2-0531.dfu
7. If dfu-util ends with an Error because the device was rebooted - you are finished
FireHOL

FireHOL
is a language (and a program to run it) to build secure, stateful firewalls from easy to understand, human-readable configuration files. The configuration stays readable even for very complex setups. In the background it interfaces with
iptables
(IPv4/IPv6).
Installation
Install
the
firehol
AUR
package.
Configuration
Initial Auto Configuration
Firehol comes with its own firewall wizard. All traffic is allowed by default. Using the wizard is the first step to get a basic firewall configuration which automatically detects all open port and interfaces running on the system.
# firehol wizard > /tmp/firehol.conf
The configuration is well documented. After finishing editing move it to
/etc/firehol/firehol.conf
. Then test run it with the command
# firehol try
You have 30 seconds before those changes are undone and if everything works as expected, you can make it permanent by
starting
and
enabling
firehol.service
This article or section needs expansion.
Reason:
stub (Discuss in
Talk:FireHOL
)
A good way to start learning its scripting declarations is by copying an
Firehol example configuration
.
The configuration file is bash file and has 3 parts:
helper
interface
router
Usage
You can test the configuration file's correctness by issuing:
# firehol try
or
# firehol nofast try
If the configuration is working,
start/enable
the
firehol.service
.
Tip
The package also includes
FireQOS
, a helper for
Advanced traffic control
. It is packaged with its own
fireqos.service
.
The
netdata
application for traffic monitoring, created by the same project authors, also is available. See
Netdata
for more information.
Flowblade

This article or section is a candidate for merging with
List of applications/Multimedia#Video editors
.
Notes:
Too short, the GDK_BACKEND stuff is already
documented upstream
while the package name is already present in the target page. (Discuss in
Talk:Flowblade
)
Flowblade
is a multitrack non-linear video editor released under GPL3 license.
Flowblade supports all media that can be accessed in a Linux system when the FFMPEG library is working as the backend. The typical startup message reports 146 formats, 78 video codecs and 58 audio available codecs.
Installation
Install
the
flowblade
package.
Additionally, more installation options, such as
Flatpak
and a development version can be found from Flowblade's
download page
Note
If using
Wayland
, you will need to prefix
GDK_BACKEND=x11
Fluxer

Fluxer
— A modern, A chat app that puts you first.
https://fluxer.app/
||
fluxer-bin
AUR
Fluxer
is a free and open-source communication platform that provides text, voice, and video chat capabilities. It is designed as a user-friendly alternative to proprietary platforms like Discord, focusing on privacy and customization.
Installation
Flatpak
The preferred installation method is via
Flatpak
.
Use the command:
# flatpak install flathub app.fluxer.Fluxer
See the
official flathub page
for addition info on the package.
AUR
Fluxer is also available in the
Arch User Repository
.
Install the Fluxer app via
fluxer-bin
AUR
package (or
fluxer-git
AUR
for the latest commit)
Other ways to install
Alternatively, the project provides various formats such as
AppImage
,
tar.gz
,
RPM
and more.
you can download it directly from the
official Fluxer website
.
Usage
Launch Fluxer from your desktop environment's application menu, or via the command line:
$ fluxer
First Run
Upon first launch, you will be prompted to create an account or log in.
Configuration
Configuration files are typically stored in the standard XDG directories.
~/.config/fluxer/
Warning
The configuration folder location may change depending on the installation method.
Themes and Customization
Fluxer supports custom themes via CSS.
To apply a custom theme:
1. Navigate to Settings → Look & Feel.
2. Paste/Write your CSS code.
See also
Official Website
GitHub Repository
Flathub page
Flyspray

Related articles
LAMP
Flyspray
is a bug tracking system written in
PHP
. FlySpray was notably used by Arch Linux itself.
Installation
Install
the
flyspray
AUR
package. Flyspray requires a web server such as
Apache HTTP Server
with
PHP
, and an SQL server such as
MySQL
or
PostgreSQL
.
Apache Setup
Note
You will need to have
Apache HTTP Server
configured to run with
PHP
. Check
Apache HTTP Server#PHP
for instructions. Make sure to uncomment
extension=mysqli
in
/etc/php/php.ini
.
You will need to create a configuration file for Apache to find your Flyspray install. Create the following file:
/etc/httpd/conf/extra/flyspray.conf
Alias /flyspray "/usr/share/webapps/flyspray"
<Directory "/usr/share/webapps/flyspray">
	AllowOverride All
	Options FollowSymlinks
	Require all granted
	php_admin_value open_basedir "/srv/http/:/tmp/:/usr/share/webapps/flyspray"
</Directory>
You will then need to edit
/etc/webapps/flyspray/.htaccess
and change
deny from all
to
allow from all
. You should now be able to navigate to the flyspray interface (e.g.
http://localhost/flyspray
) and it will show a page of pre-installation checks. Any issues here should be resolved before continuing.
Font package guidelines

Arch package guidelines
32-bit
–
CLR
–
CMake
–
Cross
–
DKMS
–
Eclipse
–
Electron
–
Font
–
Free Pascal
–
GNOME
–
Go
–
Haskell
–
Java
–
KDE
–
Kernel modules
–
Lisp
–
Meson
–
MinGW
–
Node.js
–
Nonfree
–
OCaml
–
Perl
–
PHP
–
Python
–
R
–
Ruby
–
Rust
-
Security
–
Shell
–
VCS
–
Web
–
Wine
This document covers proposed standards and guidelines on writing
PKGBUILDs
for
Fonts
.
General guidelines
Package naming
TTF
fonts:
ttf-
fontname
OTF
fonts:
otf-
fontname
If the font is a
variable font
, add the suffix
-variable
.
Note
The package name should be entirely lowercase.
Ultimately
there is no hard rule for font package naming, i.e. these are only
guidelines
. In general, package naming follows upstream. See also
FS#77425
.
Package description
The package description should at least contain the word
font
and what type of font it is: sans-serif, serif or monospace.
Architecture
Fonts are architecture-independent. Use
arch=(any)
.
Dependencies
Fonts do not depend on anything. Many packages in the repositories, however, include
fontconfig
and
xorg-mkfontscale
as dependencies. Those were required when font packages needed to use install scripts to update the font cache – a lot of duplicate work now done by
pacman hooks
. If you install fontconfig or xorg-mkfontscale, all existing fonts in
/usr/share/fonts/
will be cached making it unnecessary to force people to use fontconfig or mkfontscale.
Provides
Many applications rely on the virtual package
ttf-font
. If your font family meets the
criteria
, add
provides=('ttf-font')
.
Source
See whether a font is available from the following sources in this order:
a code hosting platform like GitHub or an official website
github.com/google/fonts
(you should download individual files instead of cloning the repository, see
ttf-roboto-mono
for an example)
Font Squirrel
,
Font Library
,
FFonts
,
1001 Fonts
,
1001 Free Fonts
,
DaFont
The following sites are not recommended:
fonts.google.com
(it
no longer provides stable download URLs
)
FontSpace
(checksums change for unknown reasons)
Package
The following snippet is an example for an OTF font released under the
SIL Open Font License 1.1 with Reserved Font Name
:
license=('OFL-1.1-RFN')
...
package() {
  install -Dm644 -t "$pkgdir/usr/share/fonts/$pkgname" "path/to/font/*.otf"
  install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname" "path/to/license/OFL.txt"
}
The
OFL
is technically a
custom license
, so each font package's license file  needs to be installed under
/usr/share/licenses/$pkgname
.
If the font contains many font files, consider using
$pkgname
instead of
OTF
for the destination directory.
Example packages
ttf-merriweather-sans
AUR
otf-commissioner
AUR
– split package with OTF, TTF and variable version
See also
Forum discussion
concerning this article
foot

foot
is a fast, lightweight and minimalistic
Wayland
terminal emulator.
Installation
Install
the
foot
package.
Additionally, install the
foot-terminfo
package for improved terminfo.
Configuration
foot
loads configuration file at
$XDG_CONFIG_HOME/foot/foot.ini
(defaulting to
$HOME/.config/foot/foot.ini
). A template for the configuration file can be found in
/etc/xdg/foot/foot.ini
; copy the template to
$XDG_CONFIG_HOME/foot/foot.ini
and uncomment the setting you want to change. Restart
foot
to apply the new settings.
Manual page
foot.ini(5)
provides detailed information on how to configure
foot
.
Colors
You can customize colors by modifying
[colors-dark]
section.
Themes can be found in
/usr/share/foot/themes
. To apply a theme, add an
include
key under
[main]
.
$HOME/.config/foot/foot.ini
[main]
include=/usr/share/foot/themes/
name-of-theme
Tip
You can check
this forum post
to see all themes visualized side-by-side.
Server (daemon) mode
Note
Advantages to run
foot
in server mode including reduced memory footprint and startup time.
The downside is a performance penalty; all windows' input and output are multiplexed in the same thread (but each window will have its own set of rendering threads). This means that if one window is very busy with, for example, producing output, then other windows will suffer. Also, should the server process crash, all windows will be gone.
When run normally,
foot
starts a new
foot
process for each window.
foot
can  also be run in a server mode. In this mode, one process hosts multiple windows. All Wayland communication, VT parsing and rendering is done in the server process.
New windows are opened by running
footclient
, which remains running until the terminal window is closed, at which point it exits with the exit value of the client process (typically the shell).
Enable/start
the
user unit
foot-server.service
or the corresponding
foot-server.socket
for socket activation to start the foot server automatically on login.
Tips and tricks
GNOME
Show borders
Currently,
GNOME
does not support server side decoration on Wayland.
foot
running on GNOME will show a plain and flat window. You can configure
foot
to show borders so that different
foot
windows can be distinguished more easily.
$HOME/.config/foot/foot.ini
[csd]
border-width=2
border-color=ff404040
terminfo
The standard
foot
package uses ncurses
terminfo(5)
. Installing
foot-terminfo
allows you to use
foot
's upstream terminfo, which contains additional features primarily beneficial for use with
tmux
, like application synchronized updates and 24-bit color support.
See
foot's wiki entry
for more details.
Troubleshooting
foot-server is not started after login
The
foot-server.service
and
foot-server.socket
units require
graphical-session.target
, but Sway does not set it automatically. So create a
sway-session.target
unit and start it whenever Sway started by following the steps in
Sway#Manage Sway-specific daemons with systemd
.
Foremost

Related articles
File Recovery
Foremost
is a console program to recover files based on their headers, footers, and internal data structures.  This process is commonly referred to as data carving. Foremost can work on image files, such as those generated by dd, Safeback, Encase, etc, or directly on a drive. The headers and footers can be specified by a configuration file or you can use command line switches to specify built-in file types. These built-in types look at the data structures of a given file format allowing for a more reliable and faster recovery.
Installation
Install
the
foremost
package.
Configuration
In most cases, it is not necessary to configure Foremost, since in default operation, it already recognizes most of the usual file types. Nevertheless, one could add additional file headers for detection, e.g. adding entries or uncomment examples:
/etc/foremost.conf
#	wma     y       8000000  \x30\x26\xB2\x75    \x00\x00\x00\xFF
#
#	wma     y       8000000  \x30\x26\xB2\x75    \x52\x9A\x12\x46
#
	mp3     y    	8000000 \xFF\xFB??\x44\x00\x00
	mp3     y    	8000000 \x57\x41\x56\45            \x00\x00\xFF\
	mp3     y    	8000000 \xFF\xFB\xD0\            \xD1\x35\x51\xCC\
	mp3     y    	8000000 \x49\x44\x33\
	mp3     y    	8000000 \x4C\x41\x4D\x45\
Usage
Note
Instead on working directly on the hard disc which should be recovered, consider creating a backup image, for example using
dd_rescue
and use this with Foremost.
Run following command with image or device path as parameter and additional path to an output directory:
# foremost -t all -i
/path/to/image
-o
outputdir
The parameter
-t all
tries to recover all known file types.
See also
Homepage:
https://foremost.sourceforge.net
Entry in Forensicswiki.org:
https://forensics.wiki/foremost/
Forticlient-vpn

This article or section needs language, wiki syntax or style improvements. See
Help:Style
for reference.
Reason:
Missing
installation instructions
. Does not follow
Help:Style#systemd units operations
and
Help:Style#"See also" section
. (Discuss in
Talk:Forticlient-vpn
)
Related articles
OpenConnect
Usage
After installation the service must be enabled:
systemctl enable --now forticlient.service
By default the packages binaries are installed in
/opt/forticlient/
.
To configure a new profile:
fortivpn edit <profile_name>
To connect:
fortivpn connect <profilename> -u <username>
To disconnect:
fortivpn disconnect <profilename>
References
https://community.fortinet.com/t5/FortiClient/Technical-Tip-FortiClient-Installation-Configuration-in-Ubuntu/ta-p/207963
Fortran

Related articles
List of programming languages
Fortran
is a general-purpose, compiled imperative programming language that is especially suited to numeric computation and scientific computing.
From the
Fortran Community (fortran-lang)
site:
Fortran is mature and under active development. The latest revision of the language is Fortran 2023. There are over a dozen open source and proprietary Fortran compilers. Further, open source projects like the Standard Library and the Fortran Package Manager are under active development.
Compilers
The
gcc-fortran
package enables the Fortran front-end for
GCC
.
Other Fortran compilers available for Arch Linux include
lfortran
— Modern interactive Fortran compiler built on top of LLVM
https://lfortran.org
||
lfortran
AUR
(LLVM) Flang
— New LLVM front-end for Fortran 2018 implemented in modern C++
https://flang.llvm.org/
||
flang
AUR
Flang (classic)
— Out-of-tree Fortran compiler targeting LLVM (to be replaced by the new Flang in the future)
https://github.com/flang-compiler/flang
||
flang-classic
AUR
See also
fortran-lang
for a list of open-source and commercial compilers. Check your compiler documentation to verify which
standards
it conforms to and what language extensions it provides.
Additional packages
Fortran Standard Library
— Aims to provide a community driven and agreed upon de facto "standard" library for Fortran (currently in alpha)
https://stdlib.fortran-lang.org/
||
fortran_stdlib
AUR
Fortran Package Manager
— Package manager and build system for Fortran (currently in alpha)
https://fpm.fortran-lang.org/
||
fortran-fpm
AUR
fortran-fpm-bin
AUR
fortls
— Fortran Language Server
https://fortls.fortran-lang.org/
||
fortls
AUR
FORD
— Generates documentation from code comments.
https://github.com/Fortran-FOSS-Programmers/ford
||
ford
AUR
f2c
— Fortran to C code translator
https://www.netlib.org/f2c/
||
f2c
AUR
See also
the fortran-lang package index
.
See also
FortranCon2021/Fortran-lang: The State of Fortran (YouTube)
fortran-lang resources for learning modern Fortran
The Fortran Wiki
The
J3 (US)
and
WG5 (international)
Fortran Standards committees.
Fortune

Related articles
ASCII art
fortune
is a simple program that displays random poignant, inspirational, silly or snide phrases from a database of quotations. The
fortune
command-line utility is part of the
fortune-mod
package.
Installation
Install
fortune-mod
. Alternatively install
misfortune
, a fortune-mod clone written in haskell.
The
fortune-mod
package in official Arch Linux repositories doesn't include offensive fortunes but you can get offensive content enabled, if you install the alternative
fortune-mod-off
AUR
build from the AUR.
Tip
Meta packages which provide quotes from specific sources are available in the
AUR
under the prefix "fortune-mod-".  For example,
fortune-mod-archlinux
AUR
contains Arch-related quotes.
Usage
Command-line in a terminal:
$ fortune
It is Texas law that when two trains meet each other at a railroad crossing,
each shall come to a full stop, and neither shall proceed until the other has gone.
To display a random quote when launching an interactive terminal, add the
fortune
command to the
configuration file of your preferred shell
, for example:
~/.bashrc
#!/bin/bash
fortune
Note
fortune
displays quotes and phrases deemed by its maintainer to be
non-offensive
. Aphorisms can be enabled as a mix of offensive/non-offensive or as potentially offensive output only. See
fortune(6)
for more information.
Creating custom files
In order to create a custom file, you must first create a file containing the quotes. Between each quote you must add a line containing only the
%
character. Save this file using whatever name you want, for example
myquotes
. Then, run
strfile
myquotes
in a terminal,  in order to enable random access of the quotes. You can now access the quotes by executing
fortune
myquotes
in a terminal. For this command to work you must be on the same directory as the
myquotes
and
myquotes
.dat
files. If you want your quotes to be accessible by just running the
fortune
command, you must move
both
files into the
/usr/share/fortune/
directory. If you want to make any changes to your file, repeat from the start.
Cowsay
See
ASCII art#Cowsay
.
Ponysay
See
ASCII art#Ponysay
.
See also
fortune-mod GitHub project page
Framework Laptop 13 (11th Gen Intel Core)

This article or section needs expansion.
Reason:
This page is under construction - read
Framework Laptop 13
for the time being  (Discuss in
Talk:Framework_Laptop_13#Page_per_mainboard
)
Hardware
PCI/USB ID
Working?
Wi-Fi
See Table
Audio
8086:a0c8
Yes
Touchpad
093a:0274
Yes
Keyboard
Yes
Webcam
0bda:5634
Yes
Fingerprint reader
27c6:609c
Yes
Bluetooth
See Table
TPM
Yes
Ambient Light Sensor
Yes
This article covers the installation and configuration of Arch Linux on a Framework Laptop 13 with a 11th Gen Intel Core mainboard.
For a general overview of laptop-related articles and recommendations, see
Laptop
.
Installation
Ensure you have
linux-firmware
installed, as pointed out by
Installation guide#Install essential packages
before reporting hardware issues on the Arch bug tracker or Framework Community boards. It is an optional dependency of
linux
and does not automatically get installed as part of
base
. Without it, much of the hardware will be detected but may not be fully functional. You will see firmware loading issues in the
journal
.
Display
The display module is uncalibrated from factory, giving a suboptimal default sRGB coverage. It is thus recommended to apply
this
ICC profile
if you have this display in order to have better color reproduction.
Wi-Fi/Bluetooth
Device Name
PCI ID
Bluetooth USB ID
Working?
Bluetooth?
Notes
AX200
8086:2723
8087:0029
Yes
Yes
Pre-production units
AX201
8086:a0f0
8087:0026
Yes
Yes
Base/Performance Editions
AX201 vPro
Untested
Untested
Professional Edition
AX210
8086:2725
8087:0032
Yes
Yes
DIY Edition (Optional)
AX210 vPro
8086:2725
8087:0032
Yes
Yes
DIY Edition (Optional)
Speakers
By default, the speakers do not sound very balanced due to the downward firing speakers, so you may want to use an equalizer to fix this. The recommended method is to install
EasyEffects
and use the official preset found
here
.
Alternatively, you can use user-created profiles such as
this one
created by cab404.
Fingerprint reader
Install
fprint
to enable fingerprint authentication.
If you have fitted a replacement fingerprint reader module you will need to upgrade the firmware following the article on the
Framework knowledgebase
if your reader isn't recognised.
Ambient light sensor
Install
iio-sensor-proxy
to enable automatic brightness in Gnome. Other desktop environments are unsupported at this time.
See also
ArchWiki vendor page
11th Gen Intel Core Knowlegebase
[
dead link
2025-03-15—HTTP 404]
Framework Linux forum
Framework Laptop 13 (12th Gen Intel Core)

This article or section needs expansion.
Reason:
This page is under construction - read
Framework Laptop 13
for the time being  (Discuss in
Talk:Framework_Laptop_13#Page_per_mainboard
)
Hardware
PCI/USB ID
Working?
Wi-Fi
See Table
Audio
8086:a0c8
Yes
Touchpad
093a:0274
Yes
Keyboard
Yes
Webcam
0bda:5634
Yes
Fingerprint reader
27c6:609c
Yes
Bluetooth
See Table
TPM
Yes
Ambient Light Sensor
Yes
This article covers the installation and configuration of Arch Linux on a Framework Laptop 13 with a 12th Gen Intel Core mainboard.
For a general overview of laptop-related articles and recommendations, see
Laptop
.
Installation
Ensure you have
linux-firmware
installed, as pointed out by
Installation guide#Install essential packages
before reporting hardware issues on the Arch bug tracker or Framework Community boards. It is an optional dependency of
linux
and does not automatically get installed as part of
base
. Without it, much of the hardware will be detected but may not be fully functional. You will see firmware loading issues in the
journal
.
Display
The display module is uncalibrated from factory, giving a suboptimal default sRGB coverage. It is thus recommended to apply
this
ICC profile
if you have this display in order to have better color reproduction.
Wi-Fi/Bluetooth
Device Name
PCI ID
Bluetooth USB ID
Working?
Bluetooth?
Notes
AX201
8086:a0f0
8087:0026
Yes
Yes
Base/Performance Editions
AX201 vPro
Untested
Untested
Professional Edition
AX210
8086:2725
8087:0032
Yes
Yes
DIY Edition (Optional)
AX210 vPro
8086:2725
8087:0032
Yes
Yes
DIY Edition (Optional)
Speakers
By default, the speakers do not sound very balanced due to the downward firing speakers, so you may want to use an equalizer to fix this. The recommended method is to install
EasyEffects
and use the official preset found
here
.
Alternatively, you can use user-created profiles such as
this one
created by cab404.
Fingerprint reader
Install
fprint
to enable fingerprint authentication.
If you have fitted a replacement fingerprint reader module you will need to upgrade the firmware following the article on the
Framework knowledgebase
if your reader isn't recognised.
Ambient light sensor
Install
iio-sensor-proxy
to enable automatic brightness in Gnome. Other desktop environments are unsupported at this time.
See also
ArchWiki vendor page
12th Gen Intel Core Knowlegebase
Framework Linux forum
Framework Laptop 13 (13th Gen Intel Core)

This article or section needs expansion.
Reason:
This page is under construction - read
Framework Laptop 13
for the time being  (Discuss in
Talk:Framework_Laptop_13#Page_per_mainboard
)
Hardware
PCI/USB ID
Working?
GPU
Untested
Wi-Fi
See Table
Yes
Audio
Unknown
Untested
Touchpad
093a:0274
Yes
Keyboard
Yes
Webcam
0bda:5634
Yes
Fingerprint reader
27c6:609c
Yes
Bluetooth
See Table
Yes
TPM
Untested
Ambient Light Sensor
Yes
This article covers the installation and configuration of Arch Linux on a Framework Laptop 13 with a 13th Gen Intel Core mainboard.
For a general overview of laptop-related articles and recommendations, see
Laptop
.
Installation
Ensure you have
linux-firmware
installed, as pointed out by
Installation guide#Install essential packages
before reporting hardware issues on the Arch bug tracker or Framework Community boards. It is an optional dependency of
linux
and does not automatically get installed as part of
base
. Without it, much of the hardware will be detected but may not be fully functional. You will see firmware loading issues in the
journal
.
Display
The display module is uncalibrated from factory, giving a suboptimal default sRGB coverage. It is thus recommended to apply
this
ICC profile
if you have this display in order to have better color reproduction.
Wi-Fi/Bluetooth
Device Name
PCI ID
Bluetooth USB ID
Working?
Bluetooth?
Notes
AX210
8086:2725
8087:0032
Yes
Yes
Base/Performance Edition
AX210 vPro
8086:2725
8087:0032
Yes
Yes
Professional Edition
Speakers
By default, the speakers do not sound very balanced due to the downward firing speakers, so you may want to use an equalizer to fix this. The recommended method is to install
EasyEffects
and use the official preset found
here
.
Alternatively, you can use user-created profiles such as
this one
created by cab404.
Fingerprint reader
Install
fprint
to enable fingerprint authentication.
If you have fitted a replacement fingerprint reader module you will need to upgrade the firmware following the article on the
Framework knowledgebase
if your reader isn't recognised.
Ambient light sensor
Install
iio-sensor-proxy
to enable automatic brightness in Gnome. Other desktop environments are unsupported at this time.
See also
ArchWiki vendor page
13th Gen Intel Core Knowlegebase
[
dead link
2025-03-15—HTTP 404]
Framework Linux forum
Framework Laptop 13 (AMD Ryzen AI 300 Series)

This article or section needs expansion.
Reason:
This page is under construction - read
Framework Laptop 13
for the time being  (Discuss in
Talk:Framework_Laptop_13#Page_per_mainboard
)
Hardware
PCI/USB ID
Working?
GPU
1002:150e
Yes
Wi-Fi
14c3:0717
Yes
Audio
Yes
Touchpad
Yes
Keyboard
Yes
Webcam (2nd Gen)
32ac:001c
Yes
Fingerprint reader
27c6:609c
Yes
Bluetooth
0e8d:0717
Yes
TPM
Untested
Ambient light sensor
Yes
This article covers the installation and configuration of Arch Linux on a Framework Laptop 13 with a AMD Ryzen AI 300 Series mainboard.
For a general overview of laptop-related articles and recommendations, see
Laptop
.
Installation
It is highly recommended to use the latest stable kernel (
linux
) as
linux-lts
does not yet include patches for the Strix Point, Krackan Point APU and Zen 5 platform that improve stability, power efficiency and performance.
Note
Ensure you have
linux-firmware
installed, as pointed out by
Installation guide#Install essential packages
before reporting hardware issues on the Arch bug tracker or Framework Community boards. It is an optional dependency of
linux
and does not automatically get installed as part of
base
. Without it, much of the hardware will be detected but may not be fully functional. You will see firmware loading issues in the
journal
.
Fingerprint reader
Install
fprint
to enable fingerprint authentication.
You will need to upgrade the fingerprint reader firmware following the article on the
Framework knowledgebase
if your reader isn't recognised.
See also
ArchWiki vendor page
Framework Linux forum
Framework Laptop 13 (Intel Core Ultra Series 1)

This article or section needs expansion.
Reason:
This page is under construction - read
Framework Laptop 13
for the time being  (Discuss in
Talk:Framework_Laptop_13#Page_per_mainboard
)
Hardware
PCI/USB ID
Working?
GPU
Yes
Wi-Fi
8086:2725
Yes
Audio
Unknown
Yes
Touchpad
Unknown
Yes
Keyboard
Unknown
Yes
Webcam
32ac:001c
Yes
Fingerprint reader
27c6:609c
Yes
Bluetooth
8087:003
Yes
TPM
Untested
Ambient light sensor
Untested
This article covers the installation and configuration of Arch Linux on a Framework Laptop 13 with an Intel Core Ultra Series 1 mainboard.
For a general overview of laptop-related articles and recommendations, see
Laptop
.
Display
The Core Ultra Series 1 can be configured with one of two different displays.
The default 2256x1504 resolution display has 400nit brightness and 60Hz refresh rate. The matte display module is manufactured by
BOE
and is uncalibrated from factory, giving a suboptimal default sRGB coverage. It is thus recommended to apply
this
ICC profile
if you have this display in order to have better color reproduction.
The newer 2880x1920 resolution display, better known as the 2.8k display module has 30-120Hz
variable refresh rate
and
10-bit color
support. This display can be identified by the rounded top corners. The 2.8k display resolution at 256 DPI is perfect for 2x scaling factor as many desktop environments under Linux currently struggle with fractional scaling.
This
ICC profile
is available to improve color reproduction.
Speakers
By default, the speakers do not sound very balanced due to the downward firing speakers, so you may want to use an equalizer to fix this. The recommended method is to install
EasyEffects
and use the official preset found
here
.
Alternatively, you can use user-created profiles such as
this one
created by cab404.
Fingerprint reader
Install
fprint
to enable fingerprint authentication.
Ambient light sensor
Install
iio-sensor-proxy
to enable automatic brightness in Gnome.
See also
ArchWiki vendor page
Intel Core Ultra Series 1 Knowlegebase
Framework Linux forum
FrankenWM

Related articles
Window manager
From
FrankenWM
:
FrankenWM is a dynamic tiling
window manager
(comparable to
dwm
or
awesome
), featuring the v-stack, b-stack, grid, fibonacci, dualstack, equal and monocle layouts out of the box. If you want to, you can add gaps between the windows as well.
Installation
Install
the
frankenwm
AUR
package. Due to the absence of releases since 2020, you may want to try the
frankenwm-git
AUR
package.
Starting
From tty
Run
frankenwm
with
xinit
Configuration
Configuration is done at compile time by editing
config.h
. There are lots of comments in the default configuration (
config.def.h
) which explain what the settings are doing.
Note
For configuration changes to take place you must supply
config.h
within
#Installation
and rebuild and reinstall the package.
Usage
The basic usage includes opening a terminal (
Meta+Enter
), opening dmenu (
Meta+r
) and closing windows (
Meta+c
). There is a complete, sorted list of the default keybinds and explanations of the tiling layouts in
frankenwm(1)
.
Panels
FrankenWM does not come with a panel included, but gives you the possibility to leave space either at the top or bottom for one, like
conky
or
dzen
. There are a couple of settings in the configuration for this space.
If you want to use FrankenWM's status in your bar, you can pipe FrankenWM to a shell script to parse the output and pipe it to a bar. Sample scripts to accomplish this with a few different bar are located
here
.
Troubleshooting
I do not see anything
This is normal behaviour, as FrankenWM does not come with a bar included or a desktop background, so after running
frankenwm
without anything else, you will probably see a black screen. See Panels above for information on how to add a panel to your desktop. Wallpapers can be set by using software like xsetroot, feh or hsetroot.
I cannot open a terminal/menu
Have a look at the
config.h
used to build your currently running version of FrankenWM, which is located in the build directory. Make sure that both the shortcut to run the
termcmd
/
menucmd
command and the
termcmd
/
menucmd
itself are set properly to start an installed terminal/menu.
FreeRADIUS

The FreeRADIUS server
is a daemon for Unix and Unix-like operating systems which allows one to set up a
RADIUS
protocol server.
Installation
Install
freeradius
.
Create your keys using:
# /etc/raddb/certs/bootstrap
You may want to investigate the
ca.cnf
,
client.cnf
, and
server.cnf
files to customize properties of
the generated certs, or simply create your own certs and keys if you want to sign them with a different CA - by default the bootstrap script generates a new CA to sign the keys.
Basic usage
Start
freeradius.service
.
Configuration
The configuration files can be found under
/etc/raddb/
.
See also
Wikipedia:FreeRADIUS
FreeRADIUS Wiki
FreeRADIUS documentation
Freeswitch

The
FreeSWITCH
telephony engine is a powerful system enabling voice, video, presence, chat, and other media types via a variety of protocols.
Installing
Install
the 'release' version with
freeswitch
AUR
.
You may wish to configure FreeSWITCH build options. Edit the
PKGBUILD
and change
build configuration
options to suit your desired usage.
Note
Editing the PKGBUILD will configure both
modules.conf
and
autoload_configs/modules.conf.xml
according to the modules listed in
ENABLED_MODULES
and
DISABLED_MODULES
.
Configuring
The FreeSWITCH configuration files with the custom
modules.conf
and
modules.conf.xml
reside in
/etc/freeswitch
.  For following FreeSWITCH documentation, the base directory is
/var/lib/freeswitch
(generally seen as
/usr/local/freeswitch
in FreeSWITCH documentation).
FreeSWITCH comes out of the box with a default password for registrations to users 1000-1019 as '1234'.  You are advised to change this before running it.  This variable is set in
/etc/freeswitch/vars.xml
.  The overall default configuration given is a kitchen sink featured PBX, likely many more things than are typically used.  Customizing the PBX (or non-PBX) features of FreeSWITCH is beyond the scope of this document; see the
FreeSWITCH Wiki
for in-depth documentation.
Upstream documentation as well as the original
conf/
directory are provided in
/usr/share/doc/freeswitch
.
Running
Startup options are configured in
/etc/conf.d/freeswitch.conf
.  You may wish to add
-nonat
if you are not behind nat, see
freeswitch --help
for a full list of command line options.
FreeSWITCH can be
started
using the
freeswitch.service
.
To start FreeSWITCH upon each boot,
enable
freeswitch.service
.  You will need to use the
-nc
and
-nf
options to the
freeswitch
command line to keep it running in the foreground as supervisors expect.
Testing
Fire up a SIP Client
Register to your FreeSWITCH box as user 1000, password what you set as
default_password
in
vars.xml
Dial 9196 (You should connect to an Echo Test)
To measure call capacity, you can use
StarTrinity SIP Tester
(see an example
performance report for 2250 G.711 channels
)
Hints
To see interesting things you can do with a dialplan, open up
/etc/freeswitch/dialplan/default.xml
and scroll through those examples.  Dialing the numbers that match the 'expression' of a condition from your SIP client will demonstrate their use.
You can dial into the FreeSWITCH public voice conference, for instance, by dialing 9888 (8k codec), 91616 (16k codec), or 93232 (32k codec)
FreeSWITCH support is available in #freeswitch on Libera Chat.
Free Pascal package guidelines

Arch package guidelines
32-bit
–
CLR
–
CMake
–
Cross
–
DKMS
–
Eclipse
–
Electron
–
Font
–
Free Pascal
–
GNOME
–
Go
–
Haskell
–
Java
–
KDE
–
Kernel modules
–
Lisp
–
Meson
–
MinGW
–
Node.js
–
Nonfree
–
OCaml
–
Perl
–
PHP
–
Python
–
R
–
Ruby
–
Rust
-
Security
–
Shell
–
VCS
–
Web
–
Wine
This page explains on how to write
PKGBUILDs
for software built with the
Free Pascal Compiler (FPC)
. Compiling for x86_64 Arch Linux requires the
fpc
package.
Free Pascal
Package naming
The project name alone is usually sufficient. However, in the case of cross-compiling, the package should be prefixed with
fpc32-
when targeting i686 Linux from multilib and named in the format of
fpc-
cpu
-
system
-
pkgname
when targeting non-Arch Linux systems.
Helpful snippets
Determine FPC's version and the CPU and OS of the units to output:
_unitdir=`fpc -iSP`-`fpc -iSO`
_fpcver=`fpc -iV`
Packaging
Please adhere to the following when making an FPC-based package:
always add
fpc
to either
makedepends
or
depends
always put all compiled units (*.a, *.compiled, *.o, *.ppu, *.res, *.rsj) under
/usr/lib/fpc/
$_fpcver
/units/
$arch
-linux
add
staticlibs
to
options
if installing an import library
Cross compiling
always add the corresponding cross compiler package mentioned above (
fpc-
cpu
-
system
-rtl
) to
depends
always add
!strip
to
options
for non-Unix-based systems
always put all compiled units (*.a, *.compiled, *.o, *.ppu, *.res, *.rsj) under
/usr/lib/fpc/
$_fpcver
/units/
$_unitdir
(or if multilib,
/usr/lib/fpc/
$_fpcver
/units/i386-linux
)
always use
any
(
x86_64
if multilib) as the architecture
add
staticlibs
to
options
if installing an import library
Fujitsu Lifebook U9311

This article or section does not follow the
Laptop page guidelines
.
Reason:
Missing the required "Accessibility" and "Function keys" sections. (Discuss in
Talk:Fujitsu Lifebook U9311
)
Hardware
PCI/USB ID
Working?
Touchpad
Yes
Keyboard
Yes
Trackpoint
Yes
GPU
8086:9a78
Yes
Webcam
Yes
Ethernet
8086:15fc
Yes
Bluetooth
Yes
Audio
8086:a0c8
Yes
Wi-Fi
8086:a0f0
Yes
Fingerprint reader
27c6:5503
No
Firmware
fwupd
does not support this device.
Intel Wi-Fi 6 AX200
For models with the Intel AX200 wireless adapter, the interface can engage in power saving when running on battery which increases network latency.
To avoid this issue, you can disable power saving by following the instructions in
Power management#Network interfaces
.
Suspend
All Tiger Lake/Alder Lake Fujitsu laptops face a long-standing BIOS bug related to Intel graphics since 2021, still unfixed as of Sep 2025.
Symptoms include i915 driver errors in kernel log, waking up to a black screen or flickering screen from s2idle, and working HDMI output and everything else despite black screen, as this bug only affects the internal eDP connection to the display panel.
There are multiple reports online, such as
on ArchBBS
and
Ubuntu Launchpad
,
[1]
,
[2]
.
Affected models
This list is incomplete:
U9311 and its variants.
U9312 and its variants.
E5411 and its variants.
ACPI patch
This solution was developed on
FreeDesktop
. Extract and decompile the SSDT table. For this model, the code is found in SSDT4.
# cat /sys/firmware/acpi/tables/SSDT4 > SSDT4.aml
$ iasl -d SSDT4.aml
Apply the required changes.
fujitsu-vdd.patch
--- SSDT4.dsl.orig	2024-07-29 18:33:14.782373152 +0200
+++ SSDT4.dsl	2024-07-29 18:38:33.021477685 +0200
@@ -18,7 +18,7 @@
  *     Compiler ID      "INTL"
  *     Compiler Version 0x20160422 (538313762)
  */
-DefinitionBlock ("", "SSDT", 2, "INTEL ", "IgfxSsdt", 0x00003000)
+DefinitionBlock ("", "SSDT", 2, "INTEL ", "IgfxSsdt", 0x00003001)  
 {
     External (_SB_.PC00, DeviceObj)
     External (_SB_.PC00.GFX0, DeviceObj)
@@ -115,11 +115,6 @@
         {
             If ((PDRD () == Zero))
             {
-                If ((VDDE == One))
-                {
-                    VDDE = Zero
-                    Sleep (0x01F4)
-                }
             }

             NDID = 0x02
@@ -2479,11 +2474,6 @@
             {
                 If ((PDRD () == Zero))
                 {
-                    If ((VDDE == One))
-                    {
-                        VDDE = Zero
-                        Sleep (0x01F4)
-                    }
                 }
             }
Recompile
$ iasl -sa SSDT4.dsl.
Load the file by one of the methods described in
DSDT#Using modified code
.
FuseISO

FuseISO
is a
FUSE
module to let unprivileged users mount
ISO
filesystem images (
.iso
,
.nrg
,
.bin
,
.mdf
and
.img
).
Installation
Install
the
fuseiso
package.
Usage
Mounting
To mount an image:
$ fuseiso
image
directory
The destination mount point must be writable and have no other mounted files or devices to it.
Run
fuseiso -h
for all the available options.
Unmounting
To unmount the image:
$ fusermount -u
directory
The command can be used to disconnect other storage devices mounted by other mount tools.
Integration
GNOME Files
For users of GNOME there is an easy way of using fuseiso from the nautilus-context menu.
First you will need the
actions-for-nautilus-git
AUR
package, then you need to save the following scripts to a folder of your choice (e.g.
~/.local/bin/
):
filemanager-actions-iso-mount.sh
#!/bin/sh

FILE=$(basename "$1")
MOUNTPOINT="$HOME/Desktop/$FILE"

fuseiso -p "$1" "$MOUNTPOINT"
filemanager-actions-iso-umount.sh
#!/bin/sh

FILE=$(basename "$1")
MOUNTPOINT="$HOME/Desktop/$FILE"

fusermount -u "$MOUNTPOINT"
Make them
executable
. 
Now, start
Actions for Nautilus
.
Add a new action with the following settings:
On the
Basic
tab:
Label for the command:
Mount ISO
Command line to execute:
/path_to_scripts/filemanager-actions-iso-mount.sh %F
Current working directory:
%d
On the
Path patterns
tab, add each of the following patterns:
*.iso
*.nrg
*.bin
*.img
*.mdf
With this action you can mount ISO-images to your Desktop. It will create a folder in ~/Desktop with the name of the iso. fuseiso will mount the iso to this folder.
And a second one:
On the
Basic
tab:
Label for the command:
Unmount ISO
Command line to execute:
/path_to_scripts/filemanager-actions-iso-umount.sh %F
Current working directory:
%d
On the
Path patterns
tab, add each of the following patterns:
*.iso
*.nrg
*.bin
*.img
*.mdf
This second action will unmount the mounted iso and remove the folder from the desktop.
Save the configuration then restart Nautilus with
nautilus -q
in a Terminal window.
Sometimes you have to logout to be able to mount any image of the given types simply by right clicking it in Files and selecting
Mount ISO
. To unmount it again, just right click the corresponding folder on your desktop and select
Unmount ISO
.
Nemo
Nemo
as a file browser has a packaged function on right click to mount an iso with the
gnome-disk-utility
package. unmount is done by clicking on the respective icon of the mounted iso, just like one would do for USB drives.
fzf

fzf
is a general-purpose command-line fuzzy finder.
Installation
Install
the
fzf
package.
Configuration
This article or section needs expansion.
Reason:
It should be at least mentioned that shell completer is not the only usecase which requires configuration. (Discuss in
Talk:Fzf
)
Shells
Optional
fzf keybindings
and completion are available for various shells:
Ctrl+t
list files+folders in current directory (e.g., type
git add
, press
Ctrl+t
, select a few files using
Tab
, finally
Enter
)
Ctrl+r
search history of shell commands
Alt+c
fuzzy change directory
Bash
Source
the desired files from your
.bashrc
:
/usr/share/fzf/key-bindings.bash
/usr/share/fzf/completion.bash
From version 0.48 onwards, this can be accomplished with a single line:
eval "$(fzf --bash)"
The original syntax is still supported and useful for user-customized versions of the scripts.
Zsh
Source the desired files from your
.zshrc
(after vi-mode, if using that, too):
/usr/share/fzf/key-bindings.zsh
/usr/share/fzf/completion.zsh
From version 0.48 onwards, this can be accomplished with a single line:
source <(fzf --zsh)
fish
For
fish
, keybindings are in:
/usr/share/fish/vendor_functions.d/fzf_key_bindings.fish
fish will source this by default but the bindings have to be enabled manually:
~/.config/fish/functions/fish_user_key_bindings.fish
function fish_user_key_bindings
	fzf_key_bindings
end
fzf completion in fish can be enabled with custom functions:
https://github.com/junegunn/fzf/wiki/Examples-(fish)
Vim
The basic
Vim
plugin is already included within the package and installed to Vim's global plugin directory. Thus, you do not need to add anything to your
.vimrc
to be able to use it. It only provides the FZF command, though. There is an additional Vim plugin made by the author of fzf that defines some convenience functions, see
https://github.com/junegunn/fzf.vim
.
Arch specific fzf uses
Pacman
Try this to fuzzy-search through all available packages, with package info shown in a preview window, and then install selected packages:
$ pacman -Slq | fzf --multi --preview 'pacman -Si {1}' | xargs -ro sudo pacman -S
List all your installed packages, and then remove selected packages:
$ pacman -Qq | fzf --multi --preview 'pacman -Qi {1}' | xargs -ro sudo pacman -Rns
If you want to add package file list in preview – may be a bit slower updating preview window (make sure you run
pacman -Fy
with root privileges at least once before invocation to sync the
pacman
file database):
$ pacman -Slq | fzf --multi --preview 'cat <(pacman -Si {1}) <(pacman -Fl {1} | awk "{print \$2}")' | xargs -ro sudo pacman -S
Alternatives
skim
– fuzzy finder written in
Rust
fzy
– fuzzy finder/selector
Galera

Galera
is a synchronous multi-master cluster for
MySQL
/
InnoDB
databases.
Note
Currently replication is supported only for InnoDB tables.
Installation
The two components Galera cluster comprised of are Galera plugin itself and a patched version of MySQL server which connect using wsrep API.
Install the
galera
package. Also you will need
rsync
and
lsof
packages for rsync method.
Start/Enable
the
mysqld.service
daemon.
Configuration
You need to configure the cluster.
On each node edit
/etc/my.cnf.d/server.cnf
and update the
wsrep_cluster_address
variable so it contains the list of all nodes in the cluster:
/etc/my.cnf.d/server.cnf
wsrep_cluster_address="gcomm://192.168.1.4,192.168.1.5,192.168.1.6"
Change the variables
wsrep_node_address
and
wsrep_node_name
to the IP address/hostname and name (this does not need to be unique) for each node, e.g.:
/etc/my.cnf.d/server.cnf
wsrep_node_address='192.168.1.4'
wsrep_node_name='node1'
The
wsrep_cluster_name
variable should contain the same name for all cluster nodes:
/etc/my.cnf.d/server.cnf
wsrep_cluster_name='my_galera_cluster'
Also, set
wsrep_sst_method
to the desired state snapshot transfer method, the preferred one is rsync.
/etc/my.cnf.d/server.cnf
wsrep_sst_method=rsync
Make sure you also set the following options:
/etc/my.cnf.d/server.cnf
wsrep_on=ON
wsrep_provider=/usr/lib/galera/libgalera_smm.so
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
binlog_format=row
When you have finished with
/etc/my.cnf.d/server.cnf
, bootstrap the mysqld service on the first node (ONLY on the first node):
# galera_new_cluster
This will bootstrap the cluster. Use MySQL's command line tool to log in as root into your MySQL server:
$ mysql -p -u root
Check the status of the cluster, this will show you wsrep-related status variables:
mysql> SHOW STATUS LIKE 'wsrep_%';
| wsrep_local_state          | 4                                    |
| wsrep_local_state_comment  | Synced                               |
| wsrep_cert_index_size      | 0                                    |
| wsrep_causal_reads         | 0                                    |
| wsrep_incoming_addresses   | 192.168.1.4:3306                     |
| wsrep_cluster_conf_id      | 1                                    |
| wsrep_cluster_size         | 1                                    |
| wsrep_cluster_state_uuid   | 6cd96745-2ea8-11e3-bbc8-d666651b51ef |
| wsrep_cluster_status       | Primary                              |
| wsrep_connected            | ON                                   |
| wsrep_local_index          | 0                                    |
| wsrep_provider_name        | Galera                               |
If you use the xtrabackup or mysqldump SST method, you will need to create a MySQL user for sst transfers.
Once you configured the first node, you should be able to
start
mysqld.service
.
See also
Galera Wiki
[
dead link
2025-11-17—domain name not resolved]
Percona XtraDB Cluster's documentation
How to Bootstrap MySQL or MariaDB Galera Cluster
How To Recover MariaDB Galera Cluster After Partial or Full Crash
[
dead link
2024-10-12—HTTP 404]
Gambas

Related articles
List of programming languages
Gambas
is an object-oriented dialect of the
BASIC
programming language as well as the integrated development environment that accompanies it.
Installation
Gambas consists of a runtime and IDE further broken up into several distinct components. Not all of them may be needed for what you wish to do with the IDE or for running a specific Gambas application. If you do not want to pick a subset tailored to your requirements, you can
install
the whole
gambas3
group.
Tips and tricks
Gambas 3 can build installation packages for various distributions and has support for building Arch packages, perfect for use with the
AUR
.
Gambas supports both the
GTK
and
Qt
toolkits and can make use of both, allowing the application to fit seamlessly into most
Desktop environments
. This also applies to applications made inside the Gambas IDE, assuming the gb3-gui component is used.
See also
Gambas Website
Gambas Wiki
Gambas Examples
- several pieces of example code geared to game development.