给魔方派3等Ubuntu设备添加高通GPU加速

之前发过给小米平板5运行openpilot的文章,里面用到了qcom的gpu驱动,效果还不错, 现在有用魔方派3的小伙伴也需要,所以分享出来。Happy Hacking!

跑起来有几个条件要满足:

  1. 系统是ubuntu 24.04 (Debian 13也可以)
  2. 设备是高通CPU
  3. 不要安装开源驱动,例如mesa的

安装高通驱动

我们用到高通的官方ppa源,安装方法如下:

1
2
3
4
sudo apt install software-properties-common
sudo add-apt-repository ppa:ubuntu-qcom-iot/qcom-noble-ppa
sudo apt update
sudo apt install qcom-adreno-cl-dev qcom-adreno-cl1 clinfo

如果报错了,说明你之前安装了opencl的,那么需要卸载

1
sudo apt remove opencl-headers opencl-c-headers

然后再装一次qcom-adreno-cl-dev qcom-adreno-cl1,执行clinfo出来很多东西,有Platform Name QUALCOMM Snapdragon(TM)就说明识别到了。
如果没有的话切root执行一下clinfo,可以出来的话需要改一下/dev/dri/renderD128的权限为660
sudo chmod 660 /dev/dri/renderD128,再用普通用户执行clinfo看看是不是好了。

修改op代码

  1. 注意:使用了高通cl驱动后,会导致openpilot的encoderd无法使用,注释掉即可。
  • SConstruct 里面的system/loggerd/SConscript 注释掉
  • system/manager/process_config.py 把encoderd那一行注释掉
  1. 启用GPU加速
  • selfdrive/modeld/SConscript 把for model_name in ['driving_vision', 'driving_policy', 'dmonitoring_model']:里面的默认执行设备改为GPU=1 IMAGE=0,可以参考我的。0.10后面的版本改为了DEV=GPU IMAGE=0
  • selfdrive/modeld/modeld.py 里面把os.environ['LLVM'] = '1'和下面一行JIT删掉,改为os.environ['GPU'] = '1',可以参考我的. 新版本的把os.environ['DEV'] = 'QCOM' if TICI else 'CPU'改为os.environ['DEV'] = 'QCOM' if TICI else 'GPU' 即可
  • selfdrive/modeld/dmonitoringmodeld.py 一样的改法

至此使用高通gpu跑openpilot完成。