rust-osdev / rust-osdev/bootloader
Documentation on FrameBufferInfo (and related) is too unspecific.
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 1.7k
- Forks
- 240
- PR merge metrics
- No merged PRs in 30d
Description
While the framebuffer info type provides the pixel bit depth (bytes_per_pixel), it is not mentioned what the minimum depth for certain formats are, nor what the proper layout for a 32-bit RGB value would be. The documentation for the Unknown format is equally confusing and should provide more information and/or examples.
In the case of 32-bit pixels, it's mostly caused by a GOP framebuffer, where 24-bits represent the color channels and the remaining 8-bits is reserved. I think that not only should this be mentioned, but also the position of the reserved byte, being the least significant byte of each pixel. The only way of knowing this is by going to the UEFI specification and finding the section for the GOP, as not even the OSDev wiki touches on the subject in detail.
This change would help those that are less acquainted with the framebuffer and wish to provide a cross-platform (or at the very least, UEFI-compatible) implementation. Thanks.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Locate the documentation for FrameBufferInfo, bytes_per_pixel, pixel formats, and Unknown. Compare it with the UEFI GOP details referenced in the issue, then update the documentation with minimum depths, 32-bit RGB layout including the reserved byte position, and examples for Unknown; done means the format behavior is unambiguous without consulting the UEFI specification.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- documentation, operating-systems
- Issue type
- Documentation
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100