I spend a bit of time dissecting the #sunpci driver in #ghidra. And I can now boot the SunPCi from my own code! Using the #solaris driver still.
Some terrifying conclusions:
The windowed output in the SunPCi userspace application comes from repeatedly read()ing the /dev/sunpcidrv0 node. That just returns some raw video data and mode information.
Userspace contains a VGA emulator itself. Whenever it doesn't understand something it just switches to the external VGA.
