I had a quick look over https://github.com/libretro/Lakka….1/projects/L4T and it still appears to be using a legacy vendor kernel and many device-specific-version packages overriding the higher-version packages in the buildsystem, and there are firmware blobs littering the buildsystem instead of being hosted in packages.
For general guidance:
- Use upstream (or near-upstream) kernels; if hardware is not upstream, do work to change that
- Use upstream package versions; if hardware needs an old package, do work to change that
- If you have patches; upstream the patch else you accumulate technical dept and/or get stuck with old packages
- Never host firmware in the buildsystem; always offload it to a repo and source the package
In OE days and early LE when everything except x86_64 kit required some form of downstream codebase and our active team was 4-5x larger, tolerance for "look mum, it booted" levels of codebase maintainbility were also larger. These days the project team is smaller, and we learned the hard way that downstream stuff is generally a complete turd to sustain in the long term. So current LE champions upstream development and generally only accepts downstream items when there is clear line-of-sight on upstreaming activity and we have confidence in being able to drop them in future kernel/package bumps. This actively limits the hardware that we choose to run on, but we've always been okay with that, and we're constantly looking for things we can prune/drop to keep the codebase lean and oriented in a forwards direction.
Lakka inherently cares more about older hardware and has always had a more hobbyist tolerance for niche devices that need a heap of downstream kernel/firmware/package things to make a device boot and run. As Lakka only needs 2D graphics to work, it's also a lot easier to get things working than LE which needs a much higher level of media support.
IMHO current Switch support (dependent on nVidia who is remains focussed on their BSP codebase more than upstream) is still too far downstream for LE to accept, and support should focus on and be maintained in Lakka.