Charging-sdl

From postmarketOS Wiki
Note Currently charging-sdl is disabled by default, see pmaports#1064.

This is an application developed by the postmarketOS community to display the charging status when the device is powered on in "charge mode".

It is written in C and uses SDL2/SDL_power to query the battery information. The charging-sdlPMOS package is part of postmarketOS's aports.

Reporting issues

Issues with charging-sdl should be reported on the project GitLab issues page.

Current implementation

Connecting the usb cable to the phone while it's powered off should start the device as usual and in the initramfs it should detect that it's started in "charge mode", showing the charging-sdl for 5 seconds.

You can show this charging-sdl screen again for another 5 seconds by pressing the power key.

charging-sdl will show a lightning icon in the top left of the screen when the battery is charging, and if you unplug it the icon should disappear.

Run charging-sdl manually

You first have to boot the device into the debug-shell. (See Inspecting the initramfs)

After you connected to the device using telnet, you can run:

$ source /init_functions.sh
$ mount_boot_partition /boot
$ extract_initramfs_extra /boot/*-extra
$ setup_directfb_tslib
$ fontpath=$(awk '/^keyboard-font/{print $3}' /etc/osk.conf)
$ charging-sdl -pcf "$fontpath"

Troubleshooting

Charge mode not detected

In order to detect if the device has been powered on in "charge mode", the initramfs script looks for specific options in the kernel cmdline (e.g.: androidboot.mode=charger).

Kernel cmdline is the arguments Linux uses to boot. See this example.

Compare your kernel cmdline when powered on normally to when you power on by connecting the usb cable only. If you find a specific option to distinguish the two boot modes, please update the initramfs script.

DirectFB/FBDev: No supported modes found in /etc/fb.modes and current mode not supported!

See osk-sdl troubleshooting page