is it possible to show the rotating cursor in splash screen at another positon? We have a screen rotated by 90 degrees and the cursor is shown in the right third just in the text. That looks quite bad.
The properties HorizontalAlignment and VerticalAlignment are what control the spinnerâs position.
Unfortunately at the moment we donât provide an easy way to customize this configuration file. The only way at the moment would be to re-build the entire TorizonCore image with a new configuration file. This is a bit of an oversight on our side when we added the feature to customize the splash screen image. Let me make a suggestion to the team to allow this configuration file to be customized as easily as the splash image.
I canât give you any timeline yet, I only just submitted the request. The request would still need to be analyzed, planned, and scheduled. Also keep in mind this is a ârequestâ meaning thereâs no guarantee it will actually be implemented. If it does get accepted it will be more of a long-term solution.
If this is something youâre going to require in the very near immediate short-term youâll need implement the alternative solution I suggested earlier. Meaning youâll need to make the customization with the Yocto build system to create a new TorizonCore image.
Has been any new updates on this possible feature? We have same situation, rotated display by 90 degrees, with a custom splash-screen but the cursor appears on the side and it is kind of weird.
Is there anyway to change the rotating cursor position without rebuild torizonCore image?
Maybe editing /usr/share/plymouth/themes/spinner/spinner.plymouth but for this the partition need to be change to write mode, and this way Iâm not sure how to replicate with the torizoncore-builder since it will not isolate the changes on the /usr folder.
Is there anyway to change the rotating cursor position without rebuild torizonCore image? Maybe editing /usr/share/plymouth/themes/spinner/spinner.plymouth
At the moment no. Even if you could change this file, I donât think that would be enough. The splash screen process itself starts during the initramfs before passing onto the kernel. Modifying this file would only affect the kernel side of things. I imagine both sides would need to be modified to have any effect.
That said, may I ask how vital this detail is for your project? To be honest with you as you can see from this thread youâre only the 2nd person to have asked about this in the past 2 years. Therefore it was never see as a high priority topic for our team. Which is why I would like to understand the impact this has on your project.
Thanks for the answer.
We donât need the rotating cursor at all, having it has a low impact on the final solution, it was just an improvement. As you can image If I purchase a laptop and the boot screen was rotated 90 degrees, it will work same way, but will seem a less professional product.
I was just asking, because it is possible to change the splash screen, but not the cursor position or enable or disable the cursor. Because it is possible to change the splash-screen, but on top of it is a rotating cursor, that is not centered, it takes all the credits from the splash-screen feature, because it cannot be used in 90 degrees displays.
Thank you for clarifying. As I said, this isnât a very high priority task for us so I canât guarantee it will be looked at anytime in the near future. Modifying the configuration of the Plymouth splash screen in Yocto is always an option, though I do understand this is a level of complexity most do not wish to do.
I just want to point out that @jeremias.tx is right. I just quickly tested this out of curiosity and no changes happened on the splash screen if only /usr/share/plymouth/themes/spinner/spinner.plymouth is modified. Not even a âglitchâ happened.
In my test, I changed the following values to .75:
DialogHorizontalAlignment
TitleHorizontalAlignment
HorizontalAlignment
WatermarkHorizontalAlignment
This documentation from ArchLinux about Plymouth also points out that Plymouth needs to be rebuilt: Plymouth - ArchWiki
Note in newer Torizon builds, the system respects the rotation=<> argument on the kernel command line and plymouth rotates accordingly. We have used this successfully for our own needs but requires 6.x
We did also manage to find a way to completely customize the splash screen purely using torizoncore-builder, but youâll need to have some advanced skills and knowledge such as knowing how to repack initramfs.
General workflow:
Develop your new/modified plymouth theme.
If creating a new theme, you will need to also update the plymouth config to use it.
Take the initramfs image from /usr/lib/modules/⌠and unpack it.
Install your new theme files into initramfs.
Repack it
use the custom overlay capability of torizoncore to include your theme and modified initramfs in the same location it was originally placed.
Steps 2-6 will need to be re-done any time you change the input TEZI image since this changes the kernel and initramfs images, but itâs very easy to automate via e.g. a CMake or other build script.
Note you need to pack two copies of the theme. The one in initramfs is used at startup, and the one in /usr/share/plymouth/themes is used at shutdown and reboot.
What do you mean with ? This could be enough for my needs.
Note in newer Torizon builds, the system respects the rotation=<> argument on the kernel command line and plymouth rotates accordingly
Using the torizoncore-builder is possible to change the position (vertical or horizontal) of the loading cursor using the customization > kernel > arguments on the file tcbuild.yaml?
Can you give an example?
Yes, the newer builds of the kernel/torizon/Plymouth properly respect the rotation arguments available in a few places. To clarify - this changes that spinner position by rotating the entire screen so you may need to adapt any custom artwork you are using to account for this. That said, itâs probably what you want to do anyway when e.g. using a landscape display in portrait mode or vice-versa.
You have two options:
Specify it as part of the video = arguments via tcbuild.yml. For example, video=DP-2:1280x800M@60,panel_orientation=left_side_up sets up a 1280x800 landscape display for portrait mode.
Valid options are âleft_side_upâ, âright_side_upâ, âupside_downâ
You can check if your build supports this by seeing if it has CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y in the kernel build configuration.
Weâve successfully used both of these pathways in different applications, but it didnât start working until we were on TorizonCore 6.x, the older builds do not have this parameter enabled.
@bw908, Thank you for sharing your findings here itâs much appreciated. I wasnât aware that newer versions respect the rotation arguments in Plymouth. Though probably the last time I checked was on Torizon 5.X where it does not work as you said.
@ bw908
Iâm also having trouble with this problem.
Could you please tell me the specific method?
Develop your new/modified plymouth theme.
If creating a new theme, you will need to also update the plymouth config to use it.
Take the initramfs image from /usr/lib/modules/⌠and unpack it.
Install your new theme files into initramfs.
Repack it
use the custom overlay capability of torizoncore to include your theme and modified initramfs in the same location it was originally placed.
Steps 2-6 will need to be re-done any time you change the input TEZI image since this changes the kernel and initramfs images, but itâs very easy to automate via e.g. a CMake or other build script.
Could you clarify what exactly it is youâre asking for or having trouble with? Iâm sorry, but I donât have the time/resources to devote to writing a full step-by-step guide on this process, but Iâll do my best to assist with specific questions you may have or encounter.
@bw908
Thank you for contacting us.
Iâm currently developing a Qt application on TorizonOS with Dahlia + Verdin-imx8mmDL.
What I am having trouble with is changing the position and design of the spinner within the splash screen.
So we arrived at this ticket.
I thought that @bw908 was able to complete my task using the steps in [General workflow], so I asked a question.
1.Develop your new/modified plymouth theme.
3.Take the initramfs image from /usr/lib/modules/⌠and unpack it.
Iâm fine with just the above two items, but could you please tell me what I should do specifically?
Or please let me know if there are any documents that I can refer to.
We apologize for the inconvenience, but thank you for your understanding.
Thereâs not a whole lot here that I can offer you except to have a look at the example themes in /usr/share/plymouth/themes. Documentation on developing one is non-existent and so the only advice I can give is find an existing one that behaves mostly how you want and then change it by customizing images and positioning/behaviours. For this your best reference is the sources for the plugin itself, e.g. https://gitlab.freedesktop.org/plymouth/plymouth/-/blob/main/src/plugins/splash/two-step/plugin.c for the âtwo-stepâ splash plugin.
Basic customization can be done by just editing the .theme file to adjust colours/positions etc. and/or adding image files with certain special names as seen in the source code for a given plugin. Sources will also give you information on the different properties available that can be set.
Take the initramfs image from /usr/lib/modules/⌠and unpack
InitramFS images are generally compressed CPIO archives and need some tricks to modify them and re-compress them. The following steps assume you are using Linux, they may work in WSL but I have not tested/confirmed.
Create a folder to use as a workspace, ex. init_root
@bw908
Thank you for the valuable information.
We will look for an existing system that works and try to configure and implement it to meet your wishes.