-
Notifications
You must be signed in to change notification settings - Fork 3
Description
(splitting off from @pinballpower's comments in #1 (comment))
The Pi hardware (as driven by the Linux kernel) has limits on its ability to do hardware composition. These limits are not simple, it's nothing as basic as a count of layers or pixels, it has to do with memory bandwidth and certain intermediate buffers (such as LBM, the Line Buffer Memory). See some discussion here: https://forums.raspberrypi.com/viewtopic.php?p=1996346#p1996346
This of course makes it tricky to use pivid since there's a certain amount of guesswork in figuring out what you can do. (This applies to anything else using the hardware compositor, it's not pivid-specific.) There is an attempt to predict these load factors in the code here:
Line 787 in 40d179c
| virtual DisplayCost predict_cost(DisplayFrame const& frame) const final { |
However, it's still difficult to work with. If nothing else, we should try to document our best understanding of the limits, and encourage the Pi folks to give some sort of semi-official spec. @pinballpower, was the code successful in issuing warnings coincident with the times you were seeing blank screens? If not, it would be great to figure out what limits are being exceeded that the model is missing.