需验证硬件识别、驱动加载、内核绑定及gpu功能四层状态:一、lspci确认显卡被pci总线识别;二、lspci -k和lshw检查kernel driver in use是否非空;三、lsmod和find验证驱动模块是否加载且文件存在;四、glxinfo -b确认direct rendering为yes且opengl renderer显示真实gpu型号。

在麒麟系统中确认电脑是否安装了显卡驱动,需验证硬件是否被识别、驱动模块是否加载、内核是否绑定以及图形栈能否调用GPU——不能只看“有没有安装包”,而要看“能不能真正用起来”。
第一步:确认显卡硬件是否存在且被系统识别
执行命令:lspci | grep -i "vga\|3d\|display"。若无任何输出,说明PCIe链路异常、显卡未插稳或主板未上报设备,后续所有检查都失去意义。
观察输出中是否含类似 00:02.0 VGA compatible controller: Intel Corporation HD Graphics 630 的行。有此行,代表硬件已通过PCI总线被内核枚举;若只有 3D controller 或 Audio device 却无 VGA 字样,可能是核显被BIOS禁用或设备ID未被驱动白名单覆盖。
第二步:检查内核是否为该显卡绑定了驱动模块
运行:lspci -k | grep -A 3 "VGA\|3D"。重点查找 【Kernel driver in use:】 后是否跟有具体模块名(如 i915、amdgpu、nvidia、jm7201)。
若该字段为空,或显示 Kernel modules: i915 却没写 in use,说明驱动虽存在但未激活——此时显卡硬件存在,但等于没装驱动。常见于国产GPU未启用内核参数、NVIDIA闭源驱动安装后未重建initramfs等场景。
再执行:sudo lshw -C display 2>/dev/null | grep -E "configuration|driver"。若输出中 driver=none 或压根不出现 driver 字段,即判定为驱动未绑定。
第三步:验证对应驱动模块是否已载入内核内存
方法一:根据上一步获知的驱动名(例如 i915),运行:lsmod | grep ^i915。有非空输出(含模块大小和引用计数)才表示模块已加载。
方法二:直接查模块文件是否存在:find /lib/modules/$(uname -r) -name "*i915*.ko*" 2>/dev/null。找不到文件,说明该驱动根本未安装;找到但 lsmod 无输出,说明模块未加载。
【注意】 若驱动名是 nouveau 而你本意装的是 nvidia,需先黑名单 nouveau 并重启,否则闭源驱动无法接管硬件。
第四步:测试GPU功能是否实际可用
① 安装必要工具:sudo apt install -y mesa-utils(若提示未找到命令,请先配置软件源)。
② 运行:glxinfo -B 2>/dev/null | grep -E "OpenGL renderer|direct rendering"。若输出中 direct rendering: Yes 且 OpenGL renderer string 显示具体GPU型号(如 GeForce GTX 1050),说明驱动不仅加载,还能完成硬件加速初始化。
③ 若返回 Error: unable to open display,请切换到图形界面终端(Ctrl+Alt+F2登录后执行)或在桌面环境下打开终端重试;若始终报错且 lsmod 显示驱动已加载,则大概率是Xorg配置错误或DRM权限问题。











