What Are System Requirements?
System requirements define the “kind of machine” your environment can run on:- Linux with kernel version 4.18
- GNU C Library (glibc) version 2.28
- CUDA version 12
- macOS version 13.0
System requirements combine with your platform definitions to ensure environment consistency and machine compatibility.
How System Requirements Work
When resolving dependencies, Pixi combines:- Default requirements for your platforms
- Custom requirements from your
[system-requirements]table
__linux, __cuda, __glibc that declare system features without containing files. The solver uses them to filter incompatible packages.
The root-level
[system-requirements] applies to the default feature, affecting all environments that include it (unless no-default-feature = true).Version Semantics
System requirements specify the version available on your system, not a maximum or minimum:- Package requires
__cuda >= 12→ System with12.1,12.6, or higher matches ✅ - Package requires
__cuda <= 12→ System with12.0,11, or lower matches ✅
cuda-version-12.9:
Default System Requirements
Pixi provides sensible defaults per platform:- Linux
- Windows
- macOS Intel
- macOS ARM
Customizing System Requirements
Adjusting for Older Systems
If you see an error like:CUDA Configuration
To use CUDA, specify the version in system requirements:- CUDA is recognized during dependency resolution
- Packages requiring
__cuda >= 12.1can be installed - The version is locked into the lock file
Does system-requirements enforce CUDA runtime version?
Does system-requirements enforce CUDA runtime version?
No. The
cuda field specifies the CUDA version supported by your NVIDIA driver API, not the runtime version.It ensures packages with CUDA dependencies resolve correctly based on your driver’s capabilities.Environment-Specific Requirements
Set different system requirements per feature/environment:Available System Requirements
Linux
linux:"4.18","5.4","5.15"libc.family:"glibc","musl"libc.version:"2.17","2.28","2.31"
macOS
"11.0"- Big Sur"12.0"- Monterey"13.0"- Ventura"14.0"- Sonoma
CUDA
"11.8","12.0","12.1","12.2"
Architecture
"x86_64"- Intel/AMD 64-bit"aarch64"- ARM 64-bit