[Kernel/Drive] deepin23何时才能支持Intel显卡i915-sriov-dkms驱动
Tofloor
poster avatar
iistone
deepin
2024-08-12 16:26
Author

前前后后deepin使用快4年了,从20到23,总的来说,开发、办公等场景用起来都还算顺手,但工作中难免需要用到windows的时候,所以一直是使用kvm+virt-manager+remmina的桌面虚拟化方案,这个方案的优点是虚拟化效率很高,尤其是CPU性能几乎和原生差不多,配合deepin的工作区四指滑动切换,简直效率神器。但这个方案在deepin上有个致命的缺点是不支持11代及以后的显卡虚拟化,11代(Tiger lake)及以后的intel显卡是支持sr-iov单根虚拟化的,就是可以让虚拟出来的vgpu直通给kvm客户机,这样能大大的提高虚拟机3D性能(比如在虚拟机里挂多个游戏,主机还可以正常办公),而且还不耽误宿主机使用显卡,网上比较多的是在pve环境下实现,经我测试,在ubuntu22.04上也可以实现。遗憾的是在deepin上就不行了,我从deepin v20开始就跟踪这个问题,可是直到几年后的现在,v23的正式版都快要发布了,问题还是没解决,问题本质就出在i915-sriov-dkms驱动的编译安装上,不管换哪个版本的内核,始终编译不过,希望deepin官方重视下,看看是缺什么包还是v23魔改太多,本身就无法支持了?迫切希望官方能出个解决方案,这个问题解决了,deepin的生态就完美了。

其实之前也反馈了这个问题,官方开发同学也初步分析了编译失败原因,但只能说仅仅在特定内核版本上片面了解决了编译安装的问题,实际上安装后还是不能正常使用的,希望官方能确实搭建一个这样的环境,找出最终的解决方案。

驱动地址:https://github.com/strongtz/i915-sriov-dkms

编译前,最好把内核头文件安装上。

deepin23上每次编译后都是added状态,无法使用。

同样的驱动,在ubuntu22.04下就可以完美安装并使用。

image.png

Reply Favorite View the author
All Replies
安洛
deepin
2024-08-12 17:40
#1

直接换ubuntu的内核如何呢?内核包通常没有什么依赖,可以直接安装。甚至你可以直接尝试编译安装linux-intel-lts内核,这个内核已经内置了这个模块:https://github.com/intel/linux-intel-lts/tree/lts-v6.1.12-linux-230415T124447Z
另外从6.10开始,intel已经在积极推动sriov功能合并进入主线内核。虽然距离实际可用还有一段距离,不过也算是一种进展?等到合并完成,就不再需要这个内核模块了。
说起来,我也一直想尝试一下sriov,不过没找到太多相关的教程。这东西安装了内核模块就可以用了吗?需要在虚拟机端做什么额外配置吗?

Reply View the author
owen_337
deepin testing team
2024-08-12 19:29
#2

@iistone 楼主你好,你的问题我已经反馈给研发同事了,目前出了个模块文件,麻烦你发送个邮件给我,我转给你试试哈,请联系[email protected]

Reply View the author
xmasrain
deepin
2024-08-12 21:48
#3
owen_337

@iistone 楼主你好,你的问题我已经反馈给研发同事了,目前出了个模块文件,麻烦你发送个邮件给我,我转给你试试哈,请联系[email protected]

你好,我也需要一份,方便发一份给我吗?需要在PVE环境下使用deepin

Reply View the author
181******81
deepin
2024-08-12 22:25
#4
安洛

直接换ubuntu的内核如何呢?内核包通常没有什么依赖,可以直接安装。甚至你可以直接尝试编译安装linux-intel-lts内核,这个内核已经内置了这个模块:https://github.com/intel/linux-intel-lts/tree/lts-v6.1.12-linux-230415T124447Z
另外从6.10开始,intel已经在积极推动sriov功能合并进入主线内核。虽然距离实际可用还有一段距离,不过也算是一种进展?等到合并完成,就不再需要这个内核模块了。
说起来,我也一直想尝试一下sriov,不过没找到太多相关的教程。这东西安装了内核模块就可以用了吗?需要在虚拟机端做什么额外配置吗?

同问。。。。agree

Reply View the author
iistone
deepin
2024-08-13 08:36
#5
181******81

同问。。。。agree

可以参考这两篇文章:

https://diyforfun.cn/907.html

https://foxi.buduanwang.vip/virtualization/pve/2695.html/

Reply View the author
iistone
deepin
2024-08-13 09:19
#6
安洛

直接换ubuntu的内核如何呢?内核包通常没有什么依赖,可以直接安装。甚至你可以直接尝试编译安装linux-intel-lts内核,这个内核已经内置了这个模块:https://github.com/intel/linux-intel-lts/tree/lts-v6.1.12-linux-230415T124447Z
另外从6.10开始,intel已经在积极推动sriov功能合并进入主线内核。虽然距离实际可用还有一段距离,不过也算是一种进展?等到合并完成,就不再需要这个内核模块了。
说起来,我也一直想尝试一下sriov,不过没找到太多相关的教程。这东西安装了内核模块就可以用了吗?需要在虚拟机端做什么额外配置吗?

我试过ubuntu、pve、uos的内核,在deepin的环境下都不行。

Reply View the author