nerves-project / nerves_system_rpi4

Base Nerves system configuration for the Raspberry Pi 4
Apache License 2.0
89 stars 44 forks source link

vc4-drm gpu: swiotlb buffer is full #233

Closed mlainez closed 2 weeks ago

mlainez commented 4 months ago

Environment

I'm using WPEWebkit in weston using a drm backend in a custom system for rpi4.

Current behavior

The phoenix app shows correctly in WPEWebkit but is quite laggy. RingLogger.next show the following errors periodically:

20:45:16.947 [warn] vc4-drm gpu: swiotlb buffer is full (sz: 1101824 bytes), total 32768 (slots), used 3 (slots)

20:45:16.955 [warn] vc4-drm gpu: swiotlb buffer is full (sz: 1101824 bytes), total 32768 (slots), used 3 (slots)

20:45:17.027 [warn] vc4-drm gpu: swiotlb buffer is full (sz: 1130496 bytes), total 32768 (slots), used 251 (slots)

20:45:17.041 [warn] vc4-drm gpu: swiotlb buffer is full (sz: 1130496 bytes), total 32768 (slots), used 251 (slots)

I tried increasing the GPU allocated memory but it didn't help.

Expected behavior

Rendering real time graphs in WPE Webkit should not be laggy.

fhunleth commented 2 weeks ago

We moved WPE Webkit work over to https://github.com/nerves-web-kiosk/kiosk_system_rpi4. We saw the swiotlb buffer warnings, but they seem to be a red herring. I don't have enough experience to know what kind of performance is expected or bad for the Pi4 since performance has seemed ok to me. I think it will be easier to debug in that project in the future if needed, though.

mlainez commented 2 weeks ago

@fhunleth it's great that the work on nerves kiosks has been revived! To be honest, I have no idea if the performance issues we had was due to the swiotlb messages. Note that we were doing real time charts rendering with Apache echarts. It could be that a regular webpage will work fine but some more intensive rendering is causing issues. We moved to flutter for our project and haven't considered going back to webkit...