[GUIDE] How to Change Boot Logo (Splash Screen) of Mi A1

Search This thread

GokulNC

Senior Member
Jan 10, 2015
827
1,420
Chennai
github.com
Note:
This is not bootanimation, this is the splash screen (the 'Mi' boot logo which is displayed when device is switched ON)
This is for Xiaomi Mi A1 Only (Snapdragon Variants)..
For other devices, please send me your splash.img so that I can create a tool for you too.

Requirements:
1. Rooted Mi A1 (any ROM)
2. Optional: Terminal Emulator app or Custom Recovery or atleast working fastboot in computer
3. You're proceeding at your own risk.


FOR NEW FIRMWARES FOR WHICH THIS TOOL DOESN'T WORK, TRY THIS NEW TOOL here:
https://forum.xda-developers.com/mi-a1/themes/tool-tissot-splash-maker-mod-5-pngs-t3799701/

Also, try these if that didn't work:
https://forum.xda-developers.com/showpost.php?p=76713069&postcount=42
https://forum.xda-developers.com/mi...change-boot-logo-splash-t3681033/post75978168
(I don't know if it works; an user seems to have successfully used it to create splash.img for new bootloader)
I never had the latest splash.img from the latest firmware, so I can't create a proper unless someone sends me :)

For older firmwares, proceed below:

STEPS to create splash.img:


1. Download & Extract this: Mi_A1_Splash_Maker.zip

2. Make sure you have a picture with resolution 1080x1920 or lower.
Note:
Mi A1 logo has a fixed size of 100kB allocated for splash image frame buffer, so only very light-weight pictures can be used.
It's recommended to use picture with 3 or 2 colors only, like Black & White pictures.
So you'll have to try many pictures till you get a successful one.

3. Now rename your picture as logo.png or logo.jpg according to its format & replace it inside "pics" folder of the extracted folder.

4. Finally, run the 'CREATE_LOGO.bat' to create splash.img , which you can find inside the "output" folder after completion.

Note:
You'll get an error like "PICTURE IS LARGE IN SIZE" if it's not possible to create a logo with that picture.
In that case, try any one of these below:

a. Try compressPNG.com to reduce no. of colors in PNG picture.
Upload your picture, click Settings, reduce number of colors to 2, Apply & download it & try again.
b. Reduce the picture resolution.
For example, this picture:View attachment 4073256 can be edited to something like this: View attachment 4073257
(Hope you understand what I say)
c. Try some other picture.


STEPS to flash splash.img:

Optional: To backup your original splash.img:

Code:
dd if=/dev/block/bootdevice/by-name/splash of=/sdcard/splash.img
(Not necessary though.. You may get it from the stock firmware itself.)

Now, Choose any one easy method to install:

a. To flash from recovery:
Transfer the flashable_splash.zip to your device and flash from TWRP or CWM or Philz or any other custom recovery.

b. To flash from Terminal Emulator:
Transfer the splash.img to your device's Internal Storage, Open Terminal Emulator & enter the following to flash it:
Code:
su
dd if=/sdcard/splash.img of=/dev/block/bootdevice/by-name/splash

c. To flash from Fastboot mode:
Code:
fastboot flash splash splash.img

Note:
Incase something goes wrong or device doesn't bootup, flash the stock splash.img from custom recovery or fastboot.


Credits:
1. Based on my original tool for Redmi Note 4
2. @OtrovX who provided the stock splash.img of Mi A1.

Hit the Thanks :good: button if it worked for you :)

You're welcome to post the splash images that you created..
 

Attachments

  • Mi_A1_Splash_Maker.zip
    9.7 MB · Views: 5,266
  • stock_splash_Mi_A1.zip
    632.2 KB · Views: 2,885
Last edited:

ravinder0003

Senior Member
Mar 14, 2012
479
890
@GokulNC
I created splash with your demo logo image... Result: Same boot logo showing when booting
I created splash with Google and iphone pngs taken from rn4 thread... Result: Same boot logo showing when booting

So not working for me
 

GokulNC

Senior Member
Jan 10, 2015
827
1,420
Chennai
github.com
@GokulNC
I created splash with your demo logo image... Result: Same boot logo showing when booting
I created splash with Google and iphone pngs taken from rn4 thread... Result: Same boot logo showing when booting

So not working for me

@GokulNC
Splash not working bro in ma1
it create splash image and i flash via fastboot but not working
Kindly look into it asap

Please send your stock splash.img and logo.img
I'll check what the problem is..
 

FrenzyR

Senior Member
Aug 20, 2014
385
527
chennai

Attachments

  • splash.img
    1.1 MB · Views: 515
  • Stock.jpg
    Stock.jpg
    54.7 KB · Views: 1,792
  • Like
Reactions: GokulNC

Andromeda_Tech

New member
Nov 3, 2017
4
0
Hey, @GokulNC please add options like change bootloader image, charging animations etc, and give a proper way to unpack or extract decompile splash.img file.
 

Stoutpuppy GFX

Senior Member
Apr 18, 2016
292
636
Bangkok
Say goodbye to white

If there's enough interest I'll make a matching boot animation (Oreo flavor)

Tested and working through flashing via twrp on latest Oreo OTA
Tested and working through flashing via twrp on latest Nougat OTA

If you find yourself stuck in a twrp bootloop - look at the slot you are in
If in A choose reboot - than select slot B - then boot to system to get out of it :)
 

Attachments

  • logo.png
    logo.png
    55.1 KB · Views: 1,418
Last edited:

DoR3M3

Senior Member
Feb 17, 2018
1,255
378
Portwenn
There's already a couple of us looking into to this but so far no luck
I've combed through system dumps even and nothing to be found
If anyone knows where this screen is located please let us know
@Stoutpuppy GFX, I was reading an earlier reply of yours on this thread, did you flash the splash.img in TWRP instead of fastboot flashing it?

Any luck on anyone getting this message removed?

I tried the splash maker, didn't do anything, instead of a white background screen with the text, anytime I made a splash image and installed it, the screen was then black with the bootloader unlocked text. Has anyone unlocked their bootloader and used this Splash Maker and had it work?

fastboot erase splash works, then we get a black screen and Tux... LOL

I've always considered a Splash image what you see on a bootup, running this command removes this message, but the Fastboot image is also removed in the Mi A1.

It would be nice to not erase the splash and someone comes up with a fix for this?

Please let us know...

Thanks
 
Last edited:

Stoutpuppy GFX

Senior Member
Apr 18, 2016
292
636
Bangkok
Any luck on this?

I tried the splash maker, didn't do anything, instead of a white background screen with the text, anytime I made a splash image and installed it, the screen was then black with the bootloader unlocked text.

Removing the splash image does work, then we get a black screen and Tux... LOL

It would be nice to not erase the splash and someone comes up with a fix for this?

Please let us know...

Thanks

No luck so far - but I read somewhere the some pixel & nexus devices have the same problem with no solution either
I'm hoping these screens will disappear once we get an official ROM for our device - fingers crossed I hate white screens :(

And I just flashed the splash screen through adb commands (fastboot splash splash.img) don't use brackets
but unfortunately if you have to leave your device in an unlocked state - all it will do is change the splash screen
to black with message saying your phone can't be checked bla bla - followed by that white unlocked screen shown in previous post
 
Last edited:
  • Like
Reactions: DoR3M3

DoR3M3

Senior Member
Feb 17, 2018
1,255
378
Portwenn
No luck so far - but I read somewhere the some pixel & nexus devices have the same problem with no solution either
I'm hoping these screens will disappear once we get an official ROM for our device - fingers crossed I hate white screens :(
@Stoutpuppy GFX

WOW fast reply, LOL...

Please look back and read over, I edited my previous reply...

Thanks
 
Last edited:

novic_dev

Senior Member
Aug 23, 2010
309
601
36
Moscow
www.anikos.su
Any news about the splash solution for the tissot? Thanks.

PS: the problem seems to be the new splash format comes with the new bootloader.. Does anybody got luck to guess the format? ;)
 
Last edited:

robby_tan

Senior Member
Aug 15, 2012
54
5
Since this tool is based on redmi note 4's tool and the redmi note 4 ones already have splash maker for newer firmware in that thread, can I use that for Mi A1 too?
 

novic_dev

Senior Member
Aug 23, 2010
309
601
36
Moscow
www.anikos.su
Since this tool is based on redmi note 4's tool and the redmi note 4 ones already have splash maker for newer firmware in that thread, can I use that for Mi A1 too?

The new format for RN4 is:

python bin/logo_gen.py pics/logo.png 100864
mv output.img temp/logo.img

python bin/logo_gen.py pics/fastboot.png 613888
mv output.img temp/fastboot.img

python bin/logo_gen.py pics/logo.png 101888
mv output.img temp/logo2.img

cat bin/header.img temp/logo.img temp/fastboot.img temp/logo2.img bin/destroy.img > output/splash.img
rm output\*.raw

So, I'll test it today for Tissot ;)
 

Exyking

Senior Member
Mar 20, 2018
93
314
Note:
This is not bootanimation, this is the splash screen (the 'Mi' boot logo which is displayed when device is switched ON)
This is for Xiaomi Mi A1 Only (Snapdragon Variants)..
For other devices, please send me your splash.img so that I can create a tool for you too.

Requirements:
1. Rooted Mi A1 (any ROM)
2. Optional: Terminal Emulator app or Custom Recovery or atleast working fastboot in computer
3. You're proceeding at your own risk.

STEPS to create splash.img:


1. Download & Extract this: Mi_A1_Splash_Maker.zip

2. Make sure you have a picture with resolution 1080x1920 or lower.
Note:
Mi A1 logo has a fixed size of 100kB allocated for splash image frame buffer, so only very light-weight pictures can be used.
It's recommended to use picture with 3 or 2 colors only, like Black & White pictures.
So you'll have to try many pictures till you get a successful one.

3. Now rename your picture as logo.png or logo.jpg according to its format & replace it inside "pics" folder of the extracted folder.

4. Finally, run the 'CREATE_LOGO.bat' to create splash.img , which you can find inside the "output" folder after completion.

Note:
You'll get an error like "PICTURE IS LARGE IN SIZE" if it's not possible to create a logo with that picture.
In that case, try any one of these below:

a. Try compressPNG.com to reduce no. of colors in PNG picture.
Upload your picture, click Settings, reduce number of colors to 2, Apply & download it & try again.
b. Reduce the picture resolution.
For example, this picture:View attachment 4073256 can be edited to something like this: View attachment 4073257
(Hope you understand what I say)
c. Try some other picture.


STEPS to flash splash.img:

Optional: To backup your original splash.img:

Code:
dd if=/dev/block/bootdevice/by-name/splash of=/sdcard/splash.img
(Not necessary though.. You may get it from the stock firmware itself.)

Now, Choose any one easy method to install:

a. To flash from recovery:
Transfer the flashable_splash.zip to your device and flash from TWRP or CWM or Philz or any other custom recovery.

b. To flash from Terminal Emulator:
Transfer the splash.img to your device's Internal Storage, Open Terminal Emulator & enter the following to flash it:
Code:
su
dd if=/sdcard/splash.img of=/dev/block/bootdevice/by-name/splash

c. To flash from Fastboot mode:
Code:
fastboot flash splash splash.img

Note:
Incase something goes wrong or device doesn't bootup, flash the stock splash.img from custom recovery or fastboot.


Credits:
1. Based on my original tool for Redmi Note 4
2. @OtrovX who provided the stock splash.img of Mi A1.

Hit the Thanks :good: button if it worked for you :)

You're welcome to post the splash images that you created..

thanks
 
  • Like
Reactions: robby_tan

novic_dev

Senior Member
Aug 23, 2010
309
601
36
Moscow
www.anikos.su
The new format for RN4 is:

python bin/logo_gen.py pics/logo.png 100864
mv output.img temp/logo.img

python bin/logo_gen.py pics/fastboot.png 613888
mv output.img temp/fastboot.img

python bin/logo_gen.py pics/logo.png 101888
mv output.img temp/logo2.img

cat bin/header.img temp/logo.img temp/fastboot.img temp/logo2.img bin/destroy.img > output/splash.img
rm output\*.raw

So, I'll test it today for Tissot ;)

Guys!!!! This format is correct!!! Have just successfully tested! :victory::victory::victory:

---------- Post added at 01:26 PM ---------- Previous post was at 01:11 PM ----------

Guys!!!! This format is correct!!! Have just successfully tested! :victory::victory::victory:

Just use the correct scripts I've prepared: http://anikos.su/tissot_splash_scripts_new_novicdev.zip

PS:
SPLASH - is a so-called "structured" raw image of the splash device partition.
Each bootloader parses the splash partition as a set of images created in some different media formats and sizes.
So, the new updated bootloader of Tissot is now parses the splash as a set of 4 (four) parts: "header - image - fastboot image - image 2".
 
  • Like
Reactions: robby_tan

robby_tan

Senior Member
Aug 15, 2012
54
5
Guys!!!! This format is correct!!! Have just successfully tested! :victory::victory::victory:

---------- Post added at 01:26 PM ---------- Previous post was at 01:11 PM ----------



Just use the correct scripts I've prepared: http://anikos.su/tissot_splash_scripts_new_novicdev.zip

PS:
SPLASH - is a so-called "structured" raw image of the splash device partition.
Each bootloader parses the splash partition as a set of images created in some different media formats and sizes.
So, the new updated bootloader of Tissot is now parses the splash as a set of 4 (four) parts: "header - image - fastboot image - image 2".

what's header image? The 5 second "device can'tbe checked" warning?
 

Top Liked Posts

  • There are no posts matching your filters.
  • 13
    Note:
    This is not bootanimation, this is the splash screen (the 'Mi' boot logo which is displayed when device is switched ON)
    This is for Xiaomi Mi A1 Only (Snapdragon Variants)..
    For other devices, please send me your splash.img so that I can create a tool for you too.

    Requirements:
    1. Rooted Mi A1 (any ROM)
    2. Optional: Terminal Emulator app or Custom Recovery or atleast working fastboot in computer
    3. You're proceeding at your own risk.


    FOR NEW FIRMWARES FOR WHICH THIS TOOL DOESN'T WORK, TRY THIS NEW TOOL here:
    https://forum.xda-developers.com/mi-a1/themes/tool-tissot-splash-maker-mod-5-pngs-t3799701/

    Also, try these if that didn't work:
    https://forum.xda-developers.com/showpost.php?p=76713069&postcount=42
    https://forum.xda-developers.com/mi...change-boot-logo-splash-t3681033/post75978168
    (I don't know if it works; an user seems to have successfully used it to create splash.img for new bootloader)
    I never had the latest splash.img from the latest firmware, so I can't create a proper unless someone sends me :)

    For older firmwares, proceed below:

    STEPS to create splash.img:


    1. Download & Extract this: Mi_A1_Splash_Maker.zip

    2. Make sure you have a picture with resolution 1080x1920 or lower.
    Note:
    Mi A1 logo has a fixed size of 100kB allocated for splash image frame buffer, so only very light-weight pictures can be used.
    It's recommended to use picture with 3 or 2 colors only, like Black & White pictures.
    So you'll have to try many pictures till you get a successful one.

    3. Now rename your picture as logo.png or logo.jpg according to its format & replace it inside "pics" folder of the extracted folder.

    4. Finally, run the 'CREATE_LOGO.bat' to create splash.img , which you can find inside the "output" folder after completion.

    Note:
    You'll get an error like "PICTURE IS LARGE IN SIZE" if it's not possible to create a logo with that picture.
    In that case, try any one of these below:

    a. Try compressPNG.com to reduce no. of colors in PNG picture.
    Upload your picture, click Settings, reduce number of colors to 2, Apply & download it & try again.
    b. Reduce the picture resolution.
    For example, this picture:View attachment 4073256 can be edited to something like this: View attachment 4073257
    (Hope you understand what I say)
    c. Try some other picture.


    STEPS to flash splash.img:

    Optional: To backup your original splash.img:

    Code:
    dd if=/dev/block/bootdevice/by-name/splash of=/sdcard/splash.img
    (Not necessary though.. You may get it from the stock firmware itself.)

    Now, Choose any one easy method to install:

    a. To flash from recovery:
    Transfer the flashable_splash.zip to your device and flash from TWRP or CWM or Philz or any other custom recovery.

    b. To flash from Terminal Emulator:
    Transfer the splash.img to your device's Internal Storage, Open Terminal Emulator & enter the following to flash it:
    Code:
    su
    dd if=/sdcard/splash.img of=/dev/block/bootdevice/by-name/splash

    c. To flash from Fastboot mode:
    Code:
    fastboot flash splash splash.img

    Note:
    Incase something goes wrong or device doesn't bootup, flash the stock splash.img from custom recovery or fastboot.


    Credits:
    1. Based on my original tool for Redmi Note 4
    2. @OtrovX who provided the stock splash.img of Mi A1.

    Hit the Thanks :good: button if it worked for you :)

    You're welcome to post the splash images that you created..
    4
    Success!

    Special thanks to this Russian fellow DeckerSU for his "Run Length Imager" command line tool here: https://github.com/DeckerSU/run_length_imager

    I have a attached a ZIP of the stock splash.img split into five chunks as performed in the above info, also with the payloads converted to raw and then into PNG's.

    Image #5 is the "bootloader unlocked" one :)

    By replacing the PNG's, converting them to raw and then back to rle with the rleimager binary (included in ZIP), one can manually replace all splash images. But you will have to manually edit the header of each SPLASH chunk to suit the new size.

    rleimager decoding arguments example (same as the batch file from repo), so re-encoding would be similar:
    Code:
    rleimager.exe -d 5 -m 255 < splash_01_02_payload.img > splash_01_02_payload_converted.raw
    Raw format details:

    • 1080x1920 (all of them)
    • 24bpp
    • RGB
    • Interleaved

    Someone else can script that up, my work is done! I would do it myself but it'd be a pain to insert the new little-endian payload size in the SPLASH!! header part.

    Maybe I can modify the original python file to do it, I dunno.

    EDIT: My splash.img included is a raw dump from EDL. It is different to the one included in firmware, it has extra stuff at the beginning. Do not fastboot flash it - might firm-brick the device.

    EDIT2: I'm making a new script to do all this, since I realized if I just release pre-made splashes only I would get bombarded by PM requests lol. Stay tuned.
    4
    Say goodbye to white

    If there's enough interest I'll make a matching boot animation (Oreo flavor)

    Tested and working through flashing via twrp on latest Oreo OTA
    Tested and working through flashing via twrp on latest Nougat OTA

    If you find yourself stuck in a twrp bootloop - look at the slot you are in
    If in A choose reboot - than select slot B - then boot to system to get out of it :)
    3
    New tool is out that builds a splash.img with all five PNG's moddable. Enjoy!
    3
    How to use that? I always got "PROCESS FAILED.. Try Again" error. Please help me.

    You should use these scripts in the full working directory.
    The whole dir could be downloaded HERE