As a refinement, since you are satisfied with vesa as a universal driver after the framebuffer phase,
I suggest making the earlier phase just a scan to select a fb appropriate to the video hardware.
I've seen this in Ubuntu 10.04. Seems like one size doesn't fit all in frame buffers in Ubuntu, anyway.
In Ubuntu, one of the options is to suffer thru the framebuffer phase which doesn't last too long;
the subsequent X-session phase proceeds ok, then a brief fb phase on shut-down. I spent a month
on this because the initial Ubuntu 10.04 opted to not include SIS video's fb, which it turns out can
be made to work just as well as what those from what they call 'the big three' video suppliers.

S-100 Vector Graphic 12K PROM/RAM Board (Altair, IMSAI)
$99.95
S-100 Vector Graphic 64K Ram Board (Altair, IMSAI)
$99.95
S-100 Industrial Micro Systems 8K Static Ram (IMS, Altair, IMSAI)
$69.95
BYTE Magazine Cover Jan 1977 Canvas Print 8"x10" Retro Computer Altair 880
$7.00
Altair MITS S100 Backplane 8080A S-100 Replica IMSAI CP/M (bare board)
$40.00
TDL “the ZPU” rev 1 February 1977 s100 cpu board
$345.00
S-100 backplane motherboard bare PCB 9 slot (for Altair/IMSAI)
$34.99
$79.99
CP/M 86 1.1R 8086 Highmonitor 8 Inch Floppy Diskette 80s IMSAI Altair
$40.00
ALTAIR Bitcoin Mining Solutions PDU IEC SERIES 100-250V 30A/24A Power Distribute
$99.00