Platform Notes (GNU/Linux)
Contents
Port Status
The GNU/Linux port is a Tier 1 Port
Verified Releases
- FreeM 0.62.3 (27 Mar 2025)
- FreeM
cvs-current
- FreeM 0.62.1 (14 Mar 2025)
- FreeM 0.61.2
- FreeM 0.59.2 (04 Aug 2023)
Testing Details
We build and test the GNU/Linux port on a system with the following specifications:
- amd64-based host
- Arch Linux running the 6.12.18-1-lts Linux kernel
- GNU gcc v14.2.1
- GNU autoconf 2.72
- GNU automake 1.17
Required Kernel Tuning
For the default daemon configuration, you will need a kernel.shmmax
parameter of at least 6000000
.
To check the current value of this kernel parameter, enter the following command:
$ sudo sysctl kernel.shmmax
If the reported value is less than 6000000, continue with the following procedure. Otherwise, your system already meets the requirements for running FreeM in the default configuration.
To apply an shm_max
of 6000000
, you will need to do the following:
- Create a file called
10-shmmax.conf
in/etc/sysctl.d
, containing the following information:
kernel.shmmax = 6000000
- Reboot your system
Installing on Debian GNU/Linux and derivatives
Repository Installation
On recent releases of Debian (Bullseye, Bookworm, and Trixie) and Ubuntu (Noble Numbat and Oracular Oriole), you can use the Coherent Logic Package Repository to install pre-built binary packages for amd64
, armhf
, and arm64
architectures.
- Follow the instructions at https://packages.coherent-logic.com to set up your computer for use with our package repository
- Run
sudo apt install freem
to install FreeM
Direct Package Installation
- Download the appropriate package from https://freem.coherent-logic.com/binaries.cfm
- Install the package with
sudo dpkg -i <package-file>
, substituting the name of the downloaded file for<package-file>
Starting the FreeM Daemon Automatically
systemd
To start the FreeM daemon automatically with systemd, you will need to first decide if you want the daemon to run as a system-level service, or as a user service under your normal user account.
System-Level Service
- Copy
scripts/systemd/system/freem.service
from the FreeM distribution to/etc/systemd/system
- Type the following commands as root:
groupadd freem
useradd -m -d /home/freem -g freem freem
- Type the following command for each user who will use FreeM, substituting the user's login name for
username
:usermod -aG freem username
- Type the following commands as root:
systemctl daemon-reload
systemctl enable freem
systemctl start freem
- You may then check the status of the daemon with the following command:
systemctl status freem
If the third line of output contains the text active (running)
, the service has been successfully configured and started.
User-Level Service
- Copy
scripts/systemd/user/freem.service
from the FreeM distribution to$HOME/.config/systemd/user
- Type the following commands:
$ systemctl --user enable freem $ systemctl --user start freem
- You may then check the status of the daemon with the following command:
$ sudo systemctl --user status freem
If the third line of output contains the text active (running)
, the service has been successfully configured and started.
sysvinit
Coming soon.