# ![«Image: Pine64»](images/pine64-logo.png "Pine64") PinePhone ```{important} The latest version of the Jami-daemon works on a PinePhone with Mobian and official packages for everything else. ``` ```{note} [Mobian](https://mobian-project.org/) is a [Debian](https://debian.org/) derivative for mobile devices. Mobian is a project to port the Debian Linux distribution running the mainline Linux kernel to smartphones and tablets. Mobian is available for: * [PinePhone](https://wikipedia.org/wiki/PinePhone) * [PinePhone Pro](https://wikipedia.org/wiki/PinePhone_Pro) * [PineTab](https://wikipedia.org/wiki/PineTab) * PineTab 2 * [Librem 5](https://wikipedia.org/wiki/Librem_5) * [OnePlus 6](https://wikipedia.org/wiki/OnePlus_6) * [OnePlus 6T](https://wikipedia.org/wiki/OnePlus_6T) * [Pocophone F1](https://en.wikipedia.org/wiki/Pocophone_F1) ``` ```{seealso} * * ``` 1. In the console, enter the commands: ```bash wget https://images.mobian.org/sunxi/mobian-sunxi-phosh-13.0.img.xz xz -d mobian-sunxi-phosh-13.0.img.xz sudo dd if=mobian-sunxi-phosh-13.0.img of=/dev/sde bs=1M ``` 2. Configure Wi-Fi. 3. In the console, enter the commands: ```bash sudo apt-get update sudo apt-get upgrade sudo apt-get -y install openssh-server sudo reboot # new kernel ``` 4. In the console, enter the commands: ```bash sudo apt-get install -y build-essential git tmux sudo apt-get install -y autoconf autoconf-archive autopoint automake cmake make dbus doxygen graphviz g++ gettext libasound2-dev libavcodec-dev libavdevice-dev libavformat-dev libboost-dev libcppunit-dev libdbus-1-dev libdbus-c++-dev libebook1.2-dev libexpat1-dev libgnutls28-dev libgtk-3-dev libjack-dev libopus-dev libpcre2-dev libpulse-dev libssl-dev libspeex-dev libspeexdsp-dev libswscale-dev libtool libudev-dev libyaml-cpp-dev sip-tester swig uuid-dev yasm libjsoncpp-dev libva-dev libvdpau-dev libpipewire-0.3-dev libmsgpack-dev pandoc nasm dpkg-dev libsystemd-dev libarchive-dev libgit2-dev libx264-dev libsecp256k1-dev libsdbus-c++-dev libsdbus-c++-bin git clone https://git.jami.net/savoirfairelinux/jami-daemon.git cd jami-daemon ##sed -i -e q/-j\${NPROC}/-j1/' CMakeList.txt # to avoid killing the PinePhone mkdir build cd build ## I just want the voice to start with… cmake .. -DJAMI_DBUS=on -DJAMI_VIDEO=off -DJAMI_VIDEO_ACCEL=off # Please be patient, this takes a long time… make # Please be patient, this takes a long time too… sudo make install #Install the project... #-- Install configuration: "" #-- Installing: /usr/local/lib/libjami-core.a #-- Installing: /usr/local/libexec/jamid /usr/local/libexec/jamid -c -d -p ## dans un autre terminal ~/jami-daemon/tools/jamictrl/jamictrl.py --list-audio-devices #Output Devices #0: default #1: Audio internal Internal speaker #Input Devices #0: default #1: Monitor of Audio internal Internal speaker #2: Audio internal Internal Microphone ``` 5. Use a compiled jamid on another Mobian system (to save installing all the build packages): ```bash sudo apt-get install -y libgit2-1.9 libjsoncpp26 libsecp256k1-2 libyaml-cpp0.8 libsdbus-c++2 wget http:///jamid sudo mv jamid /usr/local/bin/ tmux jamid -c -d -p ``` 6. In another terminal, enter the commands: ```bash wget http:///{controller.py,errorsDring.py,jamictrl.py,tester.py} sudo mv *py /usr/local/bin/ tmux jamictrl.py -h ``` 7. For Alice, in the terminal, enter the commands: ```bash jamictrl.py --add-ring-account alice account=$(jamictrl.py --get-all-accounts) alice=$(jamictrl.py --get-account-details $account | awk '/Account.username/{print $2}') # communicate $alice to bob # wait for dring dring call=$(jamictrl.py --get-call-list) jamictrl.py --accept $call jamictrl.py --hangup $call ``` 8. For Bob, in the terminal, enter the commands: ```bash jamictrl.py --add-ring-account bob account=$(jamictrl.py --get-all-accounts) bob=$(jamictrl.py --get-account-details $account | awk '/Account.username/{print $2}') jamictrl.py --call $alice ``` 9. The `controller.py` library has been fixed according to [ticket #1153](https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/1153). 10. Pending merging upstream, a fix is available [here (GitHub)](https://github.com/jchdel/jami-cli/tree/main/jamictrl). ```{note} If there is feedback when in a call, change the audio output mode from the speaker to the earpiece. ``` 11. With `jamictrl.py`, it is possible to: * Add Jami account (`add-ring-account`) * Start call (`call`) * Decline call (`refuse`) * Accept call (`accept`) * Hold call (`hold`) * Resume call (`unhold`) * End call (`hangup`)