From postmarketOS


Country: Sweden

Languages: Swedish, English and a little Hungarian

I worked on the kernel for ST-Ericsson NovaThor U8500 when it was developed. I am a maintainer of GPIO and pin control in the upstream Linux kernel.


📱 This user's main device is a Samsung_Galaxy_Xcover_2_(samsung-skomer).
This user has ported postmarketOS to 4 devices.

Device Notes
Samsung Galaxy Ace 2 (samsung-codina)
Samsung Galaxy Amp (samsung-kyle)
Samsung Galaxy Beam (samsung-gavini)
Samsung Galaxy Exhibit (samsung-codina-tmo)
Samsung Galaxy S Advance (samsung-janice)
Samsung Galaxy S III mini (samsung-golden) This one "just works" mostly, apart from missing features in the SoC.
Samsung Galaxy Xcover 2 (samsung-skomer)

Compiling phoc and phosh from source on a device

Yeah I did this crazy thing to rebuild phoc and phosh from source, on the device, and execute it. This was to test phosh 0.20 and fix bugs in phosh. I did this as root on Samsung Janice which is a dual-core Cortex-A9. It took some time to compile but not forever. Phoc is quick, phosh takes an hour+.

Add required packages

apk add gcc cmake meson ninja musl-dev fribidi-dev gcr-dev gnome-desktop-dev libgudev-dev pulseaudio-dev callaudiod-dev networkmanager-dev polkit-dev elogind-dev polkit-elogind-dev libsecret-dev upower-dev linux-pam-dev glade-dev feedbackd-dev libhandy1-dev gtk+3.0-dev libinput-dev libseat-dev xcb-util-wm-dev libxcb-dev

Clone the phoc and phosh source code

mkdir /src && cd /src && git clone && git clone

Compile phoc and phosh

cd /src/phoc && meson . _build && ninja -C _build

cd /src/phosh && meson . _build && ninja -C _build

Execute the development versions by default

Edit /var/lib/tinydm/default-session.desktop


Exec=dbus-run-session /src/phoc/_build/run -C /src/phosh/data/phoc.ini -E /src/phosh/_build/run

It should come up when you reboot.

Get debug messages out

Modify the last line of /src/phosh/_build/run to something like this:

exec ${WRAPPER} "${ABS_BUILDDIR}/src/phosh" -U $@ > /var/tmp/phosh.log

Then use g_debug() to print debug messages and they will appear in the log file.