요즘 Proxmox를 가지고 노는 중인데요. GPU passthrough에 있어서도, 늘상 겪는, 따라했는데 안돼요로 고통받았습니다.
내장+외장의 2GPU 시스템이면 조금 더 수월했을지 모르겠는데, 내장 없는 1GPU 시스템에서 GPU passthrough를 하려는데, 인터넷에서 검색되는 내용으로 따라하니 잘 안되더군요.
GPU를 passthrough 시키고 부팅을 시키니 자꾸 뻗고 host가 맘대로 재부팅을 해요. 뭔가뭔가 한참을 구글링을 했는데, 음. above 4G 디코딩을 끄라는군요. 바이오스에서 이거 끄니까 됩니다. 어차피 VM에서 above 4G 디코딩은 지원 안한답니다.
근데 다음에는 게스트 윈도에 부팅을 성공을 했고, 장치관리자에 라뎅이가 잡히긴 하는데, 라뎅이 드라이버를 설치해도 코드43 에러가 뜨면서 작동을 안해요. 한참을 삽질을 했는데, 마침내 내린 결론이 부트 과정에서 host가 하나 뿐인 GPU를 붙잡고 놔주지 않아서 passthrough가 안된다는 거였는데.
사실 이에 대한 내용은 이미 인터넷의 GPU passthrough 가이드에 있는 내용이긴 하거든요. 심지어 proxmox 공식 가이드에서도 이렇게 안내합니다. grub의 커널 파라미터에 video=vesafb:off,efifb:off를 넣으라는 거였고, 다른데 좀 더 검색해보면 video=simplefb:off 추가하라는 내용도 있어서 그것까지 해봤는데, 전혀 작동을 안해요. 좀 더 구글링을 해보니, 커널 파라미터에 위의 것들 쓰지 말고 initcall_blacklist=sysfb_init을 넣으라는 내용이 있어서 이걸 써보니 드디어 host가 GPU를 붙잡지 않는군요.
이제 드디어 라뎅이 드라이버가 게스트 윈도에서 제대로 동작을 합니다. ㅎ
굳이 메인으로 써먹을 생각은 안듭니다. 이런것들은 언제 또 작동안할지 모르는 것들이라. 그래도 며칠간을 GPU passthrough 시킨다고 삽질하며 재밌게 놀았네요.
그럼 호스트에 모니터,키보드, 마우스를 물리적으로 연결하면 VM을 조작하는건가요?