I ‘Fin-ally did it !

Jellyfin has a supported app, however it hasn’t made it into the Samsung store. This is about how to install the Jellyfin app on a Tizen TV.

There are a multitude of posts in the Interwebs about ‘How to install Jellyfin’; this is not another one of those.

Download the Tizen Studio

First, download the appropriate version from:

https://developer.tizen.org/development/tizen-studio/download

Then, install, I used the ‘Tizen Studio 5.6 with IDE installer’ for Ubuntu.

Install Tizen Studio

Resources:

https://docs.tizen.org/application/tizen-studio/setup/install-sdk

First, create an installation location:

mkdir /home/foo/Tizen/

Then, make the download executable:

cd /home/foo/Downloads/

sudo chmod a+x web-ide_Tizen_Studio_5.6_ubuntu-64.bin

Finally, install:

./web-ide_Tizen_Studio_5.6_ubuntu-64.bin

Since the installation process prompts for the SDK and data location.

I set my SDK location to:

/home/foo/Tizen

Then I set my Data location to:

/home/foo/Tizen/tizen-studio-data

A warning:

“This process can take some time…” and has multiple su password prompts.

Wait while the Tizen Studio is installed.

Then, launch the ‘Package Manager’.

Another warning:

“This process can take some time…” and has multiple su password prompts.

Installing the Jellyfin app on a Tizen TV. A screenshot showing the ‘Tizen Studio Package Manager’, ‘Main SDK’ options. Tizen Package Manager Main SDK Options

Install the required extensions

Resources:

https://developer.samsung.com/smarttv/develop/getting-started/setting-up-sdk/installing-tv-sdk.html#Installing-Required-Extensions

In the ‘Extension SDK’ tab:

Download the following:

TV Extensions 8.0

Installing the Jellyfin app on a Tizen TV. A screenshot showing the ‘Tizen Studio Package Manager’, ‘TV Extensions’ in the ‘Extension SDK’ options. Tizen Studio Package Manager – TV Extensions – Extension SDK

Samsung Certificate Extension

Installing the Jellyfin app on a Tizen TV. A screenshot showing the ‘Tizen Studio Package Manager’, ‘Samsung Certificate Extension’ in the ‘Extension SDK’ options. Tizen Studio Package Manager – Certificate Extension – Extension SDK

**Another warning:

“This process can take some time…” and has multiple su password prompts.**

You may want to copy / paste the password, due to there being that many prompts.

In the meantime, go and make a brew, it takes a long time for some reason.

Then, exit the ‘Package Manager’ and launch the ‘Tizen Studio’.

Also, ‘Tizen Studio’ needs a ‘workspace’:

mkdir /home/foo/Tizen/workspace

Then, browse to the ‘workspace’ created and set as ‘Default’.

Setup Tizen certificate(s) in Certificate Manager

Installing the Jellyfin app on a Tizen TV. A screenshot showing the ‘Tizen Certificate Manager’ dialog box. Tizen Certificate Manager Dialog Box

As I had gone through this process quite recently and repeatedly, I imported my existing Certificate(s).

The process of creating a new pair of Certificate(s) needs two additional pieces of information:

  • The TV UDID, which on my device was found at:
    ‘Settings | Support | About this TV’
  • A Samsung Account which I already had

Resources:

https://developer.samsung.com/smarttv/develop/getting-started/setting-up-sdk/creating-certificates.html

First, create a Certificate Profile:

A certificate profile consists of an author certificate and 1 or more distributor certificates.

Installing the Jellyfin app on a Tizen TV. A screenshot showing the initial ‘Tizen Certificate Manager’ dialog box. Initial Tizen Certificate Manager Dialog Box

To create a certificate profile:

In the Tizen Studio menu, select “Tools; Certificate Manager”.

Screenshot showing the ‘Create Certificate Profile’ dialog box. Device Type TV option. Create Certificate Profile – Create a TV Certificate Profile

Then choose the ‘TV’ option, obviously.

Screenshot showing the ‘Create Certificate Profile’ dialog box. Create a new certificate profile’ option. Create Certificate Profile – Create New Certificate Profile

(Even if importing existing certificated, a new profile seems to need creating, the ‘import’ is the the step following this one.)

I already had an ‘author certificate’.

So I chose, ‘Select an existing author certificate’.

Screenshot showing the ‘Create Certificate Profile’ dialog box. Select an existing author certificate option. Create Certificate Profile – Select Existing Author Certificate

Then browsed to its location.

Screenshot showing the ‘Create Certificate Profile’ dialog box, ‘Browse for an Author Certificate option. Create Certificate Profile – Browse for Author Certificate

I already had a ‘distributor certificate’.

So I chose, ‘Select an existing distributor certificate’.

Screenshot showing the ‘Create Certificate Profile’ dialog box, ‘Select and existing distributor certificate’ option. Create Certificate Profile – Existing Distributor Certificate

Success!

Screenshot showing the ‘Create Certificate Profile’ success dialog box. Tizen Certificate Profile Creation Success

More success!

Screenshot showing the Tizen Certificate Manager ‘Tizen Certificate Success’ dialog box. Tizen Certificate Success

Download the Jellyfin App for Tizen

Resources:

https://github.com/jellyfin/jellyfin-tizen

https://github.com/jeppevinkel/jellyfin-tizen-builds/releases

It is entirely possible to download and make an executable which can then be uploaded to the TV.

However, I choose to use the prebuilt ones.

Enable ‘Developer Mode’ on TV

Before an App can be uploaded to the TV, it needs to be in ‘Developer Mode.

On the TV, select the “Apps” panel.

Then, in the “Apps” panel, enter “12345”

For some reason, I had to use the Smart Things App on my phone to successfully complete this step.

Then the developer mode configuration popup will appear.

Switch “Developer mode” to “On”.

Then enter the IP address of the computer that you want to connect to the TV, and click “OK”.

Finally, reboot the TV by holding the power button for a few seconds.

Install the Jellyfin App on a Tizen TV using the SDK

Resources:

https://developer.samsung.com/smarttv/develop/getting-started/setting-up-sdk/installing-tv-sdk.html

Using the SDK ‘Device Manager’ never really worked for me.

Screenshot showing the ‘Tizen Studio Device Manger’ dialog box. Tizen Studio Device Manger

I would always get the following error when trying to upload the Jellyfin package:

Screenshot showing the ‘Tizen Studio App Install Error’ dialog box. Tizen Studio App Install Error

So, plan B.

Use sdb instead.

Install the Jellyfin App on a Tizen TV using SDB

The Tizen Studio comes with sdb.

sdb is the Samsung version of adb.

Enabling sdb

Add sdb to $PATH

Resources:

https://linuxize.com/post/how-to-add-directory-to-path-in-linux/

Use sdb one time

export PATH=/home/foo/Tizen/tools:$PATH

export PATH=/home/foo/Tizen/tools/ide/bin:$PATH

Or, make sdb persistent

Edit:

nano ~/.bashrc

Then, add at the bottom:

# Tizen tools
export PATH=/home/foo/Tizen/tools:$PATH
export PATH=/home/foo/Tizen/tools/ide/bin:$PATH

Then, reload:

source ~/.bashrc

Now you can test (assuming that you know the IP of the TV):

First, connect to the TV:

sdb connect <TV.IP>:26101

Then, see the devices connected and available:

sdb devices

When finished:

sdb disconnect

Now that sdb is working you can upload the Jellyfin package.

First, connect to the TV:

sdb connect <TV.IP>:26101

Then, see the devices connected and available:

sdb devices

Make a note of the ‘tizen_device_id‘, under the ‘List of devices attached’.

In a Terminal, browse to where the Jellyfin package was downloaded to:

cd /path/to/Jellyfin_for_Tizen_Download

Then, install:

tizen install -n Jellyfin_xx.x.x.wgt -t tizen_device_id

Where ‘Jellyfin_xx.x.x.wgt‘ is the version number that was downloaded.

When finished:

sdb disconnect

Finally, a bit of housekeeping.

It is good form to keep the App version number and the Server version number in sync.

In order to find the Server version, in a Terminal:

jellyfin --version

Remember when i said it was a long process?

In conclusion, it’s a bit of a faff to do all of the above when the TV browser can do exactly the same thing.