Skip to content

Latest commit

 

History

History
165 lines (135 loc) · 6.79 KB

File metadata and controls

165 lines (135 loc) · 6.79 KB

Developer Installation (Linux)

This section describes how to install the app (CLI and GUI) from source.

Note

This is the Linux guide. If you're on Windows (and don't want to use WSL) follow the Windows Installation.

Flatpak and Docker Images are available here

Install CLI

  1. Get the code

    git clone https://codeberg.org/ladaapp/lada.git
    cd lada
  2. Install system dependencies with your system package manager or compile/install from source

    • Python >= 3.12, <= 3.13
    • FFmpeg >= 4.4

Tip

Arch Linux: sudo pacman -Syu python ffmpeg

Ubuntu 25.04: sudo apt install python3.13 python3.13-venv ffmpeg

Ubuntu 24.04: sudo apt install python3.12 python3.12-venv ffmpeg

  1. Create a virtual environment to install python dependencies

    python3 -m venv .venv
    source .venv/bin/activate
  2. Install PyTorch

Tip

Before continuing let's test if the PyTorch installation was successful by checking if your GPU is detected (Skip this step if you're running on CPU)

python -c "import torch ; print(torch.cuda.is_available())"

If this prints True then you're good. It will display False if the GPU is not available to PyTorch. Check your GPU drivers and that you chose the correct PyTorch Installation method for your hardware.

  1. Install python dependencies

    python -m pip install -e '.'
  2. Apply patches

    patch -u -p1 -d .venv/lib/python3.1[23]/site-packages < patches/increase_mms_time_limit.patch
    patch -u -p1 -d .venv/lib/python3.1[23]/site-packages < patches/remove_ultralytics_telemetry.patch
    patch -u -p1 -d .venv/lib/python3.1[23]/site-packages < patches/fix_loading_mmengine_weights_on_torch26_and_higher.diff
  3. Download model weights

    Download the models from the GitHub Releases page into the model_weights directory. The following commands do just that

    wget 'https://huggingface.co/ladaapp/lada/resolve/main/lada_mosaic_detection_model_v3.1_accurate.pt?download=true' -O model_weights/lada_mosaic_detection_model_v3.1_accurate.pt
    wget 'https://huggingface.co/ladaapp/lada/resolve/main/lada_mosaic_detection_model_v3.1_fast.pt?download=true' -O model_weights/lada_mosaic_detection_model_v3.1_fast.pt
    wget 'https://huggingface.co/ladaapp/lada/resolve/main/lada_mosaic_detection_model_v2.pt?download=true' -O model_weights/lada_mosaic_detection_model_v2.pt
    wget 'https://huggingface.co/ladaapp/lada/resolve/main/lada_mosaic_restoration_model_generic_v1.2.pth?download=true' -O model_weights/lada_mosaic_restoration_model_generic_v1.2.pth

    If you're interested in running DeepMosaics' restoration model you can also download their pretrained model clean_youknow_video.pth

    wget 'https://drive.usercontent.google.com/download?id=1ulct4RhRxQp1v5xwEmUH7xz7AK42Oqlw&export=download&confirm=t' -O model_weights/3rd_party/clean_youknow_video.pth

Now you should be able to run the CLI by calling lada-cli.

Tip

Remember: To start Lada always make sure to:

  • cd into the project root directory
  • Activate the virtual environment via source .venv/bin/activate
  • Run lada to start the CLI

Install GUI

  1. Install everything mentioned in Install CLI

  2. Install system dependencies with your system package manager or compile/install from source

    • Gstreamer >= 1.14
    • PyGObject
    • GTK >= 4.0
    • libadwaita >= 1.6 [there is a workaround mentioned below to make it work with older versions]

Tip

Arch Linux:

sudo pacman -Syu python-gobject gtk4 libadwaita gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-plugins-base-libs gst-plugins-bad-libs gst-plugin-gtk4

Ubuntu 25.04:

sudo apt install gcc python3-dev pkg-config libgirepository-2.0-dev libcairo2-dev libadwaita-1-dev gir1.2-gstreamer-1.0
sudo apt install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-pulseaudio gstreamer1.0-alsa gstreamer1.0-tools gstreamer1.0-libav gstreamer1.0-gtk4

Ubuntu 24.04:

sudo apt install gcc python3-dev pkg-config libgirepository-2.0-dev libcairo2-dev libadwaita-1-dev gir1.2-gstreamer-1.0
sudo apt install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-pulseaudio gstreamer1.0-alsa gstreamer1.0-tools gstreamer1.0-libav
#
####### Gstreamer #######
# The gstreamer plugin gtk4 is not available as a binary package in Ubuntu 24.04 so we have to build it ourselves:
# Get the source code
git clone https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git
cd gst-plugins-rs
# Install dependencies necessary to build the plugin
sudo apt  install rustup libssl-dev
rustup default stable
cargo install cargo-c
# Now we can build and install the plugin. Note that we're installing to the system directory, you might want to adjust this to another directory and set set the environment variable GST_PLUGIN_PATH accordingly
cargo cbuild -p gst-plugin-gtk4 --libdir /usr/lib/x86_64-linux-gnu
sudo -E cargo cinstall -p gst-plugin-gtk4 --libdir /usr/lib/x86_64-linux-gnu
# If the following command does not return an error the plugin is correctly installed
gst-inspect-1.0 gtk4paintablesink
#
####### libadwaita #######
# The version of libadwaita in Ubuntu 24.04 repositories is too old. Instead of building the new version the following patch will adjust the code so it's compatible with the version provided by Ubuntu 24.04:
patch -u -p1 -i patches/adw_spinner_to_gtk_spinner.patch
> ```
  1. Install python dependencies
    python -m pip install -e '.[gui]'

Tip

If you intend to hack on the GUI code install also the gui-dev group (--group gui-dev).

Now you should be able to run the GUI by calling lada.

Tip

Remember: To start Lada always make sure to:

  • cd into the project root directory
  • Activate the virtual environment via source .venv/bin/activate
  • Run lada to start the GUI

Install Translations (optional)

If we have a translation file for your language you might want to use it instead of using the app in English.

  1. Install system dependencies

Tip

Arch Linux:

sudo pacman -Syu gettext 

Ubuntu:

sudo apt install gettext
  1. Compile translations
    bash translations/compile_po.sh

The app should now use the translations and be shown in your system language. If not then you may need to set the environment variable LANG (or LANGAUGE) to your preferred language e.g. export LANGUAGE="zh_TW".