ophub / amlogic-s9xxx-armbian

Support for Armbian in Amlogic, Rockchip and Allwinner boxes. Support a311d, s922x, s905x3, s905x2, s912, s905d, s905x, s905w, s905, s905l, rk3588, rk3568, rk3399, rk3328, h6, etc.
GNU General Public License v2.0
5.46k stars 1.74k forks source link

请教如何驱动mali450gpu #2019

Closed xxlovex closed 5 months ago

xxlovex commented 6 months ago

Device Information | 设备信息

SOC: [s905l3b] Model [B860AV3.2-M] Memory: 4G Emmc: 32G(盒子上写的是16G) GPU: MALI450 kernel:5.15.142

问题1:根据mak menuconfig菜单中的选项,Device Drivers --->Graphics support 中发现mali450的选项是‘M’,表示已经开启了,但是我在config文件中又没找到任何关于“450”的匹配项。

问题2;爬了issue的问题,有反馈说在config中开启gpu选项后还需要在dts中添加如下代码: &gpu { mali-supply = <&vdd_gpu>; status = "okay"; }; 我fork一份 https://github.com/unifreq/linux-5.15.y 仓库的代码,并在meson-gxl-s905l3b-e900v22e.dts文件中添加了上面的代码。 然后在workflows/compile-kernel.yml中kernel_source选项中,增加了我自己仓库的地址,用git action编译成功,但是只有30多兆,用armbian-update -r xxlovex/amlogic-s9xxx-armbian -b no -k 5.15.145命令刷入系统,提示更新失败。compile-kernel.yml代码如下: name: Compile the kernel on: repository_dispatch: workflow_dispatch: inputs: kernel_source: description: "Select the kernel source" required: false default: "unifreq" type: choice options:

基于上述两个问题,请问我要如何正确的驱动gpu呢?

ophub commented 6 months ago

内核编译失败了,看你的日志失败在哪了

xxlovex commented 6 months ago

内核编译失败了,看你的日志失败在哪了

查看了内核日志,发现确实错了,但是修改后编译成功,刷入盒子也显示成功,但是盒子启动不起来了。

ophub commented 6 months ago

在usb里测试,好了再安装至emmc

liyiranlab commented 6 months ago

我家云cpu3328gpu Mail450安装视频服务器比如emby,能开启硬件转码吗?

xxlovex commented 6 months ago

在usb里测试,好了再安装至emmc

个人理解是这样的,我为了驱动gpu,我修改了meson-gxl-s905l3b-e900v22e.dts这个文件,那么我在更新内核后,需要把uEnv中的配置改为这个文件才行。不知道我理解的对不对?如果是对的,那么我即使在usb中修改,也是无法启动起来的。如果不对,那么在修改完文件,并编译好后要如何才能正确的驱动起来gpu呢?

xxlovex commented 6 months ago

我家云cpu3328gpu Mail450安装视频服务器比如emby,能开启硬件转码吗?

这个我还真不知道。

yao-weijie commented 6 months ago

我家云cpu3328gpu Mail450安装视频服务器比如emby,能开启硬件转码吗?

根据恩山那篇帖子的描述,理论上rk的这几个主流的soc都是可以开启硬解的,但是条件比较苛刻,rk的视频硬解转码不是gpu负责的,而是vpu,首先需要在dts中配置好vpu,然后需要安装瑞芯微的rkmpp和rga驱动,然后是开启了rkmpp和rkrga的ffmpeg,最后才是配套的jellyfin和emby😋真是太麻烦了🌚

13584452567 commented 5 months ago

mali450想要驱动需要编译lima并加载,在dts内写入相关节点后还要在内核config内打开模块的编译选项并加载。arm设备的视频解码一般不由GPU处理,你需要专门的视频编解码加速电路的驱动。想要实时转码舒服的话最好还是考虑一下X86设备或者别人已经适配好的,自己编译实在繁琐。

xxlovex commented 5 months ago

mali450想要驱动需要编译lima并加载,在dts内写入相关节点后还要在内核config内打开模块的编译选项并加载。arm设备的视频解码一般不由GPU处理,你需要专门的视频编解码加速电路的驱动。想要实时转码舒服的话最好还是考虑一下X86设备或者别人已经适配好的,自己编译实在繁琐。

那如果我只是想用gpu驱动游戏界面的渲染呢?这个也是涉及到视频解码吗?

13584452567 commented 5 months ago

mali450想要驱动需要编译lima并加载,在dts内写入相关节点后还要在内核config内打开模块的编译选项并加载。arm设备的视频解码一般不由GPU处理,你需要专门的视频编解码加速电路的驱动。想要实时转码舒服的话最好还是考虑一下X86设备或者别人已经适配好的,自己编译实在繁琐。

那如果我只是想用gpu驱动游戏界面的渲染呢?这个也是涉及到视频解码吗?

这个不涉及,你自己装一个桌面进设置看看驱动是不是lima,不是的话你需要加载图形驱动。如果内核没有lima模块,考虑重新编译内核。

xxlovex commented 5 months ago

mali450想要驱动需要编译lima并加载,在dts内写入相关节点后还要在内核config内打开模块的编译选项并加载。arm设备的视频解码一般不由GPU处理,你需要专门的视频编解码加速电路的驱动。想要实时转码舒服的话最好还是考虑一下X86设备或者别人已经适配好的,自己编译实在繁琐。

那如果我只是想用gpu驱动游戏界面的渲染呢?这个也是涉及到视频解码吗?

这个不涉及,你自己装一个桌面进设置看看驱动是不是lima,不是的话你需要加载图形驱动。如果内核没有lima模块,考虑重新编译内核。

好的,感谢解答。我去试试

Shrinft commented 3 months ago

可以分享一下你的镜像吗?

xxlovex commented 2 months ago

可以分享一下你的镜像吗?

j镜像?我用的就是O大发的镜像包啊,没做特别的处理

Shrinft commented 2 months ago

你编译出来的内核还有吗?

Shrinft commented 2 months ago

我看你仓库的内核刷人后启动成功,但是HDMI无输出,也有可能是dtb没更改

Shrinft commented 2 months ago

驱动 你可以试试arm官方的开源驱动