Joker TV, Linux/OSx/Windows drivers and apps

Hello All,

Compile driver and apps from sources

If you are looking for an already compiled (binary) drivers and apps please use this link.

If you are looking for compilation manual for Windows please use this link.

If you are looking for compilation manual for Mac(OSx) please use this link.

Compilation steps for Linux

Install dependencies first (example for Ubuntu/Debian Linux)

sudo apt install git cmake build-essential automake autoconf libtool pkg-config libudev-dev libxml2-dev

then compile drivers and apps:

git clone
cd libjokertv
mkdir build
cd build
cmake ../

Software description

Actually there is no special kernel-level driver – I’m using libusb-1.0 library to access USB device. So, to use “Joker TV” you don’t need to install drivers, just run application. This helps users to eliminate the driver installation steps and reduce complexity of their “Joker TV” usage.

The Tuner and Demodulators part is copied from Linux kernel media source code. A separate folder linux contains this code. Actually this code does not require any special changes to compile in a user-level environment. Potentially we can be faced with a “diverged” code but I’ll do my best to keep this code in sync with the Linux kernel code.

joker-tv app usage

joker-tv (joker-tv.exe) is the main application to interact with your Joker TV device. This application can start tuning and save the resulting Transport Stream to an output file.

Example screenshot with tuning to ATSC

Here is some help from joker-tv app:

# ./joker-tv -h
joker-tv usage: 
 -d delsys Delivery system. Options: 
 11-ATSC 5-DVB-S 1-DVB-C 3-DVB-T 16-DVB-T2 8-ISDB-T 13-DTMB
 -m modulation Modulation. Options: 
 7-VSB8 (for ATSC) 0-AUTO
 -f freq Frequency in Hz. Example: 1402000000
 -s symbol_rate Symbol rate. Options: 0-AUTO. Example: 20000000
 -b bandwidth Bandwidth in Hz. Example: 8000000
 -o filename Output TS filename. Default: out.ts
 -t Enable TS generator. Default: disabled
 -n Disable TS data processing. Default: enabled
 -u level Libusb verbose level (0 - less, 4 - more verbose). Default: 0
 -w filename Update firmware on flash. Default: none

Tune to DVB-C on 150MHz with bandwidth 8MHz

./joker-tv -d 1 -f 150000000 -b 8000000

Tune to ATSC on 575MHz with bandwidth 6MHz and modulation 8VSB

./joker-tv -d 11 -f 575000000 -b 6000000 -m 7

Tune to DVB-T on 650MHz with bandwidth 8MHz

./joker-tv -d 3 -f 650000000 -b 8000000

Tune to ISDB-T on 473MHz with bandwidth 6MHz

./joker-tv -d 8 -f 473000000 -b 6000000

Tune to DTMB on 650MHz

./joker-tv -d 13 -f 650000000

TS stream generator

FPGA firmware has built-in TS stream generator. Generated TS has specially prepared content with predefined pattern, so we can check data correctness on the host’s side. To activate the TS generator use following command:

./joker-tv -t

generated TS will be saved into ‘out.ts’ file. Check the TS stream correctness with following command:

./tscheck -f out.ts -p

Leave a Reply

Your email address will not be published. Required fields are marked *