Update document KMS and Legacy (remove documentation for FKMS)
Need an explanation of the three different graphics stacks, see the discussion in #2309 (and also #2061).
@JamesH65 says:
FKMS is "Fake" KMS, it provides the KMS API to 2D graphics (HW composition etc, NOT 3D) and display, but instead of controlling the hardware, it makes calls in to the firmware on the Videocore which in turns does the HW access. In KMS, all the HW accesses are made from ARM space, so the firmware is not involved. It means the entire thing is now OSS, and all control of attached HW like DPI and DSI displays is in the kernel space, so people can now write their own drivers etc.
Legacy is where everything is controlled by the firmware, no standard KMS API. The firmware takes complete control of all the hardware (HVS, 3D etc) and this is accessed using fairly non-standard mechanisms, via VCHIQ and some ARM side shim libraries.
Sort of feels like we should have a section talking about this somewhere between "HDMI Configuration" and "Rotating your Display" in configuration.adoc?
@lurch says:
With maybe a nice picture explaining how things fit together? And could maybe also explain how different Pis and different OS versions default to using different graphics stacks? 🤷
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Still needs doing.
Just marked #2061 as a duplicate of this issue, merged.
Latest word from @spl237 is that FKMS is no longer supported (?) so I guess that cuts this down to just KMS and Legacy.
Latest word from @spl237 is that FKMS is no longer supported (?) so I guess that cuts this down to just KMS and Legacy.
Ubuntu is still (26 Apr 2022) recommending FKMS as the supported way to use the official Raspberry PI Touch Display with Ubuntu. Is there a migration path or is this setup no longer supported?
@6by9 AIUI, the Pi LCD is now fully supported by KMS?
It will still work under FKMS.
The documentation (in this repo) is only about Raspberry Pi OS - it's up to Ubuntu to document their own OS :wink:
Questions about "is this setup no longer supported" probably belong in https://github.com/raspberrypi/firmware ?
Good point! Sorry for the confusion.
AIUI, the Pi LCD is now fully supported by KMS?
Yes, the DSI display is fully supported under KMS.
It will still work under FKMS.
Should do, but FKMS now only receives limited testing.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Still on backlog. We'll get there eventually.
I think the Legacy OS might still be using FKMS? :man_shrugging: :man_shrugging:
This is also going to need updating ahead of bookworm. Should probably be done on the bookworm branch at this point.
As policy we'll now be updating the documentation to reflect whatever the current state of play for Bookworm is. Documentation will be about the latest (current) version of the OS. We should probably add a NOTE block or two to discuss how things used to work, but these should be kept short.
From Simon via @lurch
In terms of graphics stacks, FKMS is now totally gone, Wayland only targets KMS, and X can target either X or KMS
From Gordon via @lurch
Gordon thinks that WayFire (with the KMS backend) will be the only supported graphics stack on bookworm, and neither X nor the Legacy graphics stuff will be supported.
Using KMS directly or via the emulated fbdev interface also exists for non-GUI use cases.
The original discussion was only on legacy/FKMS/KMS. X and/or Wayfire sit on top of those. Which layer are you wanting documenting?
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Still a thing.
Fixed on the bookworm branch.