forked from Frogging-Family/nvidia-all
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcustomization.cfg
More file actions
196 lines (164 loc) · 9.67 KB
/
customization.cfg
File metadata and controls
196 lines (164 loc) · 9.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
# nvidia-all config file
#### OPTIONS ####
# External config file to use - If the given file exists in path, it will override default config (customization.cfg) - Default is ~/.config/frogminer/nvidia-all.cfg
_EXT_CONFIG_PATH=~/.config/frogminer/nvidia-all.cfg
# Custom compiler root dirs - For non-dkms builds (see readme to use this with dkms) - Leave empty to use system compilers
# ! If your kernel was built with mostlyportable GCC, you need to use the exact same build here or module compilation will fail !
# Example: CUSTOM_GCC_PATH="/home/frog/PKGBUILDS/mostlyportable-gcc/gcc-mostlyportable-9.2.0"
CUSTOM_GCC_PATH=""
# Set to "true" to add driver series versioning to package name. For repo owners wanting to store multiple series at once.
_series_in_pkgname=""
# Allows enforcing kernel patches application for a target kernel, independently of currently installed ones (example: "5.5")
# You typically don't want to use this as a user. The proper way it to install your kernel(s), then run makepkg against nvidia-all's PKGBUILD to get things autodetected.
_kerneloverride=""
# Put the built packages in a versioned dir in the same folder as the nvidia-all PKGBUILD on exit - Will fail to install if running makepkg with -i option
_local_package_storing="false"
# If you want to ignore some packages, set them to "false". Default is all set to "true" for a complete installation.
_lib32="true"
_opencl="true"
_nvsettings="true"
# Set to "true" to build it directly from the matching nvidia-settings source.
# Set to "external" to pull in Arch's 'libxnvctrl' as a dependency instead.
# Set to "false" to skip it entirely (default).
_libxnvctrl="false"
# Set to "true" to only build userspace/utility packages (no kernel module):
# opencl-nvidia-tkg, nvidia-utils-tkg, nvidia-settings-tkg,
# lib32-opencl-nvidia-tkg, lib32-nvidia-utils-tkg
# Useful when kernel modules are provided separately (e.g. nvidia-open, dkms from another source).
_build_utils_package_only=""
# Set _eglwayland to "true" to create egl-wayland package using Nvidia's tarball - conflicts with Arch's egl-wayland package
# Set _eglwayland to "false" to skip egl-wayland package creation and not depend on the Arch provided egl-wayland package
# Set _eglwayland to "external" to use the Arch provided egl-wayland package (default)
_eglwayland="external"
# Set _eglgbm to "true" to add egl-gbm binaries to the egl-wayland package using Nvidia's tarball - conflicts with Arch's egl-gbm package
# Set _eglgbm to "false" to skip Nvidia's tarball egl-gbm binaries and not depend on the Arch provided egl-gbm package
# Set _eglgbm to "external" to use the Arch provided egl-gbm package (default)
# Depends on _eglwayland="external"
_eglgbm="external"
# Set _eglx11 to "true" to create a separate nvidia-egl-x11-tkg package from Nvidia's tarball - conflicts with Arch's egl-x11 package
# Set _eglx11 to "false" to skip egl-xlib/xcb files entirely and not depend on the Arch provided egl-x11 package
# Set _eglx11 to "external" to use the Arch provided egl-x11 package (default)
_eglx11="external"
# Either "vulkandev" for vulkan developer drivers or "regular" for all others
_driver_branch=""
# Desired driver version - !! needs to be available from the selected branch above !!
# Set to "latest" to use the latest driver on the selected branch.
_driver_version=""
# Set to "true" to build open source modules if available, or leave empty to get a prompt
# Available for 515.43.04 beta or newer only
_open_source_modules=""
# Strip and sign built kernel modules (non-DKMS only, default: false).
#
# WARNING: EXPERIMENTAL FEATURE, may cause issues with module loading if the signing process fails.
# Use with caution and test on a non-critical system first.
#
# NOTE: Only applies when _dkms is "false" or unset. DKMS handles signing itself.
#
# WHY:
# Out-of-tree modules (like the NVIDIA driver) always taint the kernel (flag 'O').
# Unsigned modules add a second taint flag ('E' - unsigned module loaded).
# Signing removes the 'E' taint and is required if:
# - CONFIG_MODULE_SIG_FORCE=y is set (unsigned modules will be refused to load)
# - Secure Boot is active (UEFI blocks unsigned out-of-tree modules)
#
# REQUIRES:
# The kernel's build directory (/usr/lib/modules/<version>/build/) must contain:
# - The signing key (certs/signing_key.pem) and certificate (certs/signing_key.x509)
# - The sign-file tool (scripts/sign-file)
# These are only available if the kernel sources were built locally and the key was not
# deleted afterwards. Pre-built/packaged kernels usually do NOT ship the signing key.
#
# WHAT IT DOES:
# - Strips debug symbols (llvm-strip for Clang-built kernels, GNU strip otherwise)
# - Signs each .ko with the kernel's own signing key (from CONFIG_MODULE_SIG_KEY in the kernel .config)
# - Skips signing with a warning if the key is not found or not readable
_module_signing="false"
# Set to "true" to blacklist nouveau. may be needed early kms on nvidia.
# if you on like prime system, and not need nvidia module on startup, then can false.
# (default true)
_blacklist_nouveau=""
# Set to "true" to enable specific NVIDIA module parameters
# These options optimize NVIDIA driver behavior for performance
#
# Thanks CachyOS for this set of options!
#
# NVreg_UsePageAttributeTable=1 (Default 0) - Activating the better memory
# management method (PAT). The PAT method creates a partition type table at a
# specific address mapped inside the register and utilizes the memory
# architecture and instruction set more efficiently and faster. If your system
# can support this feature, it should improve CPU performance.
#
# NVreg_InitializeSystemMemoryAllocations=0 (Default 1) - Disables clearing
# system memory allocation before using it for the GPU. Potentially improves
# performance, but at the cost of increased security risks. Write "options
# nvidia NVreg_InitializeSystemMemoryAllocations=1" in
# /etc/modprobe.d/nvidia.conf, if you want to return the default value. Note:
# It is possible to use more memory (?)
#
# (default false) NOTE: available for VERSION >= 580+
_modprobe="false"
# Set to "true" to enable mobile-specific NVIDIA module parameters
# These options include mobile-specific power management options
#
# Additional mobile options:
# NVreg_DynamicPowerManagement=0x02 - Enables dynamic power management for mobile GPUs
# allowing the driver to adjust power states based on workload and thermal conditions
#
# (default false) NOTE: available for VERSION >= 580+
_modprobe_mobile="false"
# Set to "true" to install optional performance optimizations
#
# Options: "false", "true", "cuda", "vram"
# - false: No optimizations (default)
# - true: Install both CUDA and VRAM optimizations
# - cuda: Only install CUDA performance optimization (cuda-no-stable-perf-limit)
# - vram: Only install VRAM usage limit (limit-vram-usage)
#
# Available tweaks:
# - limit-vram-usage: https://github.com/Frogging-Family/nvidia-all/blob/master/system/limit-vram-usage (From NextWork123 - https://github.com/CachyOS/CachyOS-PKGBUILDS/pull/873)
# Limits VRAM usage for specific applications
# - cuda-no-stable-perf-limit: https://github.com/Frogging-Family/nvidia-all/blob/master/system/cuda-no-stable-perf-limit
# Allows full performance while streaming/recording (see: NVIDIA/open-gpu-kernel-modules#333)
#
# (default false) NOTE: available for VERSION >= 580+
_perf_optimizations="false"
# Set to "true" to apply `nvidia-patch` to remove NVENC session limit and enable NVFBC on consumer cards
# Patches `libnvidia-encode.so` to remove NVENC session limit
# Patches `libnvidia-fbc.so` to enable NVFBC on consumer cards
# INFO: https://github.com/keylase/nvidia-patch
#
# (default false) NOTE: Set to `false` and rebuild to remove patches, and restore original libraries
_nvidia_patch_enc_fbc="false"
# Set to "true" to apply the BSB DSC fix patch for the Bigscreen Beyond VR headset
# Fixes DSC "rainbow static" artifacts when using open GPU kernel modules
# NOTE: only applies to open source modules with driver version >= 580
# INFO: https://github.com/triple-groove/nvidia-bsb-dsc-fix
#
# (default false) NOTE: Set to `false` and rebuild to remove patches, and restore original libraries
_bsb_dsc_fix="false"
# Only updates if there is a newer version available
# Semi-hack, compares version-strings as strings, i.e. if "460.39" > "455.45.01" update etc
# Set to "true" to enable
_only_update_if_newer=""
# Set to "true" to use DKMS or "false" to use regular modules. You can also use "full" to build both dkms and regular packages (don't use it if you don't know you need it!).
_dkms=""
# Target kernel version for non-DKMS builds aka NVIDIA-MODULE (_dkms="false") - Leave empty for autodetection of running kernel.
# Use the exact kernel package name suffix.
# Example: _target_kernel="linux-tkg"
# Only relevant when _dkms is set to "false" or "full" and you build kernel NVIDIA-MODULE (don't use it if you don't know you need it!).
# To find the correct name, run:
# grep -r "" /usr/lib/modules/*/pkgbase
# e.g. output: "/usr/lib/modules/6.19.3-273-linux-tkg/pkgbase:linux-tkg" set then _target_kernel="linux-tkg"
# (default is empty, which means autodetection of running kernel)
_target_kernel=""
# Enable GCC 15 fixup patch
_gcc15_fix="false"
# Set to "true" to disable installing the libalpm hook for updating the driver in initramfs, installs otherwise.
_disable_libalpm_hook=""
## LEGACY OPTIONS
# Enable GCC 14 fixup patch - Allows older branches to build on GCC14
_gcc14_fix="false"
# Attempt at fixing PRIME sync on kernel 5.4 and 5.5rc - https://devtalk.nvidia.com/default/topic/1068045/linux/5-4-kernel-breaks-prime-synchronization-/post/5416631/#5416631
_54_prime_fixing_attempt="false"
# Fix for https://bugs.archlinux.org/task/62142 affecting SLi configs
_62142_fix="false"