让KVM虚机能使用音箱与麦克风(vnc及ac97)

tantexian 发布于 2016/02/29 16:32

字数 462
阅读 164
收藏 0

virt-install --arch=x86_64 --accelerate -v -n windows2008_2 -r 1024 --vcpus=3 -c /media/windows2008.iso --vnc --vncport=5903 --vnclisten=0.0.0.0 --virt-type=kvm --disk path=/dev/vg01/sys2008_2,cache=writeback,bus=virtio,device=disk --disk path=/media/virtio.vfd,device=floppy  -w bridge:br1,model=virtio --soundhw=ac97 --video=cirrus --os-type='windows' --os-variant=win2k8 --connect qemu:///system  

或者直接修改xml文件:

由于Rosetta Stone软件只有windows版本,所以想到在Linux上创建一个KVM虚机来跑windows, 本文记录解决KVM虚机使用使用音箱与麦克风的过程中遇到的一些问题。

1, windows xp or windows 7

最开始图速度快,安装的一是个深度精简版的windows xp, 但是进虚机之后总报找不着一个pci,音频,视频的驱动,使用在线驱动精灵解决未果。后来换成windows 7,且声卡驱动选ich6是好使的。

2, 音箱 and 麦克风

但以上的办法(使用ich6驱动)在进虚机之后只能看到音箱驱动,而看不到麦克风驱动, 因为麦克风既不是pci设备也不是usb设备,而是一个line-in设备,虚机不认它,所以使用使用如下配置。见:http://comments.gmane.org/gmane.comp.emulators.spice.devel/9078

<sound model='ich6'>
      <codec type='micro'/>
 </sound>

3, VNC or rdesktop

virt-manager默认创建的虚机使用的是vnc, vnc不能穿透声音, 网上流传一方法,在/etc/libvirt/qemu.conf中设置vnc_allow_host_audio = 1, 实际测试,不好使。

所以改成使用使用rdesktop的-r sound:local参数来使用宿主机的音箱,好使,但声音有些卡,并且麦克风不大好使

sudo rdesktop -z -r sound:local -g workarea -D -K -a 16 -u Administrator -p password 192.168.100.6

4,  spice

最后想到spice, 音箱和麦克风都能用啦。

a) sudo apt-get install  libspice-server1 python-spice-client-gtk qemu-kvm-spice spice-client spice-client-gtk python-spice-client-gtk build-essential libspice-server1 libspice-protocol-dev

b) virt-manager中将Video驱动改成QXL

c) 将Display改成Spice

【转载】让KVM虚机能使用音箱与麦克风(vnc及ac97)的更多相关文章

  1. 远程管理 KVM 虚机 - 每天5分钟玩转 OpenStack(5)

    上一节我们通过 virt-manager 在本地主机上创建并管理 KVM 虚机.其实 virt-manager 也可以管理其他宿主机上的虚机.只需要简单的将宿主机添加进来 填入宿主机的相关信息,确定即 ...

  2. 启动第一个 KVM 虚机 - 每天5分钟玩转 OpenStack(4)

    本节演示如何使用 virt-manager 启动 KVM 虚机. 首先通过命令 virt-manager 启动图形界面 # virt-manager 点上面的图标创建虚机 给虚机命名为 kvm1,这里 ...

  3. KVM 介绍(8):使用 libvirt 迁移 QEMU/KVM 虚机和 Nova 虚机 [Nova Libvirt QEMU/KVM Live Migration]

    学习 KVM 的系列文章: (1)介绍和安装 (2)CPU 和 内存虚拟化 (3)I/O QEMU 全虚拟化和准虚拟化(Para-virtulizaiton) (4)I/O PCI/PCIe设备直接分 ...

  4. KVM 介绍(6):Nova 通过 libvirt 管理 QEMU/KVM 虚机 [Nova Libvirt QEMU/KVM Domain]

    学习 KVM 的系列文章: (1)介绍和安装 (2)CPU 和 内存虚拟化 (3)I/O QEMU 全虚拟化和准虚拟化(Para-virtulizaiton) (4)I/O PCI/PCIe设备直接分 ...

  5. KVM(六)Nova 通过 libvirt 管理 QEMU/KVM 虚机

    1. Libvirt 在 OpenStack 架构中的位置 在 Nova Compute 节点上运行的 nova-compute 服务调用 Hypervisor API 去管理运行在该 Hypervi ...

  6. 启动第一个 KVM 虚机

    本节演示如何使用 virt-manager 启动 KVM 虚机. 首先通过命令 virt-manager 启动图形界面 1 # virt-manager 点上面的图标创建虚机 给虚机命名为 kvm1, ...

  7. 远程管理 KVM 虚机

    上一节我们通过 virt-manager 在本地主机上创建并管理 KVM 虚机.其实 virt-manager 也可以管理其他宿主机上的虚机.只需要简单的将宿主机添加进来 填入宿主机的相关信息,确定即 ...

  8. O005、远程管理 KVM 虚机

    参考https://www.cnblogs.com/CloudMan6/p/5256018.html   上一节我们通过 virt-manager 在本地主机上创建并管理 KVM 虚机,其实 virt ...

  9. O004、启动第一个KVM虚机

    参考https://www.cnblogs.com/CloudMan6/p/5249270.html   本节演示如何使用 virt-manager 启动 KVM 虚机,   提前下载一个 cirro ...

随机推荐

  1. [图论]最短网络:prim

    最短网络 目录 最短网络 Description Input Output Sample Input Sample Output 解析 代码 Description 农民约翰被选为他们镇的镇长!他其中 ...

  2. 【Java】8.0 数组及其操作

    [概述] 有时候,我们需要某类的变量,它们是用于表达同一类的东西,但每个个体有不一样,比如学生成绩表的各个成绩 我们不可能为每个学生单独建立一个int变量来表示成绩,此时我们可以创建一个数组,再把每个 ...

  3. OO第一单元作业——魔幻求导

    简介 本单元作业分为三次 第一次作业:需要完成的任务为简单多项式导函数的求解. 第二次作业:需要完成的任务为包含简单幂函数和简单正余弦函数的导函数的求解. 第三次作业:需要完成的任务为包含简单幂函数和 ...

  4. lustre文件系统环境搭建及测试

    目录 1.节点角色 2.硬件配置 3.软件版本 4.安装软件包 4.1.安装 e2fsprogs 相关包 4.2.安装 kernel 相关包 4.3.客户端安装 4.4.服务器端安装 4.5.配置 5 ...

  5. Java网络编程快速上手(SE基础)

    参考资料:百度百科TCP协议 本文涉及Java IO流.异常的知识,可参考我的另外的博客 一文简述Java IO 一文简述JAVA内部类和异常 1.概述 计算机网络相关知识: OSI七层模型 一个报文 ...

  6. Horovod-Usage

    Usage 代码中要包含以下6步: 初始化 Run hvd.init() to initialize Horovod. 将每个GPU固定到单个进程以避免资源争用. 一个线程一个GPU,设置到 loca ...

  7. 《TCP/IP网络编程》学习笔记整理

    简介 本笔记目前已包含 <TCP/IP网络编程>中的前 5 章,后续章节会在近期内补充完整. 我在整理笔记时所考虑的是:在笔记记完后,当我需要查找某个知识点时,不需要到书中去找,只需查看笔 ...

  8. Python学习笔记-PuLP库(3)线性规划实例

    本节以一个实际数学建模案例,讲解 PuLP 求解线性规划问题的建模与编程. 1.问题描述 某厂生产甲乙两种饮料,每百箱甲饮料需用原料6千克.工人10名,获利10万元:每百箱乙饮料需用原料5千克.工人2 ...

  9. SpringIOE-以xml方式实现

    SpringIOC框架简单实现 简单介绍 依赖注入( Dependency Injection ,简称 DI) 与控制反转 (IoC) 的含义相同,只不过这两个称呼是从两个角度描述的同一个概念,具体如 ...

  10. 分解uber依赖注入库dig-使用篇

    golang的依赖注入库非常的少,好用的更是少之又少,比较好用的目前有两个 谷歌出的wire,这个是用抽象语法树在编译时实现的. uber出的dig,在运行时,用返射实现的,并基于dig库,写了一个依 ...