可通过lspci、nvidia-smi、glxinfo、/sys/class/drm和lsmod五种命令级方法确认Linux系统GPU型号、硬件识别状态及驱动加载情况。

如果您在Linux系统中需要确认当前安装的显卡型号、硬件识别状态或驱动加载情况,则可能是由于图形界面异常、CUDA环境配置失败或设备兼容性排查需求。以下是多种可直接执行的命令级方法:
一、使用lspci命令识别GPU硬件型号
该命令通过PCI总线枚举所有硬件设备,过滤VGA/3D控制器类设备,可获取显卡芯片厂商、代号及型号字符串,适用于所有GPU品牌且无需额外依赖。
1、打开终端,输入以下命令并回车:
lspci | grep -i vga
2、若输出包含类似01:00.0 VGA compatible controller: NVIDIA Corporation GA102 [GeForce RTX 3090]的内容,则GA102 [GeForce RTX 3090]即为显卡型号。
3、如需查看更详细信息(含内核驱动模块名称),执行:
lspci -v | grep -A 10 "VGA compatible controller"
4、在输出中查找Kernel driver in use字段,其后内容即为当前启用的驱动模块名,例如nvidia或i915。
二、调用专用工具查询NVIDIA GPU详情
当系统已安装NVIDIA官方驱动及nvidia-smi工具时,该命令可实时返回GPU型号、温度、显存使用、驱动版本及CUDA支持状态,信息高度结构化且权威。
1、在终端中运行:
nvidia-smi
2、观察第一行输出中的Name列,例如NVIDIA A100-SXM4-40GB即为实际GPU型号。
3、检查右上角显示的Driver Version,例如535.129.03,该版本号需与CUDA Toolkit版本兼容。
4、若提示NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver,说明驱动未正确加载或未安装。
三、利用OpenGL渲染器信息反推GPU与驱动栈
glxinfo命令属于mesa-utils软件包,通过查询OpenGL上下文所使用的渲染器字符串,可间接获知GPU型号及当前生效的开源/闭源驱动组合,适用于验证3D加速是否启用。
1、确保已安装mesa-utils:
sudo apt install mesa-utils(Ubuntu/Debian)或 sudo yum install mesa-dri-drivers(CentOS/RHEL)
2、执行以下命令:
glxinfo | grep "OpenGL renderer"
3、输出示例:OpenGL renderer string: GeForce RTX 3090/PCIe/SSE2,其中GeForce RTX 3090为GPU型号,SSE2表明驱动支持基础指令集。
4、若输出为llvmpipe或softpipe,表示当前使用CPU软件渲染,GPU硬件加速未启用。
四、读取/sys/class/drm接口获取底层GPU设备标识
该路径提供内核对显示设备的原始抽象,适用于无图形环境(如服务器)或驱动调试场景,可确认GPU是否被内核识别为drm主设备。
1、列出所有drm设备节点:
ls /sys/class/drm/
2、若存在类似card0、renderD128等目录,说明GPU已被内核识别。
3、查看主显示卡型号信息:
cat /sys/class/drm/card0/device/modalias
4、输出格式为pci:v000010DEd00002204sv00001043sd0000871Bbc03sc00i00,其中v000010DE代表厂商ID(10DE = NVIDIA),d00002204为设备ID,可通过PCI ID Repository查对应型号。
5、关键提示:若/sys/class/drm/下仅见controlD64而无card0,表明GPU未被drm子系统初始化,可能因固件缺失或内核参数屏蔽。
五、检查内核模块加载状态以确认驱动就绪
GPU驱动以内核模块形式加载,通过lsmod可验证模块是否驻留内存、是否被其他模块依赖,是判断驱动“存在但未生效”类问题的关键步骤。
1、运行命令查看已加载模块:
lsmod | grep -E "(nvidia|nouveau|i915|amdgpu|radeon)"
2、若输出含nvidia且第二列为非零数字(如2),说明nvidia模块已加载并被引用。
3、若仅见nouveau而无nvidia,表明系统正使用开源驱动,可能与闭源驱动冲突。
4、检查模块详细参数:
modinfo nvidia | grep -E "(version|alias)"
5、输出中version:行显示模块内置版本号,应与nvidia-smi报告的驱动版本严格一致;alias:行中的pci:v000010DE*表明该模块声明支持NVIDIA设备。











