Điểm:1

Làm cách nào để kích hoạt khả năng tăng tốc đồ họa phần cứng trong trình duyệt web Chromium chạy trên Ubuntu MATE 21.10 trên RPi 4 (armhf)?

lá cờ zw

Tôi vừa cài đặt Ubuntu MATE 21.10 (32-bit, armhf) trên Raspberry Pi 4 với 4 Gb RAM. Lưu ý: Tôi cần phiên bản 32-bit để có Trình biên dịch Modelica có sẵn. Tất cả các cài đặt là mặc định. Thông tin về trình điều khiển video dưới đây:

$ 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
Được chứ

$ cat /proc/device-tree/v3dbus/v3d@7ec04000/status
Được chứ

$glxinfo | grep -i opengl
Chuỗi nhà cung cấp OpenGL: Broadcom
Chuỗi trình kết xuất OpenGL: V3D 4.2
Chuỗi phiên bản OpenGL: 2.1 Mesa 21.2.2
Chuỗi phiên bản ngôn ngữ tạo bóng OpenGL: 1.20
Tiện ích mở rộng OpenGL:
Chuỗi phiên bản cấu hình OpenGL ES: OpenGL ES 3.1 Mesa 21.2.2
Chuỗi phiên bản ngôn ngữ tô bóng hồ sơ OpenGL ES: OpenGL ES GLSL ES 3.10
Tiện ích mở rộng cấu hình OpenGL ES:

Sau đó, tôi đã cài đặt trình duyệt Chromium đơn giản như Sudo apt-get cài đặt trình duyệt crom, khởi chạy lần đầu tiên để bật các tùy chọn sau trên chrome://flags:

  • Ghi đè danh sách kết xuất phần mềm hay còn gọi là #ignore-gpu-blocklist;
  • raster hóa GPU hay còn gọi là #enable-gpu-rasterization;
  • Rasterizer không sao chép hay còn gọi là #enable-zero-copy;
  • Bật Bộ tổng hợp màn hình để sử dụng chuỗi gpu mới. hay còn gọi là # bật-drdc;
  • Rasterization canvas 2D ngoài quy trình. hay còn gọi là #canvas-oop-rasterization.

sau đó khởi chạy lại nó bằng cách sử dụng crom --enable-features=VaapiVideoDecoder chỉ huy.

Desite tất cả các bước này được thực hiện, trên chrome://gpu Chromium nói rằng khả năng tăng tốc GPU không được bật:

Tình trạng tính năng đồ họa

  • Tranh sơn dầu: Chỉ phần mềm. Tăng tốc phần cứng bị vô hiệu hóa
  • Rasterization ngoài quy trình canvas: Vô hiệu hóa
  • tổng hợp: Chỉ phần mềm. Tăng tốc phần cứng bị vô hiệu hóa
  • Nhiều chủ đề raster: Vô hiệu hóa
  • Rasterization ngoài quá trình: Vô hiệu hóa
  • OpenGL: Vô hiệu hóa
  • Raster hóa: Chỉ phần mềm. Tăng tốc phần cứng bị vô hiệu hóa
  • Vẽ thô: Vô hiệu hóa
  • Trình kết xuất Skia: Đã bật
  • Giải Mã Video: Chỉ phần mềm. Tăng tốc phần cứng bị vô hiệu hóa
  • Vulkan: Vô hiệu hóa
  • WebGL: Vô hiệu hóa
  • WebGL2: Vô hiệu hóa

Vì vậy, câu hỏi là trong tiêu đề.

Điểm:1
lá cờ zw

Vấn đề chính ở đây là Chromium được vận chuyển dưới dạng Snap, vì vậy VA-API không khả dụng khi chúng tôi đang chạy trên ARM.

Vì vậy, bước đầu tiên là rõ ràng - xóa phiên bản Snap của Chromium bằng cách sudo snap loại bỏ crom.

Bước thứ hai là cài đặt Chromium dưới dạng gói gỡ lỗi từ kho lưu trữ hệ điều hành RaspberryPi bằng các lệnh bên dưới:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 82B129927FA3303E
sudo apt-add-repository "deb http://archive.raspberrypi.org/debian/ bullseye chính"

con mèo <<EOF | sudo tee /etc/apt/preferences.d/pin-chromium
Bưu kiện: *
Ghim: phát hành o=Raspberry Pi Foundation
Pin-Ưu tiên: -1

Đóng gói: crom*
Ghim: phát hành o=Raspberry Pi Foundation
Pin-Ưu tiên: 1000
EOF

sudo apt-get cập nhật
Sudo apt-get cài đặt trình duyệt crom

Sau đó khởi chạy Chromium để định cấu hình như bình thường - bật các tùy chọn sau trên chrome://flags:

  • Ghi đè danh sách kết xuất phần mềm hay còn gọi là #ignore-gpu-blocklist;
  • raster hóa GPU hay còn gọi là #enable-gpu-rasterization;
  • Rasterizer không sao chép hay còn gọi là #enable-zero-copy;
  • Bật Bộ tổng hợp màn hình để sử dụng chuỗi gpu mới. hay còn gọi là # bật-drdc;
  • Rasterization canvas 2D ngoài quy trình. hay còn gọi là #canvas-oop-rasterization.

Khởi chạy lại nó bằng cách sử dụng trình duyệt crom --enable-features=VaapiVideoDecoder, chuyến thăm chrome://gpu để đảm bảo rằng bạn đã bật tất cả các tùy chọn (không bao gồm Vulkan):

Tình trạng tính năng đồ họa

  • Canvas: Tăng tốc phần cứng
  • Rasterization ngoài quy trình canvas: Đã bật
  • Tổng hợp: Tăng tốc phần cứng
  • Nhiều chủ đề raster: Đã bật
  • Rasterization ngoài quy trình: Tăng tốc phần cứng
  • OpenGL: Đã bật
  • Rasterization: Tăng tốc phần cứng trên tất cả các trang
  • Trình kết xuất Skia: Đã bật
  • Giải mã video: Tăng tốc phần cứng
  • Vulkan: Vô hiệu hóa
  • WebGL: Tăng tốc phần cứng
  • WebGL2: Tăng tốc phần cứng

Để làm cho --enable-features=VaapiVideoDecoder gắn cờ vĩnh viễn, người ta nên chỉnh sửa tệp cấu hình có liên quan theo chương trình như bên dưới:

echo 'CHROMIUM_FLAGS="${CHROMIUM_FLAGS} --enable-features=VaapiVideoDecoder"' | sudo tee /etc/chromium.d/92-vaapi-hardware-decoding

Kết quả là tất cả các trình phát trên web sẽ chơi ở độ phân giải 1080p mà không bị lag và xé hình.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.