알리 세일에서 장난감을 Get 했습니다. 시간 될 때마다 가지고 놀면서 시간 가는 줄 몰랐는데요. 한 3주 정도 이리저리 만져보다가 벽을 느꼈습니다. 검색해 보고 따라 하는 수준으로는 어렵더군요. 능력자와 친해지고 싶었습니다. 이번에는 시행착오의 시간이 워낙 길었거든요.
파이어뱃(FireBat) T8 PLUS를 구매하게 된 계기는 바토세라(BATOCERA)를 설치한 구닥다리 삼성올인원PC 보다 자리를 덜 차지하고 전력사용량은 적으면서 성능은 월등(?)한데 가격에 대한 부담은 적었기 때문인데요. 혹시나 뻥스펙이지는 않을까(?)라는 의구심을 뒤로한 채 구매하였고, 바토세라(BATOCERA)만 설치했다가, 이것만으로 활용하기는 아깝다는 생각이 지배적으로 들었습니다. 남는 리소스를 그냥 방치하고 싶지 않더군요.
HA커뮤니티에서 접했던 PROXMOX를 설치하게 되었고, 바토세라(BATOCERA)를 VM으로 구성하였습니다. Sunshine와 Moodlight를 알게 되었구요. 바토세라VM에 Moodlight로 원격접속하고 외부에서 지인과 2인용 게임을 즐겼습니다(지인은 집에서 저는 밖에서). 화면과 소리가 원활하지는 않았지만 Moonlight에서 자동으로 조이패드를 잡아 주니 별다른 설정 없어도 게임을 즐길 수 있더군요. 여튼간에 바토세라(BATOCERA)가 제대로된 성능을 구현하게 하려면 GPU 패스스루 설정을 해야 한다는 것을 알게 되었습니다. 즉, 바토세라(BATOCERA)를 그냥 가상머신으로만 구동하는 것 보다 파이어뱃(FireBat) T8 PLUS의 GPU의 성능을 그대로 가져와 구동하는 것이 더 부드러운 퍼포먼스를 보여주기 때문입니다. 성공은 했지만 앞으로 또 반복되는 설치의 수고시간을 줄이기 위해 창고에 넣어두려 합니다.
정리#11.1 파이어뱃(FireBat) T8 PLUS
증말 작습니다. 사진으로 볼 때는 작음의 정도를 가늠하기 어려운 정도인데요. 농담을 조금 보태면 서식지 구성원 중 그 누구도 PC를 구매했다고 생각하지 못하더군요. TV뒤 콘센트 옆에 그냥 올려 두었습니다. 소극적인 지름이 성공한 기분을 느끼고 있습니다.
개봉 후 첫 부팅을 하면 윈도우 11이 나옵니다. 나중에 윈도우 11을 설치하기 위해 인증키를 따로 적어 두었습니다.
정리#11.2 PROXMOX에서 N100 GPU PASSTHROUGH를 하면서 알게 된 것들
관련 정보가 가장 많은 곳은 서버포럼(https://svrforum.com/) 커뮤니티였습니다. 많은 도움을 받았고 자세하게 소개되어 있는 반면에 해당되는 케이스를 잘 골라내야 설정에 성공할 수 있다는 느낌을 받았습니다. 공부 아닌 공부를 하게 되더군요. 서버포럼의 능력자분들은 정말 대단하십니다.
패스스루하는 방법은 비슷하지만 여러가지가 있는데요. 다음의 방법들은 원하는 설정이 아니었거나 실패했습니다. 원인은 잘 모릅니다. 제품의 특성 탓인지 중간중간에 빼먹은 것이 있어서 그런지도 모르겠습니다.
1. How to use a monitor and USB mouse/keyboard in Promox VE on an Intel Alder Lake-N mini PC
How to use a monitor and USB mouse/keyboard in Promox VE on an Intel Alder Lake-N mini PC - CNX Software
Tutorial showing how to enable hardware pass-through in Proxmox VE on an Alder Lake-N mini PC to use an HDMI display and USB keyboard.
www.cnx-software.com
이 방법은 같은 N100이라 되는 것 같습니다. PC의 HDMI포트를 원하는 VM에 연결해 주는데요. 설정하면 TV에서 소리와 화면이 잘 나오지만, 바토세라의 경우 사용하다가 VM을 재부팅하면 화면만 나오고 소리가 출력되지 않더군요(바토세라의 AUDIO OUT 설정에 더미로 잡혀버립니다). PROXMOX를 재부팅하고 다시 바토세라VM을 시작하면 또 되긴 하는데요. 불편합니다. 생각보다 VM을 재부팅하는 경우가 더러 있거든요. 더군다나 VM에 한 개의 GPU만 연결되니 다른 VM은 GPU를 사용할 수 없더군요. 설명도 좀 부족했기에 아래 링크의 영상을 참고하여 설정을 하였었습니다.
[Xiaobai의 성장 스토리 12] PVE 올인원 AIO iKuai/iStoreOS LXC Alpine Docker Windows11 코어 디스플레이 패스스루 디스플레이 출력 TrueNAS Jellyfin 하드 디코딩 및 트랜스코딩 -> (20분10초 부분에서 나옵니다)
https://www.youtube.com/watch?v=0Ft606LwaxA&t=1232s
1. 롬파일을 PROXMOX에 업로드(맥터미널에서 했어요)
$ cd ~/Downloads/rombios # rom파일이 있는 디렉토리로 이동
$ ssh-keygen -R 192.168.000.000 # PROXMOX를 새로 설치 했다면 이게 필요
# Host 192.168.000.000 found: line 1
# Host 192.168.000.000 found: line 2
# Host 192.168.000.000 found: line 3
/Users/00000000/.ssh/known_hosts updated.
Original contents retained as /Users/00000000/.ssh/known_hosts.old
$ scp igd.rom N100_gop.rom root@192.168.000.000:/usr/share/kvm # rom파일 업로드
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.000.000' (0000000) to the list of known hosts.
000000@192.168.000.000's password:
igd.rom 100% 18KB 3.3MB/s 00:00
N100_gop.rom 100% 186KB 4.4MB/s 00:00
2. nano /etc/pve/qemu-server/000.conf # 다음내용 추가(000: VM ID)
args: -set device.hostpci0.addr=02.0 -set device.hostpci0.x-igd-gms=0x2 -set device.hostpci0.x-igd-opregion=on
hostpci0: 0000:00:02.0,legacy-igd=1,romfile=igd.rom
hostpci1: 0000:00:1f.3,romfile=N100_gop.rom
설정은 롬파일 2개가 필요한데요. 아래의 깃허브에서 받을 수 있습니다.
https://github.com/gangqizai/igd
GitHub - gangqizai/igd: Intel 核显直通 rom / Intel Integrated GPU passrough rom file for PVE
Intel 核显直通 rom / Intel Integrated GPU passrough rom file for PVE - gangqizai/igd
github.com
2. 서버포럼에는 PROXMOX활용 가이드가 상세하게 설명되어 있는데요. 안되더군요. 튜토리얼도 아주 친절하게 구성되어 있어 복붙만 해도 되도록 보여지는데 매번 모듈을 빌드하는 과정에서 오류가 나고 더 이상 진행할 수가 없었습니다. 뭐가 잘못된 것인지 알 수가 없었습니다. 리눅스(?)는 어렵습니다.
https://svrforum.com/svr/1185453
Proxmox 에서 인텔 12세대 GPU VM, LXC로 패스스루 하기 - Mapped Device 도 잘 되는군요.
찾아보면 정보는 다 있는데 여기 저기 흩어져있어서 찾기가 힘들어 한번 정리합니다. 사용 하드웨어는 Chattery T9 n100 미니 피시 이고, 내장그래픽을 윈도VM, 리눅스VM, 리눅스 LXC 에 모두 패스하는
svrforum.com
Proxmox VE 8.2: Windows 11 vGPU (VT-d) Passthrough with Intel Alder Lake - Derek Seaman's Tech Blog
Using Proxmox 8.x and want to share your Intel 12th Gen (Alder Lake) GPU with several VMs? Totally refreshed for Proxmox 8.1, check out my new guide for Windows 11 Pro VMs.
www.derekseaman.com
3. 맥에다가 패스스루하기(이건 필요할지도 몰라서 남겨둡니다)
https://i12bretro.github.io/tutorials/0865.html
Passing a Physical GPU to a MacOS Proxmox VM with PCI Passthrough
Passing a Physical GPU to a MacOS Proxmox VM with PCI Passthrough Things You Will Need Enabling PCI Passthrough Log into Proxmox VE either via SSH or the web based shell Run the following commands # edit grub configuration to enable IOMMU nano /etc/default
i12bretro.github.io
정리#11.3 FIREBAT T8 PLUS GPU PASSTHROUGH
위 내용 말고도 어마어마하게 여러 번 시도를 했더랬죠. PROXMOX 재설치를 몇 수십 번 반복했습니다. 지치더군요. 뭘 하고 있는 것인지 다시 생각하게 되더군요. 불편하지도 않은데 미니 PC는 그냥 바토세라와 윈도우 등 멀티부팅으로 사용하는 것이 정신 건강에 이로워 보입니다. 정말 마지막이라고 생각하고 마음을 비운 후 서버포럼 검색창에 'FIREBAT'을 넣고 엔터를 쳤습니다. 검색된 게시물을 처음부터 하나씩 눌러봅니다. 봤던 것도 있고 안 봤던 것도 있고 하나씩 누르다 제일 마지막 게시물의 댓글에서 제대로 된 튜토리얼을 만납니다(소탐님 감사합니다). 떨리더군요. 될까?
https://svrforum.com/svr/1154185
n100 내장 그래픽 패스스루 문의
안녕하세요! 눈팅으로 많은 도움을 받고 있습니다. 혼자 해결할려고 하다가 도저히 안되서 질문을 드려봅니다ㅠ 1. N100 Firebat T8 모델 2. Proxmox(win11, ubuntu - tvh설치 완료) 3. ubuntu로 내장그래픽을 패
svrforum.com
그대로 따라 하되 현재 설치한 PROXMOX의 버전이 8.1인점, 커널의 버전이 6.5.13-5인 점을 고려하여 커널 고정을 먼저 한 후 따라 하였습니다.
0. sudo -i(이건 빼먹고 안했더군요)
1. apt update
2. apt upgrade # 지금까지와의 차이점은 이 부분밖에 없었.....
2-1. apt install grub-efi-amd64
3. apt install pve-kernel-6.5
4. apt update && apt install pve-headers-$(uname -r)
5. update-initramfs -u
6. reboot now
7. uname -r
8. apt install git dkms build-* -y
9. git clone https://github.com/strongtz/i915-sriov-dkms
10. cd i915-sriov-dkms
11. nano dkms.conf
12. [REPLACE THESE TWO LINES]
PACKAGE_NAME="@_PKGBASE@" ## "i915-sriov-dkms"
PACKAGE_VERSION="@PKGVER@" ## "6.5"
13. mkdir /usr/src/i915-sriov-dkms-6.5
14. cp -r * /usr/src/i915-sriov-dkms-6.5
15. dkms install --force -m i915-sriov-dkms -v 6.5 # 항상 여기서 오류나면서 빌드가 안되었었어요....
16. dkms status
17. nano /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="intel_iommu=on i915.enable_guc=3 i915.max_vfs=7 iommu=pt quiet"
18. update-grub
19. update-initramfs -u
20. pve-efiboot-tool refresh
21. apt install sysfsutils -y
22. lspci | grep "VGA"
00:02.0 VGA compatible controller: Intel Corporation Alder Lake-P Integrated Graphics Controller (rev 0c) 확인
23. echo "devices/pci0000:00/0000:00:02.0/sriov_numvfs = 7" > /etc/sysfs.conf
24. reboot now
25. lspci | grep "VGA"
00:02.0 VGA compatible controller: Intel Corporation Alder Lake-P Integrated Graphics Controller (rev 0c)
00:02.1 VGA compatible controller: Intel Corporation Alder Lake-P Integrated Graphics Controller (rev 0c)
00:02.2 VGA compatible controller: Intel Corporation Alder Lake-P Integrated Graphics Controller (rev 0c)
00:02.3 VGA compatible controller: Intel Corporation Alder Lake-P Integrated Graphics Controller (rev 0c)
00:02.4 VGA compatible controller: Intel Corporation Alder Lake-P Integrated Graphics Controller (rev 0c)
00:02.5 VGA compatible controller: Intel Corporation Alder Lake-P Integrated Graphics Controller (rev 0c)
00:02.6 VGA compatible controller: Intel Corporation Alder Lake-P Integrated Graphics Controller (rev 0c)
00:02.7 VGA compatible controller: Intel Corporation Alder Lake-P Integrated Graphics Controller (rev 0c)
26. 안되면 8 ~ 24번까지 한번더 실행(25번에서 성공했습니다~)
25번에서 7개의 원하는 결과물을 얻었을 때의 환희는 뭐 당첨된 기분에 비할 수 있을까요?
혹시, HDMI로 출력을 하기 위해 했던 롬파일 설정을 위 가상 GPU에 걸면 HDMI로도 출력이 될까요?? 아니면 또 뭔가를 해야할까요? 나중에 시도해 보렵니다. 능력자분과 친해지고 싶습니다.