저는 업무용 노트북(Ryzen 5850U, 추가 GPU 없음)에서 OpenSUSE를 기본 OS로 사용하고 있지만 Asfar에 따르면 회사의 일부 통신이 S/MIME을 사용하여 암호화되기 때문에 업무용 Outlook 데스크톱 앱이 필요합니다. 내가 알기로 OWA는 Windows 이외의 시스템에서는 지원되지 않습니다. 로컬 Exchange 서버를 사용하고 있습니다.
그래서 libvirt를 사용하는 Windows VM을 설정하기로 결정했습니다. 내 가상 머신 구성은 다음과 같습니다.
<domain type="kvm">
<name>RDPWindows</name>
<uuid>350141fc-4158-43cc-afad-my-uuid</uuid>
<metadata>
<libosinfo:libosinfo xmlns:libosinfo="http://libosinfo.org/xmlns/libvirt/domain/1.0">
<libosinfo:os id="http://microsoft.com/win/10"/>
</libosinfo:libosinfo>
</metadata>
<memory unit="KiB">8388608</memory>
<currentMemory unit="KiB">2097152</currentMemory>
<vcpu placement="static">8</vcpu>
<os>
<type arch="x86_64" machine="pc-q35-5.2">hvm</type>
<loader readonly="yes" type="pflash">/usr/share/qemu/ovmf-x86_64-ms-code.bin</loader>
<nvram>/var/lib/libvirt/qemu/nvram/RDPWindows_VARS.fd</nvram>
</os>
<features>
<acpi/>
<apic/>
<hyperv>
<relaxed state="on"/>
<vapic state="on"/>
<spinlocks state="on" retries="8191"/>
</hyperv>
<vmport state="off"/>
</features>
<cpu mode="host-model" check="partial">
<topology sockets="1" dies="1" cores="4" threads="2"/>
</cpu>
<clock offset="localtime">
<timer name="hpet" present="yes"/>
<timer name="hypervclock" present="yes"/>
</clock>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>destroy</on_crash>
<pm>
<suspend-to-mem enabled="no"/>
<suspend-to-disk enabled="no"/>
</pm>
<devices>
<emulator>/usr/bin/qemu-system-x86_64</emulator>
<disk type="file" device="cdrom">
<driver name="qemu" type="raw"/>
<source file="/path/to/Windows.iso"/>
<target dev="sdb" bus="sata"/>
<readonly/>
<address type="drive" controller="0" bus="0" target="0" unit="1"/>
</disk>
<disk type="file" device="cdrom">
<driver name="qemu" type="raw"/>
<source file="/path/to/virtio-win-0.1.208.iso"/>
<target dev="sdc" bus="sata"/>
<readonly/>
<address type="drive" controller="0" bus="0" target="0" unit="2"/>
</disk>
<disk type="file" device="disk">
<driver name="qemu" type="qcow2"/>
<source file="/var/lib/libvirt/images/win10-office.qcow2"/>
<target dev="vda" bus="virtio"/>
<boot order="1"/>
<address type="pci" domain="0x0000" bus="0x06" slot="0x00" function="0x0"/>
</disk>
<controller type="usb" index="0" model="qemu-xhci" ports="15">
<address type="pci" domain="0x0000" bus="0x03" slot="0x00" function="0x0"/>
</controller>
<controller type="sata" index="0">
<address type="pci" domain="0x0000" bus="0x00" slot="0x1f" function="0x2"/>
</controller>
<controller type="pci" index="0" model="pcie-root"/>
<controller type="pci" index="1" model="pcie-root-port">
<model name="pcie-root-port"/>
<target chassis="1" port="0x10"/>
<address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x0" multifunction="on"/>
</controller>
<controller type="pci" index="2" model="pcie-root-port">
<model name="pcie-root-port"/>
<target chassis="2" port="0x11"/>
<address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x1"/>
</controller>
<controller type="pci" index="3" model="pcie-root-port">
<model name="pcie-root-port"/>
<target chassis="3" port="0x12"/>
<address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x2"/>
</controller>
<controller type="pci" index="4" model="pcie-root-port">
<model name="pcie-root-port"/>
<target chassis="4" port="0x13"/>
<address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x3"/>
</controller>
<controller type="pci" index="5" model="pcie-root-port">
<model name="pcie-root-port"/>
<target chassis="5" port="0x14"/>
<address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x4"/>
</controller>
<controller type="pci" index="6" model="pcie-root-port">
<model name="pcie-root-port"/>
<target chassis="6" port="0x15"/>
<address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x5"/>
</controller>
<controller type="virtio-serial" index="0">
<address type="pci" domain="0x0000" bus="0x04" slot="0x00" function="0x0"/>
</controller>
<interface type="network">
<mac address="52:54:00:77:ea:aa"/>
<source network="default"/>
<model type="e1000e"/>
<address type="pci" domain="0x0000" bus="0x01" slot="0x00" function="0x0"/>
</interface>
<interface type="network">
<mac address="52:54:00:e8:2d:aa"/>
<source network="link-local"/>
<model type="virtio"/>
<address type="pci" domain="0x0000" bus="0x02" slot="0x00" function="0x0"/>
</interface>
<serial type="pty">
<target type="isa-serial" port="0">
<model name="isa-serial"/>
</target>
</serial>
<console type="pty">
<target type="serial" port="0"/>
</console>
<channel type="spicevmc">
<target type="virtio" name="com.redhat.spice.0"/>
<address type="virtio-serial" controller="0" bus="0" port="1"/>
</channel>
<input type="tablet" bus="usb">
<address type="usb" bus="0" port="1"/>
</input>
<input type="mouse" bus="ps2"/>
<input type="keyboard" bus="ps2"/>
<graphics type="spice" autoport="yes">
<listen type="address"/>
<image compression="off"/>
<gl enable="no"/>
</graphics>
<sound model="ich9">
<address type="pci" domain="0x0000" bus="0x00" slot="0x1b" function="0x0"/>
</sound>
<video>
<model type="virtio" heads="1" primary="yes"/>
<address type="pci" domain="0x0000" bus="0x00" slot="0x01" function="0x0"/>
</video>
<redirdev bus="usb" type="spicevmc">
<address type="usb" bus="0" port="2"/>
</redirdev>
<redirdev bus="usb" type="spicevmc">
<address type="usb" bus="0" port="3"/>
</redirdev>
<memballoon model="virtio">
<address type="pci" domain="0x0000" bus="0x05" slot="0x00" function="0x0"/>
</memballoon>
</devices>
</domain>
하지만 내 비디오 성능이 좋지 않습니다.쓸 수 있는하지만 확실히 사용하기 불편한데 어떻게 하면 더 좋은 성능을 얻을 수 있는지 알고 싶습니다. 나는 사용하려고https://github.com/Fmstrat/winapps, 약간 더 나은 성능을 제공하지만 시각적 버그가 있습니다. RDP와 xfreerdp를 사용해 보았지만 SPICE보다 낫지 않습니다. 이 Windows에 SPICE 게스트 도구를 설치했습니다.
답변1
현재 QEMU/KVM에서 가장 빠른 VGA는QXL, 적어도 일반적인 데스크톱 사용의 경우(3D 지원 없음). 당신은가상 기기귀하의 구성에서는 아마도 미래에는 3D를 지원하는 최선의 선택이 될 것입니다. 비디오를 다음과 같이 변경해야 합니다.
<video>
<model type='qxl' vram='65535' heads='1'>
</model>
</video>
물론 드라이버도 설치하세요. QXL 드라이버는 Spice-guest-tools에 포함되어 있습니다(여기를 확인하세요)스파이스 방문자 도구). spicy
가상 머신 창 내부 및 외부에서 원활한 마우스 작업을 위해 virt-manager와 같은 클라이언트를 사용할 수도 있습니다 virt-viewer
.
답변2
너가 아니라면GTK UI 새로 고침 빈도를 조정하기 위해 qemu를 다시 컴파일하십시오.또는 업스트림에서 조정하기로 결정하면 33fps 이상을 달성할 수 없습니다.마우스 움직임, 그게 바로 당신이 직면하고 있는 상황이라고 생각합니다(당신은 숫자를 제공하지 않았고 단지 의견만 제공했습니다).
호스트 비디오 그래픽과 디스플레이가 이미 만족스럽다고 가정할 때 가장 좋은 옵션은 다음과 같습니다.
qxl/spice이지만 호스트에서 RHEL을 실행하는 경우 EL9부터 제거됩니다. OL7.9에서 누락되었습니다. 우분투는 포기하지 않는 것 같습니다.
가상 머신에 대한 원격 데스크톱 클라이언트
다음과 같은 다양한 가상화 솔루션VMWare 플레이어
vnc/teamviewer는 가상 머신에 연결하고 로컬 커서 FPS 응답성을 유지하기 위해 원격 커서 보기를 비활성화하는 옵션을 제공합니다. TV는 LAN에서만 작동하도록 구성할 수 있으므로 인터넷에 노출되지 않으며 비디오 콘텐츠 스트리밍도 매우 잘됩니다.