>>108021500
>Because the image is always stored in memory raw, so it can easily be copied to the framebuffer.
Texture compression exists. I tried compressing those wallpapers with ASTC. With 8x8 block compression I get about 8MB per wallpaper:
16:14 anon@anons-pc:/tmp/hypr
$ ls -lh wall*
-rw-r--r-- 1 anon anon 8.0M Feb 1 16:12 wall0.astc
-rw-r--r-- 1 anon anon 14M Feb 1 16:09 wall0.png
-rw-r--r-- 1 anon anon 8.0M Feb 1 16:14 wall1.astc
-rw-r--r-- 1 anon anon 5.9M Feb 1 16:09 wall1.png
-rw-r--r-- 1 anon anon 7.7M Feb 1 16:13 wall2.astc
-rw-r--r-- 1 anon anon 27M Feb 1 16:09 wall2.png
You could just mmap those .astc files and directly upload it them the GPU whenever you need them.