미니PC가 옛날 사양 AMD Ryzen 7 7840HS(780M iGPU) 이고, proxmox trixie 는 최신 드라이버라 proxmox 패키지와 충돌이 발생하여 해결한 과정을 기록해보려 한다.
1. proxmox host server 에서 해야 할 설정
(1) CPU 및 iGPU 드라이버 상태 확인
# CPU 확인
lscpu | grep "Model name"
# iGPU 및 드라이버 로드 상태 확인
lspci -nnk | grep -i vga -A3
# IOMMU 그룹 분리 상태 확인
find /sys/kernel/iommu_groups/ -type l
iGPU 를 쓰고 싶다면 VM 이 아니라 LXC(LXC 설치방법은 여기)를 사용해야 하고, root 계정으로 접속해야한다.
결과
# CPU 확인
Model name: AMD Ryzen 7 7840HS w/ Radeon 780M Graphics
# iGPU 및 드라이버 로드 상태 확인
c5:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Phoenix1 [1002:15bf] (rev c2)
Subsystem: Device [1f66:0031]
Kernel driver in use: amdgpu
Kernel modules: amdgpu
# IOMMU 그룹 분리 상태 확인
/sys/kernel/iommu_groups/17/devices/0000:c5:00.0
.
.
.
/sys/kernel/iommu_groups/27/devices/0000:c7:00.0
확인 결과, AMD Ryzen 7 7840HS(780M iGPU) 를 사용 중이며, IOMMU Group 17에 VGA 컨트롤러(c5:00.0) 가 독점 할당되어 있다.
(2) CA 인증서 시간 동기화
# CA 인증서 및 시간 동기화
apt install -y ca-certificates && update-ca-certificates
# Proxmox 템플릿 저장소로 이동
cd /var/lib/vz/template/cache
# 수동으로 Noble(24.04) 표준 템플릿 다운로드 (인증서 검증 무시 옵션 포함)
wget --no-check-certificate https://images.linuxcontainers.org/images/ubuntu/noble/amd64/default/20260201_07:42/rootfs.tar.xz -O ubuntu-24.04-noble.tar.xz
(3) LXC SSH 허용
apt update && apt install -y openssh-server
systemctl enable --now ssh
# 원하는 비밀번호를 두 번 입력 (화면에는 안 보입니다)
passwd root
# nano 가 설지 안되어있을시 이거 먼저
apt install nano
# nano 가 설치 되어있을 시 이것만
nano /etc/pve/lxc/100.conf
# 파일 수정
nano /etc/ssh/sshd_config
# 찾을 내용: #PermitRootLogin prohibit-password
# 수정 내용: PermitRootLogin yes (앞의 # 주석을 반드시 지워야 합니다!)
systemctl restart ssh
ls -l /dev/dri/renderD128
crw-rw---- 1 root render 226, 128 Feb 5 18:23 /dev/dri/renderD128
결과
crw-rw---- 1 root render 226, 128 Feb 5 18:23 /dev/dri/renderD128
(4) iGPU(780M) 사용을 위한 호스트 설정
# CT 생성 후 LXC 설정 파일 수정. LXC 번호가 100번이라면
nano /etc/pve/lxc/100.conf
# 호스트의 그룹 ID(GID) 확인
ls -l /dev/dri/renderD128
getent group render | cut -d: -f3
- 100.conf 맨 하위에 추가할 내용
### 추가
# 1. 780M iGPU 장치 경로 및 주소 설정 (226, 128 사용)
lxc.cgroup2.devices.allow: c 226:128 rwm
lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file
# 2. 권한 매핑 (GID 993 기준 정밀 계산본)
lxc.idmap: u 0 100000 65536
lxc.idmap: g 0 100000 993 lxc.idmap: g 993 993 1
lxc.idmap: g 994 100994 64542
결과
# 호스트의 그룹 ID(GID) 확인. render 가 그룹, 226 혹은 128 가 장치의 '주소(Major/Minor 번호)'
crw-rw---- 1 root render 226, 128 Feb 5 18:23 /dev/dri/renderD128
# 993 가 장치를 사용할 '자격(GID)' (Group ID) : 비특권 컨테이너(Unprivileged)는 이 993이라는 자격증을 호스트에서 컨테이너 안으로 배달해줘야만 iGPU를 쓸 수 있음
993
(5) 권한 개방
# 권한 등록 확인
cat /etc/subgid
# 권한 개방
echo "root:993:1" >> /etc/subgid
# 컨테이너 재시작
pct stop 100
pct start 100
2. LXC 내부에서 실행
apt update && apt install -y mesa-va-drivers
clinfo clinfo | grep -i "Device Name"
clinfo | grep -i "Device Name" 이거 결과가 안보일때 장치 파일(통로)은 뚫렸지만 그 통로를 통해 GPU와 대화할 '통역사(라이브러리)'가 컨테이너 안에 없음. OpenCL로 해석할 라이브러리가 있어야 한다.
(1) OpenCL ICD 로더 설치 및 장치 그룹ID의 권한 변경
# 1. 패키지 업데이트 및 OpenCL ICD 로더 설치
apt update
apt install -y clinfo mesa-opencl-icd ocl-icd-libopencl1
# 2. RDNA 3 가속을 위한 펌웨어/드라이버 라이브러리 추가
apt install -y mesa-va-drivers mesa-vdpau-drivers libvulkan1 mesa-vulkan-drivers
# LXC 내부에서 render 그룹의 ID를 993으로 강제 변경
groupmod -g 993 render # 이미 존재한다고 뜨면 할필요 x
# root 사용자를 render 그룹에 추가
usermod -aG render root
# 내부 다시 확인
clinfo | grep -i "Device Name"
ls -l /dev/dri/renderD128
결과
crw-rw---- 1 nobody kvm 226, 128 Feb 5 09:23 /dev/dri/renderD128
ls -l 결과가 nobody kvm으로 나온다는 것은 현재 "통로는 열렸지만, 열쇠가 맞지 않는 상태"이므로, 권한을 주면 된다. 그리고 로그아웃(exit)후에 다시 로그인하기.
# clinfo | grep -i "Device Name" 명령어
Device Name AMD Radeon 780M Graphics (radeonsi, phoenix, LLVM 20.1.2, DRM 3.64, 6.17.4-2-pve)
Device Name AMD Radeon 780M Graphics (radeonsi, phoenix, LLVM 20.1.2, DRM 3.64, 6.17.4-2-pve)
Device Name AMD Radeon 780M Graphics (radeonsi, phoenix, LLVM 20.1.2, DRM 3.64, 6.17.4-2-pve)
Device Name AMD Radeon 780M Graphics (radeonsi, phoenix, LLVM 20.1.2, DRM 3.64, 6.17.4-2-pve)
(2) ROMC 라이브러리 설치
apt update
apt install -y libhsa-runtime64-1 rocminfo
# GPU 나오는지 확인
rocminfo | grep "Device Type"
(3) host 에서 컨테이너 내부 장치 권한을 강제로 개방
chmod 666 /var/lib/lxc/100/rootfs/dev/kfd
chmod 666 /var/lib/lxc/100/rootfs/dev/dri/renderD128
# 수정
nano /etc/pve/lxc/100.conf
- 100.conf 에서 추가해야할 부분
# 기존 hook 줄을 지우고 아래 내용을 한 줄씩 정확히 넣으십시오.
lxc.autodev: 1
lxc.hook.autodev: sh -c "chmod 666 ${LXC_ROOTFS_MOUNT}/dev/kfd || true"
lxc.hook.autodev: sh -c "chmod 666 ${LXC_ROOTFS_MOUNT}/dev/dri/renderD128 || true"
※ 이게 가장 중요!!! 이 권한이 열리지 않으면 iGPU 사용 불가.
3. ollama 설치
# 1. 패키지 리스트 업데이트 및 zstd 설치
apt update
apt install -y zstd
# 2. 다시 Ollama 설치 스크립트 실행
curl -fsSL https://ollama.com/install.sh | sh
# 3. 환경변수 설정
### 1. 오버라이드 폴더 생성
mkdir -p /etc/systemd/system/ollama.service.d
### 2. 설정 파일 작성
cat <<EOF > /etc/systemd/system/ollama.service.d/override.conf
[Service]
Environment="HSA_OVERRIDE_GFX_VERSION=11.0.2"
Environment="HIP_VISIBLE_DEVICES=0"
EOF
### 3. 변경사항 적용 및 서비스 시작
systemctl daemon-reload
systemctl enable ollama
systemctl restart ollama
# 4. 호스트 또는 LXC 내부 어디서든 실행 가능
apt update && apt install -y nvtop
nvtop
4. LLM 모델 설치 후, GPU 사용량 확인
(1) GPU 모드인지 CPU 모드인지 확인
ollama ps
결과
NAME ID SIZE PROCESSOR CONTEXT UNTIL
qwen2.5:3b 357c53fb659c 2.4 GB 100% GPU 4096 3 minutes from now
(2) GPU 실시간 사용량 확인 가능
/opt/rocm/bin/rocm-smi
결과
WARNING: AMD GPU device(s) is/are in a low-power state. Check power control/runtime_status
========================================= ROCm System Management Interface =========================================
=================================================== Concise Info ===================================================
Device Node IDs Temp Power Partitions SCLK MCLK Fan Perf PwrCap VRAM% GPU%
(DID, GUID) (Edge) (Socket) (Mem, Compute, ID)
====================================================================================================================
0 1 0x15bf, 4505 39.0°C 25.064W N/A, N/A, 0 N/A 2800Mhz 0% auto N/A 2% 0%
====================================================================================================================
=============================================== End of ROCm SMI Log ================================================
우측의 VRAM% 와 GPU% 가 실시간으로 변하는 것을 확인할 수 있다.
'Project > Home Server' 카테고리의 다른 글
| Proxmox 로 홈 서버 구축하기: (11) 하이퍼바이저 위에 컨테이너 올리기 (0) | 2026.02.13 |
|---|---|
| Proxmox 로 홈 서버 구축하기: (9) Major Version Upgrade (0) | 2026.01.18 |
| Proxmox 로 홈 서버 구축하기: (8) GitHub Self-hosted Build (0) | 2025.11.29 |
| Proxmox 로 홈 서버 구축하기: (7) Disk 확장 (0) | 2025.11.28 |
| Proxmox 로 홈 서버 구축하기: (6) GitHub Actions + 자동 CI/CD (0) | 2025.09.27 |