LookingGlass使用

背景

Looking Glass 是一款开源应用程序,可以直接使用显卡直通的windows虚拟机。
常见环境是Linux host+windows guest,基本部署结构图:
在这里插入图片描述

编译

git clone --recursive https://github.com/gnif/LookingGlass.git

编译client

mkdir client/build
cd client/build
cmake ../
make

编译后生成looking-glass-client可执行程序。

编译host

mkdir host/build
cd host/build
cmake -DCMAKE_TOOLCHAIN_FILE=../toolchain-mingw64.cmake ..
make

编译后生成looking-glass-host.exe可执行程序。

安装

host安装:

  1. 安装IVSHMEM设备驱动
  2. 安装Looking Glass服务或者直接拷贝looking-glass-host.exe可执行程序到桌面
    更方便的方法是从https://looking-glass.io/downloads下载最新的安装包安装,后面如果自己有重新编译的话直接替换looking-glass-host.exe即可。

client安装:
无需安装,直接执行looking-glass-client程序即可启动

运行

采用virt-manager工具

  1. 安装 qemu-system、virt-manager
  2. virt-manager新建Windows 10桌面
  3. 透传显卡,可以参考:linux下vfio显卡透传
  4. 添加ivshmem
<shmem name='looking-glass'>
  <model type='ivshmem-plain'/>
  <size unit='M'>32</size>
</shmem>
  1. 取消memballoon
<memballoon model="none"/>
  1. 添加一个virtio的keyboard
<input type='keyboard' bus='virtio'/>
  1. 选择透传的pci设备,主要是显卡

其他需要注意的地方:需要手动设置下cpu的拓扑,默认是4socket,Windows只能认2socket

  1. 启动win10虚拟机
  2. linux端运行client程序连接window使用
    最终的使用效果:
    在这里插入图片描述
    在1080P的分辨率下播放视频,windows虚拟机cpu占用率很低(有物理gpu的加持)。

限制

笔者使用的物理显卡是NVIDIA GTX1060,测试下来发现windows虚拟机必须要连接屏幕或者hdmi欺骗器后looking-glass才能显示画面。

使用场景

本地是linux主机,有核显和独显,依赖windows上吃GPU性能的软件(比如steam游戏),利用looking-glass方案就不需要来回切换系统了,直接Linux上启动windows虚拟机,用客户端连上使用。

总结

looking-glass主要利用了以下几点来实现本地使用windows虚拟机:

  1. qemu ivshmem设备实现host和guest之间的内存共享
  2. 透传显卡带来的guest图形能力提升
  3. spice协议带来的键鼠声音同步

当然,它本质上就是一个桌面屏幕共享工具,网上的方案也很多。

它的优点:

  1. 开源,可定制
  2. 性能不错

它的缺点:

  1. 只能本地部署

参考

https://looking-glass.io/docs/B6/build/
https://blog.csdn.net/level_code/article/details/123271626
looking-glass
Ubuntu+KVM显卡透传

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值