#!/usr/bin/env bash
set -e

echo "[1/5] 安装 Xorg 和 nvidia-settings..."

if command -v apt >/dev/null 2>&1; then
    apt update
    apt install -y xorg xserver-xorg-core xserver-xorg-video-dummy nvidia-settings
elif command -v yum >/dev/null 2>&1; then
    yum install -y xorg-x11-server-Xorg xorg-x11-xauth nvidia-settings
elif command -v dnf >/dev/null 2>&1; then
    dnf install -y xorg-x11-server-Xorg xorg-x11-xauth nvidia-settings
else
    echo "不支持的包管理器，请手动安装 xorg 和 nvidia-settings"
    exit 1
fi

echo "[2/5] 生成 NVIDIA Xorg 配置..."

nvidia-xconfig \
    --enable-all-gpus \
    --allow-empty-initial-configuration \
    --cool-bits=28 \
    --use-display-device=None

echo "[3/5] 启动 Xorg :0..."

# 如果已有 Xorg :0，先不重复启动
if pgrep -af "Xorg.*:0" >/dev/null 2>&1; then
    echo "Xorg :0 已经在运行"
else
    nohup Xorg :0 -config /etc/X11/xorg.conf \
        > /var/log/xorg-nvidia-headless.log 2>&1 &
    sleep 5
fi

echo "[4/5] 设置 DISPLAY=:0..."

export DISPLAY=:0

echo "[5/5] 测试 nvidia-settings..."

nvidia-settings -q gpus
nvidia-settings -q fans

echo
echo "完成。后续使用前执行："
echo "export DISPLAY=:0"
