The Tox second breath. New cypherpunk client Yet Another Tox (yat)

Hello Community, hello Purism!

If you have a little time and interest, please join to testing my Tox client development.
It’s named Yet Another Tox (yat).
It is based and fully supports the toxcore2 library, currently developed Tox protocol reference implementation.

amd64 deb binaries can be installed on PureOS netbooks/laptops.
aarch64 deb binaries can be used for L5 or Liberty Phone mobiles.

I’ve succesfully tested 1vs1 Chats, Group Chats, Audio and Video calls in variants:
yat ↔ yat, yat ↔ qTox, yat ↔ utox, yat ↔ Antox.
The quality is really good, no lags, delays, scratches.
(There is chance for Full HD.)

You can import your Tox ID profile from qTox, uTox, Antox or other Tox client.

The builds with GTK interface (as one of the build options) feel comfortable enough in Purism ecosystem.

And a little help is needed.
I’d tested Text Messaging, Audio and Video calls. The application uses GStreamer as multimedia backend. Everything is OK on my laptop (Debian GNU/Linux amd64), but on L5 only text chat works. It can’t setup video camera as it provided by /dev/video{0,1,2,3}.

$ gst-launch-1.0 libcamerasrv device=/dev/video0 ! videoconvert ! autovideosink

Setting pipeline to PAUSED ...
[17:41:52.188400418] [71233] e[1;32m INFO e[1;37mCamera e[1;34mcamera_manager.cpp:293 e[0mlibcamera v0.0.0
[17:41:52.205544458] [71236] e[1;33m WARN e[1;37mCameraSensorProperties e[1;34mcamera_sensor_properties.cpp:174 e[0mNo static properties available for 's5k3l6xx'
[17:41:52.205669498] [71236] e[1;33m WARN e[1;37mCameraSensorProperties e[1;34mcamera_sensor_properties.cpp:176 e[0mPlease consider updating the camera sensor properties database
[17:41:52.205713898] [71236] e[1;33m WARN e[1;37mCameraSensor e[1;34mcamera_sensor.cpp:476 e[0;32m's5k3l6xx 3-002d': e[0mUnsupported ancillary entity function 131074
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
ERROR: from element /GstPipeline:pipeline0/GstLibcameraSrc:libcamerasrc0: Internal data stream error.
Additional debug info:
../src/gstreamer/gstlibcamerasrc.cpp(474): gst_libcamera_src_task_enter (): /GstPipeline:pipeline0/GstLibcameraSrc:libcamerasrc0:
streaming stopped, reason not-negotiated (-4)
Execution ended after 0:00:00.000873000
Setting pipeline to NULL ...
Freeing pipeline ...

$ gst-launch-1.0 v412src device=/dev/video0 ! videoconvert ! autovideosink

Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Failed to allocate required memory.
Additional debug info:
../sys/v4l2/gstv4l2src.c(659): gst_v4l2src_decide_allocation (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
Buffer pool activation failed
Execution ended after 0:00:00.038408161
Setting pipeline to NULL ...
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.
Additional debug info:
../libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming stopped, reason not-negotiated (-4)
Freeing pipeline ...

Of course, I’d also tried autovideosrc filter instead of v412src or libcamerasrv. It only works on desktop GNU/Linux. It does nothing and freezes on L5:

gst-launch-1.0 autovideosrc ! videoscale ! video/x-raw,width=640,height=480 ! \ videoconvert ! video/x-raw,format=I420 ! videoscale ! \ video/x-raw,width=640,height=480 ! autovideosink

Setting pipeline to PAUSED ...

I have to ask you what I could missed.

And is it possible to approve my account on https://source.puri.sm? I’d registered it several weekends ago. Could I then publish my app to repo, wiki or somewhere else?

Thank you for your attention!
Let’s bring close the new era of Free/Open secure and cryptorealiable videophones!

5 Likes

You will need to give Purism a nudge. Accounts are approved manually. @joao.azevedo ?

2 Likes

Yes, accounts in our gitlab instance are approved manually. @neva_blyad send me a DM with the username you tried to register.

2 Likes

Thank you! Done.

2 Likes

Have anyone tested it on Librem 5, and what .deb files should I download to install YAT on Librem 5?

3 Likes

Install these three packages:

http://www.lovecry.pt/dl/yat_0.11.0-1_arm64.deb
http://www.lovecry.pt/dl/yat-plugins_0.11.0-1_arm64.deb
http://www.lovecry.pt/dl/libwxc_0.93.0.0-8-1_arm64.deb

with dpkg:
sudo dpkg -i *.deb

Then install dependencies with apt:
sudo apt -f install

Also there is the second way to install debs with their dependencies with the single command:
sudo apt install ./*.deb # I hadn't tried this variant

3 Likes

When you’ve done, mail me with results and feelings.
Does it work? Does A/V calls work?

2 Likes
Downloading yat arm64

purism@pureos: mkdir YAT
purism@pureos: cd YAT/
purism@pureos:~/YAT$ wget -c http://www.lovecry.pt/dl/yat_0.11.0-1_arm64.deb
–2024-10-08 17:40:54-- http://www.lovecry.pt/dl/yat_0.11.0-1_arm64.deb
Resolving www.lovecry.pt (www.lovecry.pt)… 93.92.200.82
Connecting to www.lovecry.pt (www.lovecry.pt)|93.92.200.82|:80|93.92.200.82|:80)… connected.
HTTP request sent, awaiting response… 200 OK
Length: 889872 (869K) [application/x-debian-package]
Saving to: ‘yat_0.11.0-1_arm64.deb’

  yat_0.   0%       0  --.-KB/s               yat_0.1   1%  15.75K  68.4KB/s              yat_0.11   4%  38.46K  83.5KB/s             yat_0.11.   8%  71.85K   101KB/s            yat_0.11.0  13% 117.28K   121KB/s           yat_0.11.0-  23% 201.44K   166KB/s          yat_0.11.0-1  39% 344.37K   235KB/s          at_0.11.0-1_  62% 547.45K   320KB/s          t_0.11.0-1_a  96% 840.02K   428KB/s          yat_0.11.0-1 100% 869.02K   440KB/s    in 2.0s    

2024-10-08 17:40:57 (440 KB/s) - ‘yat_0.11.0-1_arm64.deb’ saved [889872/889872]

purism@pureos:~/YAT$ ls
yat_0.11.0-1_arm64.deb

Downloading yat arm64 plugins

wget -c http://www.lovecry.pt/dl/yat-plugins_0.11.0-1_arm64.deb
–2024-10-08 17:46:04-- http://www.lovecry.pt/dl/yat-plugins_0.11.0-1_arm64.deb
Resolving www.lovecry.pt (www.lovecry.pt)… 93.92.200.82
Connecting to www.lovecry.pt (www.lovecry.pt)|93.92.200.82|:80|93.92.200.82|:80)… connected.
HTTP request sent, awaiting response… 200 OK
Length: 481192 (470K) [application/x-debian-package]
Saving to: ‘yat-plugins_0.11.0-1_arm64.deb’

  yat-pl   0%       0  --.-KB/s               yat-plu   3%  15.75K  61.5KB/s              yat-plug   6%  31.78K  62.6KB/s             yat-plugi   8%  41.13K  53.8KB/s            yat-plugin   9%  46.47K  45.4KB/s           yat-plugins  12%  57.16K  44.9KB/s          yat-plugins_  14%  69.18K  45.6KB/s          at-plugins_0  17%  81.21K  45.8KB/s          t-plugins_0.  19%  93.23K  45.6KB/s          -plugins_0.1  23% 111.93K  48.4KB/s          plugins_0.11  25% 119.95K  46.5KB/s          lugins_0.11.  28% 134.64K  47.5KB/s          ugins_0.11.0  31% 149.34K  48.3KB/s    eta 7sgins_0.11.0-  34% 162.70K  49.1KB/s    eta 7sins_0.11.0-1  38% 178.73K  49.3KB/s    eta 7sns_0.11.0-1_  41% 194.76K  50.1KB/s    eta 7ss_0.11.0-1_a  45% 212.13K  51.1KB/s    eta 5s_0.11.0-1_ar  48% 229.50K  51.9KB/s    eta 5s0.11.0-1_arm  52% 248.20K  53.1KB/s    eta 5s.11.0-1_arm6  56% 266.90K  54.2KB/s    eta 5s11.0-1_arm64  60% 285.60K  54.8KB/s    eta 3s1.0-1_arm64.  65% 305.64K  55.4KB/s    eta 3s.0-1_arm64.d  69% 327.02K  57.9KB/s    eta 3s0-1_arm64.de  75% 356.39K  62.7KB/s    eta 3s-1_arm64.deb  78% 371.10K  64.2KB/s    eta 3s1_arm64.deb   83% 393.82K  65.7KB/s    eta 1s_arm64.deb    88% 417.86K  67.7KB/s    eta 1sarm64.deb     94% 441.91K  70.2KB/s    eta 1srm64.deb      99% 465.96K  71.2KB/s    eta 1syat-plugins_ 100% 469.91K  71.9KB/s    in 7.3s    

2024-10-08 17:46:12 (64.5 KB/s) - ‘yat-plugins_0.11.0-1_arm64.deb’ saved [481192/481192]

purism@pureos:~/YAT$

Downloading libwxc

wget -c http://www.lovecry.pt/dl/libwxc_0.93.0.0-8-1_arm64.deb
–2024-10-08 17:48:40-- http://www.lovecry.pt/dl/libwxc_0.93.0.0-8-1_arm64.deb
Resolving www.lovecry.pt (www.lovecry.pt)… 93.92.200.82
Connecting to www.lovecry.pt (www.lovecry.pt)|93.92.200.82|:80|93.92.200.82|:80)… connected.
HTTP request sent, awaiting response… 200 OK
Length: 464024 (453K) [application/x-debian-package]
Saving to: ‘libwxc_0.93.0.0-8-1_arm64.deb’

  libwxc   0%       0  --.-KB/s               libwxc_   3%  15.75K  66.5KB/s              libwxc_0   9%  42.46K  88.5KB/s             libwxc_0.  19%  87.89K   122KB/s            libwxc_0.9  36% 166.71K   172KB/s           libwxc_0.93  56% 257.55K   212KB/s          libwxc_0.93.  91% 412.52K   283KB/s          libwxc_0.93. 100% 453.15K   293KB/s    in 1.5s    

2024-10-08 17:48:42 (293 KB/s) - ‘libwxc_0.93.0.0-8-1_arm64.deb’ saved [464024/464024]

purism@pureos:~/YAT$

sudo dpkg -i *.deb

purism@pureos:~/YAT$ sudo dpkg -i *.deb
[sudo] password for purism:
Selecting previously unselected package libwxc.
(Reading database … 144481 files and directories currently installed.)
Preparing to unpack libwxc_0.93.0.0-8-1_arm64.deb …
Unpacking libwxc (0.93.0.0.8-1) …
Selecting previously unselected package yat.
Preparing to unpack yat_0.11.0-1_arm64.deb …
Unpacking yat (0.11.0-1) …
Selecting previously unselected package yat-plugins.
Preparing to unpack yat-plugins_0.11.0-1_arm64.deb …
Unpacking yat-plugins (0.11.0-1) …
dpkg: dependency problems prevent configuration of libwxc:
libwxc depends on libwxbase3.0-0v5; however:
Package libwxbase3.0-0v5 is not installed.
libwxc depends on libwxgtk-media3.0-gtk3-0v5; however:
Package libwxgtk-media3.0-gtk3-0v5 is not installed.
libwxc depends on libwxgtk3.0-gtk3-0v5; however:
Package libwxgtk3.0-gtk3-0v5 is not installed.

dpkg: error processing package libwxc (–install):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of yat:
yat depends on libtoxcore2; however:
Package libtoxcore2 is not installed.
yat depends on libwxbase3.0-0v5; however:
Package libwxbase3.0-0v5 is not installed.
yat depends on libwxgtk-media3.0-gtk3-0v5; however:
Package libwxgtk-media3.0-gtk3-0v5 is not installed.
yat depends on libwxgtk3.0-gtk3-0v5; however:
Package libwxgtk3.0-gtk3-0v5 is not installed.
yat depends on libwxc (>= 0.93.0.0-7); however:
Package libwxc is not configured yet.

dpkg: error processing package yat (–install):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of yat-plugins:
yat-plugins depends on yat (= 0.11.0-1); however:
Package yat is not configured yet.

dpkg: error processing package yat-plugins (–install):
dependency problems - leaving unconfigured
Processing triggers for mailcap (3.69) …
Processing triggers for desktop-file-utils (0.26-1) …
Errors were encountered while processing:
libwxc
yat
yat-plugins
purism@pureos:~/YAT$

Installing dependencies with apt

purism@pureos:~sudo apt − f install
[sudo]password for purism:
Reading package lists… Done
Building dependency tree…Done
Reading state information…Done Correcting dependencies…Done
The following additional packages will be installed: libtoxcore2 libwxbase3.0−0v5 libwxgtk−media3.0−gtk3−0v5 libwxgtk3.0−gtk3−0v5
The following NEW packages will be installed:
libtoxcore2 libwxbase3.0−0v5 libwxgtk−media3.0−gtk3−0v5 libwxgtk3.0−gtk3−0v5
0 upgraded, 4 newly installed, 0 to remove and 276 not upgraded. 3 not fully installed or removed.
Need to get 5,191kB of archives.
After this operation, 20.7MB of additional disk space will be used.
Do you want to continue? [Y/n]Y
Get:1https://repo.pureos.net/pureosbyzantium/mainarm64libwxbase3.0−0v5arm643.0.5.1+dfsg−2 [953kB]
Get:2https://repo.pureos.net/pureosbyzantium/mainarm64libwxgtk3.0−gtk3−0v5arm643.0.5.1+dfsg−2 [3,936kB]
Get:3https://repo.pureos.net/pureosbyzantium/mainarm64libwxgtk−media3.0−gtk3−0v5arm643.0.5.1+dfsg−2 [159kB]
Get:4https://repo.pureos.net/pureosbyzantium/mainarm64libtoxcore2arm640.2.12−1 [143kB]

Fetched 5,191kB in 16s (317kB/s)
Selecting previously unselected package libwxbase3.0−0v5:arm64.
(Reading database… 144583 files and directories currently installed.)
Preparing to unpack…/libwxbase3.0−0v53.0.5.1+dfsg−2arm64.deb…
Unpackinglibwxbase3.0−0v5:arm64(3.0.5.1+dfsg−2)…
Selecting previously unselected package libwxgtk3.0−gtk3−0v5:arm64.
Preparing to unpack…/libwxgtk3.0−gtk3−0v53.0.5.1+dfsg−2arm64.deb…
Unpacking libwxgtk3.0−gtk3−0v5:arm64(3.0.5.1+dfsg−2)…
Selecting previously unselected package libwxgtk−media3.0−gtk3−0v5:arm64.
Preparing to unpack…/libwxgtk−media3.0−gtk3−0v53.0.5.1+dfsg−2arm64.deb…
Unpacking libwxgtk−media3.0−gtk3−0v5:arm64(3.0.5.1+dfsg−2)…
Selecting previously unselected package libtoxcore2:arm64.
Preparing to unpack…/libtoxcore20.2.12−1arm64.deb…
Unpacking libtoxcore2:arm64(0.2.12−1)…
Setting up libtoxcore2:arm64(0.2.12−1)…
Setting up libwxbase3.0−0v5:arm64(3.0.5.1+dfsg−2)…
Setting up libwxgtk3.0−gtk3−0v5:arm64(3.0.5.1+dfsg−2)…
Setting up libwxgtk−media3.0−gtk3−0v5:arm64(3.0.5.1+dfsg−2)…
Setting up libwxc(0.93.0.0.8−1)…
Setting up yat(0.11.0−1)…
Setting up yat−plugins(0.11.0−1)…
Processing triggers for libc−bin(2.31−13+deb11u5)…
purism@pureos: sudo apt −f install
[sudo]password for purism:
Reading package lists…Done
Building dependency tree…Done
Reading state information…Done
Correcting dependencies…Done
The following additional packages will be installed: libtoxcore2libwxbase3.0−0v5 libwxgtk−media3.0−gtk3−0v5 libwxgtk3.0−gtk3−0v5
The following NEW packages will be installed:
libtoxcore2libwxbase3.0−0v5 libwxgtk−media3.0−gtk3−0v5 libwxgtk3.0−gtk3−0v5
0 upgraded, 4 newly installed, 0 to remove and 276 not upgraded. 3 not fully installed or removed.
Need to get 5,191kB of archives.
After this operation, 20.7MB of additional disk space will be used.
Do you want to continue?[Y/n]Y
Get:1https://repo.pureos.net/pureosbyzantium/mainarm64libwxbase3.0−0v5arm643.0.5.1+dfsg−2[953kB]
Get:2https://repo.pureos.net/pureosbyzantium/mainarm64libwxgtk3.0−gtk3−0v5arm643.0.5.1+dfsg−2[3,936kB]
Get:3https://repo.pureos.net/pureosbyzantium/mainarm64libwxgtk−media3.0−gtk3−0v5arm643.0.5.1+dfsg−2[159kB]
Get:4https://repo.pureos.net/pureosbyzantium/mainarm64libtoxcore2arm640.2.12−1[143kB]
Fetched 5,191kB in 16s (317kB/s)
Selecting previously unselected package libwxbase3.0−0v5:arm64.(Reading database…144583 files and directories currently installed.)
Preparing to unpack…/libwxbase3.0−0v53​.0.5.1+dfsg−2a​rm64.deb…
Unpacking libwxbase3.0−0v5:arm64(3.0.5.1+dfsg−2)…
Selecting previously unselected package libwxgtk3.0−gtk3−0v5:arm64.
Preparing to unpack…/libwxgtk3.0−gtk3−0v53​.0.5.1+dfsg−2a​rm64.deb…
Unpacking libwxgtk3.0−gtk3−0v5:arm64(3.0.5.1+dfsg−2)…
Selecting previously unselected package libwxgtk−media3.0−gtk3−0v5:arm64.
Preparing to unpack…/libwxgtk−media3.0−gtk3−0v53​.0.5.1+dfsg−2a​rm64.deb…
Unpacking libwxgtk−media3.0−gtk3−0v5:arm64(3.0.5.1+dfsg−2)…
Selecting previously unselected package libtoxcore2:arm64.
Preparing to unpack…/libtoxcore20​.2.12−1a​rm64.deb…
Unpacking libtoxcore2:arm64(0.2.12−1)…
Setting up libtoxcore2:arm64(0.2.12−1)…
Setting up libwxbase3.0−0v5:arm64(3.0.5.1+dfsg−2)…
Setting up libwxgtk3.0−gtk3−0v5:arm64(3.0.5.1+dfsg−2)…
Setting up libwxgtk−media3.0−gtk3−0v5:arm64(3.0.5.1+dfsg−2)…
Setting up libwxc(0.93.0.0.8−1)…
Setting up yat (0.11.0−1)…
Setting up yat−plugins(0.11.0−1)…
Processing triggers for libc−bin(2.31−13+deb11u5)…
purism@pureos:

I could connect with Android client Trifa. Only was sending text.
I decided to make audio call from YAT to Trifa client. Before the Trifa Client was able to answer the ring, the Trifa app crashed.

After that, all messages coming from Trifa client contact to YAT it would appear. Just got invisibility!

I will try using YAT in L5 with other clients. And post results.

1 Like

Many thanks for your tests and for your message!
It would be nice to try A/- and A/V call with qTox, uTox and with other yat.

1 Like

My L5 f***ed up month ago.
You can ring me at my desktop Linux and we would try.
My Tox ID is
8F46244F38C83181F420F62208B9BDC09F457D4B46F968FF0B70AE170A791101C7F21E19BEC7

2 Likes

@neva_blyad Sorry about your L5.

I added your tox ID to Buddies - Add Buddy.

When you connect can chat.

Still dont know how to complete Name and other stuff in my profile

Profile

Profile: Tonyp
Name:
Tox ID: 4048574F02AF467D8791D71D8A029965F351A2088DE64769ABC767693C719D7BF83A852C9B5A
Network: online (UDP)
State: available
Status: Toxing on yat

https://upload.disroot.org/r/ubPc06tQ#hY4iH/TJQLdWy/Y4EbNzb4ZVb0hq5uiGizQmqfCHwtM=

1 Like

Status is to be entered in text box at bottom left, then click “Apply” button.
Name is entered in dialog from “Profile” menu.

2 Likes