[GUIDE][MOD] Splash Image

Search This thread

rymaples

Senior Member
Nov 24, 2009
57
7
Yes, just push the bootanimation.zip to your sdcard

Code:
adb push bootanimation.zip /mnt/sdcard/bootanimation.zip

then mount the system rw from root terminal on the phone and copy the file

Code:
su
mount -o remount,rw /dev/block/mmcblkp025 /system
cp /mnt/sdcard/bootanimation.zip /system/media/bootanimation.zip

and then reboot.


Shouldn't that be mmcblk0p25? I've always seen it that way, not mmcblkp025.
 

cpgifford

Senior Member
Oct 2, 2010
117
17
Houston, Tx
help

Problem, Maybe someone can help me... I am getting a "Cannot find ffmpeg" in shell when i try and convert .png to the raw565 format.. Is there a file needed to convert that was not mentioned? I have perm root

Thanks
--
Chris
 

theratdude64

Senior Member
Aug 30, 2010
503
13
SLC UT
It's multi-platform. Here is a link to the current Windows version: http://www.videohelp.com/download/ffmpeg-r25512.7z

Downloaded this link, and I'm not figuring out how to use it... I've had it in the past but if I run FFMPEG in BIN folder it just flashes a CMD and disappears. Thats probably not what you do but I don't see what TO do :(


Edit: Found this link on converting to Raw565
http://xdaforums.com/showthread.php?t=649890


That guide is VERY clear with this:

4. Find your picture on your desktop, right click it and click Properties. IMPORTANT!!! Make sure the picture file size is 307200 bytes exactly. (If it is not, you could end up damaging your phone, so DOUBLE CHECK).


Thats not mentioned anywhere on a G2... so is this a big deal for this phone? I know that that bytes value number is related to G1 resolution, but do you have to match the factory one?
 
Last edited:
Thats not mentioned anywhere on a G2... so is this a big deal for this phone? I know that that bytes value number is related to G1 resolution, but do you have to match the factory one?

I'm not sure how important it is.

I have gotten consistent results with ffmpeg from more than 10 pngs I've tried it with. Also of note is that the partition (mmcblk0p19) is 1048576 bytes whereas all the converted files that ffmpeg will generate are less than that.
 

theratdude64

Senior Member
Aug 30, 2010
503
13
SLC UT
I'm betting the strong warning was because it would exceed the partition or something. The 2 I have created ended up being 770,048 bytes, is that your result as well? Theres no color limitations are there? Last time I played with boot splash screens was forever ago and they required limited color is why I ask
 

tornado9015

Member
Oct 29, 2010
24
1
I used paint.net as an easy way to convert png to raw565, found a thread on xda with a quick search. Also the .img I created was smaller than the original splash, flashed it with no problems.

Actually maybe I shouldn't say no problems. Inbetween the custom splash, and the cyanogen CM5 boot animation I used, there is a weird blue screen. Is this caused by the splash somehow, the boot animation, or something else altogether?
 

theratdude64

Senior Member
Aug 30, 2010
503
13
SLC UT
Actually maybe I shouldn't say no problems. Inbetween the custom splash, and the cyanogen CM5 boot animation I used, there is a weird blue screen. Is this caused by the splash somehow, the boot animation, or something else altogether?

Maybe because it's smaller than original? I'm new to this too so just speculation lol. I have never really used Fastboot so this'll be interesting to figure out tomorrow for me lol. I have an awesome splash created for it though :)
 
so as long as it's under 1048576 bytes it'll be good? The "danger" is exceeding that partition?

I think that is what initiated the danger warning, yes.

Quite possibly also to alert users that their original image was not 320x480 as it needed to be, since all 320x480 images would yield the exact filesize it needs to be for the G1.
 
Last edited:
I'm betting the strong warning was because it would exceed the partition or something. The 2 I have created ended up being 770,048 bytes, is that your result as well? Theres no color limitations are there? Last time I played with boot splash screens was forever ago and they required limited color is why I ask

Actually, now that you mention it, all of my images generate to exactly 768000 bytes. Thinking about this, it makes sense for RAW RGB565. RAW means no compression, and RGB565 means each pixel is represented by 5 bits for red, 6 bits for green, 5 bits for blue for a total of 16 bits per pixel. So the total image size would come from 480 (screen width) x 800 (screen height) x 16 (bits per pixel) = 6144000 bits = 768000 bytes.

The 770048 bytes is what they use on disk (depending on your partition block size).
 
Last edited:
Actually maybe I shouldn't say no problems. Inbetween the custom splash, and the cyanogen CM5 boot animation I used, there is a weird blue screen. Is this caused by the splash somehow, the boot animation, or something else altogether?

Maybe because it's smaller than original? I'm new to this too so just speculation lol.

I have not experienced this issue, but I think you might try to erase before flashing the image to clear it.
Code:
adb reboot bootloader
fastboot erase splash1
fastboot flash splash1 mysplash.img
fastboot reboot
 
Last edited:

mtrausch

Member
Sep 25, 2008
7
0
Lithonia, GA
Perhaps I am missing something, but it seems that the image from the phone is 1,048,576 bytes and the one that I have created using this method is 768,000 bytes. I'm just wondering if that is correct; my (horribly uneducated) guess is that the image is smaller than the partition. Would that be accurate?

ETA: Nevermind, in the time it took me to write that some others posted and the findings seem to match my question. Please disregard.
 
Last edited:

gariak

Member
May 4, 2009
45
14
I dusted off my batch programming skills to make a few files to automate this process for Windows users. I tried to idiot-proof them and make sane error messages, but no promises. I also didn't automate the process of getting the modified splash back onto the device because I'm not going to be responsible for bricks. Use at your own risk, if you like.

getsplash.bat
Takes no arguments, pulls the splash image off your attached device via ADB and passes it for conversion to PNG format

splash2png.bat input.img output.png
Takes the above arguments and uses the included ffmpeg.exe to convert an IMG to a PNG for editing

png2splash.bat input.png output.img
Takes the above arguments and uses the included ffmpeg.exe to convert a PNG to an IMG for adding onto the device

Enjoy!
 

Attachments

  • getsplash.zip
    4.6 MB · Views: 1,752

Top Liked Posts

  • There are no posts matching your filters.
  • 7
    I dusted off my batch programming skills to make a few files to automate this process for Windows users. I tried to idiot-proof them and make sane error messages, but no promises. I also didn't automate the process of getting the modified splash back onto the device because I'm not going to be responsible for bricks. Use at your own risk, if you like.

    getsplash.bat
    Takes no arguments, pulls the splash image off your attached device via ADB and passes it for conversion to PNG format

    splash2png.bat input.img output.png
    Takes the above arguments and uses the included ffmpeg.exe to convert an IMG to a PNG for editing

    png2splash.bat input.png output.img
    Takes the above arguments and uses the included ffmpeg.exe to convert a PNG to an IMG for adding onto the device

    Enjoy!
    6
    Ever since I got S-OFF on my G1, I set up a custom splash image. Here's how to do this on the G2.

    Info:
    The G2 stores the splash image on the /dev/block/mmcblk0p19 partition. By default, this is a white image with green letters spelling 'htc' in the center of the screen.

    Prerequisite:
    Install and get familiar with the Android SDK see Android SDK | Android Developers also [HOW-TO] ADB for Dummies(How-To Learner's Guide) G1 Android Development
    Unlock your T-Mobile G2 / HTC Desire-Z / HTC Vision see [GUIDE] Perma-root and flash ENG HBOOT
    Install FFmpeg
    Windows:
    Extract the ffmpeg.exe file from the bin folder in ffmpeg-r25512.7z
    - or Shortcut - get the getsplash.zip from gariak
    Install the adb (Android Composite ADB Interface) and fastboot (Android Bootloader Interface) drivers from the android-sdk-windows\usb_driver folder
    Mac:
    Might find this ffmpeg guide helpful - An easy install of the ffmpeg command line tool - Mac OS X Hints

    Backup: (Optional)
    To get the current image from the phone, execute this from a root shell:
    Code:
    dd if=/dev/block/mmcblk0p19 of=/mnt/sdcard/splash.img
    On your computer, you can turn this into a PNG using ffmpeg from the command line:
    Code:
    ffmpeg -f rawvideo -pix_fmt rgb565 -s 480x800 -i splash.img -f image2 splash.png

    Flash:
    You can set the splash by converting an image you want to a 480x800 resolution PNG file, then use ffmpeg to convert it to raw565 format using the command line:
    Code:
    ffmpeg -i new_splash.png -f rawvideo -pix_fmt rgb565 new_splash.img
    Then with an unlocked (S-OFF) bootloader, flash the new_splash.img file to your phone:
    Code:
    adb reboot bootloader
    fastboot flash splash1 new_splash.img
    fastboot reboot
    OR you can flash from a terminal window on your phone. Be very careful with this method and triple check that you typed everything correctly so you do not accidentally brick your phone:
    Code:
    dd if=/mnt/sdcard/splash.img of=/dev/block/mmcblk0p19

    References:
    Android/HTC/Vision/LinuxAnalysis – TJworld
    [Request] MyTouch splash screen?
    [TOOL] [Linux / OSX] Splash Screen creator / flasher
    gravis86
    gariak
    An easy install of the ffmpeg command line tool - Mac OS X Hints
    wilnotdie
    2
    Flash splash image with nbimg

    I'm just going to detail how I go about making and flashing splash images on my phones. Whatever process you use to actually make your image (whether it is with ffmpeg, nbimg, or whatever), doesn't matter. That final image file you create (named splash1.img), can be swapped into the .zip file attached here, and flashed.

    Rename the .zip to PC10IMG.zip and place on root of sdcard to flash in bootloader.

    The OP posted directions for ffmpeg, so I will post a howto with nbimg. Nbimg can be grabbed here:
    http://xdaforums.com/showthread.php?t=405118

    Just extract that file in a directory - there's no install, as it's just a command line tool. I created a folder called Splash Image Creator where I keep that file and all my images in 1 place.

    Take whatever image you want to use - modify it, customize it, etc. - and then set the image size to 480x800. Save it as a bitmap file (.bmp).

    Put the image in the same folder you have nbimg in.

    Now, open a cmd prompt and cd to that folder. Here's your command to type:
    nbimg -F *.bmp -w 480 -h 800
    (replace that star with the actual name of the file)

    Nbimg will create a .nb file called *.bmp.nb.
    (once again, the star is the actual filename)

    Now just rename *.bmp.nb to splash1.img, and put it in the .zip file to flash.
    (If you still don't know what that star means by now...)

    Example:
    You find a nice picture of a sunrise online that you want to use.
    So, you save the 16000x9000 image as awww_sunrise.jpg.
    Edit the pic in mspaint, irfanview, etc. - crop it, resize it, etc. so it's size is now a measly 480x800.
    Save it as a bitmap (awww_sunrise.bmp) and put it in the directory with nbimg.
    Open command line and cd to the directory with the pic and nbimg. Here's your command to type:
    nbimg -F awww_sunrise.bmp -w 480 -h 800
    Now you have a file called awww_sunrise.bmp.nb
    Rename it to splash1.img and put it in .zip file.

    Don't forget to rename the .zip to PC10IMG.zip

    Hope I helped. :)

    Here's a pic of what is currently in the attached .zip. I just made it real quick for this post.
    1
    Nice, what about the bootanimation for the following??:

    Anyone have this one?

    That is the CM5 boot animation. You can find it in the Nexus One download section on cyanogenmod.com website.
    1
    im trying to do this via termial emulator . it transfers the image but when i reboot mah phone the same tmobile splash screns apear .
    my phone is a mytouch 4g slide runin cm7
    so what im doing wrong or this is not for my phone

    The commands in the OP are for the G2/Desire Z. Best thing to do is to search in your device's forum.

    Check this thread out: http://xdaforums.com/showthread.php?t=1356202