Finally got round to sorting out the multi FB support as a beta. This implements frame buffers for both HDMI/composite and LCD panels at the same time. So you get /dev/fb0 and /dev/fb1 if you have both HDMI and LCD attached.
Here are the instructions to get the code and install and test it.
These instructions assume a Pi2B/3B board.
**********************************************************************
WARNING: This is beta software, do not use this on an important system
**********************************************************************
I suggest you backup the changed files from the boot folder first.
To update your installation to the multi framebuffer beta test version
Update your system to a 4.14.50 version, using rpi udpate
`sudo rpi-update fe525d2`
This will ensure you have the correct module versions to match the new kernel.
Download the zip file containing the required firmware changes from here
https://drive.google.com/open?id=1rdSZQ ... 89nLaLA8Y6
Unzip somewhere, should be two files, the VC4 firmware (start_x.elf) and the
kernel (kernel7.img)
Now, copy the new VC4 firmware, start_x.elf to the boot folder on the SD card.
sudo cp <whereever you unzipped it>/start_x.elf /boot
Now copy the new frame buffer driver enabled kernel to the boot folder
sudo cp <whereever you unzipped it>/kernel7.img /boot
Note that only a start_x.elf is supplied, so you will need to add start_x=1 to config.txt if
not already doing so. (Or copy start_x.elf to start.elf)
Reboot.
If you have both LCD and HDMI plugged in you should at startup see the usual
rainbox screen on both devices, with one of them using a slightly different colour ramp.
Once booted to the command line, check that the two frame buffers have been created using
ls /dev/fb*
which should show fb0 and fb1
You can now use things such as fbi to load images to either display. The following uses
fb1 (install fbi using `sudo apt install fbi`), easily changed to fb0.
fbi --noverbose --blend 1000 -t 3 -d /dev/fb1 /usr/share/rpd-wallpaper/*
You can specify which display the console will appear on, and swap during use.
to specify the startup console, in cmdline.txt, add the `fbcon=map:0` or `fbcon=map:1` option.
See https://www.kernel.org/doc/Documentation/fb/fbcon.txt for more details on the map
option, its a bit more complicate than you might expect. There are some other fun commands in
there too.
Use con2fbmap after startup to switch consoles, second parameter is the framebuffer number.
`con2fbmap 1 1`
`con2fbmap 1 0`
To specify which display X (the desktop) appears on, edit the entries in
`/usr/share/X11/xorg.conf.d/99-fbturbo.conf`
**********************************************************************
What I am looking for...
Any bugs or regressions, anything that works differently than before that
will upset backwards compatibility. Adulation.