美文网首页
intel GVT-g技术实践

intel GVT-g技术实践

作者: a11oy | 来源:发表于2021-07-25 18:43 被阅读0次

    平台支持:官方表示支持5代、6代、7代CPU集显
    实验十代10600K也可以开启,十一代开始加入了咖喱味的Xe不再支持,换成sriov方式支持。

    vGPU type

    i915-GVTg_V5_1  # Video memory: <512MB, 2048MB>, resolution: up to 1920x1200
    i915-GVTg_V5_2  # Video memory: <256MB, 1024MB>, resolution: up to 1920x1200
    i915-GVTg_V5_4  # Video memory: <128MB, 512MB>, resolution: up to 1920x1200
    i915-GVTg_V5_8  # Video memory: <64MB, 384MB>, resolution: up to 1024x768
    

    四种类型,不同的显存,支持的类型有限制。
    aperture size为128M时,支持V5_8一种类型
    aperture size为256M时,支持V5_4及V5_8两种类型
    aperture size为512M时,支持V5_2、V5_4及V5_8三种类型
    aperture size为1024M及以上时,支持所有四种类型
    绝大多数主板,BIOS中开放出来的显存设置项为DVMT动态显存划分,并没有开放aperture size设置,默认为256M。
    建议联系主板厂商技术支持获取相应支持。
    网上修改nvram的方法如下:
    1.获取主板BIOS文件,下载UEFI tool https://github.com/LongSoft/UEFITool
    2.用该工具打开BIOS文件,并搜索aperture size,右键保存
    3.下载IFR Extractor工具 https://github.com/donovan6000/Universal-IFR-Extractor,打开刚才保存的文件,找到aperture size,记录偏移量
    4.下载EFI文件,格式化U盘为FAT32,文件夹结构EFI/BOOT/bootx64.efi https://github.com/datasone/grub-mod-setup_var
    华擎主板需要下载使用这个EFI文件 https://github.com/XDleader555/grub_setup_var (已验证)
    5.U盘启动进EFIshell环境,运行命令修改参数。
    此方法扣掉电池可还原

    Host linux设置

    $ sudo vi /etc/default/grub
    GRUB_CMDLINE_LINUX_DEFAULT="intel_iommu=on iommu=pt rd.driver.pre=vfio_pci,kvmgt i915.enable_gvt=1"
    更新grub
    
    $ sudo touch /etc/dracut.conf.d/vfio.conf    ///创建配置文件
    $ sudo vi /etc/dracut.conf.d/vfio.conf     ///将以下一行写入配置文件
        add_drivers+=" vfio vfio_pci vfio_virqfd vfio_iommu_type1 vfio_mdev kvmgt "     ///注意引号之间需有空格
    更新initramfs
    

    创建mdev设备

    $ uuidgen                              ///随机生成uuid
    $ sudo echo "uuid" > "/sys/devices/pci0000:00/0000:00:02.0/mdev_supported_types/i915-GVTg_V5_x/create"  ///根据vgpu类型创建
    

    此方法为临时创建,host系统重启后失效。
    可采用定时任务在每次开机时自动创建设备

    # crontab -e
    @reboot  echo "uuid" > "/sys/devices/pci0000:00/0000:00:02.0/mdev_supported_types/i915-GVTg_V5_x/create"
    

    直通虚拟机

    libvirt xml

    <hostdev mode='subsystem' type='mdev' managed='no' model='vfio-pci' display='off'>
          <source>
            <address uuid='uuid'/>
          </source>
    </hostdev>
    

    启动虚拟机之后,可用rdp等远程连接工具连接。

    相关问题

    1.图像输出
    除了RDP远程连接,也可以采用DMA-BUF方式将图像通过spice EGL显示,具体参见https://wiki.archlinux.org/title/Intel_GVT-g
    2.macos相关
    由于vgpu给到虚拟机的pci id与物理集显相同,尝试macos下使用,失败。由于vgpu缺乏固件,需要修改虚拟机显卡驱动程序。

    相关文章

      网友评论

          本文标题:intel GVT-g技术实践

          本文链接:https://www.haomeiwen.com/subject/jmkbmltx.html