-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Enable Full Screen Splash Images #7005
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
base: rpi-6.12.y
Are you sure you want to change the base?
Conversation
I think it would be preferable (more efficient and smaller code) to use a binary format rather than parsing PPM. TGA is very simple and supports palettes. |
There may already be part of this implemented for uefi in drivers/video/fbdev/efifb.c for allowing a vendor specific bitmap to be passed in such that it can be merged into the boot screens. That's how you can get say "Asus" as the background whilst Ubuntu is starting. Loading the file using the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not going to give this a full review until you've tidied it up some - it's too tiring otherwise.
A few kernel coding rules (see https://www.kernel.org/doc/html/v6.12/process/coding-style.html for more):
- Use TABs for indentation, with tab stops set to 8. Spaces can be used to precise alignment, but only after any TABs.
- You have the preferred brace style and no trailing whitespace, so that's good.
- Your local variable declarations are also pretty good, but for full marks put them in "reverse Christmas tree" format, longest to shortest, making sure there is a blank line before any statements.
- Make all local-scope functions
static
, and ideally with a module-specific prefix. - Prefer
pr_info
(ordev_info
) overprintk(KERN_INFO
.
scripts/checkpatch.pl -g <from-commit>..<to-commit>
is your fussy friend.
I've had a look around the efifb.c file, and it looks like it's ultimately expecting the data from the ACPI Boot Graphics Resource Table - which following a conversation with Tom, looks like a path we don't want to go down. |
I was more thinking if we have the BMP parser etc already in the kernel, it'd be nicer for that to be abstracted out and reused. |
c35e8a4
to
72beea3
Compare
Have now tidied up, and is ready for review @pelwell Also, it complains about creating a new typedef - what would you like to do about this? - I know a previous comment suggested creating |
This is looking much better. You could replace the typedef with a structure whose only member is the two-dimensional array. And on that subject, is there any reason not to make it an array of |
72beea3
to
d4e2bec
Compare
Thanks! I've updated it to include your suggestions. |
Enable by adding the following to cmdline.txt: `fullscreen_logo_name=logo.tga fullscreen_logo=1` Will show the logo file present in /lib/firmware/ on the screen. This will be fullscreen and rendered early at boot. Any remaining space is filled with solid color from the image border. If TGA file is too big, image is clipped accordingly. Signed-off-by: Ben Benson <[email protected]>
d4e2bec
to
f4a7526
Compare
when are you guys merging this in? |
This will allow users to enter a cmdline value which will enable the kernel to read a PPM file, and then rendering it fullscreen at the early boot stage.
I am aware it needs a lot of tidying up, but put here for others to reference!