使用amdmemtweak工具时遇到权限拒绝及DRI实例找不到问题求助
解决amdmemtweak在Ubuntu22.04下的权限拒绝与DRI实例找不到问题
嘿,我之前帮朋友处理过类似挖矿场景下amdmemtweak的问题,给你几个可行的排查和解决步骤:
先搞定权限拒绝问题
报错里的Permission denied说明当前用户没有访问debugfs下DRI节点的权限。你可以先试试用sudo直接运行amdmemtweak:sudo amdmemtweak如果这样能绕过权限报错,那可以通过添加udev规则让普通用户也能访问相关节点,不用每次都输sudo:
- 创建新的udev规则文件:
sudo nano /etc/udev/rules.d/99-amdmemtweak.rules - 在文件里写入:
SUBSYSTEM=="drm", KERNEL=="card[0-9]*", GROUP="video", MODE="0660" SUBSYSTEM=="debugfs", PATH=="/sys/kernel/debug/dri/*", GROUP="video", MODE="0660" - 保存后重新加载规则:
sudo udevadm control --reload-rules && sudo udevadm trigger - 把当前用户加入video组:
sudo usermod -aG video $USER - 注销再重新登录,让组权限生效。
- 创建新的udev规则文件:
排查DRI实例找不到的问题
针对Cannot find DRI instance for pci:0000:06:00.0的报错,按下面步骤检查:- 先确认这个PCI地址是你的AMD显卡:运行
lspci | grep VGA查看显卡的PCI信息,如果0000:06:00.0不是目标显卡,就手动指定正确的设备运行amdmemtweak:
把XX换成你实际的显卡PCI总线号。sudo amdmemtweak -d pci:0000:XX:00.0 - 如果地址是对的,检查amdgpu驱动的DRI模块是否加载:
lsmod | grep amdgpu,如果没加载就手动加载:sudo modprobe amdgpu - 还要确保你安装的amdgpu驱动包含OpenCL组件,用官网的
amdgpu-install脚本重新安装并指定OpenCL:
安装完成后重启系统再试。sudo amdgpu-install --opencl=legacy,rocr
- 先确认这个PCI地址是你的AMD显卡:运行
额外排查点
- 确认debugfs已经挂载:
mount | grep debugfs,如果没挂载就手动挂载:sudo mount -t debugfs none /sys/kernel/debug - 检查内核版本和amdgpu驱动是否兼容,Ubuntu22.04默认内核一般没问题,但如果是自定义内核,可能需要调整到驱动支持的版本。
- 确认debugfs已经挂载:
要是上面的步骤都试过还是不行,可以把dmesg | grep amdgpu的输出贴出来,能更精准定位驱动加载的问题。
备注:内容来源于stack exchange,提问作者ImBr
相关产品推荐
相关产品推荐

