Per docs, seamless display has been supported since r36.3, but looking at the edk2 code, I’m not seeing how.
But per this, display handoff is disabled by default and there’s not a defconfig entry to enable it.
And when the display handoff Kconfig entry is NEVER, the display code gets to here, which turns off the display before ekd2 hands off to the kernel. This sequence is the same on the edk2 uefi-202412.0 tag, which is what I’m currently trying to use. And I do see the display getting turned off before getting to the kernel, plus the reserved-memory and simple-framebuffer nodes are not getting filled in.
So, my main question is: Should seamless display be supported? If I enable the Kconfig option, handoff is attempted, but I get mmu faults on displayr1, and the display gets set to an invalid mode. But I’d first like to establish if this is supposed to work at all.
Okay. I did a bit more testing and experimentation. Which splits this into two parts:
It appears that the edk2 sources releases do not match the binaries that are released for L4T. I installed an unmodified copy of L4T r36.4.3 and did see seamless handoff to earlycon work. However, given what I posted above, the seamless display functionality is not enabled on a clean build of the r36.4.3 tag. This has been reported by other customers as well, for example: Bootloader from edk2-nvidia disconnects screen during extlinux sequence - #8 by mskoenz
Can the edk2 source releases be audited to ensure that the public source can replicate the binary released with L4T? If there’s already known discrepancies, it’s hard to know if other issues are caused by customer modifications or if the source is missing important features.
My specific usecase involved working with LTS kernel forks, of which I am currently working with 6.6 and 6.12, with more focus on the latter. I have working display if I disable seamless handoff. When trying seamless, I’m loading simplefb before tegra-dce and nvidia-drm, and that’s where I see a handful of mmu faults and the display goes ‘out of range’. If I don’t load simplefb, then when nvidia-drm loads, endless cbb faults happen and the display turns off.
The more specific question here would be ‘Does seamless handoff work with the bring-your-own-kernel patch list?’ or has that only been verified against the L4T specific 5.15 kernel?