Intel的CPU通常才叫CPU,它和AMD的APU驱动程序最大的不同当然是厂商不同,一个是AMD,一个是Intel,虽然都是驱动中央处理器和集成类图形处理器,而它们做出来的东西将是完全不同的,不可以共用。
Debian 10 stable默认内核版本为4.19,但刚安装完系统启动,并没有加载驱动模块 amdgpu ,显卡驱动工作不正常,xserver也没法正常工作,没法启动桌面,安装完毕后,进入终端界面。
确定内核版本号
若是 debian10 stable版本 (代号buster),内核版本为4.19,则有两种选择:
这里记录以添加 backports 源作为处理方法。
使用 sudo apt edit-sources 选中 nano 编辑 /etc/apt/sources.list 文件
source.list 使用#注释国外源(主要为debian.org以及security相关的源),新增国内镜像。如清华源、163,阿里,此处使用清华源。(ctrl+o保存、ctrl+x退出nano编辑器),新增内容:
包管理 *** 作参考debian参考手册,以下记录 *** 作
debian 内核相关的软件包名称为 linux-image-xxxxx ,可以通过 apt search linux-image 模糊搜索候选的软件包,选取一个 5.x 版本,
backports源下可能有多个候选内核,包名类似
bpo 是backports源软件包
amd64 是可选的架构,用于64位PC(X86_64)
rt 打了PREEMPT_RT内核实时补丁的版本,这个版本为我们也用不上
cloud 用于Amazon EC2, Google Compute Engine 、 Microsoft Azure cloud,这个版本我们不需要。
dbg 这个包用于调试,不是内核本身,只是符号相关的文件,我们也用不上。
选取一个5.x版本的内核,仅有 amd64 后缀的,没有 dbg 后缀的软件包安装。
显卡、无线网卡、部分网卡,不仅需要内核模块,还需要加载firmware才能正常工作,安装firmware软件包:
安装固件和新内核完毕后重启,开机后在grub菜单中选择新内核启动,使用 uname -r 验证运行的内核版本。
根据 dmesg 筛选错误信息,进一步查看是否存在其他错误:
以上IOMMU的错误,不影响使用。未发现firmware相关错误,IOMMU问题可通过修改内核参数添加 iommu=soft ,此处并不是问题重点,忽略。
demsg 筛选 amdgpu 关键字查找模块日志输出,模块无异常日志。
lspci 筛选查看pci设备详情,存在 Kernel modules: amdgpu 字段,指示设备使用的驱动为amdgpu。
如上述均正常,但Xserver还是未能正常工作,驱动问题已排除,需要考虑其他问题,例如x服务、桌面没有安装,显示管理服务没有安装之类。
检查 xserver-xorg 有没安装,处理一下
若xserver已经安装,则xserver的日志在 /var/log/Xorg.0.log ,查看日志中错误信息,再根据里面的线索进一步排查,日志信息很多,需要筛选有价值的错误信息。
可以使用 less 命令配合正则搜索定位查找日志文件
如果没有安装桌面环境,需要手动安装一个,此处选择了 mate 桌面 , DM使用 lightdm
debian 10 使用systemd作为init管理系统,重启lightdm服务
让APU通过VAAPI使用核显硬件处理图形相关内容,提高效率,避免cpu太多压力。
ffmpeg、vlc播放器可能用到这方面内容。
安装、使用 vainfo 查看vaapi支持情况。
查看信息(此处内核版本为5.9.0-5-amd64,mesa版本为20.2.6)
radeontop可以用于查看amd gpu核显工作状态,如主频、内存频率、使用率等。
radeontop项目地址
根据github上的项目帮助说明,拉取并编译radeontop即可。
相关参数位于 /sys/class/drm/card0/device ,此处只有一个显卡, card0 。
amdgpu相关的文档位于源码目录:
Documentation/gpu/amdgpu.rst
Documentation/gpu/amdgpu-dc.rst
鸡肠子什么,懂是不可能懂的,这辈子都不可能懂的,机翻凑合看。可根据 /sys/class/drm/card0/device 下文件名查找相关注释参数说明,再进行调节,未知参数不应胡乱设置,
如需gpu降频,则在 /sys/class/drm/card0/device/power_dpm_force_performance_level 参数,
说明位于 drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c
取值可能是 auto low high manual profile_standard ...等,更多要去看具体的说明。
设置为 low 则使用节能策略(需要切换至root用户)
通过 radeontop 查看GPU节能模式下频率。Ryzen 3200g的是200Mhz。
debian使用手册:apt/aptitude包管理
debian安装手册:需要固件的设备
systemd参考手册(金步国译)
arch wiki AMDGPU
debian管理员手册:配置X11
linux kernel 5.4.y 源码仓库
FFMPEG 硬件解码wiki
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)