kvm / qemu - উইন্ডোজ গেস্ট থেকে অডিও ছাড়া মসলা হোস্ট


2

আমি আমার উইন্ডোজ 10 ডোমেইনটি virt-manager ব্যবহার করে qemu এর সাথে কাজ করার চেষ্টা করছি।

সবকিছু ঠিক আছে বলে মনে হচ্ছে (GPU পাসথ্রু, সিপিপি), যখন আমি শব্দ শুনতে শুনতে মসলা কনসোল চালাচ্ছি। শব্দটি ক্র্যাকলিং এবং গ্রাফিকাল কনসোল ব্যবহার করার সময় মাউস ল্যাগিং (এবং CPU ব্যবহার 10-15% বেড়ে যায়) এবং আমার ফ্রেমড্রপ আছে বলে মনে হচ্ছে।

আমি এখন সিনার্জি ব্যবহার করছি, তাই আমাকে স্পাইস গ্রাফিক্স কনসোল ব্যবহার করতে হবে না। মাউস এখন জরিমানা কাজ করছে। কিন্তু আমি মসলা কনসোল ব্যবহার করছি না, আমি কোন শব্দ আছে।

সুতরাং, আমি অডিও ড্রাইভারটি AC97 (রিয়েলটেক থেকে উইন্ডোজ ভিস্তা / 7 ড্রাইভার ব্যবহার করে) পরিবর্তন করেছি, যা ক্র্যাকলিংকে একটু সমাধান করে, তবে আমার এখনও ফ্রেম ড্রপ রয়েছে, কারণ আমি স্পাইস ব্যবহার করছি।

আমি অনলাইনে পড়ি, এটি ALSA বা Pulseaudio এবং মসৃণ মত গ্রাফিক্স কনসোল ছাড়াই কাজ করার একটি উপায় হওয়া উচিত। সুতরাং, আমি ফাইলটি /etc/libvirt/qemu.confসক্রিয় vnc_allow_host_audio/ সক্রিয় করেছি nographics_allow_host_audioএবং এখন পরিবেশ পরিবর্তনশীল QEMU_AUDIO_DRV=alsaবা ডোমেনটি পরিচালনা করছি QEMU_AUDIO_DRV=pa

এটি সংযুক্ত লগ ( /var/log/libvirt/qemu/win10-gaming.log) এ দেখানো ত্রুটি উত্পন্ন করে ।

কিভাবে আমি এটি ALSA / Pulseaudio বা মসলা ছাড়া আরো গুরুত্বপূর্ণভাবে কাজ করতে পারেন?

হালনাগাদ

গত কয়েক দিনে আমি কিছু জিনিস চেষ্টা করেছি, যা এখন নিম্নোক্ত ত্রুটিগুলি তৈরি করে:

2017-02-24 01:40:15.016+0000: starting up libvirt version: 1.3.1, package: 1ubuntu10.8 (Christian Ehrhardt <christian.ehrhardt@canonical.com> Mon, 06 Feb 2017 14:30:46 +0100), qemu version: 2.5.0 (Debian 1:2.5+dfsg-5ubuntu10.8), hostname: lindesktop
LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin QEMU_AUDIO_DRV=pa /usr/bin/kvm-spice -name win10-gaming -S -machine pc-i440fx-xenial,accel=kvm,usb=off -cpu host,kvm=off -drive file=/usr/share/OVMF/OVMF_CODE.fd,if=pflash,format=raw,unit=0,readonly=on -drive file=/var/lib/libvirt/qemu/nvram/win10-gaming_VARS.fd,if=pflash,format=raw,unit=1 -m 8192 -mem-prealloc -mem-path /dev/hugepages/libvirt/qemu -realtime mlock=off -smp 6,sockets=1,cores=2,threads=3 -uuid eb48ea95-aa76-4dad-80c9-1902547899b0 -nographic -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/domain-win10-gaming/monitor.sock,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc,driftfix=slew -global kvm-pit.lost_tick_policy=discard -no-hpet -no-shutdown -global PIIX4_PM.disable_s3=1 -global PIIX4_PM.disable_s4=1 -boot menu=on,strict=on -device ich9-usb-ehci1,id=usb,bus=pci.0,addr=0x6.0x7 -device ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pci.0,multifunction=on,addr=0x6 -device ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pci.0,addr=0x6.0x1 -device ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pci.0,addr=0x6.0x2 -device ahci,id=sata0,bus=pci.0,addr=0x5 -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x7 -drive file=/home/michael/Downloads/virtio-win-0.1.126.iso,format=raw,if=none,media=cdrom,id=drive-sata0-0-0,readonly=on -device ide-cd,bus=sata0.0,drive=drive-sata0-0-0,id=sata0-0-0 -drive file=/home/michael/Downloads/Windows.iso,format=raw,if=none,media=cdrom,id=drive-sata0-0-1,readonly=on -device ide-cd,bus=sata0.1,drive=drive-sata0-0-1,id=sata0-0-1,bootindex=2 -drive file=/media/michael/0f5fc26f-460c-4aba-9b08-975fbb63b955/win10-gaming.qcow2,format=qcow2,if=none,id=drive-virtio-disk0 -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x8,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -netdev tap,fd=27,id=hostnet0,vhost=on,vhostfd=29 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:50:bc:b9,bus=pci.0,addr=0x3 -device qxl-vga,id=video0,ram_size=67108864,vram_size=67108864,vgamem_mb=16,bus=pci.0,addr=0x2 -device AC97,id=sound0,bus=pci.0,addr=0x4 -device vfio-pci,host=01:00.0,id=hostdev0,bus=pci.0,addr=0xa -device vfio-pci,host=01:00.1,id=hostdev1,bus=pci.0,addr=0xb -device usb-host,hostbus=1,hostaddr=3,id=hostdev2 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x9 -msg timestamp=on
Domain id=4 is tainted: custom-argv
Domain id=4 is tainted: host-cpu
shm_open() failed: Permission denied
pulseaudio: pa_context_connect() failed
pulseaudio: Reason: Connection refused
pulseaudio: Failed to initialize PA contextaudio: Could not init `pa' audio driver
shm_open() failed: Permission denied
pulseaudio: pa_context_connect() failed
pulseaudio: Reason: Connection refused
pulseaudio: Failed to initialize PA contextaudio: Could not init `pa' audio driver
shm_open() failed: Permission denied
Failed to create secure directory (/home/michael/.pulse): Permission denied

আমি প্রধানত অনুসরণ করেছি, এখানে ব্যবহারকারী ডার্থেভান 13 কি ( https://askubuntu.com/a/727840/656766 ) প্রস্তাব করেছেন এবং এখানে কী লেখা আছে: https://wiki.archlinux.org/index.php/Libvirt#PulseAudio

সুতরাং আমার এক্সএমএল এই মত দেখাচ্ছে:

<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  <name>win10-gaming</name>
  <uuid>eb48ea95-aa76-4dad-80c9-1902547899b0</uuid>
  <memory unit='KiB'>8388608</memory>
  <currentMemory unit='KiB'>8388608</currentMemory>
  <memoryBacking>
    <hugepages/>
  </memoryBacking>
  <vcpu placement='static'>6</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='1'/>
    <vcpupin vcpu='1' cpuset='2'/>
    <vcpupin vcpu='2' cpuset='3'/>
    <vcpupin vcpu='3' cpuset='5'/>
    <vcpupin vcpu='4' cpuset='6'/>
    <vcpupin vcpu='5' cpuset='7'/>
  </cputune>
  <os>
    <type arch='x86_64' machine='pc-i440fx-xenial'>hvm</type>
    <loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader>
    <nvram>/var/lib/libvirt/qemu/nvram/win10-gaming_VARS.fd</nvram>
    <bootmenu enable='yes'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <kvm>
      <hidden state='on'/>
    </kvm>
  </features>
  <cpu mode='host-passthrough'>
    <topology sockets='1' cores='2' threads='3'/>
  </cpu>
  <clock offset='utc'>
    <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='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/home/michael/Downloads/virtio-win-0.1.126.iso'/>
      <target dev='sda' bus='sata'/>
      <readonly/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/home/michael/Downloads/Windows.iso'/>
      <target dev='sdb' bus='sata'/>
      <readonly/>
      <boot order='2'/>
      <address type='drive' controller='0' bus='0' target='0' unit='1'/>
    </disk>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/media/michael/0f5fc26f-460c-4aba-9b08-975fbb63b955/win10-gaming.qcow2'/>
      <target dev='vda' bus='virtio'/>
      <boot order='1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
    </disk>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x7'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci1'>
      <master startport='0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0' multifunction='on'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci2'>
      <master startport='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x1'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci3'>
      <master startport='4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x2'/>
    </controller>
    <controller type='pci' index='0' model='pci-root'/>
    <controller type='sata' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
    </controller>
    <controller type='ide' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:50:bc:b9'/>
      <source bridge='xenbr0'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
    <sound model='ac97'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </sound>
    <video>
      <model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </video>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <source>
        <address domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <source>
        <address domain='0x0000' bus='0x01' slot='0x00' function='0x1'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x0b' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='yes'>
      <source>
        <vendor id='0x046d'/>
        <product id='0xc24e'/>
      </source>
    </hostdev>
    <memballoon model='virtio'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
    </memballoon>
  </devices>
  <qemu:commandline>
    <qemu:env name='QEMU_AUDIO_DRV' value='alsa'/>
    <qemu:env name='QEMU_PA_SERVER' value='/run/user/1000/pulse/native'/>
  </qemu:commandline>
</domain>

উল্লেখযোগ্য পরিবর্তন অন্তর্ভুক্ত:

<qemu:commandline>
    <qemu:env name='QEMU_AUDIO_DRV' value='pa'/>
    <qemu:env name='QEMU_PA_SERVER' value='/run/user/1000/pulse/native'/>
</qemu:commandline>

এবং পরিবর্তন <emulator>/usr/bin/kvm-spice</emulator>করার জন্য <emulator>/usr/bin/kvm</emulator>XML ফাইল হবে।

উপরন্তু, যোগ

@{HOME}/.pulse/** rw,

মধ্যে /etc/apparmor.d/abstractions/libvirt-qemuএবং সঙ্গে apparmor প্রোফাইল পুনরায় লোড:

sudo invoke-rc.d apparmor reload

সুতরাং, এখন আমি শব্দটি শুনতে পাচ্ছি, কিন্তু ডোমেইন চালানোর সময় আমার হোস্ট অডিও কাজ করে না।

উত্তর:


0

আমি এই পাওয়া। আমি আজ একই সমস্যা নিয়ে এটি পরীক্ষা করবো: কীভাবে একটি কর্মক্ষম অডিও (উবুন্টুতে) দিয়ে KVM ইনস্টল করবেন

আমরা ঠিক করতে যাচ্ছি তা হল:

  1. কোনও রুট ব্যবহারকারী হিসাবে বিশেষভাবে আপনার লগইন হিসাবে KVM রান করুন, যাতে এটি আপনার ALSA অডিও ভাগ করে নিতে পারে।

  2. KVM অডিও নিষ্ক্রিয় করতে না।

  3. KVM বাইনারিটিকে একটি স্ক্রিপ্ট দিয়ে প্রতিস্থাপন করুন যা সঠিক পরিবেশ পরিবর্তনশীল সেট করে, যাতে KVM এবং আপনার অ্যালসা অডিও ড্রাইভার ব্যবহার করুন।

নির্দেশাবলী অনুসরণ করুন:

cd /usr/bin  
sudo mv kvm kvm.bin  
sudo touch kvm  
sudo chmod +x kvm  

সম্পাদনা /usr/bin/kvmএবং এই টেক্সটটি পেস্ট করুন :

#!/bin/sh  
QEMU_AUDIO_DRV=alsa /usr/bin/kvm.bin $@

সম্পাদনা করুন /etc/libvirt/qemu.confএবং নিম্নোক্ত লাইনগুলি সন্ধান করুন (এই সমস্ত লাইনগুলি এই ফাইলের বিভিন্ন বিভাগে রয়েছে) মনে রাখবেন:

vnc_allow_host_audio = 0
#user = "root"
#group = "root"

এবং আপনার স্থানীয় ব্যবহারকারী নামের সাথে রুট প্রতিস্থাপন করুন, উদাহরণস্বরূপ: vnc_allow_host_audio = 1

user = "gurjeet"
group = "gurjeet"

) এখন KVM পরিষেবাটি পুনরায় চালু করুন:

sudo service libvirt-bin restart

এখন আপনার গেস্ট ওএস চালু করুন এবং তার শব্দ উপভোগ করুন।


আমি চেষ্টা করেছি (আমার এক্সএমএল কনফিগারেশন পরিবর্তন করে) এবং /etc/libvirt/qemu.confআপনি যেমন প্রস্তাব করেছেন। আমি শব্দ শুনতে পারি, কিন্তু আমার হোস্ট অডিও আর কাজ করে না। আমি আমার প্রশ্ন আপডেট করা হবে।
মাইকেলসুফুফি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.