While researching about Run-length-encoding (RLE) and modifying the source code of the splash image tool for the OnePlus 6 series to be compatible with 8 series (which was starting to look promising), I ended up stumbling upon this GitHub repository for a tool that already accomplishes the unpacking and repacking process of logo.img for various OPlus (Oppo + OnePlus = OPlus) devices.
This has been tested on both OOS12 and OOS13 firmware. Compatibility with older versions of the logo.img from previous OOS versions (OOS11 and below) is unknown at the time of writing this.
Usage
Unpack oplus splash image:
Editing:
You'll want to make your edits to the output file named "boot". I noticed that if "boot" exceeds the default size it will not show up during power on and will instead display a black screen. It is advised to keep the bitmap file the same size or less to work properly.
Repack oplus splash image:
Only read image info:
Flashing
This will need to be done in fastbootd rather than fastboot (bootloader), since regular fastboot (bootloader) prevents flashing critical partitions.
Original logo:
New logo:
Side note:
I seem to have found some rather unusual images in the logo.img for instantnoodlep. You'll just have to unpack it and see for yourself -_-
This has been tested on both OOS12 and OOS13 firmware. Compatibility with older versions of the logo.img from previous OOS versions (OOS11 and below) is unknown at the time of writing this.
Usage
Unpack oplus splash image:
./opsplash unpack -i orig-logo.img -o pic
Editing:
You'll want to make your edits to the output file named "boot". I noticed that if "boot" exceeds the default size it will not show up during power on and will instead display a black screen. It is advised to keep the bitmap file the same size or less to work properly.
Repack oplus splash image:
./opsplash repack -i orig-logo.img -o new-logo.img
Only read image info:
./opsplash readinfo -i orig-logo.img
Flashing
This will need to be done in fastbootd rather than fastboot (bootloader), since regular fastboot (bootloader) prevents flashing critical partitions.
Original logo:
fastboot flash --slot=all logo orig-logo.img
New logo:
fastboot flash --slot=all logo new-logo.img
Side note:
I seem to have found some rather unusual images in the logo.img for instantnoodlep. You'll just have to unpack it and see for yourself -_-
Attachments
Last edited: