Skip to content
anti-cheat.org
↑ ↓ navigate · ↵ openanti-cheat.org

Kernel & sysctl guide

Each tweak states what it changes and cites a source. Commands copy with one click and are never run for you.

vm.max_map_count

Memory-hungry games can crash when a process hits the kernel's limit on memory mappings. Fedora, Ubuntu and, since April 2024, Arch use 1048576 (the older default was 65530). Check yours first; if it already shows 1048576 or more, do nothing.

Check the current value

sysctl vm.max_map_count

Prints the limit in use right now.

Apply until reboot

sudo sysctl -w vm.max_map_count=1048576

Takes effect immediately and is lost on reboot. Good for testing.

Make it permanent

echo 'vm.max_map_count=1048576' | sudo tee /etc/sysctl.d/99-gaming.conf

Writes a drop-in file that is read at every boot. Apply it now with: sudo sysctl --system

Ubuntu 24.04: AppArmor user namespaces

Ubuntu 24.04 restricts unprivileged user namespaces through AppArmor. Apps that build their own sandboxes need an AppArmor profile that permits it, and a flaw in a shipped Steam profile made Steam stop with "Steam now requires user namespaces to be enabled". First update your packages, because fixes were released through updates.

The command below turns the restriction off for every application on the machine, not just Steam. Prefer updated packages or a per-app profile, and treat this as a temporary diagnostic.

Check the setting

sysctl kernel.apparmor_restrict_unprivileged_userns

1 means the restriction is on. 0 means it is off.

Turn the restriction off until reboot

sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0

A documented workaround. It reverts on reboot. If it fixes the problem, replace it with a proper profile instead of leaving it off.

Proton runtime flags

Set these in a game's Steam launch options. They help diagnose problems and are documented in Proton's README. There is no flag that enables Easy Anti-Cheat or BattlEye: that depends on the developer.

Write a log to your home folder

PROTON_LOG=1 %command%

Creates steam-<appid>.log, the file to attach to a bug report. Scrub it first with the log scrubber.

Turn off esync

PROTON_NO_ESYNC=1 %command%

Disables eventfd-based synchronization. Try it when a game hangs or crashes at launch.

Turn off fsync

PROTON_NO_FSYNC=1 %command%

Disables futex-based synchronization, which needs Linux 5.16 or newer.