Compositor render scaling for RPi
Description
Environment
Activity
Daniel Stone June 8, 2023 at 11:44 AM
It's something we're planning upstream, yeah. There's a WIP patchset which works (if you rewind back a fair while since it's badly out of date) for GL but not for Pixman. Since it was pretty low priority and made the code far worse rather than better, we put it on the back-burner to do a bunch of internal rework in libweston to make it way less invasive. That's coming along pretty nicely, so render-scale is going to land at some point.
Marius Vlad June 7, 2023 at 8:04 AM
@Walt Miner I'm under the impression that my comment still holds today. We did integrated some of the changes that Daniel mentioned but the down sampled part still has not landed.
Given that we're pretty much asking for at least RPi4 which can drive a 1080p display don't know if this really makes sense, at least for the hardware that we're targeting in AGL. Sure, maybe for other smaller devices, or with small amount of RAM this could really make a difference, like for rpi3 with its 1GB. The Rpi4 I have around are either 4GiB or 8GiB but I see there are smaller than that. Don't think the newer i.MX9 or the i.MX8 would really have an issue with it. And similar to r-car devices.
I guess this remains your decision, if you believe we might have some kind of hardware that could benefit from this. Probably think next version of libweston could actually get these in as upstream and AGL would get these as well after updating that version.
Walt Miner June 2, 2023 at 2:02 PM
@Marius Vlad this is a really old issue. Is it still a problem? Do we have a plan to ever fix it?
Daniel Stone March 21, 2022 at 3:19 PM
ISTR it was failing some tests when rotated under pixman-renderer. Since it added a whole layer of complexity to the region code, I was waiting for Derek's series to properly centralise and fix inter-coord-space transforms to land first.
Marius Vlad March 18, 2022 at 9:29 PM(edited)
This still in WIP state upstream, but I'm planning to give this a test (and see also what needs further messaging massaging). I'll assign this to myself for the time being, will make planning a bit easier.
As the Raspberry Pi platform does not have enough memory to support clients running at a full-HD display, backport the upstream patches to support a downsampled compositor renderer buffer (renderer-follows-scale), and also the 'scale' output property to instruct clients to render at half-scale.