Increase vm.max_map_count value
Summary
This change aims at increasing the default value of the vm.max_map_count
sysctl
Owner
- Name: Alessandro Astone
- Email: ales.astone@gmail.com
Current status
- Targeted release: Fedora Linux 39
- Last updated: 2023-05-03
- devel thread
- FESCo issue: #2993
- Tracker bug: <will be assigned by the Wrangler>
- Release notes tracker: <will be assigned by the Wrangler>
Detailed Description
Increase the vm.max_map_count sysctl default value.
The goal is to improve compatibility with Windows games through wine or steam. Read on "Benefit to Fedora" for examples.
Steam Deck is shipping with a default of 2147483642
(MAX_INT - 5) up from 65530
of Fedora; it makes sense to follow their lead and set the same value.
Feedback
This was briefly discussed in #fedora-devel and received positively. Concerns over possible downsides were raised. I am not aware of any, but more input here is desired.
Benefit to Fedora
The following Windows games will work out of the box (through wine or steam):
- DayZ: https://steamcommunity.com/app/221100/discussions/0/3199241400256965913/
- Hogwarts Legacy: https://github.com/ValveSoftware/Proton/issues/6510
- Counter Strike 2 (Beta Windows build): https://www.youtube.com/watch?v=i02n_Ak98TA
- Any other software that might be invoking a lot of mmaps
Scope
- Proposal owners: Add the new default to
/usr/lib/sysctl.d/
- Other developers: No work will be necessary unless the new default is found breaking some software
- Release engineering: N/A (not needed for this Change)
- Policies and guidelines: N/A (not needed for this Change)
- Trademark approval: N/A (not needed for this Change)
- Alignment with Community Initiatives: N/A
Upgrade/compatibility impact
Upgrading to the new Fedora release will seamlessly update the default. No manual intervention is necessary.
How To Test
Temporarily set the new value with sudo sysctl -w vm.max_map_count=2147483642
Run any of the software listed above to verify that it now works.
Or run any other software to verify the change causes no regression.
User Experience
More Windows games will work out-of-the-box (through wine or steam)
Dependencies
None
Contingency Plan
- Contingency mechanism: Revert the shipped configuration
- Contingency deadline: Final Freeze
- Blocks release? No
Documentation
The default value is currently hard-coded in the kernel, at https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/include/linux/mm.h?h=v6.2.12#n203 . It cannot be changed through the kernel defconfig, instead it must be set through sysctl.
Release Notes
The default value of the vm.max_map_count sysctl is increased