Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update document KMS and Legacy (remove documentation for FKMS) #2310

Closed
aallan opened this issue Dec 1, 2021 · 19 comments
Closed

Update document KMS and Legacy (remove documentation for FKMS) #2310

aallan opened this issue Dec 1, 2021 · 19 comments
Assignees
Labels
Milestone

Comments

@aallan
Copy link
Contributor

aallan commented Dec 1, 2021

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

@aallan
Copy link
Contributor Author

aallan commented Dec 1, 2021

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

@github-actions
Copy link

github-actions bot commented Feb 6, 2022

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.

@aallan
Copy link
Contributor Author

aallan commented Feb 7, 2022

Still needs doing.

@aallan
Copy link
Contributor Author

aallan commented Mar 3, 2022

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

@lurch
Copy link
Contributor

lurch commented Mar 3, 2022

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

@aallan aallan changed the title KMS, FKMS, and Legacy Update document KMS and Legacy (remove documentation for FKMS) Mar 3, 2022
@aallan aallan added the backlog We'll be getting to it eventually label Apr 24, 2022
@cletusw
Copy link

cletusw commented Apr 29, 2022

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?

@JamesH65
Copy link
Contributor

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

It will still work under FKMS.

@lurch
Copy link
Contributor

lurch commented May 3, 2022

The documentation (in this repo) is only about Raspberry Pi OS - it's up to Ubuntu to document their own OS 😉

Questions about "is this setup no longer supported" probably belong in https://github.com/raspberrypi/firmware ?

@cletusw
Copy link

cletusw commented May 3, 2022

Good point! Sorry for the confusion.

@6by9
Copy link
Contributor

6by9 commented May 3, 2022

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.

@github-actions
Copy link

github-actions bot commented Jul 3, 2022

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.

@aallan
Copy link
Contributor Author

aallan commented Jul 6, 2022

Still on backlog. We'll get there eventually.

@lurch
Copy link
Contributor

lurch commented Jul 6, 2022

I think the Legacy OS might still be using FKMS? 🤷‍♂️ 🤷‍♂️

@aallan aallan added bookworm 🐛 Issue with Bookworm and removed bullseye Issue with Bullseye labels Apr 27, 2023
@aallan
Copy link
Contributor Author

aallan commented Apr 27, 2023

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
Copy link
Contributor Author

aallan commented May 15, 2023

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.

@6by9
Copy link
Contributor

6by9 commented May 15, 2023

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?

@github-actions
Copy link

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.

@aallan
Copy link
Contributor Author

aallan commented Jul 30, 2023

Still a thing.

@lurch
Copy link
Contributor

lurch commented Aug 30, 2023

Fixed on the bookworm branch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

When branches are created from issues, their pull requests are automatically linked.

6 participants