Score:1

ฉันจะเปิดใช้งานการเร่งกราฟิกด้วยฮาร์ดแวร์ในเว็บเบราว์เซอร์ Chromium ที่ทำงานบน Ubuntu MATE 21.10 บน RPi 4 (armhf) ได้อย่างไร

ธง zw

ฉันเพิ่งติดตั้ง Ubuntu MATE 21.10 (32-bit, armhf) บน Raspberry Pi 4 พร้อม RAM ขนาด 4 Gb หมายเหตุ: ฉันต้องการเวอร์ชัน 32 บิตจึงจะมี มีคอมไพเลอร์ Modelica. การตั้งค่าทั้งหมดเป็นค่าเริ่มต้น ข้อมูลเกี่ยวกับไดรเวอร์วิดีโออยู่ด้านล่าง:

$ lsmod | grep drm
drm_kms_helper 282624 3 vc4
cec 65536 2 vc4,drm_kms_helper
fb_sys_fops 16384 1 drm_kms_helper
ระยะส่องกล้อง 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
ตกลง

$ cat /proc/device-tree/v3dbus/v3d@7ec04000/สถานะ
ตกลง

$ glxinfo | grep -i opengl
สตริงผู้จำหน่าย OpenGL: Broadcom
สตริงตัวแสดง OpenGL: V3D 4.2
สตริงเวอร์ชัน OpenGL: 2.1 Mesa 21.2.2
สตริงเวอร์ชันภาษาแรเงา OpenGL: 1.20
ส่วนขยาย OpenGL:
สตริงเวอร์ชันโปรไฟล์ OpenGL ES: OpenGL ES 3.1 Mesa 21.2.2
สตริงเวอร์ชันภาษาแรเงาโปรไฟล์ OpenGL ES: OpenGL ES GLSL ES 3.10
ส่วนขยายโปรไฟล์ OpenGL ES:

จากนั้นฉันก็ติดตั้งเบราว์เซอร์ Chromium ง่ายๆ sudo apt-get install โครเมียมเบราว์เซอร์เปิดใช้งานเป็นครั้งแรกเพื่อเปิดใช้งานตัวเลือกต่อไปนี้ chrome://flags:

  • แทนที่รายการการเรนเดอร์ซอฟต์แวร์ อาคา #ignore-gpu-blocklist;
  • การแรสเตอร์ GPU อาคา #เปิดใช้งาน GPU-แรสเตอร์;
  • ราสเตอร์ไรเซอร์แบบไม่มีสำเนา อาคา #เปิดใช้งานศูนย์สำเนา;
  • เปิดใช้งาน Display Compositor เพื่อใช้เธรด GPU ใหม่ อาคา #เปิดใช้งาน-drdc;
  • การแรสเตอร์ผ้าใบ 2D ที่อยู่นอกกระบวนการ อาคา #canvas-oop-rasterization.

จากนั้นเปิดใหม่โดยใช้ โครเมียม --enable-features=VaapiVideoDecoder สั่งการ.

ยกเลิกขั้นตอนเหล่านี้ทั้งหมดบน chrome://gpu Chromium บอกว่าไม่ได้เปิดใช้งานการเร่งความเร็ว GPU:

สถานะคุณลักษณะกราฟิก

  • ผ้าใบ: ซอฟต์แวร์เท่านั้น ปิดใช้งานการเร่งด้วยฮาร์ดแวร์
  • การแรสเตอร์นอกกระบวนการของแคนวาส: พิการ
  • การเรียบเรียง: ซอฟต์แวร์เท่านั้น ปิดใช้งานการเร่งด้วยฮาร์ดแวร์
  • เธรดแรสเตอร์หลายรายการ: พิการ
  • การแรสเตอร์นอกกระบวนการ: พิการ
  • OpenGL: พิการ
  • แรสเตอร์: ซอฟต์แวร์เท่านั้น ปิดใช้งานการเร่งด้วยฮาร์ดแวร์
  • การจับฉลากดิบ: พิการ
  • Skia Renderer: เปิดใช้งาน
  • ถอดรหัสวิดีโอ: ซอฟต์แวร์เท่านั้น ปิดใช้งานการเร่งด้วยฮาร์ดแวร์
  • วัลแคน: พิการ
  • เว็บGL: พิการ
  • WebGL2: พิการ

ดังนั้นคำถามจึงอยู่ในชื่อเรื่อง

Score:1
ธง zw

ปัญหาหลักที่นี่คือ Chromium จัดส่งเป็น Snap ดังนั้น VA-API จึงไม่สามารถใช้งานได้เนื่องจากเรากำลังทำงานบน ARM

ดังนั้นขั้นตอนแรกจึงชัดเจน - ลบ Chromium เวอร์ชัน Snap โดย sudo snap ลบโครเมียม.

ขั้นตอนที่สองคือการติดตั้ง Chromium เป็น deb-package จากที่เก็บ RaspberryPi OS โดยใช้คำสั่งด้านล่าง:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 82B129927FA3303E
sudo apt-add-repository "deb http://archive.raspberrypi.org/debian/ เป้าหลัก"

แมว <<EOF | sudo ที /etc/apt/preferences.d/pin-chromium
บรรจุุภัณฑ์: *
พิน: release o=Raspberry Pi Foundation
ลำดับความสำคัญของพิน: -1

แพ็คเกจ: โครเมียม*
พิน: release o=Raspberry Pi Foundation
ลำดับความสำคัญของพิน: 1,000
อฟ

sudo apt-get อัปเดต
sudo apt-get install โครเมียมเบราว์เซอร์

จากนั้นเปิดใช้ Chromium เพื่อกำหนดค่าตามปกติ - เปิดใช้ตัวเลือกต่อไปนี้ chrome://flags:

  • แทนที่รายการการเรนเดอร์ซอฟต์แวร์ อาคา #ignore-gpu-blocklist;
  • การแรสเตอร์ GPU อาคา #เปิดใช้งาน GPU-แรสเตอร์;
  • ราสเตอร์ไรเซอร์แบบไม่มีสำเนา อาคา #เปิดใช้งานศูนย์สำเนา;
  • เปิดใช้งาน Display Compositor เพื่อใช้เธรด GPU ใหม่ อาคา #เปิดใช้งาน-drdc;
  • การแรสเตอร์ผ้าใบ 2D ที่อยู่นอกกระบวนการ อาคา #canvas-oop-rasterization.

เปิดใหม่โดยใช้ โครเมียมเบราว์เซอร์ --enable-features=VaapiVideoDecoder, เยี่ยม chrome://gpu เพื่อให้แน่ใจว่าคุณเปิดใช้งานตัวเลือกทั้งหมด (ยกเว้น Vulkan):

สถานะคุณลักษณะกราฟิก

  • Canvas: ฮาร์ดแวร์เร่งความเร็ว
  • การแรสเตอร์นอกกระบวนการของแคนวาส: เปิดใช้งาน
  • การรวม: ฮาร์ดแวร์เร่งความเร็ว
  • เธรดแรสเตอร์หลายรายการ: เปิดใช้งาน
  • การแรสเตอร์นอกกระบวนการ: ฮาร์ดแวร์เร่งความเร็ว
  • OpenGL: เปิดใช้งาน
  • แรสเตอร์: ฮาร์ดแวร์เร่งในทุกหน้า
  • Skia Renderer: เปิดใช้งาน
  • ถอดรหัสวิดีโอ: เร่งฮาร์ดแวร์
  • วัลแคน: ปิดการใช้งาน
  • WebGL: เร่งฮาร์ดแวร์
  • WebGL2: เร่งฮาร์ดแวร์

เพื่อทำ --enable-features=VaapiVideoDecoder ตั้งค่าสถานะถาวร ควรแก้ไขไฟล์ config ที่เกี่ยวข้องโดยทางโปรแกรมดังที่แสดงด้านล่าง:

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

ผลลัพธ์ที่ได้คือผู้เล่นบนเว็บทุกคนจะเล่น 1080p โดยไม่มีอาการแลคและขาดตอน

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา