
Right now, I’m looking to explore and test out various camera software applications.
I came across Topo.
According to its developer, Topo is a software application designed to display feeds from Tapo security cameras on Linux. I think it’s a great piece of software. TP-Link, the manufacturer of Tapo cameras, does not provide any dedicated software for use on Linux; with Topo, users can now view live feeds from their Tapo cameras on laptops and PCs running Linux.
What Is Topo?
Topo is a standalone desktop application for Linux and Windows that allows users to view and control their Tapo cameras through their Tapo cloud accounts. Topo offers several features that make it easier to view and manage Tapo cameras directly from a Linux or Windows desktop.
Here are some of the main features:
- Multiple Camera Live View: View live streams from multiple Tapo cameras in a single window.
- Cloud Relay Connection Check: Check the cloud relay connection status for each camera.
- MFA Login Support: Log in using multi-factor authentication (MFA) through Tapo app notifications or email verification codes.
- Session Reuse: Keep your login session between application launches, so you don’t have to complete MFA verification every time.
- Logout Support: Log out of your account and clear the saved session.
- Privacy Mode: Enable or disable privacy mode individually for each camera.
- Pan and Tilt Controls: Control compatible cameras using a compact control panel.
- Fullscreen Mode: View each camera in fullscreen mode.
- Stream Error Handling: Display loading and error messages, with an option to retry when a stream fails.
- Responsive Layout: Adjust the application layout to different window sizes.
- SD Card Playback: Play complete video recordings stored on the camera’s SD card.
- Download Recordings: Download selected SD card recordings as MP4 files.
Topo also supports live audio for individual cameras.
You can enable audio manually by clicking the audio option for each camera. The volume can then be adjusted independently for each camera.
How to Download, Install, and Use Topo on an Ubuntu Laptop or PC
Requirement
- Linux desktop environment with GTK 3
- Python 3
- WebKitGTK 4.1
- FFmpeg
The PC I’m Using
- PC: Dell OptiPlex 3060 Micro
- RAM: 8 GB
- Storage: 500 GB
- Processor: Intel Core i3-8100T @ 3.10 GHz
Installing Topo on Ubuntu Linux
All right, let’s get started with the Topo installation on Ubuntu Desktop.
If you haven’t installed Ubuntu yet, don’t worry. I’ve already written a complete guide on how to install Frigate NVR, which also covers the Ubuntu installation process. You can follow that guide to get your Ubuntu PC ready before proceeding with the steps below.
Steps to Install Topo:
Cloning the Source Code from GitHub
First, I opened the Terminal on my MacBook and connected to my Ubuntu PC via SSH. This made the installation process easier because I could run the commands remotely while documenting each step as I went along.
Run the following command to clone the Topo source code from GitHub:
git clone https://github.com/filirnd/topo.git
Access the Topo folder:
cd topoEnter the following command to grant the necessary execution permissions:
chmod +x linux/install.sh linux/uninstall.shNext, run the install.sh script by entering the following command in the Terminal:
./linux/install.shNext, create a desktop launcher for Topo – Desktop App for Tapo Cameras by entering the following command in the Terminal:
flatpak run io.github.filirnd.topo
If you see the message “Command ‘flatpak’ not found, but can be installed with: sudo apt install flatpak”, it means Flatpak is not yet installed on your Ubuntu system.
I encountered this issue during my installation as well. Before continuing, I needed to install Flatpak by running the following command in the Terminal:
Installing Flatpak
Run the following command in the Terminal to install Flatpak:
flatpak install --user https://filirnd.github.io/topo/io.github.filirnd.topo.flatpakrefWhen prompted, type Y and press Enter to confirm each step.
- The remote ‘topo’, referred to by ‘io.github.filirnd.topo’ at location https://filirnd.github.io/topo/ contains additional applications.
- Should the remote be kept for future installations? [Y/n]: Y
- The application io.github.filirnd.topo depends on runtimes from: https://dl.flathub.org/repo/
- Configure this as new remote ‘flathub’ [Y/n]: Y
- Required runtime for io.github.filirnd.topo/x86_64/stable (runtime/org.gnome.Platform/x86_64/51) found in remote flathub
- Do you want to install it? [Y/n]: Y

This command will initiate the download and installation of 7 files. The process may take approximately 10 minutes to complete. The files are as follows:
| No | Status | ID | Branch | Op | Remote | Download |
| 1 | [✓] | org.freedesktop.Platform.GL.default | 26.08 | i | flathub | 149.4 MB / 150.5 MB |
| 2 | [✓] | org.freedesktop.Platform.GL.default | 26.08-extra | i | flathub | 28.9 MB / 150.5 MB |
| 3 | [✓] | org.freedesktop.Platform.VAAPI.Intel | 26.08 | i | flathub | 14.8 MB / 15.0 MB |
| 4 | [✓] | org.freedesktop.Platform.codecs-extra | 26.08-extra | i | flathub | 15.6 MB / 15.7 MB |
| 5 | [✓] | org.gnome.Platform.Locale | 51 | i | flathub | 183.4 MB / 391.7 MB |
| 6 | [✓] | org.gnome.Platform | 51 | i | flathub | 369.8 MB / 432.7 MB |
| 7 | [✓] | io.github.filirnd.topo | stable | i | topo | 951.9 kB / 1.2 MB |
After installing Flatpak, I ran the following command again to create a desktop launcher for Topo:
flatpak run io.github.filirnd.topoOnce the command above has been executed successfully, the Topo login screen should appear on your PC. Enter the username and password associated with your Tapo app account to sign in.
How Topo Works? and Why It Doesn’t Support Other Camera Brands?

Topo is a standalone desktop application that allows you to view and control multiple Tapo cameras from a single, easy-to-use window.
It uses the Tapo Cloud Relay to connect to your cameras.
So, what does Cloud Relay actually mean in this case? Simply put, Topo connects to your Tapo cameras through Tapo’s cloud service and acts as a bridge between the cloud and the desktop application. That’s why you need to sign in with your Tapo account to access your cameras. This also explains why Topo can’t be used as a general-purpose camera management system like VibeNVR, Frigate NVR, or Sentinel VMS.
Unlike those software, Topo doesn’t let you connect cameras from different brands using RTSP. It’s designed specifically for Tapo cameras.
Frequently Asked Questions (FAQs)
What Is Topo?
Topo is a standalone desktop application that can be used on Linux and Windows to consolidate and control multiple Tapo cameras from a single window.
Can Topo Be Used with Cameras from Other Brands?
No, you can’t. Topo relies on Tapo’s cloud service to connect to your cameras, so you’ll need a Tapo account to use the application.
Can Topo Be Used for Free?
Yes. At the time I wrote this guide, Topo was completely free to use.
Final Thoughts
At first, I thought I could use Topo as a general camera management application to connect some of my security cameras using RTSP.
However, after installing and testing it, I realized that wasn’t the case.
After installing Topo on my PC, I found that it works mainly as a bridge to Tapo’s cloud service. This means you’ll need an existing Tapo account and cameras already connected to the Tapo cloud before you can use it. The main advantage of TOPO is that it lets you view your Tapo camera feeds on a much larger screen. You can also play back and download video recordings stored on your Tapo cameras’ SD cards.
I hope this guide has been helpful and makes it easier for you to install Topo on your Ubuntu PC.