Computer >> 컴퓨터 >  >> 소프트웨어 >> 가상 기기

QEMU Virgil - 가상화, 가속화, 축하

가상화는 영리한 것입니다. 컴퓨터 안의 컴퓨터, 무한한 가능성과 사용 사례 시나리오. 하나만 빼고. 노름. 이유가 무엇이든 가상 머신을 실행하는 괴짜에게 물어보면 모든 가상화 소프트웨어의 한 가지 큰 결함, 즉 충분히 개발되지 않았거나 충분히 강력한 그래픽 스택을 지적할 것입니다.

실제로 가상 머신 내에서 게스트 운영 체제를 실행할 때 호스트의 기본 기능 뒤에 있는 2D 및 3D 기능과 같은 그래픽 가속에 의해 제한되는 경우가 많습니다. 따라서 가상화가 많은 문제를 해결할 수 있다고 생각한다면 게임은 그 중 하나가 아닙니다. Virgil 3d는 언젠가 호스트 성능에 패리티를 제공하는 것을 목표로 가상화 소프트웨어에 3D 경이로움을 제공하는 것을 목표로 하는 프로젝트입니다. 이 솔루션의 구현은 QEMU/KVM 기반 가상 머신에서 SDL2 및 Virgil 3d를 활성화할 수 있는 QEMU Virgil입니다. 재미있을 것 같습니다. 그럼 한번 살펴봅시다.

QEMU Virgil - 가상화, 가속화, 축하

설정

이러한 노력의 한 가지 큰 단점은 매우 복잡할 수 있으며 모든 것을 구성하고 실행하는 데 시간이 걸린다는 것입니다. 그러나 Virgil 3d를 사용하면 기존 스냅 패키지를 사용하려는 경우 수동 컴파일 등의 모든 잔혹한 부분이 필요하지 않습니다. 힌트:항상 공유해야 하듯이 저는 스냅 노력에 속해 있으므로 편향된 냄새가 나면 도망치세요!

sudo 스냅 설치 qemu-virgil
sudo 스냅 연결 qemu-virgil:kvm

가상 머신 실행

3D 가속 가상 머신을 시작하는 방법에 대한 (샘플) 명령을 살펴보겠습니다. 다소 부담스럽다면 몇 년 전에 제가 소개한 KVM 소개 가이드를 살펴보시기 바랍니다. 거기에 설명된 대부분의 내용이 여전히 적용됩니다.

qemu-virgil -enable-kvm -m 4096 -device virtio-vga,virgl=on -display sdl,gl=on -netdev user,id=ethernet.0,hostfwd=tcp::10022-:22 -device rtl8139,netdev =ethernet.0 -soundhw ac97 kubuntu.img -boot d -cdrom kubuntu.iso

여기에 무엇이 있습니까?

다채로운 옵션을 모두 살펴보겠습니다.

  • -enable-kvm - 전체 KVM 가상화 지원을 사용합니다. 말할 필요도 없이 하드웨어에는 필요한 확장이 있어야 합니다(CPU에 있고 BIOS에서 활성화됨).
  • -m 4096 - VM 메모리가 4GB로 설정되었습니다.
  • -device ... - 이 옵션은 장치 드라이버를 추가합니다. 특히 virgl을 사용합니다.
  • -디스플레이 ... - 이 옵션을 사용하면 디스플레이에 SDL 및 OpenGL 렌더링을 사용할 수 있습니다.
  • -netdev ... - 이 옵션은 TCP 포트 포워딩이 있는 네트워크 인터페이스를 구성하므로 SSH를 통해 가상 머신에 연결할 수 있습니다(호스트 포트 10022 사용). 네트워크 장치는 RTL8139 가상 어댑터가 됩니다. 이제 이 어댑터는 100Mbps로 제한되지만 e1000도 사용할 수 있습니다. 공식 KVM 네트워킹 페이지에 이 주제에 대한 자세한 내용이 있습니다.
  • -soundhw - 사운드 카드를 구성합니다.
  • kubuntu.img - 가상 하드 디스크의 이름입니다. 아직 만들지 않았습니다. dd를 사용하여 디스크 이미지(전체 또는 희소 이미지)를 만들거나 qemu-img 명령을 사용할 수 있습니다.
  • -boot d - 이 옵션은 부팅 순서를 지정합니다. d는 CD-ROM 먼저를 의미합니다.
  • -cdrom kubuntu.iso - 여기에 가상 CD 이미지로 kubuntu.iso가 있습니다. 먼저 라이브 세션으로 부팅하고 운영 체제를 설치한 다음 이후 사용 시 명령에서 간단히 부팅 및 cdrom 옵션을 제거할 수 있습니다.

시도할 수 있는 다른 많은 옵션이 있습니다. 가상 CPU 수, 다양한 CPU 모델, 스냅샷, 디스크 캐싱 모드, USB 기능, 다양한 메모리 관리 기능 등. 그러나 우리는 KVM을 마스터하기 위해 여기에 있는 것이 아니라 3D 재미를 위해 여기에 있습니다.

하드 디스크 생성

따라서 다음과 같이 할 수 있습니다.

qemu-img 생성 -f qcow2 kubuntu.img 20g

가상 머신 및 3D 그래픽 시작

엔터 키를 치시오. 마법이 계속됩니다. 가상 머신이 부팅되고 선택한 게스트 운영 체제의 바탕 화면이 곧 표시됩니다. 테스트를 위해 Fedora 32에서 실행되는 Kubuntu 20.04를 선택했습니다. 그러나 Windows를 포함하여 게스트에 대해 원하는 모든 것을 사용할 수 있습니다.

QEMU Virgil - 가상화, 가속화, 축하

QEMU Virgil - 가상화, 가속화, 축하

다음을 사용하여 3D 가속 활성화를 확인할 수 있습니다.

glxinfo | grep "직접 렌더링"

QEMU Virgil - 가상화, 가속화, 축하

이제 이것은 모든 단일 3D 렌더링 기능이 구현되었음을 의미하지는 않지만 좋은 출발이라면 확실합니다. 실제로 내 Kubuntu VM에는 모든 멋진 부분이 있었고 견고한 3D 성능을 포함하여 상당히 훌륭했습니다. PassMarkburn-in 테스트를 실행하여 무엇이 제공되는지 확인했습니다. 쿠스티.

QEMU Virgil - 가상화, 가속화, 축하

결론

버질은 정말 좋은 것 같습니다. 비교적 간단하고 저렴한 솔루션이기 때문입니다. 이제 저는 다중 GPU 컴퓨터를 사용하는 사람들을 알고 있습니다. 그들은 PCI 버스 식별자 등을 사용하여 호스트와 게스트 가상 머신에서 서로 다른 GPU 카드를 별도로 사용하여 게스트에서 거의 기본 성능을 제공하는 영리한 VM 구성을 가지고 있습니다. 시스템. 그러나 그것은 종종 평범한 괴짜의 기술과 예산을 넘어선 것입니다. 현실적으로 보자면 정말 평범한 사람들은 Linux나 가상화 같은 것을 사용하지 않을 것입니다.

0과 모든 3D 사이에서 가상 머신에 멋진 그래픽이 필요한 경우 Virgil이 적절한 수준의 기능을 제공할 수 있습니다. 틈새 시장일 수도 있고 아직 개발 중이지만 합리적으로 잘 작동하고 내 테스트에서 성능이 충분합니다. 우리는 아직 가상화가 물리적 하드웨어를 완전하고 완전하게 대체할 수 있는 단계에 있지 않지만 Virgil은 올바른 방향으로 올바른 단계를 밟고 있습니다. 가세요, 괴짜. 여기까지 하겠습니다.

건배.