doc:appunti:hardware:raspberrypi_3
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
doc:appunti:hardware:raspberrypi_3 [2024/03/21 20:00] – created niccolo | doc:appunti:hardware:raspberrypi_3 [2024/03/22 07:13] (current) – niccolo | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Kodi on the Raspberry Pi 3 ====== | + | ====== Kodi on the Raspberry Pi 3 and CMA problems |
+ | |||
+ | I installed **Kodi 19.4** on the **Raspberry Pi 3 Model B Plus Rev 1.3**, running the **Raspberry Pi OS** based on **Debian 11.9**. Unfortunately I experienced some weird crashes of the Kodi program: sometimes the Kodi process suddendly restart while I'm browsing a folder with about 200 video items. | ||
+ | |||
+ | The error messages are revealed by the **dmesg** output: | ||
+ | |||
+ | < | ||
+ | [ 628.433140] cma: cma_alloc: linux,cma: alloc failed, req-size: 338 pages, ret: -12 | ||
+ | [ 628.433195] bcm2835-codec bcm2835-codec: | ||
+ | ... | ||
+ | [ 848.225919] [drm: | ||
+ | [ 848.226063] vc4-drm soc:gpu: [drm] V3D: 210408kb BOs (1132) | ||
+ | [ 848.226074] vc4-drm soc:gpu: [drm] V3D shader: | ||
+ | [ 848.226081] vc4-drm soc:gpu: [drm] | ||
+ | [ 848.226088] vc4-drm soc:gpu: [drm] | ||
+ | [ 848.226095] vc4-drm soc:gpu: [drm] total purged BO: | ||
+ | </ | ||
+ | |||
+ | As you can see the V3D used 210408 kb of the DRM memory, which is very near to the default size reserved of 256 Mb. You can see it into **dmesg** output: | ||
< | < | ||
- | Memory: 498224K/ | + | [ 0.000000] Reserved memory: created CMA memory pool at 0x1ec00000, size 256 MiB |
- | (10240K kernel code, 1452K rwdata, 2900K rodata, | + | |
- | 1024K init, 613K bss, 26064K reserved, 262144K cma-reserved) | + | |
</ | </ | ||
- | Add the following into **/ | + | In **/ |
+ | |||
+ | < | ||
+ | # Enable DRM VC4 V3D driver | ||
+ | dtoverlay=vc4-kms-v3d | ||
+ | max_framebuffers=2 | ||
+ | </ | ||
+ | |||
+ | To reserve more memory for the CMA, add the following | ||
< | < | ||
- | gpu_mem=256 | + | # Default cma reserved memory is 256 Mb, use 512 instead. |
+ | dtoverlay=cma, | ||
+ | </ | ||
- | # Default cma is 262144K. | + | Because the total memory |
- | dtoverlay=cma, | + | |
+ | < | ||
+ | gpu_mem=92 | ||
</ | </ | ||
+ | With 92 Mb of GPU memory I'm still able to play 1920x1080 videos without issues. Many features of the VideoCore IV GPU use the CMA reserved memory, not this GPU reserver one. | ||
+ | |||
+ | You can check how many GPU memory is used during Kodi normal operation, just launch the {{.raspberrypi: | ||
+ | |||
+ | < | ||
+ | ./ | ||
+ | </ | ||
+ | |||
+ | At next reboot I verified that the new setting is in place, checking the **dmesg** output: | ||
+ | |||
+ | < | ||
+ | [ 0.000000] Reserved memory: created CMA memory pool at 0x0ec00000, size 512 MiB | ||
+ | [ 0.000000] Memory: 402028K/ | ||
+ | 2900K rodata, 1024K init, 613K bss, 28052K reserved, 524288K cma-reserved) | ||
+ | </ | ||
+ | |||
+ | Verify also that the system has enough free memory once the Kodi program is started, use the **free** commando to get it: | ||
+ | |||
+ | < | ||
+ | | ||
+ | Mem: 927340 | ||
+ | Swap: | ||
+ | </ | ||
+ | |||
+ | About **300 Mb of free memory** should suffice for normal operations. | ||
doc/appunti/hardware/raspberrypi_3.1711047606.txt.gz · Last modified: 2024/03/21 20:00 by niccolo