User Tools

Site Tools


doc:appunti:hardware:graphics_hardware_acceleration_raspberry_pi_2

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
doc:appunti:hardware:graphics_hardware_acceleration_raspberry_pi_2 [2022/10/17 13:23] – [How to check if KMS and V3D are active] niccolodoc:appunti:hardware:graphics_hardware_acceleration_raspberry_pi_2 [2022/10/20 11:15] (current) – [Enable graphics acceleration in Chromium] niccolo
Line 2: Line 2:
  
 In this article we will discover how to enable **graphics hardware acceleration** in the **Chromium** browser running on the **Raspberry Pi 2**, using RaspiOS based on **Debian Bullseye 11**. In this article we will discover how to enable **graphics hardware acceleration** in the **Chromium** browser running on the **Raspberry Pi 2**, using RaspiOS based on **Debian Bullseye 11**.
 +
 +The hardware model si **Raspberry Pi 2 Model B Rev 1.1** (ARMv7 Processor rev 5, v7l), the operating system is **RaspiOS** based on **Debian 11.5 Bullseye**, the architecture is **armhf** (32bit), the running kernel is **5.15.61-v7+**.
  
 FIXME FIXME
  
-====== How to check if  KMS and V3D are active ======+===== How to check if V3D and/or KMS are active =====
  
-**V3D** is an API provided by the Linux kernel to support 3D graphics on the **VideoCore VI** GPU (RPi 4). The software driver is actually provided in the form of a //Device Tree Overlay// which is loaded adding the following line into **/boot/config.txt**:+**V3D** is an API provided by the Linux kernel to support 3D graphics on the **VideoCore VI** GPU (RPi 4). The software driver is actually provided in the form of a //Device Tree Overlay// which is loaded at boot time adding the following line into **/boot/config.txt**:
  
 <file> <file>
Line 13: Line 15:
 </file> </file>
  
-The older Raspberry Pi 3 has a **VideoCore IV** GPU and the legacy software driver was called **VC4**. The new Device Tree Overly is capable to detect the VideoCore available (IV or VI) and provide the same new V3D interface.+The older Raspberry **Pi 3** and **Pi 2** have the older **VideoCore IV** GPU and the legacy software driver was called **VC4**. The new Device Tree Overly is capable to detect the actual VideoCore available (IV or VI) and provide the same new V3D interface.
  
-To check if V3D is enabled you can read the content of following pseudofile in the Raspberry Pi 3 (it can be **ok** or **disabled**):+To **check if V3D is enabled** you can read a ''/proc'' pseudofile, the content of which can be **okay** or **disabled**. For the Raspberry Pi 3 it is:
  
 <code> <code>
Line 21: Line 23:
 </code> </code>
  
-for the Raspberry Pi 4 the exposed pseudofile is different:+For the Raspberry Pi 4 the exposed pseudofile is different:
  
 <code> <code>
-/proc/device-tree/v3dbus/v3d@7ec04000/status+cat /proc/device-tree/v3dbus/v3d@7ec04000/status
 </code> </code>
  
-The KMS is instead generally **disabled**you can check the following pseudofile:+The **KMS** (Kernel Mode Setting) has two different implementations. The old one (known as //Fake KMS//) was the only one available at the time of Debian 9 Stretch and it is provided byt the **vc4-fkms-v3d** overlay. Once loaded you can check its availability reading the following pseudofile (should read ''disabled'' or ''okay''):
  
 <code> <code>
 cat /proc/device-tree/soc/firmwarekms@7e600000/status cat /proc/device-tree/soc/firmwarekms@7e600000/status
 </code> </code>
 +
 +The new overlay **vc4-kms-v3d** doesn't expose that node (which results as ''disabled''), but expose several others KMS related nodes:
 +
 +<code>
 +cat /proc/device-tree/soc/hdmi@7e902000/status
 +cat /proc/device-tree/soc/hvs@7e400000/status
 +cat /proc/device-tree/soc/txp@7e004000/status
 +cat /proc/device-tree/soc/pixelvalve@7e207000/status
 +cat /proc/device-tree/soc/pixelvalve@7e807000/status
 +cat /proc/device-tree/soc/pixelvalve@7e206000/status
 +</code>
 +
 +===== Enable graphics acceleration in Chromium =====
 +
 +In Chromium you can open the page **%%chrome://gpu%%** and check the **Graphics Feature Status**, you should read:
 +
 +^ Canvas  | Hardware accelerated  |
 +^ Canvas out-of-process rasterization  | Enabled  |
 +^ Direct Rendering Display Compositor  | Disabled  |
 +^ Compositing  | Hardware accelerated  |
 +^ Multiple Raster Threads  | Enabled  |
 +^ OpenGL  | Enabled  |
 +^ Rasterization  | Hardware accelerated on all pages  |
 +^ Raw Draw  | Enabled  |
 +^ Video Decode  | Hardware accelerated  |
 +^ Video Encode  | Software only. Hardware acceleration disabled  |
 +^ Vulkan  | Disabled  |
 +^ WebGL  | Hardware accelerated  |
 +^ WebGL2  | Hardware accelerated  |
 +^ WebGPU  | Disabled  |
 +
 +Probably something is disabled, because of Chromium defaults. In that case you have to open the page **%%chrome://flags%%**, then search and set the following flags:
 +
 +^ Override software rendering list  | Overrides the built-in software rendering list and enables GPU-acceleration on unsupported system configurations.  |
 +^ Enable raw draw  | When enabled, web content will be rastered on output surface directly.  |
 +^ GPU rasterization  | Use GPU to rasterize web content.  |
 +^ Out-of-process 2D canvas rasterization  | The rasterization of 2d canvas contents is performed in the GPU process.  |
 +^ Accelerated 2D canvas  | Enables the use of the GPU to perform 2d canvas rendering instead of using software rendering.  |
 +
 +
 +
 +===== Enable graphics acceleration in Firefox =====
  
 ===== Web References ===== ===== Web References =====
Line 38: Line 82:
   * **[[https://lemariva.com/blog/2020/08/raspberry-pi-4-video-acceleration-decode-chromium|Raspberry Pi 4: Hardware accelerated video decoding (GPU) in Chromium]]**   * **[[https://lemariva.com/blog/2020/08/raspberry-pi-4-video-acceleration-decode-chromium|Raspberry Pi 4: Hardware accelerated video decoding (GPU) in Chromium]]**
   * **[[https://forums.raspberrypi.com/viewtopic.php?t=324835|HEVC Main 10 Broken for VLC on Bullseye]]**   * **[[https://forums.raspberrypi.com/viewtopic.php?t=324835|HEVC Main 10 Broken for VLC on Bullseye]]**
 +  * **[[https://www.dedoimedo.com/computers/rpi4-ubuntu-mate-hw-video-acceleration.html|RPI4 & Ubuntu MATE - How to enable video acceleration]]**
 +  * **[[https://forums.raspberrypi.com/viewtopic.php?t=320836|(f)KMS on 64-bit Pi 4 firmware question]]**
 +  * **[[https://forums.raspberrypi.com/viewtopic.php?t=320844|Chromium/Firefox no HW acceleration]]**
  
doc/appunti/hardware/graphics_hardware_acceleration_raspberry_pi_2.1666005780.txt.gz · Last modified: 2022/10/17 13:23 by niccolo