VM mit Win10 -Audio simulieren?


Go to solution Solved by alturismo,

Recommended Posts

Hallo.

 

Ich habe nun eine Win10 Vm eingerichtet.

Diese Win10 Vm wird per Netzwerk von anderen PC per RealVNC gesteuert.

 

Leider hat die VM keine Audiofunktion.

Man kann ja Tastatur, Mouse, selbst die Funktion des Powertasters und so weiter simulieren.

Es geht mir nicht um 7.1 oder so. Simples Stereo zum reinhörenm in Audio/Videofiles reicht mir.

Geht das auch in einer Win10 Vm unter unraid?

Oder muß ich wirklich den bisher brach liegenden Mainboard Audiochip an diese Vm koppeln

 um dann in dieser per RealVNC gesteuerte Vm Audio zu haben, was ich auf demn steuernden Windows PC hören kann?

 

Und ja, seit Version 6.6.x kann RealVNC Audio übertragen, was ich bisher problemlos zwischen mehreren WindowsPC nutze.

Link to comment
6 hours ago, DataCollector said:

Leider hat die VM keine Audiofunktion.

 

ich schätze du hast keinen Audio Chip frei, daher auch kein Soundgerät in der VM

image.png.cf23be51ed1d89a7c36475c1909b4798.png

 

Win nativ hätte natürlich die onboard Soundkarte zur Verfügung

 

probier mal per xml edit in der VM folgendes aus, slot darauf achten dass dieser frei ist, hier '0x08', kannst auch 0x07, 0x09, .. nehmen.

 

    <sound model='ich9'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
    </sound>
    <audio id='1' type='none'/>

 

sieht dann beispielsweise am Ende so aus

image.png.dca2d17357e1ed36c35376f28bf874de.png

 

wobei ich als reine RDP Maschine auch RDP nutzen würde, da legt Windows normal sogar selbst eine virtuelle Soundkarte an ... und ist als Remote Protokoll VNC bei weitem voraus. Alternativ Chrome Remote Desktop evtl. noch wenn du eh chrome user wärst.

 

Parsec, ... machen nur Sinn wenn eine (v)GPU verbaut wäre.

  • Thanks 2
Link to comment

Hallo.

 

Und wieder zeigt sich, daß ich mich mit Hardware selber besser auskenne als mit Linux oder der unraid Software.
Meine bisherige VM Nutzung mit VirtualBox unter Windows hatte keine solchen Probleme und da ich keine Gamingkiste zusammenstellen wollte und keine GPU komplett durchschleifen wollte, hatte ich es mir einfacher vorgestellt und mich bisher auch nicht mit IOMMU und ACS und so auseinander gesetzt.

Nun habe ich heute Nacht damit angefangen mir da ein bisschen was anzulesen und in YTube anzusehen, aber dort geht es primär immer um Grafikkarten und Multidevices (Grafikkarte+Audio). Ich muß da noch weiter lesen/zusehen.

 

33 minutes ago, alturismo said:

ich schätze du hast keinen Audio Chip frei, daher auch kein Soundgerät in der VM

Mir war heute Nacht auch aufgefallen, daß ist gar keine Soundkarte zugeordnet hatte (ich hatte auf eine Virtualisierung gehofft).
Tja, seit ich das einmal kurz die dort einstellbare

Intel Comet Lake PCH cAVS (00:1f.3)

zu nutzen und VM zu starten bricht die VM mit aktiviertem Windows10 nun direkt ab.

"Execution error
internal error: qemu unexpectedly closed the monitor: qxl_send_events: spice-server bug: guest stopped, ignoring 2022-07-12T04:28:51.575198Z qemu-system-x86_64: -device vfio-pci,host=0000:00:1f.3,id=hostdev0,bus=pci.6,addr=0x1: vfio 0000:00:1f.3: group 13 is not viable Please ensure all devices within the iommu_group are bound to their vfio bus driver."

Zurückstellen bringt auch keine Besserung.

Da unraid aktuell noch DateiVerschiebeOperationen durchführt konnte ich seit heute Nacht nicht neu booten (das dauert noch ein paar Stunden).

 

33 minutes ago, alturismo said:

Win nativ hätte natürlich die onboard Soundkarte zur Verfügung

 

Würde es helfen einfach einen USB Soundstick als Device anzuschließen und den dann auszuwählen? Oder ist dann gleich der ganze USB Kontroller auch nur noch exklusiv in der VM nutzbar?

 

33 minutes ago, alturismo said:

probier mal per xml edit in der VM folgendes aus, slot darauf achten dass dieser frei ist, hier '0x08', kannst auch 0x07, 0x09, .. nehmen.

XML Edit - soweit hatte ich mich noch nicht an die Sache heran gewagt.
Welcher Slot zu welcher 0x0.. Zuordnung gehört weiß ich noch nicht und eigentlich hatte ich auch vor die vorhandenen PCIe Slots des Mainboards im Endeffekt auch auszunutzen. Ich muß mal suchen wo ich die zuordnung finde.

Hach war das in Vitualbox alles einfach. :)

 

 

Link to comment

@DataCollector VM, edit, oben rechts xml view, runter scrollen zu sound, einfach den Teil ersetzen mit dem obigen Eintrag, fertig ;) das bekommst du sicher hin ;) danach hast du einen virtuellen Sound Adapter drin ... sofern VNC das wirklich unterstützt, erledigt.

 

die separate Soundkarte (pci, usb, ...) kannst du auch nutzen, aber für den Zweck sicherlich Quark ...

Link to comment

Hallo @alturismo

2 hours ago, alturismo said:

VM, edit, oben rechts xml view,

Soweit war ich schon, doch...

2 hours ago, alturismo said:

runter scrollen zu sound,

sound habe ich nicht drin (gehabt). Aber eine 'Audio' Zeile habe ich gefunden. Und dort das eingesetzt.

 

2 hours ago, alturismo said:

einfach den Teil ersetzen mit dem obigen Eintrag,

Das habe ich getan.

Weiterhin (aber ich habe eben noch nicht neu booten können um festzustellen ob sich das auswirkt):

Execution error
internal error: qemu unexpectedly closed the monitor: qxl_send_events: spice-server bug: guest stopped, ignoring 2022-07-12T08:39:45.307744Z qemu-system-x86_64: -device vfio-pci,host=0000:00:1f.3,id=hostdev0,bus=pci.6,addr=0x1: vfio 0000:00:1f.3: group 13 is not viable Please ensure all devices within the iommu_group are bound to their vfio bus driver.

 

2 hours ago, alturismo said:

das bekommst du sicher hin ;) danach hast du einen virtuellen Sound Adapter drin

...wenn die VM überhaupt noch startet.

 

2 hours ago, alturismo said:

... sofern VNC das wirklich unterstützt, erledigt.

Also bei meinen anderen Systemen kann realVNC Audio übertragen und ich nutze es ja seit Jahren auch so.

Und RealVNC hat gegenüber der noVNC Variante den Vorteil, auch Clipboard und die Tastenbedienung (fast) 1:1 zu übernehmen (ich vermisse schon bei noVNC die Tastenkombi STRG-BIldauf/ab). Somit würde ich schon bevorzugen realVNC beizubehalten. Mit RDP bin ich bisher nicht so ganz warm geworden und müsste dann alle anderen Systeme umstellen.

XML-VM-dddddd.png

Edited by DataCollector
Link to comment
  • Solution
13 minutes ago, DataCollector said:

...wenn die VM überhaupt noch startet.

 

dein Fehler hat jetzt eher weniger was mit sound zu tun, anscheinend willst du ein device per passthrough übergeben was "gebunden" ist.

 

lösch mal diesen part ... damit sollte dein Problem erschlagen sein

 

image.png.fb18f19779e744d073aa2d4504f50693.pngimage.png.257bca89d2a024a257f88a165a2bc647.png

 

oder entferne aus dem GUI part, was oder wo auch immer du da jetzt angegeben hast, mach mal noch einen screen hiervon wie das bei dir aktuell aussieht

 

image.png.b4a18d4d84c15226ea95c7615b8e9a57.png

  • Thanks 1
Link to comment
17 minutes ago, alturismo said:

dein Fehler hat jetzt eher weniger was mit sound zu tun, anscheinend willst du ein device per passthrough übergeben was "gebunden" ist.

 

Ich hatte ja versucht die Soundfunktion des Mainboards (Gigabyte W480 Vision W (siehe Signatur 1st System)) zuzufügen. Seit dem startete die Vm ja nicht mehr. Auch das Entfernen über die GUI half aber auch nicht mehr.

Nach Deiner genannten Löschung der Zeilen 159-165 startet die VM wieder und ich habe auch Sound und der wird auch über realVNC an den bedeinenden PC weiter gereicht.

 

Super!

 

Damit ist dieses Problem gelöst.

Herzlichen Dank!!!

 

Hier mal die nun vorhandene XML und darunter der Screenshot, wie es aktuell auch mit Audio funktioniert.

 

<?xml version='1.0' encoding='UTF-8'?>
<domain type='kvm'>
  <name>Win1064Pro-1</name>
  <uuid>b50ce884-66d8-c603-fcfa-eaf6c2df9a47</uuid>
  <metadata>
    <vmtemplate xmlns="unraid" name="Windows 10" icon="windows.png" os="windows10"/>
  </metadata>
  <memory unit='KiB'>20971520</memory>
  <currentMemory unit='KiB'>20971520</currentMemory>
  <memoryBacking>
    <nosharepages/>
  </memoryBacking>
  <vcpu placement='static'>18</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='1'/>
    <vcpupin vcpu='1' cpuset='11'/>
    <vcpupin vcpu='2' cpuset='2'/>
    <vcpupin vcpu='3' cpuset='12'/>
    <vcpupin vcpu='4' cpuset='3'/>
    <vcpupin vcpu='5' cpuset='13'/>
    <vcpupin vcpu='6' cpuset='4'/>
    <vcpupin vcpu='7' cpuset='14'/>
    <vcpupin vcpu='8' cpuset='5'/>
    <vcpupin vcpu='9' cpuset='15'/>
    <vcpupin vcpu='10' cpuset='6'/>
    <vcpupin vcpu='11' cpuset='16'/>
    <vcpupin vcpu='12' cpuset='7'/>
    <vcpupin vcpu='13' cpuset='17'/>
    <vcpupin vcpu='14' cpuset='8'/>
    <vcpupin vcpu='15' cpuset='18'/>
    <vcpupin vcpu='16' cpuset='9'/>
    <vcpupin vcpu='17' cpuset='19'/>
  </cputune>
  <os>
    <type arch='x86_64' machine='pc-q35-6.2'>hvm</type>
  </os>
  <features>
    <acpi/>
    <apic/>
    <hyperv mode='custom'>
      <relaxed state='on'/>
      <vapic state='on'/>
      <spinlocks state='on' retries='8191'/>
      <vendor_id state='on' value='none'/>
    </hyperv>
  </features>
  <cpu mode='host-passthrough' check='none' migratable='on'>
    <topology sockets='1' dies='1' cores='9' threads='2'/>
    <cache mode='passthrough'/>
  </cpu>
  <clock offset='localtime'>
    <timer name='hypervclock' present='yes'/>
    <timer name='hpet' present='no'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/local/sbin/qemu</emulator>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/mnt/user/isos/virtio-win-0.1.217-2.iso'/>
      <target dev='hdb' bus='sata'/>
      <readonly/>
      <address type='drive' controller='0' bus='0' target='0' unit='1'/>
    </disk>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source file='/mnt/user/domains/Win1064Pro-1/vdisk1.img'/>
      <target dev='hdc' bus='sata'/>
      <boot order='1'/>
      <address type='drive' controller='0' bus='0' target='0' unit='2'/>
    </disk>
    <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-to-pci-bridge'>
      <model name='pcie-pci-bridge'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
    </controller>
    <controller type='sata' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
    </controller>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x7'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci1'>
      <master startport='0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0' multifunction='on'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci2'>
      <master startport='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x1'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci3'>
      <master startport='4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x2'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:0e:15:7a'/>
      <source bridge='br0'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x03' 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='unix'>
      <target type='virtio' name='org.qemu.guest_agent.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='vnc' port='-1' autoport='yes' websocket='-1' listen='0.0.0.0' keymap='de'>
      <listen type='address' address='0.0.0.0'/>
    </graphics>
    <sound model='ich9'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
    </sound>
    <audio id='1' type='none'/>
    <video>
      <model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1' primary='yes'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
    </video>
    <memballoon model='none'/>
  </devices>
</domain>

 

 

2022-07-12 11_36_28-UR-TESSA_VM-NEU-GUI.png

Edited by DataCollector
Fehlerkorrektur und Ergänzung
Link to comment
1 minute ago, DataCollector said:

Damit ist dieses Problem gelöst.

Herzlichen Dank!!!

 

na prima, dann jetzt viel Spaß mit deiner VM, nochmals der Tipp ... stell auf ein anderes Remote Protokoll um bzw. teste es zumindest mal, angefangen mit RDP ... dagegen ist VNC einfach nur ... nur nochmals als kleiner Hinweis dass es besser geht ;)

Link to comment
9 minutes ago, DataCollector said:

Ich hatte ja versucht die Soundfunktion des Mainboards (Gigabyte W480 Vision W (siehe Signatur 1st System)) zuzufügen.

Das ist nur bei wenigen Boards möglich. Grundvoraussetzung ist aber, dass die Hardware erstmal an vfio gebunden wird, bevor man sie an eine VM durchschleift. Das gilt grundsätzlich für jede Hardware, weil sie sonst dem Host (unRAID) gehört.

 

Die meisten Gamer mit all-in-one Unraid Maschinen, verbauen daher eine USB / PCIe Soundkarte, wenn sie die denn unbedingt haben wollen (meist reicht ja der Sound der Grafikkarte).

Link to comment
11 minutes ago, alturismo said:

 

na prima, dann jetzt viel Spaß mit deiner VM, nochmals der Tipp ... stell auf ein anderes Remote Protokoll um bzw. teste es zumindest mal, angefangen mit RDP ... dagegen ist VNC einfach nur ... nur nochmals als kleiner Hinweis dass es besser geht ;)

 

Ich hatte mal mit RDP experimentiert im Rahmen des MS Hypervisors unter Windows. Ich bin damit nicht warm geworden.

 

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.