首先做好系统,我所使用的主机系统是manjaro,qemu+libvirt+ovmf虚拟出windows 10,并且PCI直通显卡

声音方面采用https://github.com/duncanthrax/scream 使用里面的IVSHMEM设备,这个设备其实looking-glass也有在使用

Ivshmem是虚拟机内部共享内存的pci设备。虚拟机之间实现内存共享是把内存映射成guest内的pci设备来实现的。
[IVSHMEM介绍][1]

简单介绍完后,那么开始


  1. 编辑虚拟机添加IVSHMEM的地址

    sudo virsh edit [该虚拟机名字]

    在最底下前面添加 (可以使用Page Down跳到最底)



    2

  2. 下载并编译scream源码
    Scream源码在最新版本里下载 Source code (tar.gz) 并解压

    tar -zxvf ./scream-*.tar.gz

    cd ./scream-*

    cd ./Receivers/pulseaudio-ivshmem

    make

    mv scream-ivshmem-pulse ~

  3. 开启虚拟机,安装好驱动

    IVSHMEM驱动 下载好IVSHMEM驱动解压,打开设备管理器
    在系统设备里有个【PCI标准RAM控制器】 更新驱动

    捕获1.png
    捕获2.png
    捕获3.png

    选择好IVSHMEM目录
    捕获4.png
    捕获5.png

  4. 安装scream驱动
    Scream源码 在最新版本里下载 Scream[版本].zip 解压 以管理员模式运行install.bat

    捕获6.png
    捕获7.png

    运行regedit 注册表
    进入HEKY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Scream\
    创建Options项,在Options里面添加DWORD(32位)值 [UseIVSHMEM] 数值为2

    捕获1-1-1024x536.png

  5. 在声音设备里设置Scream为默认设备
    捕获2-1.png
  6. 在宿主机运行Scream IVSHMEM

    sudo ~/scream-ivshmem-pulse /dev/shm/scream-ivshmem


到此已完成,虚拟机已有声音,这教程我仅仅用于记录而已,大部分内容可以在链接中找到,如果有缺失要么版本更新了,要么没装命令

Ps:其实做好了延迟很高,并不能玩音游之类的游戏,如OSU

标签: linux, 技术, 虚拟机, 直通

添加新评论