• Virtualization of Windows XP

    From Gary Dale@21:1/5 to All on Thu Oct 3 03:00:01 2024
    I'm running Debian/Stable on an AMD64 system. I have a number of
    kvm/qemu virtual machines running on it, including Home Assistant and a
    Samba DC, along with multiple Windows VMs. Most of them are working fine.

    However I found a need to fire up an old Windows XP VM but I can't get
    it to start. I'm using virt-manager to do this on my Debian/Testing workstation, connecting to the VMs on the Debian/Stable server. When I
    open the VM (using the virt-manager gui) I get the error:

    host does not support domain type kvm with machine "pc-0.12' for
    virtualization type 'hvm' with architecture 'x86_64'

    I have two Windows XP VMs - 32bit and 64bit - and they both give the
    same message.

    I haven't tried using the Windows XP VMs in years, so I have no idea
    when the problem originated. I do know at one point they worked.

    Any ideas on what's going wrong and how to fix it?

    Thanks.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From George at Clug@21:1/5 to All on Thu Oct 3 09:10:01 2024
    On Thursday, 03-10-2024 at 10:14 Gary Dale wrote:
    I'm running Debian/Stable on an AMD64 system. I have a number of
    kvm/qemu virtual machines running on it, including Home Assistant and a Samba DC, along with multiple Windows VMs. Most of them are working fine.

    However I found a need to fire up an old Windows XP VM but I can't get
    it to start. I'm using virt-manager to do this on my Debian/Testing workstation, connecting to the VMs on the Debian/Stable server. When I
    open the VM (using the virt-manager gui) I get the error:

    host does not support domain type kvm with machine "pc-0.12' for virtualization type 'hvm' with architecture 'x86_64'

    What are the capabilities of the KVM Host? I use an Intel i7.

    Can your Host support a SandyBridge CPU, if you create a new VM (e.g. try creating a SandyBridge CPU configure VM and install Debain Bookworm)?

    I expect that you may have other issues in Windows XP itself, if you do get to run Windows XP on different architecture that it was originally installed to (which is why my VM uses QEMU to emulate a Sandybrige CPU).

    Other than researching links on the topic, like the two below, I am hoping that the Virt-Manager VM XML I posted below may give you some ideas.

    I believe qemu is important to emulate the older CPU.

    https://people.redhat.com/~cohuck/2022/01/05/qemu-machine-types.html https://www.qemu.org/docs/master/system/i386/pc.html



    I have two Windows XP VMs - 32bit and 64bit - and they both give the
    same message.

    I haven't tried using the Windows XP VMs in years, so I have no idea
    when the problem originated. I do know at one point they worked.

    Any ideas on what's going wrong and how to fix it?

    Thanks.



    <domain type="kvm">
    <name>WindowsXP</name>
    <uuid>71106107-0884-482c-b532-de32dacb5f52</uuid>
    <memory unit="KiB">3145728</memory>
    <currentMemory unit="KiB">3145728</currentMemory>
    <vcpu placement="static">1</vcpu>
    <os>
    <type arch="x86_64" machine="pc-i440fx-2.1">hvm</type>
    <bootmenu enable="no"/>
    </os>
    <features>
    <acpi/>
    <apic/>
    <pae/>
    </features>
    <cpu mode="custom" match="exact" check="partial">
    <model fallback="allow">SandyBridge</model>
    <vendor>Intel</vendor>
    <feature policy="require" name="vme"/>
    <feature policy="require" name="dtes64"/>
    <feature policy="require" name="vmx"/>
    <feature policy="require" name="erms"/>
    <feature policy="require" name="xtpr"/>
    <feature policy="require" name="smep"/>
    <feature policy="require" name="pcid"/>
    <feature policy="require" name="est"/>
    <feature policy="require" name="monitor"/>
    <feature policy="require" name="smx"/>
    <feature policy="require" name="tm"/>
    <feature policy="require" name="acpi"/>
    <feature policy="require" name="osxsave"/>
    <feature policy="require" name="ht"/>
    <feature policy="require" name="pdcm"/>
    <feature policy="require" name="fsgsbase"/>
    <feature policy="require" name="f16c"/>
    <feature policy="require" name="ds"/>
    <feature policy="require" name="invtsc"/>
    <feature policy="require" name="tm2"/>
    <feature policy="require" name="ss"/>
    <feature policy="require" name="pbe"/>
    <feature policy="require" name="ds_cpl"/>
    <feature policy="require" name="rdrand"/>
    </cpu>
    <clock offset="localtime">
    <timer name="rtc" tickpolicy="catchup"/>
    <timer name="pit" tickpolicy="delay"/>
    <timer name="hpet" present="no"/>
    </clock>
    <on_poweroff>destroy</on_poweroff>
    <on_reboot>restart</on_reboot>
    <on_crash>restart</on_crash>
    <pm>
    <suspend-to-mem enabled="no"/>
    <suspend-to-disk enabled="no"/>
    </pm>
    <devices>
    <emulator>/usr/bin/kvm</emulator>
    <disk type="file" device="disk">
    <driver name="qemu" type="qcow2"/>
    <source file="/var/lib/libvirt/images/WindowsXP.qcow2"/>
    <target dev="vda" bus="virtio"/>
    <boot order="1"/>
    <address type="pci" domain="0x0000" bus="0x00" slot="0x07" function="0x0"/>
    </disk>
    <disk type="file" device="cdrom">
    <driver name="qemu" type="raw"/>
    <target dev="hda" bus="ide"/>
    <readonly/>
    <address type="drive" controller="0" bus="0" target="0" unit="0"/>
    </disk>
    <disk type="file" device="floppy">
    <driver name="qemu" type="raw"/>
    <target dev="fda" bus="fdc"/>
    <readonly/>
    <address type="drive" controller="0" bus="0" target="0" unit="0"/>
    </disk>
    <controller type="usb" index="0" model="ich9-ehci1">
    <address type="pci" domain="0x0000" bus="0x00" slot="0x05" function="0x7"/>
    </controller>
    <controller type="usb" index="0" model="ich9-uhci1">
    <master startport="0"/>
    <address type="pci" domain="0x0000" bus="0x00" slot="0x05" function="0x0" multifunction="on"/>
    </controller>
    <controller type="usb" index="0" model="ich9-uhci2">
    <master startport="2"/>
    <address type="pci" domain="0x0000" bus="0x00" slot="0x05" function="0x1"/>
    </controller>
    <controller type="usb" index="0" model="ich9-uhci3">
    <master startport="4"/>
    <address type="pci" domain="0x0000" bus="0x00" slot="0x05" function="0x2"/>
    </controller>
    <controller type="pci" index="0" model="pci-root"/>
    <controller type="ide" index="0">
    <address type="pci" domain="0x0000" bus="0x00" slot="0x01" function="0x1"/>
    </controller>
    <controller type="virtio-serial" index="0">
    <address type="pci" domain="0x0000" bus="0x00" slot="0x06" function="0x0"/>
    </controller>
    <controller type="fdc" index="0"/>
    <interface type="network">
    <mac address="52:54:00:b2:32:aa"/>
    <source network="vOrange"/>
    <model type="virtio"/>
    <address type="pci" domain="0x0000" bus="0x00" slot="0x03" 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="mouse" bus="ps2"/>
    <input type="keyboard" bus="ps2"/>
    <graphics type="spice" autoport="yes">
    <listen type="address"/>
    </graphics>
    <sound model="ac97">
    <address type="pci" domain="0x0000" bus="0x00" slot="0x04" function="0x0"/>
    </sound>
    <audio id="1" type="spice"/>
    <video>
    <model type="qxl" ram="65536" vram="65536" vgamem="16384" heads="1" primary="yes"/>
    <address type="pci" domain="0x0000" bus="0x00" slot="0x02" 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>
    <redirdev bus="usb" type="spicevmc">
    <address type="usb" bus="0" port="4"/>
    </redirdev>
    <redirdev bus="usb" type="spicevmc">
    <address type="usb" bus="0" port="5"/>
    </redirdev>
    <memballoon model="virtio">
    <address type="pci" domain="0x0000" bus="0x00" slot="0x08" function="0x0"/>
    </memballoon>
    </devices>
    </domain>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Detlef Vollmann@21:1/5 to Alexander V. Makartsev on Thu Oct 3 21:50:01 2024
    On 10/3/24 06:35, Alexander V. Makartsev wrote:

    And change it to:
    <type arch="x86_64" machine="pc-i440fx-3.1">hvm</type>

    I'm using 'pc-i440fx-2.0' on Sid/Trixie and XP runs w/o problems.

    For Win7 when I did the change it wanted a new activation, but XP
    was fine with the change...

    Detlef

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Gary Dale@21:1/5 to Gary Dale on Fri Oct 4 16:00:01 2024
    On 2024-10-02 20:14, Gary Dale wrote:
    I'm running Debian/Stable on an AMD64 system. I have a number of
    kvm/qemu virtual machines running on it, including Home Assistant and
    a Samba DC, along with multiple Windows VMs. Most of them are working
    fine.

    However I found a need to fire up an old Windows XP VM but I can't get
    it to start. I'm using virt-manager to do this on my Debian/Testing workstation, connecting to the VMs on the Debian/Stable server. When I
    open the VM (using the virt-manager gui) I get the error:

    host does not support domain type kvm with machine "pc-0.12' for virtualization type 'hvm' with architecture 'x86_64'

    I have two Windows XP VMs - 32bit and 64bit - and they both give the
    same message.

    I haven't tried using the Windows XP VMs in years, so I have no idea
    when the problem originated. I do know at one point they worked.

    Any ideas on what's going wrong and how to fix it?

    Thanks.

    Thanks everyone. The exact solution was provided by Detlef - change the
    machine type to pc-i440fx-2.0. However, that is easier said than done as Timothy's advice about editing the XML from within virt-manager didn't
    work. For some reason it complained about the machine type when I tried.
    I had to remote into the server to use virsh edit <vm name> to actually
    make the change. Along the way, I found another issue on one of the
    machines - spice was no longer supported either - that shows how long
    it's been since I last used them.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From George at Clug@21:1/5 to All on Sat Oct 5 06:40:01 2024
    On Saturday, 05-10-2024 at 13:56 Max Nikulin wrote:
    On 04/10/2024 20:56, Gary Dale wrote:
    I found another issue on one of the machines - spice was no longer supported either

    I still use spice (remote-viewer from virt-viewer) for Linux guests on bookworm, but I start qemu directly with "-display spice-app,gl=on". I
    have seen notices that it is deprecated though.


    Unless someone can tell me otherwise, my understanding is that VNC as packaged in Linux does not support audio.

    Hence I have always used Spice for both video and audio.

    When I first heard from this thread that Spice was depreciated, I thought it was a mistake, but it appears that RedHat is no longer supporting Spice. This is bad news if Red Hat does not have a way forward for USB redirection, video and audio.

    I hope this issue (mainly H.264 codecs ?) is resolved soon. Spice seemed to be the way of the future.

    Below are a few links which talk about this change:

    https://access.redhat.com/solutions/5414901
    Spice protocol is being deprecated in RHEL 8.3
    Spice remote display protocol is being deprecated in RHEL8.3 and will be removed in RHEL9.

    https://forums.rockylinux.org/t/spice-support-was-dropped-in-rhel-9/6753
    Why no SPICE:

    Due to some license restrictions around H.264 codecs we are not able to provide a Streaming solution which is needed for modern workloads (as all drivers are using 3D today). Also vGPU support is not possible without this.
    There are quite some 3rd party solutions that already have a proper implementation (licensed software due to H.264 restrictions unfortunately).
    For console access and local acceleration VNC is capable of doing the job - and VNC is also used for OpenStack and KubeVirt and they are both not interested in using SPICE instead.

    Mainly due to (1) and (3) we decided to deprecate our work on SPICE.


    https://www.reddit.com/r/kvm/comments/wa9lxm/rhel_9_spice_alternative/
    The reason is some licencing issues. I hope Fedora won't follow, as my workstation is all VM.
    ...
    would it be faster to install Xrdp or similar in the guest and use that? That seems to be the solution RedHat is suggesting.


    https://www.reddit.com/r/qemu_kvm/comments/sytgvd/clipboard_without_spice/

    https://stackoverflow.com/questions/64560389/setting-up-pulseaudio-in-qemu

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Detlef Vollmann@21:1/5 to Gary Dale on Tue Oct 22 20:20:01 2024
    On 10/4/24 15:56, Gary Dale wrote:

    Thanks everyone. The exact solution was provided by Detlef - change the machine type to pc-i440fx-2.0.

    Just FYI: I just had to change it to pc-i440fx-2.11.
    I'm on Sid and some libvirt/qemu upgrade seems to have removed
    pc-i440fx-2.0.
    This will probably hit you when you upgrade to Trixie.
    Unfortunately this time XP wanted a re-activation...

    Detlef

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)