clockworkpi

Skin Development!

Dont use this guide i messed up my gameshell and cant even boot in now trying to change tot he 'blue ’ theme on this guide, cant even SSH into it cause its stuck on loading nopw i have to flash the whole new image

dont try and change your skin by this guide ur gnnna have to flash your OS again which is what i have to do now

probably don’t have to flash your OS. There are known issues with using a custom skin with previous versions of the launcher. You can simply ssh into your GameShell and git checkout the launcher to a clean state and your device should work again just fine.

In the latest launcher, it now has theme management built in and is a bit more stable.

1 Like

I know, but i couldnt even ssh into gameshell. If i could it woulda been easy to fix it.

Anyway i flashed it anyway which i think was good, to do it once, so i know how to do it. Also i got a more recent version of the OS with alot of new apps on it and probably bug fixes.

Hey… that’s pretty good!

Yessir. My clockworkpi will be here tomorrow. I’ll let you know probably by Labor Day (I’m sure someone has already done all of this and it worked perfectly). It’s red, so I will likely have my menu with a black background when red icons with the “Redrum” theme.

11 Likes

Hey how do I git checkout the launcher to clean state, I totally borked mine also trying to install your theme on the new 0.4 :stuck_out_tongue:

How can i set the games like that?, instead of a simple list?

I edited the skin_manager.py file to allow for a new section in the config file to change the fonts of your Gameshell.

An example of the config file:

[Font_Paths]
varela = Roboto-Black
veramono = VeraMono
noto = Roboto-Bold
notocjk = Roboto-Light

[Colors]
High = #f0ffff
Text = #ffffff
ReadOnlyText = #ffffff
Front = #614f7d
URL = #f0ffff
Line = #614f7d
TitleBg = #111013
Active = #ff70ba
Disabled = #e6e6ff
White = #111013
Black = #614f7d

I will edit this post to include where you can find my updated file. I am unfamiliar with the organization of GitHub so I would like to know where this updated file should go.

Disclaimer: The code is probably pretty messy because I do not have a lot of experience with python.

I would love to be able to have the above code standardised. Alas, for now I have had to just fake it, having the custom fonts renamed to the pre-defined fonts in the skin_manager.py file.

Here’s a DEOT skin file that you should be able to apply on a stock 0.5 image, just by adding it to the skins folder. You’d be right in thinking that this is the same one I have applied to my custom DEOT images. I’ve just made them accessible for everyone.


https://drive.google.com/drive/folders/1wEH8P9faECjj6glUlRWQkSsSyWo0FjQW?usp=sharing
The skin is the DEOT.zip file. Just decompress it, and put the DEOT folder in your skins directory.

Note: I have nothing to do with GCores, or the development of the DEOT OS.

Contained is a dark theme, more or less directly ripped from the DEOT custom theme. Due to the stock DEOT V1.0 being quite out dated, with no updates on the horizon, this is made to be a theme that owners of the custom DEOT Gameshell can apply to their more recent operating system, and have the majority of visual benefits applied. Of course, it can be used by owners of regular Gameshells as well, especially if you like a theme that is easy on the eyes.

This includes:

  1. All missing icons reworked to match the theme
  2. Customised fonts
  3. Splash screens and wallpapers
  4. Colour theme
  5. DEOT Style hexagonal icon holders

What it doesn’t have are the custom settings menus, for volume, brightness, and storage space. I have done a small modification of the stock settings menu items to at least give them the same overall colour tint as the rest of the skin.

The OpenTyrian and GSPLauncher icons have their own icon in the /apps/Menu/21_Indie Games directory that override any icons changes in the skins, so you’ll need to change that one manually. Likewise with DinguxCommander in the utilities directory.

It also doesn’t have the first and second boot screens, as these need to be compiled into the kernel.

Kernel compilation is something that I haven’t had time to delve into, not having an environment on hand that I can cross compile in, but is something I would be ever grateful if someone could help me with.
In particular with extracting the first and second boot images from the stock DEOT 0.4 boot image/kernel, and applying it to the stock 0.5 image; both in the 5.3.6 and 5.4.6 images.
If someone can help, I would be eternally grateful! I have provided the stock 0.5 and stock DEOT 0.4 boot image contents in the archive kernels.zip in the link above.
@guu @shell @r043v @Petrakis - and anyone else who can help!

3 Likes

:exploding_head: I can’t believe that!!! :exploding_head:

I was starting to do my own DEOT icons style but just found it.
I really appreciate it!!!

Thank you so much!!! :star_struck: :heart_eyes: :star_struck:

1 Like

If you’re interested, I made an entire image based on the DEOT image, including the extra three MAIL, OPERATION and MANUAL apps. They’re basically useless, but complete the DEOT experience. I just uploaded a new release last night.
Note this is the second version based on 0.5. The first version I made was based off of the stock 0.4 DEOT v1 image.

Sure I’m interested :grinning:
Did you make the DEOT splash boot on your new release?

1 Like

Actually all of the splash screens I have in the skin, ie loading, updating, game over, and good bye are from the stock DEOT images.
The first (ah clockwork) and second (penguin) splash screens need to be compiled into the kernel, and I don’t have the resources to currently do it. :frowning:

1 Like

the first splash screen is inside the u-boot binary, you can use dd to dump it outside the deot image and reinsert it into your own image, u-boot binary start at offset 8k of the raw sd card

second splash screen is converted at compile time from ppm picture to raw one, hard to extract from kernel binary without proper investigation, best way is to ask clockwork to give us the original picture

easyest way is to disable kernel logo using u-boot kernel parameter (using mkimage to regenerate boot.scr file) and use dedicated splash utils like https://github.com/g0hl1n/psplash
or manual method like https://bootlin.com/blog/super-fast-linux-splashscreen/

compiling kernel is not hard as you think, it’s like compiling any other program with a patch source step more

3 Likes

So a massive ask! Is there any possibility you would be able to write up a tutorial of sorts showing how to do it?

Even more of an ask, would you be able to help out in doing the Kernel splash screen change on the default kernel? Here is a link with both of them.

@yong @hal @Veronica @Godzil @guu
Just thought I’d ask the leaders, admins and those who have some inside connections if they could help out with providing the second boot screen, as seen in the DEOT custom OS. Alternatively, if someone could help out with providing the current 0.5 kernel image with the DEOT 0.4 kernel boot screens, I would be extremely grateful!

1 Like

you can found instruction to flash the u-boot binary to the sd here > https://github.com/clockworkpi/Kernel/tree/master/v0.4

for dump u-boot bin from original image, it must fit between offset 8k and 1M, unknown size but it must be found from uboot header, maybe binwalk could help you identify it

directly patch kernel binary is not easy, i was write program to made this some months ago but it lack of repackaging things after the patch, kernel is compressed and there is validity check,

so recompile it or use a tool to show a splash after boot is the best and easiest way

2 Likes

Thanks heaps for the link! I had no idea there were actually tutorials/write ups on GitHub! I’ll have to wait till I get an environment set up, but this is a good push in the right direction. :slight_smile:

1 Like

there is some info on linux-sunxi website
https://linux-sunxi.org/Bootable_SD_card#SD_Card_Layout
https://linux-sunxi.org/U-Boot

i never check but deot os must have same partitioning as clockwork os,
if it is you may try just dump first megabyte of their image and write it upon your own image

with commands like that :

dd if=deot.img of=dump.bin bs=1M count=1

dd conv=notrunc if=dump.bin of=youros.img bs=1M count=1

on second thing, the uboot sunxi page will show you how generate boot.scr file,
open your current one with a text editor, you will see at start config as plain text, copy conf to a new file, make your edit and use mkimage to regenerate a new boot.scr

you can add logo.nologo to kernel parameter to remove the initial splash display

you may check arch boot.scr for an alternative way, who could also boot zImage directly.

2 Likes

Knowing where to look is a real help!
I never thought to just dump the first megabyte. It’s reminding me of my video editing days, dumping the headers of files to fix corruption.

You’ve definitely demystifies the nature of kernel development, and made this seem more feasible than expected. The game shell is all about learning after all.

This probably is a valid discussion in this thread, since it is technically about skin development.

1 Like