麒麟系统v10服务器版本支持intel 12th集成显卡

张开发
2026/4/6 10:36:48 15 分钟阅读

分享文章

麒麟系统v10服务器版本支持intel 12th集成显卡
背景软硬件信息cpu12th Gen Intel® Core™ i5-12400gpu00:02.0 VGA compatible controller: Intel Corporation Alder Lake-S GT1 [UHD Graphics 730] (rev 0c)os麒麟服务器操作系统v10 sp3 2403kernel 4.19问题1.实际安装完操作系统后后通过设置界面发现只有一个显示器分辨率。2.集成显卡的加速功能未正常使能。1 问题分析问题1麒麟v10操作系统默认使用的是4.19的内核默认不支持intel 12以上的cpu的集成显卡显卡导致默认使用的显卡驱动是最原始的fbdev可以通过查看启动后的/var/log/Xorg.0.log进行确认实际并不是使用的xorg中默认的modesetting官方的通用ddx驱动而是fallback成了对应的fbdev实际原因是因为默认内核中i915显卡驱动并未支持当前的显卡驱动。问题2:实际通过命令glxgears -info 查看到GL_RENDERER使用的是llvmpipecpu软渲染出现该问题的时候实际集成显卡的3d加速并未用起来初步怀疑是使用的mesa版本太旧导致的默认的mesa版本是20.1.4版本该版本实际的发布时间跟集成显卡来比太旧了但是还不支持。2 问题解决问题1解决方案默认麒麟的操作系统的内核版本是4.19,实际可以考虑使用更高版本的内核比如5.x或者6.x肯定支持后续考虑进行4.19的内核的i915驱动进行升级或者是进行intel-gpu-i915-backport进行适配再不升级内核版本的情况下能够获得更好的i915的新的驱动的支持。目前博主分几步走第一步由于实际intel-gpu-i915-backport的分支中有相应的关于redhat的适配版本8.5/8.6/8.7/8.8/8.9等已经有针对对应的redhat适配过了的版本所以优先考虑用最新的版本8.9版本但是redhat的社区版本centos已经停服了实际考虑相关的替代版本AlmaLinux、Rocky Linux版本进行相关的适配工作。先简单的进行Rocky linux的内核版本进行升级。第二步参考intel-gpu-i915-backport(8.9)和对应kernel(4.18) rocky linux 内核进行适配实际考虑不升级或者修改啮合的前提下适配对应的i915的backport版本这块暂时不做详细的讨论。rocky linux 实际内核下载的参考地址如下所示https://dl.rockylinux.org/vault/rocky/8.9/BaseOS/x86_64/os/Packages/k/kernel-4.18.0-513.24.1.el8_9.x86_64.rpm kernel-core-4.18.0-513.24.1.el8_9.x86_64.rpm kernel-devel-4.18.0-513.24.1.el8_9.x86_64.rpm kernel-headers-4.18.0-513.24.1.el8_9.x86_64.rpm kernel-modules-4.18.0-513.24.1.el8_9.x86_64.rpm kernel-modules-extra-4.18.0-513.24.1.el8_9.x86_64.rpm升级过程中碰到的问题通过rpm -ivh kernel-4.18.0-513.24.1.el8_9.x86_64.rpm kernel-core-4.18.0-513.24.1.el8_9.x86_64.rpm kernel-modules-4.18.0-513.24.1.el8_9.x86_64.rpm kernel-modules-extra-4.18.0-513.24.1.el8_9.x86_64.rpm --force通过rpm -Uvh kernel-headers-4.18.0-513.24.1.el8_9.x86_64.rpm kernel-devel-4.18.0-513.24.1.el8_9.x86_64.rpm --force为什么一个是ivh一个是Uvh因为实际我想保留原始的内核怕实际升级的过程中会有问题实际升级完发现操作系统一直在登录界面通过启动原来的内核进行分析日志发现是/usr/bin/systemd有相关权限问题跟selinut相关最后通过修改/etc/selinux/config中的配置文件中的SELINUXenforcing改成SELINUXdisabled实际不改之前通过getenforce获取到的状态本身就是disabled但是改了以后才能正常加载启动到登录session界面怀疑selinux配置跟实际查询命令挂接存在兼容问题。效果实际重新启动操作系统通过查看驱动加载情况$ lsmod|grep i915 #正常加载 $ xrandr #可以查看到多个显示分辨率了 $ vi/var/log/Xorg.0.log #可以看到生成了/dev/dri/card0的显卡节点且从fbdev变成了modesetting的驱动了。问题1实际i915驱动加载的过程中发现了几个问题下图体现了实际加载i915的过程中会出现对应的加载固件会失败通过https://github.com/intel-gpu/intel-gpu-firmware.git下载对应的固件放入到操作系统中里面有一个README但是实际发现重启还是有问题为什么我放进去了还是机会有问题呢找不到后面想到可能是因为i915驱动在initrd中然后我没有做dracut -f导致刚才的固件在initrd加载i915的时候找不到通过lsinitrd --unpack xxx.img查看确实没有对应的固件且有对应的i915.ko.xz通过执行dracut -f更新initrd后消除该问题。备注fedora(最上游)–redhat(商业)—centos(开源版本2021最后的版本8.5以后停服了后面没有版本更新)。问题2解决方案实际通过如下命令查看到使用的是cpu软渲染glxgears-info #查看GL_RENDER是cpu的软渲染解决思路尝试直接下载已经编译好的mesa的高版本的驱动进行升级升级过程过程中发现如下错误错误依赖检测失败 libLLVM-17.so()(64bit)被 mesa-dri-drivers-24.0.3-2.x86_64 需要 libLLVM-17.so(LLVM_17)(64bit)被 mesa-dri-drivers-24.0.3-2.x86_64 需要 libstdc.so.6(GLIBCXX_3.4.26)(64bit)被 mesa-dri-drivers-24.0.3-2.x86_64 需要 libstdc.so.6(GLIBCXX_3.4.28)(64bit)被 mesa-dri-drivers-24.0.3-2.x86_64 需要 libstdc.so.6(GLIBCXX_3.4.29)(64bit)被 mesa-dri-drivers-24.0.3-2.x86_64 需要 libstdc.so.6(GLIBCXX_3.4.30)(64bit)被 mesa-dri-drivers-24.0.3-2.x86_64 需要 libLLVM-17.so()(64bit)被 mesa-libd3d-24.0.3-2.x86_64 需要 libLLVM-17.so(LLVM_17)(64bit)被 mesa-libd3d-24.0.3-2.x86_64 需要 libstdc.so.6(GLIBCXX_3.4.26)(64bit)被 mesa-libd3d-24.0.3-2.x86_64 需要 libstdc.so.6(GLIBCXX_3.4.28)(64bit)被 mesa-libd3d-24.0.3-2.x86_64 需要 libstdc.so.6(GLIBCXX_3.4.29)(64bit)被 mesa-libd3d-24.0.3-2.x86_64 需要 libstdc.so.6(GLIBCXX_3.4.30)(64bit)被 mesa-libd3d-24.0.3-2.x86_64 需要 libLLVM-17.so()(64bit)被 mesa-libOSMesa-24.0.3-2.x86_64 需要 libLLVM-17.so(LLVM_17)(64bit)被 mesa-libOSMesa-24.0.3-2.x86_64 需要 libstdc.so.6(GLIBCXX_3.4.29)(64bit)被 mesa-libOSMesa-24.0.3-2.x86_64 需要 libstdc.so.6(GLIBCXX_3.4.30)(64bit)被 mesa-libOSMesa-24.0.3-2.x86_64 需要 libLLVM-17.so()(64bit)被 mesa-libxatracker-24.0.3-2.x86_64 需要 libLLVM-17.so(LLVM_17)(64bit)被 mesa-libxatracker-24.0.3-2.x86_64 需要 libstdc.so.6(GLIBCXX_3.4.29)(64bit)被 mesa-libxatracker-24.0.3-2.x86_64 需要 libstdc.so.6(GLIBCXX_3.4.30)(64bit)被 mesa-libxatracker-24.0.3-2.x86_64 需要 libLLVM-17.so()(64bit)被 mesa-omx-drivers-24.0.3-2.x86_64 需要 libLLVM-17.so(LLVM_17)(64bit)被 mesa-omx-drivers-24.0.3-2.x86_64 需要 libomxil-bellagio.so.0()(64bit)被 mesa-omx-drivers-24.0.3-2.x86_64 需要 libstdc.so.6(GLIBCXX_3.4.26)(64bit)被 mesa-omx-drivers-24.0.3-2.x86_64 需要 libstdc.so.6(GLIBCXX_3.4.28)(64bit)被 mesa-omx-drivers-24.0.3-2.x86_64 需要 libstdc.so.6(GLIBCXX_3.4.29)(64bit)被 mesa-omx-drivers-24.0.3-2.x86_64 需要 libstdc.so.6(GLIBCXX_3.4.30)(64bit)被 mesa-omx-drivers-24.0.3-2.x86_64 需要 libLLVM-17.so()(64bit)被 mesa-vdpau-drivers-24.0.3-2.x86_64 需要 libLLVM-17.so(LLVM_17)(64bit)被 mesa-vdpau-drivers-24.0.3-2.x86_64 需要 libstdc.so.6(GLIBCXX_3.4.26)(64bit)被 mesa-vdpau-drivers-24.0.3-2.x86_64 需要 libstdc.so.6(GLIBCXX_3.4.28)(64bit)被 mesa-vdpau-drivers-24.0.3-2.x86_64 需要 libstdc.so.6(GLIBCXX_3.4.29)(64bit)被 mesa-vdpau-drivers-24.0.3-2.x86_64 需要 libstdc.so.6(GLIBCXX_3.4.30)(64bit)被 mesa-vdpau-drivers-24.0.3-2.x86_64 需要 libLLVM-17.so()(64bit)被 mesa-vulkan-drivers-24.0.3-2.x86_64 需要 libLLVM-17.so(LLVM_17)(64bit)被 mesa-vulkan-drivers-24.0.3-2.x86_64 需要 libstdc.so.6(GLIBCXX_3.4.26)(64bit)被 mesa-vulkan-drivers-24.0.3-2.x86_64 需要 libstdc.so.6(GLIBCXX_3.4.28)(64bit)被 mesa-vulkan-drivers-24.0.3-2.x86_64 需要 libstdc.so.6(GLIBCXX_3.4.29)(64bit)被 mesa-vulkan-drivers-24.0.3-2.x86_64 需要 libstdc.so.6(GLIBCXX_3.4.30)(64bit)被 mesa-vulkan-drivers-24.0.3-2.x86_64 需要考虑到实际mesa的高版本24.03可能编译的环境不是当前的操作系统环境编译的(实际llvm和glibc的版本可能更高会导致有问题)。所以想着自己重新进行相关的编译工作。参考openeuler中的高版本的mesa版本进行编译考虑到如果mesa版本太高可能编译问题会更多问题主要依赖问题或者太低对于当前的gpu的支持情况这边参考如下网址下载了mesa的21.3.1版本进行尝试编译工作。https://archives.openeuler.openatom.cn/openEuler-22.09/source/Packages/$ rpm-ivh mesa-21.3.1-6.oe2203sp4.src.rpm $ yum-builddep-y~/rpmbuild/SPEC/mesa.spec #实际需要升级libdrm和手动编译安装ft_surface-devel包 $ rpmbuild-ba~/rpmbuild/SPEC/mesa.spec编译过程中碰到的问题错误1meson.build:1691:WARNING:shared_llvm optiontruedeprecated,please useenabledinstead.meson.build:1704:WARNING:llvm optiontruedeprecated,please useenabledinstead.llvm-config found:NO found10.0.1but need 11.0.0Run-time dependency LLVM found:NO(tried cmake and config-tool)Lookingfora fallback subprojectforthe dependency llvm meson.build:1724:2:ERROR:Subproject directory not found and llvm.wrap file not found A full log can be found at/root/rpmbuild/BUILD/mesa-21.3.1/x86_64-kylin-linux-gnu/meson-logs/meson-log.txt 错误/var/tmp/rpm-tmp.vWBItY(%build)退出状态不好 RPM 构建错误/var/tmp/rpm-tmp.vWBItY(%build)退出状态不好操作系统llvm默认版本是10.0升级到11.0版本解决该问题。错误2UsingPKG_CONFIG_PATHfrom environment with value::/usr/lib64/pkgconfig:/usr/share/pkgconfig Dependency wayland-client found:NO found1.17.0but need:1.18Run-time dependency wayland-client found:NO(tried cmake)meson.build:2011:2:ERROR:Invalid version of dependency,needwayland-client[1.18]found1.17.0.A full log can be found at/root/rpmbuild/BUILD/mesa-21.3.1/x86_64-kylin-linux-gnu/meson-logs/meson-log.txt 错误/var/tmp/rpm-tmp.mFy1IJ(%build)退出状态不好 RPM 构建错误/var/tmp/rpm-tmp.mFy1IJ(%build)退出状态不好修改mesa.spec文件中的-Dplatformsx11,wayland%{?with_ft:,ohos}改成只支持x11实际当前的麒麟操作系统本身就不支持wayland所以可以考虑移除对wayland平台的支持。编译成功升级对应的mesa包进行简单的测试该版本只是为了演示实际升级mesa的一个过程。检查未打包文件/usr/lib/rpm/check-files/root/rpmbuild/BUILDROOT/mesa-21.3.1-6.ky10.x86_64 已写至/root/rpmbuild/SRPMS/mesa-21.3.1-6.ky10.src.rpm 已写至/root/rpmbuild/RPMS/x86_64/mesa-libGL-devel-21.3.1-6.ky10.x86_64.rpm 已写至/root/rpmbuild/RPMS/x86_64/mesa-libgbm-21.3.1-6.ky10.x86_64.rpm 已写至/root/rpmbuild/RPMS/x86_64/mesa-libgbm-devel-21.3.1-6.ky10.x86_64.rpm 已写至/root/rpmbuild/RPMS/x86_64/mesa-libxatracker-devel-21.3.1-6.ky10.x86_64.rpm 已写至/root/rpmbuild/RPMS/x86_64/mesa-libOSMesa-devel-21.3.1-6.ky10.x86_64.rpm 已写至/root/rpmbuild/RPMS/x86_64/mesa-libglapi-21.3.1-6.ky10.x86_64.rpm 已写至/root/rpmbuild/RPMS/x86_64/mesa-libEGL-devel-21.3.1-6.ky10.x86_64.rpm 已写至/root/rpmbuild/RPMS/x86_64/mesa-filesystem-21.3.1-6.ky10.x86_64.rpm 已写至/root/rpmbuild/RPMS/x86_64/mesa-vulkan-devel-21.3.1-6.ky10.x86_64.rpm 已写至/root/rpmbuild/RPMS/x86_64/mesa-libEGL-21.3.1-6.ky10.x86_64.rpm 已写至/root/rpmbuild/RPMS/x86_64/mesa-libGL-21.3.1-6.ky10.x86_64.rpm 已写至/root/rpmbuild/RPMS/x86_64/mesa-libxatracker-21.3.1-6.ky10.x86_64.rpm 已写至/root/rpmbuild/RPMS/x86_64/mesa-libOSMesa-21.3.1-6.ky10.x86_64.rpm 已写至/root/rpmbuild/RPMS/x86_64/mesa-vdpau-drivers-21.3.1-6.ky10.x86_64.rpm 已写至/root/rpmbuild/RPMS/x86_64/mesa-vulkan-drivers-21.3.1-6.ky10.x86_64.rpm 已写至/root/rpmbuild/RPMS/x86_64/mesa-dri-drivers-21.3.1-6.ky10.x86_64.rpm 已写至/root/rpmbuild/RPMS/x86_64/mesa-debugsource-21.3.1-6.ky10.x86_64.rpm 已写至/root/rpmbuild/RPMS/x86_64/mesa-debuginfo-21.3.1-6.ky10.x86_64.rpm升级mesa版本进行测试验证[rootlocalhost mesa-21.3.1]# ls mesa-dri-drivers-21.3.1-6.ky10.x86_64.rpm mesa-libgbm-21.3.1-6.ky10.x86_64.rpm mesa-libOSMesa-21.3.1-6.ky10.x86_64.rpm mesa-vulkan-drivers-21.3.1-6.ky10.x86_64.rpm mesa-filesystem-21.3.1-6.ky10.x86_64.rpm mesa-libGL-21.3.1-6.ky10.x86_64.rpm mesa-libxatracker-21.3.1-6.ky10.x86_64.rpm mesa-libEGL-21.3.1-6.ky10.x86_64.rpm mesa-libglapi-21.3.1-6.ky10.x86_64.rpm mesa-vdpau-drivers-21.3.1-6.ky10.x86_64.rpm[rootlocalhost mesa-21.3.1]# rpm-Uvh*.rpm--force Verifying...#################################[100%]准备中...#################################[100%]正在升级/安装...1:mesa-libglapi-21.3.1-6.ky10 #################################[6%]2:mesa-filesystem-21.3.1-6.ky10 #################################[11%]3:mesa-libgbm-21.3.1-6.ky10 #################################[17%]4:mesa-libEGL-21.3.1-6.ky10 #################################[22%]5:mesa-dri-drivers-21.3.1-6.ky10 #################################[28%]6:mesa-vdpau-drivers-21.3.1-6.ky10 #################################[33%]7:mesa-libGL-21.3.1-6.ky10 #################################[39%]8:mesa-libOSMesa-21.3.1-6.ky10 #################################[44%]9:mesa-vulkan-drivers-21.3.1-6.ky10#################################[50%]10:mesa-libxatracker-21.3.1-6.ky10 #################################[56%]正在清理/删除...11:mesa-libGL-20.1.4-3.p01.ky10 #################################[61%]12:mesa-libEGL-20.1.4-3.p01.ky10 #################################[67%]13:mesa-dri-drivers-20.1.4-3.p01.ky1#################################[72%]14:mesa-filesystem-20.1.4-3.p01.ky10#################################[78%]15:mesa-libglapi-20.1.4-3.p01.ky10 #################################[83%]16:mesa-libgbm-20.1.4-3.p01.ky10 #################################[89%]17:mesa-vulkan-drivers-20.1.4-3.p01.#################################[94%]18:mesa-libxatracker-20.1.4-3.p01.ky#################################[100%]通过查看/var/log/Xorg.0.log查看glamor通过mesa进行3d转2d加速的情况。通过glxgears -info 查看实际3D加速默认使能了。备注

更多文章