KVM 게스트에 대해 다음 그래픽 설정을 사용하고 있습니다.
...
<graphics type="spice">
<listen type="none"/>
<image compression="off"/>
<gl enable="yes" rendernode="/dev/dri/by-path/pci-0000:69:00.0-render"/>
</graphics>
...
<video>
<model type="virtio" heads="1" primary="yes">
<acceleration accel3d="yes"/>
</model>
<address type="pci" domain="0x0000" bus="0x00" slot="0x01" function="0x0"/>
</video>
...
Fedora(32/33) 및 Ubuntu(20.04)에서는 매우 잘 실행되지만 지금까지는 다른 배포판에서는 작동하지 않습니다. Fedora에서도 enable="yes"
설치 후 열어( )해야만 작동합니다(라이브 CD에서는 작동하지 않음). 그러나 그 후에는 즉시 작동합니다.
만자로에서 동일한 작업을 시도하면 grub
메뉴조차 정지되어 사용할 수 없게 됩니다. 나도 systemd-boot
그것을 시도했습니다. 그러나 실행하면 화면이 검은색으로 유지됩니다(검은색 화면에도 불구하고 마우스 통합이 계속 작동하므로 제대로 작동하는 것 같습니다).
고쳐 쓰다: 이것은 결국 커널 문제는 아닌 것 같습니다. 자동 로그인이 활성화되어 있어서 이것을 놓쳤지만 lightdm에서는 정상적으로 표시했습니다. 실제로 나에게 검은 화면을 준 것은 DE(XFCE)였습니다. Wayland와 Xorg의 Gnome은 잘 작동합니다. 그러나 GRUB 메뉴는 여전히 작동하지 않습니다. 이것은 virgl과 GRUB 간의 호환성 문제인 것 같습니다. 그리고 XFCE. 아마도 EFI 없이 다시 시도하겠지만 원래 문제는 대부분 해결되었습니다.
이제 저는 페도라/우분투에 무엇이 있는지 알고 싶습니다. 예를 들어, manjaro가 빠졌나요? 이것이 누락된 커널 옵션입니까, 아니면 일부 드라이버 패키지입니까?
Manjaro 게스트에 설치를 시도했지만 virglrenderer
도움이 되지 않았습니다(게스트에게 적합한지 확실하지 않습니다).
고쳐 쓰다:
검은 화면이 있는 Manjaro 게스트에서 SSH를 사용하면 다음과 같은 결과가 나타납니다.
dmesg | grep drm
[ 0.836414] [drm] pci: virtio-vga detected at 0000:00:01.0
[ 0.836420] fb0: switching to virtiodrmfb from EFI VGA
[ 0.836526] [drm] virgl 3d acceleration enabled
[ 0.836527] [drm] EDID support available.
[ 0.837182] [drm] number of scanouts: 1
[ 0.837186] [drm] number of cap sets: 2
[ 0.845823] [drm] cap set 0: id 1, max-version 1, max-size 308
[ 0.845964] [drm] cap set 1: id 2, max-version 2, max-size 688
[ 0.846341] [drm] Initialized virtio_gpu 0.1.0 0 for virtio0 on minor 0
[ 0.848777] virtio_gpu virtio0: fb0: virtio_gpudrmfb frame buffer device
[ 2.095162] systemd[1]: Condition check resulted in Load Kernel Module drm being skipped.
일하는 Fedora 손님도 있습니다:
dmesg | grep drm
[ 2.164964] [drm] pci: virtio-vga detected at 0000:00:01.0
[ 2.177043] [drm] features: +virgl +edid
[ 2.177652] [drm] number of scanouts: 1
[ 2.177658] [drm] number of cap sets: 2
[ 2.193509] [drm] cap set 0: id 1, max-version 1, max-size 308
[ 2.193596] [drm] cap set 1: id 2, max-version 2, max-size 688
[ 2.193840] [drm] Initialized virtio_gpu 0.1.0 0 for virtio0 on minor 0
[ 2.217427] virtio_gpu virtio0: [drm] fb0: virtio_gpudrmfb frame buffer device
[ 3.552834] systemd[1]: Condition check resulted in Load Kernel Module drm being skipped.
호스트 머신에서(작업 중인 VM의 출력은 동일하지만 작동함):
qemu-system-x86_64 \
-drive if=pflash,format=raw,readonly,file=/usr/share/edk2/ovmf/OVMF_CODE.fd \
-drive if=pflash,format=raw,readonly,file=/path/to/qemu/nvram/manjaro_VARS.fd \
-drive file=/path/to/manjaro.qcow2 \
-m 8192 -enable-kvm -M q35 -cpu host -smp 16,sockets=1,cores=16,threads=1 \
-vga virtio -display gtk,gl=on \
-usb -device usb-tablet \
-net user,hostfwd=tcp::10022-:22 -net nic
gl_version 46 - core profile enabled
vrend_renderer_fill_caps: Entering with stale GL error: 1280
GLSL feature level 430
답변1
문제는 Xfwm의 내장 합성기와 virgl이 함께 잘 작동하지 않는다는 것입니다.
해결 방법: virgl=off(비디오 장치에서) 또는 gl=off(모니터에서)로 VM을 시작하고, VM에서 xfwm4-tweaks-settings를 실행하고, Compositor 탭을 선택한 다음, Enable display compositing ""을 선택 취소합니다. 가상 머신을 종료하고 virgl을 다시 활성화합니다.
Picom은 Xfwm과 함께 작동하며 동일한 문제가 없는 것 같습니다. 따라서 합성기를 원한다면 Xfwm의 내장 합성기를 사용하는 대신 VM에 picom을 설치/사용하십시오.https://wiki.archlinux.org/index.php/Picom
답변2
노트:이것은 단지 개요일 뿐입니다.그것은 무엇을 하고 얼마나 효과적인가- ATM이 왜 이러는지 모르겠어요.
Manjaro 게스트는 virgl을 사용할 수 있지만 XFCE에 문제가 있는 것 같습니다. 예를 들어 Gnome이나 X는 Wayland에서 작동합니다.
Manjaro 게스트에 설치했습니다 spice-gtk
. qemu-guest-agent
(그들이 그것을 작동하게 만드는 책임이 있는지는 확인하지 않았습니다.)
그러나 그래픽 vt가 응답하더라도 콘솔 tty로 전환할 때 응답 속도가 매우 느립니다(Fedora도 마찬가지).