Running CHIRP on Linux¶
- Table of contents
- Running CHIRP on Linux
- 1. Install distro packages
- 2. Install CHIRP (and Python dependencies)
- 2.1 For distros without the managed flag (Ubuntu 22.10, Debian 10 and earlier)
- 2.2 For distros with the managed flag (Ubuntu 23.04, Debian 11 and later)
- 3. Run chirp
- 4. Update Chirp
- Serial port permissions
This page describes how to get the newer python3-based CHIRP-next running on Linux.
1. Install distro packages¶
Debian, Ubuntu, Mint, Raspbian, etc¶
sudo apt install git python3-wxgtk4.0 python3-serial python3-six python3-future python3-requests python3-pip
Fedora and compatible¶
This was tested on Fedora 37 with python 3.11. The same procedure should work on all current versions of fedora running python3.
sudo dnf install python3-pip python3-wxpython4 python3-pyserial python3-yattag python3-future python3-wheel
2. Install CHIRP (and Python dependencies)¶
The next steps should work for all versions of Linux using pip, assuming you have the base dependencies from the distro installed above.
2.1 For distros without the managed flag (Ubuntu 22.10, Debian 10 and earlier)¶
pip to install chirp as your regular user.
Download the latest
.whl (recommended) file then install it with
pip. For example:
pip install ./chirp-20230509-py3-none-any.whl
2.2 For distros with the managed flag (Ubuntu 23.04, Debian 11 and later)¶
You must use
pipx to install chirp separated from the system python environment. However, because some libraries from the system environment are required (packages from above) you must use the flag to enable their use. Use of the wheel download is recommended.
# sudo apt install pipx # OR # sudo dnf install pipx pipx install --system-site-packages ./chirp-20230509-py3-none-any.whl
3. Run chirp¶
Now you can run chirp once from the command line with:
The first time chirp is launched it should pop up a prompt to add a
.desktop file for the current user. Select yes if you want to have the icon installed into the application menu (the activities menu in gnome) to launch chirp.
If you want to run chirp from the command line and simply using
chirp does not work please check your
PATH to verify it is complete. If not that can be fixed by editing
~/.bash_profile to add that to the existing
$PATH. If the
PATH is configured properly then chirp should be able to launch with the
chirp command. Common locations would be
Following the steps above (without
sudo) installs the app as a user level app and it will only be accessible to that user. Using
sudo for a system-wide installation is deprecated and not recommended on modern distros.
4. Update Chirp¶
Once chirp is properly installed, upgrades to newer versions are done with two simple steps:
- Download the newer file.
pip install --upgrade ./chirp-<version>.whl
pipx users will need to uninstall the old version before installing the new one.
Serial port permissions¶
Note that you may need to add your users who want to use CHIRP to the group that owns the serial ports. This issue is often indicated by an "access denied" error when accessing serial port. First determine the USB port of your device, and then the following command should add your user to the proper group:
Note that "ttyUSB0" should be replaced with the actual device that identifies your connection to the radio and that "$USER" is a system variable that identifies the username of the individual running the command.
sudo usermod -a -G $(stat -c %G /dev/ttyUSB0) $USER
If that made a change, you will then need to log out and back in (or maybe even reboot) for it to take effect.
You may want to install a newer wxPython, depending on what your distro ships. For Debian-derived distros (including Ubuntu and Mint) you can do that with a command like:
pip3 install -U -f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-20.04 wxPython
This is only recommended for older distros, like Ubuntu 20.04.
Check the directory listing for other distro versions and use the closest match to what you're on. NOTE that this will not work for non-x86_64 machines (like the Raspberry Pi) as there are no binary builds for those platforms.