Jump to content

Charging-sdl: Difference between revisions

From postmarketOS Wiki
Omame (talk | contribs)
m Charge mode not detected: Update the charging modes lines
update to gitlab.postmarketos.org
 
(5 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{note|Currently charging-sdl is disabled by default, see {{issue|1064|pmaports}}.}}
This is an application developed by the postmarketOS community to display the charging status when the device is powered on in "charge mode".
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 <code>charging-sdl</code> package is part of postmarketOS's aports.
It is written in C and uses SDL2/SDL_power to query the battery information. The {{pmaport|charging-sdl}} package is part of postmarketOS's aports.


== Reporting issues ==
== Reporting issues ==


Issues with <code>charging-sdl</code> should be reported on [https://gitlab.com/postmarketOS/charging-sdl/issues the project GitLab issues page].
Issues with <code>charging-sdl</code> should be reported on [https://gitlab.postmarketos.org/postmarketOS/charging-sdl/issues the project GitLab issues page].


== Current implementation ==
== Current implementation ==
Line 23: Line 25:
$ source /init_functions.sh
$ source /init_functions.sh
$ mount_boot_partition /boot
$ mount_boot_partition /boot
$ extract_initramfs_extra /path/to/initramfs-extra      (e.g. /boot/initramfs-samsung-i9070-extra)
$ extract_initramfs_extra /boot/*-extra
$ setup_directfb_tslib
$ setup_directfb_tslib
$ fontpath=$(awk '/^keyboard-font/{print $3}' /etc/osk.conf)
$ fontpath=$(awk '/^keyboard-font/{print $3}' /etc/osk.conf)
Line 35: Line 37:
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).
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 [https://gitlab.com/postmarketOS/pmaports/blob/master/device/testing/device-lg-bullhead/deviceinfo#L23 this example].
Kernel cmdline is the arguments Linux uses to boot. See [https://gitlab.postmarketos.org/postmarketOS/pmaports/blob/master/device/testing/device-lg-bullhead/deviceinfo#L23 this example].


Compare your kernel cmdline when powered on normally to when you power on by connecting the usb cable only.  
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 [https://gitlab.com/postmarketOS/pmaports/blob/master/main/postmarketos-mkinitfs/init_functions.sh#L509-516 initramfs script].
If you find a specific option to distinguish the two boot modes, please update the [https://gitlab.postmarketos.org/postmarketOS/pmaports/blob/master/main/postmarketos-mkinitfs/init_functions.sh#L509-516 initramfs script].


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

Latest revision as of 06:55, 3 November 2024

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