1. Home
  2. Linux

How To Install The qTox Client On Linux

Encrypted messaging is getting big on Linux, and one of the more popular protocols for this type of communication lately is Tox. It’s completely p2p, supports text, video, and has dozens of security and privacy features.┬áThe Tox protocol is open source, and the project encourages developers to create their own third-party AppImage to use the chat service. Out of all of the clients out there, qTox client is one of the most popular.

Install Dependencies

The qTox client itself, like all Tox clients, rely on the Tox protocol. On many Linux distributions, there aren’t official packages for the protocol, so you’ll need to build it manually. To compile the protocol, open up a terminal and install the necessary build dependencies. Then follow the commands to compile the code on your system.

Ubuntu

sudo apt-get install \
    build-essential \
    cmake \
    libavcodec-dev \
    libavdevice-dev \
    libavfilter-dev \
    libavutil-dev \
    libexif-dev \
    libgdk-pixbuf2.0-dev \
    libglib2.0-dev \
    libgtk2.0-dev \
    libkdeui5 \
    libopenal-dev \
    libopus-dev \
    libqrencode-dev \
    libqt5opengl5-dev \
    libqt5svg5-dev \
    libsodium-dev \
    libsqlcipher-dev \
    libswresample-dev \
    libswscale-dev \
    libvpx-dev \
    libxss-dev \
    qrencode \
    qt5-default \
    qttools5-dev-tools \
    qttools5-dev \
    git

Debian

Getting qTox built on Debian is no problem, though officially, only Debian 9 Stable (Stretch) has support. Those intending to build this software on Old Stable (8) or Testing (10) do so at your own risk!

In a terminal, install the following dependencies with the Apt-get package manager.

sudo apt-get install \
    automake \
    autotools-dev \
    build-essential \
    check \
    checkinstall \
    cmake \
    ffmpeg \
    libavcodec-dev \
    libavdevice-dev \
    libexif-dev \
    libgdk-pixbuf2.0-dev \
    libgtk2.0-dev \
    libkdeui5 \
    libopenal-dev \
    libopus-dev \
    libqrencode-dev \
    libqt5opengl5-dev \
    libqt5svg5-dev \
    libsodium-dev \
    libsqlcipher-dev \
    libtool \
    libvpx-dev \
    libxss-dev \
    pkg-config \
    qrencode \
    qt5-default \
    qttools5-dev \
    qttools5-dev-tools \
    yasm \
    git

Arch Linux

Arch Linux users should have no issue installing the qTox dependencies, as support for the OS is specifically outlined on the website. However, if you’re on Arch Linux and don’t feel like building the app from source, consider downloading the AUR package of qTox instead.

sudo pacman -S --needed base-devel qt5 openal libxss qrencode ffmpeg opus libvpx libsodium git

Fedora

Getting all necessary dependencies for Fedora Linux is a two-step process. First, open up a terminal and use DNF to install the Fedora development package group.

sudo dnf groupinstall "Development Tools" "C Development Tools and Libraries"

Next, use the terminal to get the special qTox/Toxcore dependencies.

sudo dnf install \
    autoconf \
    automake \
    check \
    check-devel \
    ffmpeg-devel \
    gtk2-devel \
    kf5-sonnet \
    libexif-devel \
    libsodium-devel \
    libtool \
    libvpx-devel \
    libXScrnSaver-devel \
    openal-soft-devel \
    openssl-devel \
    opus-devel \
    qrencode-devel \
    qt5-linguist \
    qt5-qtsvg \
    qt5-qtsvg-devel \
    qt-creator \
    qt-devel \
    qt-doc \
    qtsingleapplication \
    sqlcipher \
    sqlcipher-devel \
    git

OpenSUSE

sudo zypper install \
    libexif-devel \
    libffmpeg-devel \
    libopus-devel \
    libQt5Concurrent-devel \
    libqt5-linguist \
    libQt5Network-devel \
    libQt5OpenGL-devel \
    libqt5-qtbase-common-devel \
    libqt5-qtsvg-devel \
    libQt5Xml-devel \
    libsodium-devel \
    libvpx-devel \
    libXScrnSaver-devel \
    openal-soft-devel \
    patterns-openSUSE-devel_basis \
    qrencode-devel \
    sqlcipher-devel \
    sonnet-devel \
    git

Generic Linux

Linux users who want qTox and all of its components will need to visit the installation page and learn about what to install to build the code successfully. Alternatively, there is a qTox AppImage available. The AppImage will get the job done, though by not compiling it from source, the program will not be optimized for your PC.

Compiling Toxcore

At the center of qTox is the Tox protocol (aka toxcore). Toxcore is the main dependency, and without it, the qTox program will not build correctly. Luckily, building and installing the Tox protocol on a Linux system is super simple.

Start the installation process of Toxcore by grabbing the latest code in a terminal with the Git tool.

git clone https://github.com/toktok/c-toxcore.git toxcore

CD into the new “toxcore” folder and run cmake.

cd toxcore
cmake .

Build the Toxcore software by executing the make command.

make -j$(nproc)

Lastly, finish up the process by installing Toxcore.

sudo make install
echo '/usr/local/lib/' | sudo tee -a /etc/ld.so.conf.d/locallib.conf

sudo ldconfig

Install qTox Client

Toxcore is working, so now it’s time to build the qTox client and install it on Linux. Like with toxcore, building the qTox client starts by cloning the code locally via Git.

git clone https://github.com/qTox/qTox.git

With the qTox code on your Linux PC, use the CD command and move the terminal into the sources folder.

cd qTox

Inside the sources folder, run cmake to generate a makefile.

cmake .

Compile the qTox code on your Linux PC with the make command.

make -j$(nproc)

Install the software on your Linux PC with make install.

sudo make install

Using qTox

Launch the qTox app on your Linux desktop. After the app finishes starting up, you’ll notice a login window. If you’ve already got a Tox account, log in with your user information. Alternatively, select the “New Profile” button, and create a new user.

Once you’re in qTox, you’ll be able to add friends by pasting their ID codes into the “Tox ID” box, under the “add friend menu”.

Leave a comment