«Image: Pine64» PinePhone

Important

The latest version of the Jami-daemon works on a PinePhone with Mobian and official packages for everything else.

Note

Mobian is a Debian 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:

  1. In the console, enter the commands:

    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:

    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:

    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):

    sudo apt-get install -y libgit2-1.9 libjsoncpp26 libsecp256k1-2 libyaml-cpp0.8 libsdbus-c++2
    wget http://<builder.url>/jamid
    sudo mv jamid /usr/local/bin/
    tmux
    jamid -c -d -p
    
  6. In another terminal, enter the commands:

    wget http://<builder.url>/{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:

    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:

    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.

  10. Pending merging upstream, a fix is available here (GitHub).

Note

If there is feedback when in a call, change the audio output mode from the speaker to the earpiece.

  1. 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)