栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

[Linux RK Debian 10] chrome浏览器开启GPU硬件加速|CSDN创作打卡

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

[Linux RK Debian 10] chrome浏览器开启GPU硬件加速|CSDN创作打卡

platform:RK
OS:Linux
Kernel: 4.4.143
filesystem:debian10

文章目录

简易查看GPU硬件加速开启GPU硬件加速

(1) 启动桌面的浏览器加速配置脚本(2) 查看启动信息以及相关LOG(3) 开启RGA(4) libmali库的对应选择以及安装

简易查看GPU硬件加速

系统的GPU glmark2是正常使用, chrome浏览器正常启动,基本Chrome浏览器硬件加速就可以用起来。
查看方式:chrome://gpu 敲入地址栏可以查看gpu 支持的情况。(硬件加速:WebGL:Hardware accelerated WebGL2:Hardware accelerated)
GPU硬件加速未开启(WebGL:Disabled WebGL2:Disabled)

开启GPU硬件加速 (1) 启动桌面的浏览器加速配置脚本

启动桌面的浏览器加速配置脚本,文件系统Chrome接口配置:

/etc/X11/xorg.conf.d/20-modesetting.conf 
Section "Device" 
    Identifier  "Rockchip Graphics" 
    Driver      "modesetting" 
    Option      "AccelMethod"    "exa" 
#    Option      "AccelMethod"    "glamor" 
    Option      "DRI"            "2" 
    Option      "FlipFB"         "none" 
    Option      "NoEDID"         "true"
(2) 查看启动信息以及相关LOG

上面Chrome接口配置显示使用exa进行GPU硬件加速,查看LOG(路径:/var/log/Xorg.0.log,/var/log/Xorg.0.log.old)

[    12.503] (II) modeset(0): Using internal exa
[    12.509] (EE) modeset(0): exa initialization failed

kernel的rga没有开启,导致出错(无法启动GPU硬件加速)。

(3) 开启RGA

使用RGA进行加速步骤:
先打开RGA进行GPU加速,再选择是用exa还是glamor方式进行GPU的硬件加速。
内核设备树配置GPU打开:

&gpu {
	status = "okay";
	mali-supply = <&vdd_gpu>;
};

改设备树:

//	rga: rga@ff920000 {
//		compatible = "rockchip,rk3288-rga";
//		reg = <0x0 0xff920000 0x0 0x180>;
//		interrupts = ;
//		clocks = <&cru ACLK_RGA>, <&cru HCLK_RGA>, <&cru SCLK_RGA>;
//		clock-names = "aclk", "hclk", "sclk";
//		power-domains = <&power RK3288_PD_VIO>;
//		resets = <&cru SRST_RGA_CORE>, <&cru SRST_RGA_AXI>, <&cru SRST_RGA_AHB>;
//		reset-names = "core", "axi", "ahb";
//		status = "disabled";
//	};
	rga: rga@ff920000 {
	compatible = "rockchip,rga2";
	reg = <0x0 0xff920000 0x0 0x180>;
	interrupts = ;
	resets = <&cru SRST_RGA_CORE>, <&cru SRST_RGA_AXI>, <&cru
	SRST_RGA_AHB>;
	reset-names = "core", "axi", "ahb";
	clocks = <&cru ACLK_RGA>, <&cru HCLK_RGA>, <&cru SCLK_RGA>;
	clock-names = "aclk_rga", "hclk_rga", "clk_rga";
	dma-coherent;
	status = "okay";
	};

或者在rk3288_linux.dtsi下添加

&rga {
	compatible = "rockchip,rga2";
	clocks = <&cru ACLK_RGA>, <&cru HCLK_RGA>, <&cru SCLK_RGA>;
	clock-names = "aclk_rga", "hclk_rga", "clk_rga";
	assigned-clocks = <&cru ACLK_RGA>, <&cru SCLK_RGA>;
	assigned-clock-rates = <300000000>, <300000000>;
	status = "okay";
};

配置完设备树后,将内核编译重新烧写
在/dev下生成rga节点

root@linaro-alip:/dev# ls -l rga
crw-rw---- 1 root video 10, 52 Feb 14 18:11 rga

打开桌面浏览器,报错:

mali ffa30000.gpu: Stride passed to job_submit doesn't match kernel

文件系统里面的libmali库与内核对不上(第一方法:可能是版本问题,换高版本内核),查看启动信息中

[ 0.000000] Linux version 4.4.143 (root@ubuntu) (gcc version 6.3.1 20170404 (Linaro GCC 6.3-2017.05) ) #425 SMP Wed Apr 21 15:42:44 CST 2021
[ 7.729227] I : [File] : drivers/gpu/arm/mali400/mali/linux/mali_kernel_linux.c; [Line] : 417; [Func] : mali_module_init(); svn_rev_string_from_arm of this mali_ko is '-2cda2e6', rk_ko_ver is '5', built at '14:39:09', on 'Apr 21 2021'.[ 7.729536] Mali: Mali device driver loader

第二方法:换Mali安装包

(4) libmali库的对应选择以及安装

libmali库是Chrome浏览器打开调用驱动底层的接口,没有对应可能打开会报上面的错误或者打不开浏览器
正常Mali驱动是r14或r18的版本 对应debian10才能跑起来。
Mali安装包在SDK debian/packages/armhf/libmali/libmali-midgard-t76x-r14p0-r*
板子里 debian/binary/packages/libmali
也可在这下载不同版本的Mail安装包
查看核心板使用的gpu型号确定使用的Mali安装包:

root@linaro-alip:/dev# cat /sys/devices/platform/*gpu/gpuinfo
Mali-T76x 4 cores r1p0 0x0750

查看目前板子里使用的Mali版本:
路径:/usr/lib/mali/

root@linaro-alip:/usr/lib/mali# ls -l
total 20128
lrwxrwxrwx 1 root root       11 Jul 29  2020 libEGL.so -> libEGL.so.1
-rw-r--r-- 1 root root     5372 Jul 29  2020 libEGL.so.1
lrwxrwxrwx 1 root root       17 Jul 29  2020 libGLESv1_CM.so -> libGLESv1_CM.so.1
-rw-r--r-- 1 root root     5372 Jul 29  2020 libGLESv1_CM.so.1
lrwxrwxrwx 1 root root       14 Jul 29  2020 libGLESv2.so -> libGLESv2.so.2
-rw-r--r-- 1 root root     5372 Jul 29  2020 libGLESv2.so.2
lrwxrwxrwx 1 root root       12 Jul 29  2020 libMali.so -> libMali.so.1
-rw-r--r-- 1 root root     5372 Jul 29  2020 libMali.so.1
lrwxrwxrwx 1 root root       18 Jul 29  2020 libMaliOpenCL.so -> libMaliOpenCL.so.1
-rw-r--r-- 1 root root     5372 Jul 29  2020 libMaliOpenCL.so.1
lrwxrwxrwx 1 root root       11 Jul 29  2020 libgbm.so -> libgbm.so.1
-rw-r--r-- 1 root root     5452 Jul 29  2020 libgbm.so.1
lrwxrwxrwx 1 root root       10 Jul 29  2020 libmali-midgard-t76x-r18p0-r1p0-x11.so -> libmali.so
lrwxrwxrwx 1 root root       12 Jul 29  2020 libmali.so -> libmali.so.1
lrwxrwxrwx 1 root root       16 Jul 29  2020 libmali.so.1 -> libmali.so.1.9.0
-rw-r--r-- 1 root root 20557292 Jul 29  2020 libmali.so.1.9.0
drwxr-xr-x 2 root root     4096 Feb 14 18:12 pkgconfig

使用的是libmali-midgard-t76x-r18p0-r1p0-x11_1.9-1_armhf.deb版本太高出现上面的报错
降低版本:libmali-midgard-t76x-r14p0-r1p0-x11_1.9-1_armhf.deb
安装log:

root@linaro-alip:~# dpkg -i libmali-midgard-t76x-r14p0-r1p0-x11_1.9-1_armhf.deb
Selecting previously unselected package libmali-midgard-t76x-r14p0-r1p0-x11.
dpkg: regarding libmali-midgard-t76x-r14p0-r1p0-x11_1.9-1_armhf.deb containing libmali-midgard-t76x-r14p0-r1p0-x11:
 libmali-midgard-t76x-r14p0-r1p0-x11 conflicts with libmali-midgard-t76x-r18p0-r1p0-x11
  libmali-midgard-t76x-r18p0-r1p0-x11 (version 1.9-1) is present and installed.

dpkg: error processing archive libmali-midgard-t76x-r14p0-r1p0-x11_1.9-1_armhf.deb (--install):
 conflicting packages - not installing libmali-midgard-t76x-r14p0-r1p0-x11
Errors were encountered while processing:
 libmali-midgard-t76x-r14p0-r1p0-x11_1.9-1_armhf.deb
   
root@linaro-alip:~# apt-get remove libmali-midgard-t76x-r18p0-r1p0-x11
..........

root@linaro-alip:~# dpkg -i libmali-midgard-t76x-r14p0-r1p0-x11_1.9-1_armhf.deb
(Reading database ... 72588 files and directories currently installed.)
Preparing to unpack libmali-midgard-t76x-r14p0-r1p0-x11_1.9-1_armhf.deb ...
Unpacking libmali-midgard-t76x-r14p0-r1p0-x11 (1.9-1) ...
Setting up libmali-midgard-t76x-r14p0-r1p0-x11 (1.9-1) ...
Processing triggers for libc-bin (2.28-10) ...
ldconfig: file /usr/lib/mali/libmali.so is truncated

ldconfig: file /usr/lib/mali/libmali.so.1 is truncated

ldconfig: file /usr/lib/mali/libmali.so.1.9.0 is truncated

ldconfig: file /usr/lib/mali/libmali-midgard-t76x-r14p0-r1p0-x11.so is truncated

ldconfig: /usr/lib/arm-linux-gnueabihf/libavformat.so.57.56.101 is not an ELF file - it has the wrong magic bytes at the start.

ldconfig: /usr/lib/arm-linux-gnueabihf/libavformat.so.57 is not an ELF file - it has the wrong magic bytes at the start.

ldconfig: file /usr/lib/libmali.so.1 is truncated

查看/usr/lib/mali/

root@linaro-alip:/usr/lib/mali# ls -l
total 18212
lrwxrwxrwx 1 root root       11 Jul 29  2020 libEGL.so -> libEGL.so.1
-rw-r--r-- 1 root root     5372 Jul 29  2020 libEGL.so.1
lrwxrwxrwx 1 root root       17 Jul 29  2020 libGLESv1_CM.so -> libGLESv1_CM.so.1
-rw-r--r-- 1 root root     5372 Jul 29  2020 libGLESv1_CM.so.1
lrwxrwxrwx 1 root root       14 Jul 29  2020 libGLESv2.so -> libGLESv2.so.2
-rw-r--r-- 1 root root     5372 Jul 29  2020 libGLESv2.so.2
lrwxrwxrwx 1 root root       12 Jul 29  2020 libMali.so -> libMali.so.1
-rw-r--r-- 1 root root     5372 Jul 29  2020 libMali.so.1
lrwxrwxrwx 1 root root       18 Jul 29  2020 libMaliOpenCL.so -> libMaliOpenCL.so.1
-rw-r--r-- 1 root root     5372 Jul 29  2020 libMaliOpenCL.so.1
lrwxrwxrwx 1 root root       11 Jul 29  2020 libgbm.so -> libgbm.so.1
-rw-r--r-- 1 root root     5452 Jul 29  2020 libgbm.so.1
lrwxrwxrwx 1 root root       10 Jul 29  2020 libmali-midgard-t76x-r14p0-r1p0-x11.so -> libmali.so
lrwxrwxrwx 1 root root       12 Jul 29  2020 libmali.so -> libmali.so.1
lrwxrwxrwx 1 root root       16 Jul 29  2020 libmali.so.1 -> libmali.so.1.9.0
-rw-r--r-- 1 root root 18587672 Jul 29  2020 libmali.so.1.9.0
drwxr-xr-x 2 root root     4096 Feb 14 18:15 pkgconfig

可以查出更改为libmali-midgard-t76x-r14p0-r1p0-x11.so版本

重新打开浏览器,chrome://gpu 敲入地址栏可以查看gpu 支持的情况。(硬件加速:WebGL:Hardware accelerated WebGL2:Hardware accelerated)
OK!!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/728110.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号