mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-03-19 00:13:01 +01:00
tools: Centralize GPU group setup via setup_hwaccel (#13044)
improve hardware-acceleration setup to centralize service user group management. Install scripts (emby, plex, ollama, channels) now pass a service user to setup_hwaccel (or no user for channels) and have had inline /etc/group sed/usermod tweaks removed. misc/tools.func updated: setup_hwaccel accepts an optional service_user and forwards it to _setup_gpu_permissions, which now adds the service user to render and video groups if provided. This consolidates GPU permission changes in one place and removes duplicated per-service group edits.
This commit is contained in:
committed by
GitHub
parent
6bb264491c
commit
bd91c4d07f
@@ -4256,6 +4256,8 @@ function setup_gs() {
|
||||
# - NVIDIA requires matching host driver version
|
||||
# ------------------------------------------------------------------------------
|
||||
function setup_hwaccel() {
|
||||
local service_user="${1:-}"
|
||||
|
||||
# Check if user explicitly disabled GPU in advanced settings
|
||||
# ENABLE_GPU is exported from build.func
|
||||
if [[ "${ENABLE_GPU:-no}" == "no" ]]; then
|
||||
@@ -4507,7 +4509,7 @@ function setup_hwaccel() {
|
||||
# ═══════════════════════════════════════════════════════════════════════════
|
||||
# Device Permissions
|
||||
# ═══════════════════════════════════════════════════════════════════════════
|
||||
_setup_gpu_permissions "$in_ct"
|
||||
_setup_gpu_permissions "$in_ct" "$service_user"
|
||||
|
||||
cache_installed_version "hwaccel" "1.0"
|
||||
msg_ok "Setup Hardware Acceleration"
|
||||
@@ -5141,6 +5143,7 @@ EOF
|
||||
# ══════════════════════════════════════════════════════════════════════════════
|
||||
_setup_gpu_permissions() {
|
||||
local in_ct="$1"
|
||||
local service_user="${2:-}"
|
||||
|
||||
# /dev/dri permissions (Intel/AMD)
|
||||
if [[ "$in_ct" == "0" && -d /dev/dri ]]; then
|
||||
@@ -5207,6 +5210,12 @@ _setup_gpu_permissions() {
|
||||
chmod 666 /dev/kfd 2>/dev/null || true
|
||||
msg_info "AMD ROCm compute device configured"
|
||||
fi
|
||||
|
||||
# Add service user to render and video groups for GPU hardware acceleration
|
||||
if [[ -n "$service_user" ]]; then
|
||||
$STD usermod -aG render "$service_user" 2>/dev/null || true
|
||||
$STD usermod -aG video "$service_user" 2>/dev/null || true
|
||||
fi
|
||||
}
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user