I have some weird problem that might be related to NUMA: On a Pi5 (didn't test on Pi4 yet), showing a 10bit HEVC 4K video on a single DRM plane flickers (see short video here), assuming the following conditions are true:
I'm a bit lost on what might cause this. I feel that it might be memory bandwidth related? The fact that actually using the GL surface or not doesn't make a difference is really odd.
- Video is 10bit at 4K resolution (hevc (Main 10), yuv420p10le(tv)). 8bit 4K HEVC works.
- NUMA is active with both SDRAM_BANKLOW=1 and the automatically added "numa_policy=interleave numa=fake=8" kernel command line arguments. Both with "numa=fake=off" and removed SDRAM_BANKLOW=1 it works.
- A OpenGLES surface must be active. If I remove the eglSwapBuffers call, it works. It also doesn't make a difference whether or not the resulting GL framebuffer is actually added to a DRM plane or not. Even if completely unused, it results in flickering unless the eglSwapBuffers is also removed.
- Tried both with Mesa 23.2.1-1~bpo12+rpt3 as well as the new 24.2.4 and it doesn't make a difference.
- 4K 30Hz mode (CEA 95) works, anything with a higher frequency (50Hz CEA 96 or 60Hz CEA 97) flickers. Using 1080p output at 60Hz works.
Code:
uname -aLinux raspberrypi 6.6.62+rpt-rpi-2712 #1 SMP PREEMPT Debian 1:6.6.62-1+rpt1 (2024-11-25) aarch64 GNU/Linuxvcgencmd bootloader_config[all]BOOT_UART=1BOOT_ORDER=0xf461NET_INSTALL_AT_POWER_ON=1SDRAM_BANKLOW=1
Statistics: Posted by dividuum — Wed Dec 18, 2024 4:36 pm