documentation icon indicating copy to clipboard operation
documentation copied to clipboard

Update document KMS and Legacy (remove documentation for FKMS)

Open aallan opened this issue 4 years ago • 13 comments

Need an explanation of the three different graphics stacks, see the discussion in #2309 (and also #2061).

aallan avatar Dec 01 '21 16:12 aallan

@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? 🤷

aallan avatar Dec 01 '21 16:12 aallan

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.

github-actions[bot] avatar Feb 06 '22 02:02 github-actions[bot]

Still needs doing.

aallan avatar Feb 07 '22 20:02 aallan

Just marked #2061 as a duplicate of this issue, merged.

aallan avatar Mar 03 '22 16:03 aallan

Latest word from @spl237 is that FKMS is no longer supported (?) so I guess that cuts this down to just KMS and Legacy.

lurch avatar Mar 03 '22 17:03 lurch

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?

cletusw avatar Apr 29 '22 05:04 cletusw

@6by9 AIUI, the Pi LCD is now fully supported by KMS?

It will still work under FKMS.

JamesH65 avatar Apr 29 '22 08:04 JamesH65

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 ?

lurch avatar May 03 '22 15:05 lurch

Good point! Sorry for the confusion.

cletusw avatar May 03 '22 16:05 cletusw

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.

6by9 avatar May 03 '22 16:05 6by9

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.

github-actions[bot] avatar Jul 03 '22 02:07 github-actions[bot]

Still on backlog. We'll get there eventually.

aallan avatar Jul 06 '22 08:07 aallan

I think the Legacy OS might still be using FKMS? :man_shrugging: :man_shrugging:

lurch avatar Jul 06 '22 08:07 lurch

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.

aallan avatar Apr 27 '23 10:04 aallan

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.

aallan avatar May 15 '23 11:05 aallan

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?

6by9 avatar May 15 '23 11:05 6by9

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.

github-actions[bot] avatar Jul 30 '23 02:07 github-actions[bot]

Still a thing.

aallan avatar Jul 30 '23 11:07 aallan

Fixed on the bookworm branch.

lurch avatar Aug 30 '23 14:08 lurch