A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/oyvindln/vhs-decode/wiki/Linux-Build below:

Linux Build · oyvindln/vhs-decode Wiki · GitHub

The README in the main GitHub repository will always be kept up-to-date for current builds and basic user guide help.

Linux Compatibility Doc

Self Contained Binary's: Linux x86

Note

AppImage files need read/write and self execution permissions.

To give the AppImage permissions open terminal in the directory and use:

chmod +x decode.AppImage tbc-tools.AppImage 

Tip

If the files are not named the above just rename them before running the command, all 3 binary packages should be in the same decode folder.

Open a terminal and use the following commands :

Workflow assumes you have the decoder/tools/export in the same folder and at least FFmpeg installed systemwide this normally should be under User/Home/decode.

Run ./decode.AppImage with vhs, ld, cvbs, hifi at the start.

Example: ./decode.AppImage vhs calls vhs-decode, commands are universal.

Run ./tbc-tools.AppImage like any normal GUI app to open ld-analyse, the ld-xxxx tools are used just like Linux via CLI but within the decode folder.

Run ./tbc-video-export.AppImage --tbc-tools-appimage tbc-tools.AppImage for 100% self-contained use (requires FFmpeg installed system-wide)

This is the workflow to manually build the decoders and toolchain.

The vhs-decode repository also has hifi-decode, cvbs-decode & ld-decode included.

Tip

If your having installation problems or want automated installation assistance, use Agent mode with Warp terminal, If it manages to solve an installation issue please make an issue ticket, and post your entire start to finish process dialogue on the terminal so documentation can be updated.

Install all dependencies required by LD-Decode and VHS-Decode:

sudo apt install git qtbase5-dev libqwt-qt5-dev libfftw3-dev libavformat-dev libavcodec-dev libavutil-dev ffmpeg pv pkg-config make cmake sox pipx g++ python3-dev

Install all requirements (redo this after each update)

pip install -r requirements.txt

Install Rust Compiler (required for decode v0.3.5 onwards)

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y

Verify Rust Compiler

source "$HOME/.cargo/env" && echo "Rust version: $(rustc --version)" && echo "Cargo version: $(cargo --version)"

Ubuntu 22.04/Linux Mint 21/Debian may also need this library installed if one wants to use the GUI version of hifi-decode:

sudo apt install libxcb-cursor0

For Arch Linux

pacman -S base-devel git qt5-base qwt fftw ffmpeg pv cmake sox python python-pipx

Note

NixOS Linux has pre-made nur-packages for vhs-decode, cxadc and outer tools within the projects.

Set up pipx

Install TBC-Video-Export

pipx install tbc-video-export

(There is also self-contained builds if install issues arise)

Optional dependencies for GPU (Nvidia Cards) FLAC compression support:

sudo apt install make ocl-icd-opencl-dev mono-runtime

Also Requires FlaLDF Download & Install via .deb for Linux

Note

Debian/ubuntu does not have a qt6 version of qwt in repositories as of yet so you have to inform the build script to use Qt5 if both qt5 and qt6 are installed with -DUSE_QT_VERSION=5 as it might otherwise try to compile with qt6 instead and failing to locate qwt. The option is otherwise not needed.

Note

HiFi-Decode preview function - the python library sounddevice requires portaudio (libportaudio2 on ubuntu) this is not included in the self-contained binaries and has to be installed locally if not already installed. (included with most desktop environments)

Build VHS-Decode & LD-Tools Suite

The vhs-decode repository also has hifi-decode, cvbs-decode, ld-decode included.

Download VHS-Decode:

git clone https://github.com/oyvindln/vhs-decode.git vhs-decode

Install VHS-Decode:

Build and install vhs-decode via pipx, using one of the below scripts.

pipx install .[hifi_gui_qt6]

With Intel specific cpu optimizations If updating or reinstalling, you may need to add the --force flag to overwrite/update the previous installation.
pipx install .[intel,hifi_gui_qt6] --force

Compile and Install ld-tools suite: (Required)

mkdir build2
cd build2
CXXFLAGS="-march=native" CFLAGS="-march=native" cmake .. -DCMAKE_BUILD_TYPE=Release -DUSE_QT_VERSION=5
make -j4
sudo make install

Go back to the main directory with

To update your local repository enter git pull into the terminal while inside the vhs-decode directory, and then do pipx install .[hifi_gui_qt6] --force it will overwrite your previous installation and deploy the current version of the decoders.

To update the tools to the latest version, the steps under "Compile and Install ld-tools suite: (Required)" has to be re-ran after a git pull. The tools are not updated very often.

Note

debian/ubuntu does not have a qt6 version of qwt in repositories as of yet, so you have to inform the build script to use Qt5 if both qt5 and qt6 are installed with -DUSE_QT_VERSION=5 as it might otherwise try to compile with qt6 instead and failing to locate qwt. The option is otherwise not needed.

Go back to the main directory with

To update the decoders and tools do git pull while inside the vhs-decode directory, and repeat the above build & compile steps.

Warning

You may have to add --force when git pull updating i.g pipx install .[hifi_gui_qt6] --force

Binary versions, there is no automatic updates simply check back on the releases page from time to time.

Older builds may have use for testing or understanding, deprecated or older revisions of functions.

Between 2021-2024 there was 2 notable turning points in the building process.

Pre-Pipx switchover

Pre-Cmake switchover

Manually Building Binaries

To have standalone files which can be run without any Python on a destination system the following steps have to be taken.

first install pyinstaller

Within the vhs-decode directory:

Before pyinstaller can be used we have to compile the Cython based part of the project run

python setup.py build_ext --inplace

After that there should be new modules in the vhsdecode subdirectory, for Python3.11 it should look like this

Create binary for vhs-decode by using pyinstaller

pyinstaller vhs-decode

(or if you want it in one file: pyinstaller --onefile vhs-decode)

Create binary for hifi-decode by using pyinstaller

pyinstaller hifi-decode

(or if you want it in one file: pyinstaller --onefile hifi-decode)

Pyinstaller is platform dependent. So compiling on a Windows machine will only give Windows executables. Compiling on Linux only give Linux x86 executable, same applies to Apple X86 and Apple ARM.

Previous Page Home


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4