操作系统中多GPU驱动兼容方法技术方案

技术编号:27876687 阅读:31 留言:0更新日期:2021-03-31 00:54
本发明专利技术涉及操作系统中多GPU驱动兼容方法,包括如下步骤:检查系统中是否存在用来存储显卡厂商3D驱动路径的特定文件,若存在,将其删除;对显卡的厂商id及设备id进行检测,当发现显卡为指定厂商的显卡时,将对应的2D驱动名称添加到驱动优先加载列表中;在不使用配置文件的情况下,Xorg将依次尝试驱动优先加载列表中的驱动,并在驱动中进行支持检查;若成功加载指定厂家的2D驱动,则将3D驱动路径写入特定文件,动态加载器根据路径加载3D驱动;若指定厂家的2D驱动不存在或加载失败,则加载开源2D驱动,并按原有的加载机制加载3D驱动。本发明专利技术充分利用了Xorg的自动加载机制,通过对Xorg和Glibc动态加载器的修改,实现了对不同厂商显卡的2D驱动的自动加载和3D驱动的兼容。

【技术实现步骤摘要】
操作系统中多GPU驱动兼容方法
本专利技术涉及应用兼容
,具体涉及一种操作系统中多GPU驱动兼容方法。
技术介绍
为满足实际用户使用需要,操作系统需要能够实现对多个厂商的显卡的支持,这就需要在一个操作系统上实现多个厂商的显卡驱动的共存。从所依赖的显卡驱动的角度来看,不同厂商的显卡可以分为两类,一类是集成到于Linux内核的开源驱动中的,如AMD显卡驱动,其2D驱动有ati和amdgpu驱动,而其3D驱动包含在Mesa3D中,这类显卡使用系统提供的API库文件,在系统中可以做到原生支持,开箱即用;另一类则必须依赖厂商所提供的显卡驱动的,如景嘉微、709S、龙芯以及兆芯等国产厂商的显卡,这类显卡所依赖的显卡驱动(主要是3D驱动)往往是闭源驱动,需要使用厂商提供的API库文件才能正常使用。然而,因为显卡厂商提供的API库文件与开源驱动的API库文件均提供了相同的API接口,导致Linux内核的开源驱动与各个厂商提供的显卡驱动在系统中无法共存,二者之间存在互斥关系。这种互斥关系对于用户日常使用的影响不大,但对于操作系统厂商而言,意本文档来自技高网...

【技术保护点】
1.操作系统中多GPU驱动兼容方法,其特征在于,包括如下步骤:/n步骤S101:检查系统中是否存在用来存储厂商3D驱动路径的3D驱动预定文件,若存在,将其删除;/n步骤S102:Xorg中加载glx模块,使用mesa3D中的OpenGL库进行初始化;/n步骤S103:对显卡的厂商id及设备id进行检测;/n步骤S104:若显卡为指定厂商的显卡,将对应的2D驱动名称添加到驱动优先加载列表的最前面;Xorg将依次尝试加载优先加载列表中的驱动,并在驱动中进行支持检查;/n步骤S105:若找到指定的2D驱动,则自动加载;若该2D驱动不存在或加载失败,则继续尝试加载驱动优先加载列表中的开源2D驱动。/n

【技术特征摘要】
1.操作系统中多GPU驱动兼容方法,其特征在于,包括如下步骤:
步骤S101:检查系统中是否存在用来存储厂商3D驱动路径的3D驱动预定文件,若存在,将其删除;
步骤S102:Xorg中加载glx模块,使用mesa3D中的OpenGL库进行初始化;
步骤S103:对显卡的厂商id及设备id进行检测;
步骤S104:若显卡为指定厂商的显卡,将对应的2D驱动名称添加到驱动优先加载列表的最前面;Xorg将依次尝试加载优先加载列表中的驱动,并在驱动中进行支持检查;
步骤S105:若找到指定的2D驱动,则自动加载;若该2D驱动不存在或加载失败,则继续尝试加载驱动优先加载列表中的开源2D驱动。


2.如权利要求1所述的操作系统中多GPU驱动兼容方法,其特征在于,所述步骤S101中,3D驱动预定文件为/dev/cur_gl...

【专利技术属性】
技术研发人员:周磊王勇军刘意虎张铎孙立明李唯实
申请(专利权)人:麒麟软件有限公司
类型:发明
国别省市:天津;12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1