2026년 상식닷컴 선정 식당 & 카페 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요

QEMU에서 가상화된 GPU를 사용하는 방법은?

_____
Q: QEMU에서 가상화된 GPU를 사용하는 방법은 무엇인가요?
A: QEMU에서 가상화된 GPU를 사용하려면 다음 단계들을 수행해야 합니다.

---

1. QEMU의 GPU 가상화 종류는 무엇인가요?
- Virtio-GPU : 최신 표준 GPU 가상화 장치로, 2D 렌더링과 일부 3D 가속 지원.
- VirGL : Virtio-GPU와 함께 3D 가속(오픈GL ES) 지원을 위해 사용됨.
- VGA, Cirrus, QXL : 기본 VGA 호환 그래픽 카드 에뮬레이션. QXL은 특히 SPICE와 연동하여 고성능 2D 그래픽 제공.
- PCI Passthrough (VFIO) : 호스트 GPU를 직접 게스트에 전달하여 완전한 성능 제공.

---

2. 기본 가상 VGA 디스플레이 추가는 어떻게 하나요?
```
qemu-system-x86_64 -display sdl -drive file=disk.img,format=qcow2 -vga std
```
- `-vga std`는 기본 VGA 호환 디스플레이를 설정합니다.
- 다른 옵션: `cirrus`, `qxl`, `vmware` 등.

---

3. Virtio-GPU는 어떻게 활성화하나요?
```
qemu-system-x86_64 -drive file=disk.img,format=qcow2 -device virtio-vga-gl
```
- `virtio-vga-gl`은 Virtio GPU 장치에 VirGL 3D 가속을 활성화한 예입니다.
- VirGL 사용 시 게스트 OS의 Mesa 드라이버가 VirGL을 지원해야 3D 가속 이용 가능.

---

4. VirGL 3D 가속 사용 기본 절차는?
1. QEMU를 VirGL 지원 옵션으로 실행:
```
qemu-system-x86_64 -device virtio-vga-gl -display sdl
```
2. 게스트 OS에 VirGL 드라이버 설치 및 활성화 (예: 최신 리눅스 커널 및 Mesa).
3. 게스트에서 `LIBGL_ALWAYS_INDIRECT=1 glxinfo` 등으로 가속 확인.

---

5. SPICE와 함께 QXL GPU 사용 방법은?
```
qemu-system-x86_64 -drive file=disk.img,format=qcow2 -vga qxl -spice port=5900,disable-ticketing
```
- SPICE 클라이언트를 통해 고성능 2D 그래픽과 마우스 동기화를 지원합니다.

---

6. 호스트 GPU를 나눠 쓰는 PCI Passthrough 방법은?
- VFIO를 이용하여 실제 GPU를 게스트에 직접 연결하는 방법입니다.
- 일반 절차:
1. 호스트에서 IOMMU 활성화 및 GPU VFIO 바인딩.
2. QEMU 실행 시 PCI 장치 바인딩:
```
qemu-system-x86_64 -device vfio-pci,host=01:00.0
```
- 매우 강력한 성능을 제공하지만 설정이 복잡하고 하드웨어, BIOS 설정 요구.

---

7. 윈도우 게스트에서 Virtio-GPU 사용 시 주의사항은?
- 별도의 Virtio-GPU 드라이버가 필요할 수 있습니다.
- MS 공식 드라이버 외에 오픈소스 Virtio GPU 드라이버 또는 QEMU의 SPICE 드라이버 설치 권장.

---

8. QEMU에서 GPU 가상화 시 성능 팁은?
- VirGL을 사용해 3D 가속 활성화.
- 최신 QEMU와 게스트 그래픽 드라이버 사용.
- Virtio GPU와 SPICE 조합으로 빠른 2D 그래픽.
- PCI Passthrough는 가장 좋은 성능을 제공하지만 설정 난이도가 높음.
- 호스트 그래픽 드라이버가 최신이고 기능 지원이 충분한지 확인하세요.

---

9. 참고할 만한 공식 문서는 어디인가요?
- QEMU 공식 문서: https://qemu.readthedocs.io/en/latest/
- Virtio-GPU 위키: https://docs.oasis-open.org/virtio/virtio-gpu/latest/virtio-gpu.html
- VirGL 프로젝트: https://virgl.github.io/
- SPICE: https://www.spice-space.org/

---

이상으로 QEMU에서 가상화된 GPU 사용법에 대해 기본부터 고급 설정까지 FAQ 형식으로 정리해 드렸습니다.
QEMU에서 가상화된 GPU를 사용하는 방법은 여러 가지가 있으며, 주로 GPU 패스스루(passthrough) 기법을 통해 이루어집니다.

이 방법은 물리적 GPU를 가상 머신에 직접 할당하여 성능을 극대화하는 데 유리합니다.

아래에 QEMU에서 가상화된 GPU를 사용하는 주요 방법에 대해 설명하겠습니다.

전제 조건 1. 하드웨어 지원 : GPU 패스스루를 사용하려면 CPU와 GPU가 IOMMU(예: VT-d, AMD-Vi)를 지원해야 합니다.

이를 BIOS에서 활성화해야 합니다.



2. 호스트 운영체제 : 일반적으로 리눅스 기반 시스템이 사용됩니다.

QEMU와 KVM이 설치되어 있어야 합니다.



3. GPU 드라이버 : 물리 GPU를 위한 드라이버가 설치되어 있어야 합니다.

GPU 패스스루 설정 1. IOMMU 활성화 : 커널 부트 시 IOMMU를 활성화하는 매개변수를 추가해야 합니다.

- Intel CPU의 경우 `intel_iommu=on`을 추가합니다.

- AMD CPU의 경우 `amd_iommu=on`을 추가합니다.

예: ``` GRUB_CMDLINE_LINUX="... intel_iommu=on" ``` 이후 `update-grub` 명령어를 실행하고 재부팅 합니다.



2. GPU 식별 및 IOMMU 그룹 확인 : `lspci` 명령어로 GPU를 찾고, `find`와 `awk`를 사용하여 IOMMU 그룹을 확인합니다.

``` sudo lspci -nn sudo dmesg | grep -e DMAR -e IOMMU ```

3. GPU를 사용할 VM 정의 : QEMU/KVM을 사용하여 VM을 정의하고 GPU를 패스스루합니다.

일반적으로 XML 파일을 수정하여 QEMU 하드웨어 설정을 합니다.

```xml <address domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> ```

4. QEMU 실행 시 GPU 패스스루 옵션 추가 : QEMU를 실행할 때 GPU와 관련된 플래그를 추가합니다.

```bash qemu-system-x86_64 \ -enable-kvm \ -m 4096 \ -cpu host,kvm=on \ -smp 4 \ -device vfio-pci,host=00:02.0 \ -vga none \ -display none \ -hda /path/to/vmimage.img \ ... ```

5. 기타 드라이버 설정 : 게스트 운영체제에서 GPU 드라이버를 설치하고 구성합니다.

Windows의 경우 NVIDIA 또는 AMD 드라이버를 설치하고, 리눅스의 경우 적절한 드라이버를 설치합니다.

추가 사항: 고급 기능 - VGA 패스스루 : QEMU에서는 `-vga` 플래그를 사용하여 기본 VGA 디바이스를 설정할 수 있습니다.

이는 GPU 패스스루와 함께 사용될 수 있지만, 주로 고성능 게이밍이나 GPU 연산에 필요합니다.

- 가상화 기술 활용 : QEMU-KVM의 Virtio 기술을 활용하면 GPU 가상화를 통해 성능을 최적화할 수 있는 다양한 방법이 있습니다.

위의 절차를 통해 QEMU에서 GPU 패스스루를 설정하고 가상 머신에서 가상화된 GPU를 사용할 수 있습니다.

각 단계에서 발생할 수 있는 문제는 에러 메시지를 기준으로 검색하여 해결할 수 있습니다.

작성자: 이지후 [비회원] | 작성일자: 1년 전 2025-03-21 00:21:09
조회수: 190 | 댓글: 0 | 좋아요: 1 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.