WebGL ทำงานไม่ถูกต้องบน Raspberry Pi Chromium Browser


10

ฉันมีปัญหากับ WebGL ในเบราว์เซอร์ Chromium ของ Raspberry Pi 3 ฉันทำการตั้งค่าที่ต้องการ แต่ไม่มีอะไรเกิดขึ้น

นี่คือข้อมูลของฉัน

  • อุปกรณ์: Raspberry Pi 3
  • ระบบปฏิบัติการ: Linux raspberrypi 4.9.80-v7 + # 1098 SMP ศุกร์ 9 มีนาคม 19:11:42 GMT 2018 armv7l GNU / Linux (ยืด Raspian กับเดสก์ท็อปฉันยังลอง lite)
  • เบราว์เซอร์: Chromium-browser version => Chromium 60.0.3112.89 สร้างขึ้นบน Ubuntu 14.04 ทำงานบน Raspbian 9.3
  • ไดร์เวอร์กราฟิก: vc4-kms-v3d

นี่คือผลลัพธ์ของ get.webgl.org:

ผล get.webgl.org

นี่คือตัวอย่าง threejs.org ("webgl_animation_cloth"):

threejs.org ตัวอย่างผลลัพธ์ "webgl_animation_cloth"

ฉันทดสอบเว็บไซต์เดียวกันบน firefox iceweasel
มันทำงานตามที่แสดงโดยภาพหน้าจอเหล่านี้:

ผล get.webgl.org (iceweasel)

threejs.org ตัวอย่างผลการ "webgl_animation_cloth" (iceweasel)

ฉันลองตั้งค่าหลายอย่างใน chrome: // ค่าสถานะ แต่ไม่มีอะไรเปลี่ยนแปลง

เมื่อฉันเริ่มchromium-browserจากบรรทัดคำสั่งฉันเห็น

libgl error: MESA-LOADER: failed to retrieve device information

แต่ @ eric-anholt กล่าวว่าสิ่งนี้ไม่ควรมีผลกระทบที่สำคัญ


ฟังดูเหมือนเป็นข้อบกพร่องสำหรับฉัน รายงานไปยังกลุ่มโครเมียมหรือยัง
John Keates

ฉันแก้ไขคำถามมันทำให้ฉันมีข้อผิดพลาดนี้: MESA-LOADER: ไม่สามารถดึงข้อมูลอุปกรณ์ได้ ฉันพยายามรันคำสั่ง glxgears เพื่อทดสอบ mesa มันให้ข้อผิดพลาดเหมือนกัน แต่ใช้งานได้ดังนั้นฉันจึงสับสน :(
เมห์เม็ต Bayrak

1
นั่นเป็นเพียงเสียงรบกวนจากรหัสบางอย่างที่ไม่ดีที่แพลตฟอร์ม ARM มันไม่ใช่สัญญาณว่ามีอะไรผิดปกติ
Eric Anholt

คำตอบ:


7

ตกลงฉันพบวิธีแก้ปัญหาที่นี่: https://www.raspberrypi.org/forums/viewtopic.php?t=191087

  1. ใช้ raspi-config เพื่อเปิดใช้งาน OpenGL (Full KMS)
  2. ลบ "--disable-gpu-compositing '' จาก / etc / chromium-browser / การปรับแต่ง / 00-rpi-var

คือทั้งหมดที่คุณต้องทำเพื่อให้ได้https://get.webgl.orgคิวบ์หมุน

ใช้งานได้สำหรับฉัน!


ตามที่คุณเห็นภาพหน้าจอของ firefox เปิดใช้งาน OpenGL (Full KMS หรือ Fake KMS) และฉันลองตั้งค่าสถานะ ฉันคิดว่านี่เป็นส่วนที่น่าสนใจทุกอย่างดูเหมือนถูกกฎหมาย แต่ไม่มีการแสดงคิวบ์!
เมห์เม็ต Bayrak

@MehmetBayrak คุณลองแก้ไขไฟล์ตามที่ระบุไว้ในคำตอบของฉันหรือไม่? ฉันไม่ได้ใช้ธง
JoeyCK

1
ใช่คุณถูกต้องเมื่อฉันแก้ไข "/ etc / chromium-browser / customisation / 00-rpi-var" มันใช้งานได้! ขอบคุณ
เมห์เม็ต Bayrak

2

ดูเหมือนว่าคุณไม่ใช่คนเดียวที่มีปัญหานี้ คุณอาจต้องการตรวจสอบchrome://flashหน้าของคุณและดูว่าคุณใช้ไดรเวอร์ที่คุณไม่ควรทำหรือไม่ ทดสอบและตรวจสอบไดรเวอร์แต่ละตัวตามการใช้งาน หลังจากนั้นให้ถอนการติดตั้งแล้วติดตั้ง Chromium ใหม่เพื่อดูว่ามีอะไรเปลี่ยนแปลงหรือไม่:

sudo apt remove chromium-browser
rm -rf ~/.cache/chromium
rm -rf ~/.config/chromium
sudo rm -rf /etc/chromium-browser

หากวิธีนี้ไม่ได้ผล ...

คนส่วนใหญ่รายงานปัญหาเกี่ยวกับกราฟิกการ์ดของพวกเขาคุณสามารถดูปัญหานี้ได้โดยไปที่chrome://gpu/และดูว่าเปิดใช้งานการเร่งความเร็วฮาร์ดแวร์สำหรับ WebGL หรือไม่ หากไม่เป็นเช่นนั้นน่าจะเป็นเพราะ Chromium ได้ขึ้นบัญชีดำของ GPU ของ RPi นี่คือสาเหตุที่คุณได้รับพรอมต์ต่อไปนี้

**failed to retrieve device information**

เพราะ GPU ของ Pi ของคุณถูกขึ้นบัญชีดำ คุณจะต้องหาวิธีที่จะทำให้ Chromium เริ่มต้นโดยไม่สนใจบัญชีดำ ฉันรู้ว่าสำหรับ Google Chrome คำสั่งคือ

google-chrome --enable-webgl --ignore-gpu-blacklist

ดังนั้นคุณอาจต้องการลองใช้สิ่งที่คล้ายกับ Chromium

ในขณะเดียวกันให้ใช้ Firefox หากทำได้และตรวจสอบลิงก์ที่นี่เพื่อพูดคุยเกี่ยวกับบัญชีดำใน WebGL คุณอาจต้องการรายงานสิ่งนี้ว่าเป็นข้อผิดพลาดต่อผู้พัฒนา

---- UPDATE ----

คำสั่งต่อไปนี้ควรแก้ไขปัญหาของคุณ:

chromium-browser --enable-webgl --ignore-gpu-blacklist

ฉันต้องการโครเมียมเบราว์เซอร์บน rpi ของฉันฉันไม่สามารถใช้ firefox ได้ ฉันคิดว่ามันเป็นข้อผิดพลาด ฉันลองติดตั้งโครเมียมอีกครั้งและติดตั้ง --ignore-gpu-blacklist แล้วและมันไม่ทำงานอีกครั้ง ฉันตรวจสอบ chrome: // flash GL_RENDERER: แกลเลียม 0.4 VC4 V3D 2.1และ GL_VERSION: 2.1 Mesa 13.0.6 คนอื่นดูเหมือนปกติ
เมห์เม็ต Bayrak

แค่คิดว่าฉันไม่พบที่นี่: บางทีคุณสามารถดาวน์โหลด Chromium รุ่นเก่าและทดสอบสิ่งนี้อีกครั้งถ้ามันเป็นจุดบกพร่องมันเป็นไปได้อย่างสิ้นเชิงที่ Chromium รุ่นเก่าจะทำงานได้ดี
Aden

1
มันทำงาน! มันทำงาน! การรันchromium-browser --enable-webgl --ignore-gpu-blacklistจะส่งคืนข้อผิดพลาดมากมาย แต่มันจะเริ่มโครเมียมและget.webgl.orgผลงาน!
scitronboy

1

ฉันพบว่าการทำงานต่อไปนี้สำหรับ "Raspbian GNU / Linux 9 (ยืด)": เพื่อค้นหาว่าคุณใช้รุ่น "cat / etc / os-release" รุ่นใดในเทอร์มินัล

  1. คอนโซล: sudo raspi-config ภายใต้ "7 ตัวเลือกขั้นสูง" / "ไดรเวอร์ A7 GL" เลือก "G2 GL (Fake KMS)"

  2. เดสก์ท็อป: การตั้งค่า / เพิ่มลบการค้นหาซอฟต์แวร์สำหรับ "Chrome" และเลือก "ไดรเวอร์ WebDriver สำหรับ Chromium Browser" คลิก "ตกลง"

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.