Tox: Text, voice, and video chats without a central server

Tox in Practice: qTox

Compared to the other two peer-to-peer messengers, the main advantage of Tox is that there are a number of different client programs, including at least two specifically for smartphones. These various options will be discussed later in the article, but to evaluate the practicality of Tox, we chose to test the default client qTox [12], which completely covers the functional range of Tox.

The current version, qTox 1.17.3, has not yet made it into the package sources of all common distributions. If you're using another version, make sure it's at least qTox 1.17.0, which saw many new features added and bugs fixed. You can use the package manager for the installation; the package name is usually qtox.

At first startup, create a new Tox profile with the New Profile tab. You are free to choose your username and password (Figure 1). A password is not mandatory; however, it ensures that qTox encrypts all your data such as your contact list and chat histories for storage on the hard disk. You can change your username later if necessary, but the actual identification in the Tox network is done by a 76-digit ID. After clicking Create Profile the program loads the actual application window (Figure 2).

Figure 1: Most Tox clients allow alternating different Tox IDs (quasi user accounts).
Figure 2: Incoming images, as shown in the example here, must first be accepted by the addressee.

When tested on Manjaro Linux, qTox had English as the default setting. If you prefer a different language, you can access the settings via the gear icon below the contact list. To open your profile, tap on the generic user picture or the username. You can customize your profile image (by clicking on it), the username, and your status (Figure 3) here.

Figure 3: On the Tox network, you are identified by a cryptic Tox ID. For contact requests, you need to know the Tox ID of your future Tox friends.

Below you will find the Tox ID associated with the profile. To communicate with a partner, you need to send this 76-character mess over a secure channel. For users of one of the smartphone apps, there is an option to save the ID in the form of a QR code. The image can then be scanned directly with a phone using a barcode scanner app, eliminating the need to type in the ID.

Setting Up Contacts

To create a new contact yourself, tap the plus icon below the contact list. Then enter the ID in the Add a friend tab, and if necessary add the message to the friend you want to invite. Optionally, in the Import contacts tab, you can import a whole bunch of friends in one go. For this qTox reads in a text file in which you list the contacts in the form of their Tox IDs line by line. Last but not least, in the Friend Requests tab, you will find all the contact requests that have not been answered yet (see the box, "Spambots," for dealing with suspect friend requests).


The open and non-monitored Tox network offers many advantages. However, there are also downsides, such as spambots. Since no one controls Tox, there is no one to throw spammers off the network. If you are inundated with suspicious friend requests, qTox offers the option to switch to a NoSpam-ID in the Privacy tab settings. This will allow you to continue communicating with your existing friends; however, your previous Tox ID will become invalid and spam requests will go nowhere. In the same area, you also have the option to blacklist individual IDs.

After sending a friend request, the user receives a notification. If the person has accepted your invitation, the contact automatically appears in the contact list with that person's username and picture. If you click on the entry, a message area typical for instant messengers opens. At the bottom of the text field, enter your message; next to it, you have the option to add emojis or send files.

Tox transmits text messages directly after clicking the speech bubble or pressing the Enter key. The recipient first has to accept the transmission of files such as images. A timestamp shows you when the message was sent. A rotating circle indicates that qTox still has to transmit the message. Tox does not have a comprehensive status display like WhatsApp (message not yet sent, transferred, or read).

Audio and Video Calls

Above the message history, next to the contact's profile picture, you will find the contact name. If you have trouble remembering which friend goes by which username, click on the entry, and you can give your contact a name you will recognize. Next to it are the switches for starting an audio or video call. You can set the devices used during calls and their properties (for example, the sound quality of the microphone or the resolution of the webcam) in the settings in the Audio/Video tab.

In our test with a second PC running qTox as well as a smartphone using a Tox client called Antox, phone calls worked very well and without much delay (Figure 4). Both via a broadband connection and the mobile network (4G), the sound quality was similar to a conventional phone call via landline or a WhatsApp call.

Figure 4: In addition to classic, text-based chats, many Tox clients also support audio and video calls.

For video chats, qTox can't quite keep pace with proprietary solutions. The video image is pixelated for a short while at first. After the connection is stabilized, the image fully composes itself. The picture also lost its cohesion for a short time during abrupt changes in the picture, such as fast pans, in our tests. However, these are minor issues; video calls basically work.

Additionally, qTox supports screen sharing, although that will require some setting changes, (see the "Setting Up Screen Sharing" box).

Setting Up Screen Sharing

One common feature in modern videoconferencing is the ability to route the full screen content or selected application windows to the participants in the call. qTox also supports this, but very unfortunately hides the function in the depths of the settings.

You enable screen sharing like an audio or video call, but you have to change the camera beforehand. To do this, open the settings via the gear icon below the contact list and then switch to the Audio/Video tab. There, in the video settings, select the screen as the camera. If necessary, additionally specify a region or – for a multi-monitor setup – a single screen in Camera resolution.

Like many other screenshot and screencasting programs, qTox does not yet work with the Wayland display server used in Gnome. When launched in a standard Gnome session, the preview remains blank. You need to select Gnome on Xorg when logging into the desktop in the GDM display manager (use the gear menu bottom right), for desktop sharing to work. On KDE Plasma or Xfce, users do not have these problems.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Yahoo Chat Tools

    Kopete and Gyachi bring Yahoo videochat services to Linux.

  • Matrix

    One tool to rule all online communication: one tool to find them, one tool to bring them all in, and the Matrix to bind them. An open standard for decentralized communication enters the scene.

  • Chat Freely with Jami

    The messenger app Jami offers clients for all popular operating systems and promises maximum anonymity for chats, as well as voice and video calls, by dispensing with central servers.

  • Skype for Linux

    The old Microsoft gave the cold shoulder to Skype for Linux, neither updating it nor equipping it with new features. The new Microsoft promises to do better, with a brand new alpha prerelease version of a Linux client for the famous telephony tool.

  • Perl: IMAP Chat Log

    Are you interested in storing, organizing, and searching instant messaging conversations on your IMAP server? The Perl script in this month’s column can help you do just that.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More