Skip to content

Instantly share code, notes, and snippets.

@phongphuhanam
Forked from SayantanRC/jellyfin-samsung.md
Created February 8, 2025 14:18
Show Gist options
  • Save phongphuhanam/977dc2c895d59336da01720394f8fb70 to your computer and use it in GitHub Desktop.
Save phongphuhanam/977dc2c895d59336da01720394f8fb70 to your computer and use it in GitHub Desktop.
Sign Jellyfin for Samsung TVs

Prerequisite

This guide is based on using an Ubuntu VM. The whole process will take several hours when doing for the first time. I faced issues with Windows 11, but you are free to try it. There are helpful comments below for Windows users.

Please read all the steps first before proceeding.

Steps

  1. Get ubuntu 18.04 LTS. Create a VM if needed.

  2. Install Tizen Studio from here: https://developer.tizen.org/development/tizen-studio/download

  3. Run the .bin file from terminal

    chmod +x ~/Downloads/web-ide_Tizen_Studio_5.6_ubuntu-64.bin
    ./Downloads/web-ide_Tizen_studio_5.6_ubuntu-64.bin
    
  4. Install the following from the Package Manager dialog (this step will require entering the user password several times):

    From Main SDK:

    • 8.0 Tizen

    From Extension SDK

    • TV Extensions-8.0
    • Samsung Certificate Extension
  5. Once the top progress bar hits 100%, close the dialog and launch Tizen Studio. You will get an error - "Failed to start sdb". This is happening because of a lower version of GLIBC in ubuntu 18.04. Close Tizen Studio.

  6. Update to Ubuntu 20.04 LTS This will resolve the GLIBC error. We started from Ubuntu 18.04 because python 2.7 - which is required for Tizen Studio - is not available on Ubuntu 20.04 repos. This we install it first on 18.04, then update the distro to 20.04. Use the following commands (this might take several hours and several confirmations): sudo apt update sudo apt dist-upgrade sudo apt autoremove sudo do-release-upgrade

  7. After reboot, open Tizen Studio. You shouldn't get the SDB error.

  8. Go to Tools -> Certificate Manager. Create a certificate as outlined here: https://developer.samsung.com/smarttv/develop/getting-started/setting-up-sdk/creating-certificates.html Do note down the profile name you entered when creating the certificate.

  9. Connect to the TV:

    • Note down your local IP. In case you are running Ubuntu 20.04 in a VM, note down the local IP of the host, not the VM. This can be found from ip a or hostname -I. The TV should also be on the same network (example - on the same wifi network.)
    • Enable developer mode on Samsung TV. Go to the "Apps" tab, scroll down to the very last, click on "App Settings". Now press the 123 button on the remote, hit the left button on the remote and switch to the numpad, now enter 1 2 3 4 5 and hit Done. This will open the developer mode dialog.
    • Select the "On" button and enter the local IP address previously noted in the "Host PC IP" section. Hit Ok.
    • On Tizen Studio, go to Tools -> Device Manager
    • On the new window, on top right, there will be 3 icons. Click the "Remote Device Manager" icon (middle icon).
    • On the new window, click the + icon, enter a random TV name and the TV IP address. This can be found by logging in to your router page for example. Leave the port be at the default value (26101 for me). Hit "Add". In the list, turn on the "Connection" switch for the TV entry.
    • You should now be able to see a TV device appear in the Device Manager window in the background. It can take a few seconds for the entry to appear. Once it appears, note down the device name (example - UA55DU8300ULXL). Now all windows can be closed.
  10. Get jellyfin WGT file: https://github.com/jeppevinkel/jellyfin-tizen-builds/releases

  11. Sign the WGT file (https://developer.tizen.org/development/tizen-studio/web-tools/cli#Pack_tizen_app):

    ~/tizen-studio/tools/ide/bin/tizen.sh package -t wgt -s <certificate profile name from Step 8> -- <WGT file path>
    

    Example:

    ~/tizen-studio/tools/ide/bin/tizen.sh package -t wgt -s profile_src -- ~/Downloads/Jellyfin-10.9.z-TrueHD.wgt
    
  12. Install the signed file:

    ~/tizen-studio/tools/ide/bin/tizen.sh install -n <WGT file path> -t <device name from Step 9>
    

    Example:

    ~/tizen-studio/tools/ide/bin/tizen.sh install -n ~/Downloads/Jellyfin-10.9.z-TrueHD.wgt -t UA55DU8300ULXL
    
  13. Open Jellyfin from the Apps tab. Close it once, then open again. Now you can login and enjoy.

Kindly Star ⭐ the Gist if it helped you ☺️

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment