首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在RPi 4 (armhf)上的Ubuntu 21.10上运行的Chromium浏览器中启用硬件图形加速?

如何在RPi 4 (armhf)上的Ubuntu 21.10上运行的Chromium浏览器中启用硬件图形加速?
EN

Ask Ubuntu用户
提问于 2022-01-07 10:58:34
回答 1查看 9.2K关注 0票数 3

我刚刚在我的Raspberry Pi 4上安装了Ubuntu 21.10 (32位,armhf),内存为4GB。注意:我需要32位版本才有Modelica编译器可用.所有设置都是默认设置。有关视频驱动程序的信息如下:

代码语言:javascript
复制
$ lsmod | grep drm
drm_kms_helper        282624  3 vc4
cec                    65536  2 vc4,drm_kms_helper
fb_sys_fops            16384  1 drm_kms_helper
syscopyarea            16384  1 drm_kms_helper
sysfillrect            16384  1 drm_kms_helper
sysimgblt              16384  1 drm_kms_helper
drm                   540672  12 v3d,vc4,gpu_sched,drm_kms_helper

$ grep -E "^dtoverlay|^max_framebuffers|^gpu_mem|^hdmi" /boot/firmware/config.txt 
max_framebuffers=2
dtoverlay=vc4-fkms-v3d
gpu_mem=128

$ cat /proc/device-tree/soc/firmwarekms@7e600000/status
okay

$ cat /proc/device-tree/v3dbus/v3d@7ec04000/status
okay

$ glxinfo | grep -i opengl
OpenGL vendor string: Broadcom
OpenGL renderer string: V3D 4.2
OpenGL version string: 2.1 Mesa 21.2.2
OpenGL shading language version string: 1.20
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.1 Mesa 21.2.2
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
OpenGL ES profile extensions:

然后,我安装了像sudo apt-get install chromium-browser一样简单的Chromium,第一次启动它,在chrome://flags上启用以下选项:

  • Override软件渲染列表又名#ignore-gpu-blocklist
  • GPU栅格化#enable-gpu-rasterization
  • 零拷贝栅格#enable-zero-copy
  • Enables显示组合器使用一个新的gpu线程。又名#enable-drdc
  • 未处理的2D画布光栅化也就是#canvas-oop-rasterization

然后使用chromium --enable-features=VaapiVideoDecoder命令重新启动它。

chrome://gpu上取消所有这些步骤,铬表示未启用GPU加速:

Graphics特性状态

  • 画布:只有软件。硬件加速禁用
  • 画布进程外栅格化:禁用
  • 合成:只有软件。硬件加速禁用
  • 多光栅线程:禁用
  • 进程外光栅化:禁用
  • OpenGL:禁用
  • 只有软件。硬件加速禁用
  • 原始抽签:已禁用
  • Skia渲染器:已启用
  • 视频解码:仅软件。硬件加速禁用
  • Vulkan:残疾人
  • WebGL:禁用
  • WebGL2:禁用

所以问题就在标题里。

EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2022-01-08 20:43:45

这里的主要问题是Chromium是以Snap的方式发布的,所以在ARM上运行时,VA是不可用的。

因此,第一步是显而易见的-通过sudo snap remove chromium删除铬的快速版本。

第二步是使用以下命令从RaspberryPi OS存储库中安装铬作为deb-包:

代码语言:javascript
复制
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 82B129927FA3303E
sudo apt-add-repository "deb http://archive.raspberrypi.org/debian/ bullseye main"

cat <

然后启动铬,像往常一样配置它--在chrome://flags上启用以下选项:

  • Override软件渲染列表又名#ignore-gpu-blocklist;
  • GPU栅格化即#enable-gpu-rasterization;
  • 零拷贝栅格即#enable-zero-copy;
  • Enables显示组合器使用一个新的gpu线程。又名#enable-drdc;
  • 未处理的2D画布光栅化也就是#canvas-oop-rasterization。

使用chromium-browser --enable-features=VaapiVideoDecoder重新启动它,访问chrome://gpu以确保启用了所有选项(不包括Vulkan):

Graphics特性状态

  • 画布:硬件加速
  • 画布进程外栅格化:启用
  • 合成:硬件加速
  • 多个栅格线程:启用
  • 进程外光栅化:硬件加速
  • OpenGL:启用
  • 光栅化:硬件在所有页面上加速
  • Skia渲染器:已启用
  • 视频解码:硬件加速
  • Vulkan:残疾人
  • WebGL:硬件加速
  • WebGL2:硬件加速

要使--enable-features=VaapiVideoDecoder标志永久,应该以编程方式编辑相关的配置文件,如下所示:

代码语言:javascript
复制
echo 'CHROMIUM_FLAGS="${CHROMIUM_FLAGS} --enable-features=VaapiVideoDecoder"' | sudo tee /etc/chromium.d/92-vaapi-hardware-decoding

结果,所有网络玩家都将在没有滞后和撕裂的情况下玩1080 p。

票数 4
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1385776

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档