首先查看显卡信息,显卡类型和驱动信息
lspci -k | grep -EA3 'VGA|Display'
比如我的笔记本显示
第一部分表示集成显卡,第二部分表示独立显卡。
Intel的集成显卡驱动都是开源的,已经包含到Linux内核中,一般是开箱即用,不用去配置。独立显卡 AMD/Nvidia情况稍微有点复杂,都有开源驱动和闭源驱动之分。Nvidia的闭源驱动性能要远好于开源驱动,具体配置这里不介绍,主要说说AMD显卡驱动的情况。
2016 AMD开启GPUOpen计划,显卡驱动全面向开源驱动迁移。目前amd开源驱动有radeon和amdgpu,其中radeon主要用于老的显卡,amdgpu主要用于新的显卡。评测结果显示,amdgpu的性能略微好于radeon:
amdgpu、radeon性能评测
另外还有官方闭源驱动 amd-gpu-pro。总的来说,绝大多数场景(opengl),开源驱动性能接近甚至好于闭源驱动,兼容性好于闭源驱动,opencl等专业计算性能弱于闭源驱动。有评测显示,目前amd的开源驱动游戏性能已经接近windows下的性能:
AMD驱动性能Linux、Windows比较
目前Linux内核已经包含了AMD的开源驱动,一般情况下,无需配置开箱即用。如果需要使用最新的mesa开源驱动,则需要添加PPA源,一般有paulo-miguel-dias/pkppa和ubuntu-x-swat可供选择,以Feral Interactive公司的源为例:
sudo add-apt-repository ppa:paulo-miguel-dias/pkppa
sudo apt update
然后安装就可以了。
如果要添加opencl支持,那么执行
sudo apt install mesa-opencl-icd
安装完成后,看看opencl是否配置好,终端执行
clinfo
另外补充一点的是,AMD的显卡开源驱动有radeon和amdgpu之分,我的笔记本上默认是启用radeon,如果要切换到amdgpu,那么执行
echo "blacklist radeon" | sudo tee --append /etc/modprobe.d/blacklist.conf
echo "options amdgpu si_support=1 cik_support=1" | sudo tee --append /etc/modprobe.d/amdgpu.conf
sudo update-initramfs -u
然后重启即可,这时候就可以看到更改过来了
这时候,如果要查看OpenGL相关信息,
比如OpenGL渲染引擎
glxinfo | grep "OpenGL renderer"
可以看到
比如OpenGL的版本
glxinfo | grep "OpenGL version"
类似的,查询即可
另外一个问题,就是显卡切换的问题,从前面的查询可以看到,绝大多数场景,默认使用集成显卡,但比如我要使用独立显卡该怎么办,一个办法是,在命令前加上DRI_PRIME=1,比如
DRI_PRIME=1 glxinfo | grep "OpenGL renderer"
这时候显示
就使用独立显卡了。
最后一个问题,显卡跑分的问题,比较专业的方案可以使用基准跑分软件unigine,最简单的方案是使用齿轮进行跑分
vblank_mode=0 glxgears
前面的vblank_mode=0是关闭垂直同步,否则帧数会锁在60左右。