Initial commit: DarkForge package repository (124 packages)
Package definitions for the complete DarkForge Linux system: - core/ (67): base system, toolchain, kernel, utilities, dev tools - extra/ (26): libraries, frameworks, drivers (nvidia-open, pipewire, mesa) - desktop/ (19): Wayland stack, dwl compositor, terminals, applications - gaming/ (12): Steam, Wine, Proton, gamemode, mangohud, PrismLauncher Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
85
extra/nvidia-open/nvidia-open.toml
Normal file
85
extra/nvidia-open/nvidia-open.toml
Normal file
@@ -0,0 +1,85 @@
|
||||
# DarkForge Linux — NVIDIA Open Kernel Modules + Userspace
|
||||
# RTX 5090 (Blackwell, GB202) requires nvidia-open 570.86.16+
|
||||
# This package builds the open-source kernel modules and installs
|
||||
# the proprietary userspace libraries (Vulkan ICD, OpenGL, EGL, GBM).
|
||||
#
|
||||
# NOTE: This is a complex multi-step package. The kernel modules are
|
||||
# built against the running kernel headers, and the userspace libraries
|
||||
# come from a separate download.
|
||||
|
||||
[package]
|
||||
name = "nvidia-open"
|
||||
version = "570.133.07"
|
||||
description = "NVIDIA open kernel modules and proprietary userspace (RTX 5090)"
|
||||
url = "https://github.com/NVIDIA/open-gpu-kernel-modules"
|
||||
license = "MIT/GPL-2.0"
|
||||
|
||||
[source]
|
||||
url = "https://github.com/NVIDIA/open-gpu-kernel-modules/archive/refs/tags/${version}.tar.gz"
|
||||
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||||
|
||||
# Additional source: the userspace driver (proprietary blob)
|
||||
[[source.patches]]
|
||||
url = "https://us.download.nvidia.com/XFree86/Linux-x86_64/${version}/NVIDIA-Linux-x86_64-${version}.run"
|
||||
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||||
strip = 0
|
||||
|
||||
[dependencies]
|
||||
run = ["glibc", "wayland", "libdrm"]
|
||||
build = ["gcc", "make", "linux"]
|
||||
|
||||
[build]
|
||||
system = "custom"
|
||||
|
||||
# Prepare: extract the .run blob for userspace libraries
|
||||
prepare = """chmod +x ../NVIDIA-Linux-x86_64-${version}.run && ../NVIDIA-Linux-x86_64-${version}.run --extract-only --target=nvidia-userspace"""
|
||||
|
||||
# Build: compile the open kernel modules against current kernel
|
||||
configure = ""
|
||||
make = """make -j32 modules \
|
||||
KERNEL_UNAME=$(uname -r) \
|
||||
SYSSRC=/usr/src/linux \
|
||||
SYSOUT=/usr/src/linux"""
|
||||
|
||||
# Install: kernel modules + userspace libs
|
||||
install = """# Install kernel modules
|
||||
make modules_install DESTDIR=${PKG} KERNEL_UNAME=$(uname -r)
|
||||
|
||||
# Install userspace libraries from the extracted blob
|
||||
cd nvidia-userspace
|
||||
|
||||
# GLX / OpenGL
|
||||
install -Dm755 libGLX_nvidia.so.${version} ${PKG}/usr/lib/libGLX_nvidia.so.${version}
|
||||
ln -sf libGLX_nvidia.so.${version} ${PKG}/usr/lib/libGLX_nvidia.so.0
|
||||
|
||||
# EGL
|
||||
install -Dm755 libEGL_nvidia.so.${version} ${PKG}/usr/lib/libEGL_nvidia.so.${version}
|
||||
ln -sf libEGL_nvidia.so.${version} ${PKG}/usr/lib/libEGL_nvidia.so.0
|
||||
|
||||
# GBM (for Wayland)
|
||||
install -Dm755 libnvidia-egl-gbm.so.1.1.2 ${PKG}/usr/lib/libnvidia-egl-gbm.so.1.1.2
|
||||
ln -sf libnvidia-egl-gbm.so.1.1.2 ${PKG}/usr/lib/libnvidia-egl-gbm.so.1
|
||||
mkdir -p ${PKG}/usr/share/egl/egl_external_platform.d
|
||||
install -Dm644 15_nvidia_gbm.json ${PKG}/usr/share/egl/egl_external_platform.d/
|
||||
|
||||
# Vulkan ICD
|
||||
install -Dm755 libGLESv2_nvidia.so.${version} ${PKG}/usr/lib/libGLESv2_nvidia.so.${version}
|
||||
install -Dm644 nvidia_icd.json ${PKG}/usr/share/vulkan/icd.d/nvidia_icd.json
|
||||
install -Dm755 libcuda.so.${version} ${PKG}/usr/lib/libcuda.so.${version}
|
||||
ln -sf libcuda.so.${version} ${PKG}/usr/lib/libcuda.so.1
|
||||
ln -sf libcuda.so.1 ${PKG}/usr/lib/libcuda.so
|
||||
|
||||
# nvidia-drm modeset (KMS)
|
||||
install -Dm755 libnvidia-drm-outputclass-helper.so.${version} ${PKG}/usr/lib/libnvidia-drm-outputclass-helper.so.${version}
|
||||
|
||||
# nvidia-smi and other tools
|
||||
install -Dm755 nvidia-smi ${PKG}/usr/bin/nvidia-smi
|
||||
install -Dm755 nvidia-settings ${PKG}/usr/bin/nvidia-settings 2>/dev/null || true
|
||||
|
||||
# 32-bit compatibility libraries (for Steam/Wine)
|
||||
if [ -d 32 ]; then
|
||||
install -Dm755 32/libGLX_nvidia.so.${version} ${PKG}/usr/lib32/libGLX_nvidia.so.${version}
|
||||
ln -sf libGLX_nvidia.so.${version} ${PKG}/usr/lib32/libGLX_nvidia.so.0
|
||||
install -Dm755 32/libcuda.so.${version} ${PKG}/usr/lib32/libcuda.so.${version}
|
||||
ln -sf libcuda.so.${version} ${PKG}/usr/lib32/libcuda.so.1
|
||||
fi"""
|
||||
Reference in New Issue
Block a user