RÚV apps for Samsung TV

August 6, 2026 · View on GitHub

Unsigned Tizen packages for these Samsung TV apps, published so you can sign them with your own Samsung developer certificate and install them on your own TV.

These apps are built for the public services of RÚV, the Icelandic national broadcaster. They are independently developed and are not affiliated with, endorsed by, or published by RÚV.

AppAssetWhat it is
SarpurRUVVod.wgtThe main RÚV catalogue
BarnaefniRUVKids.wgtChildren's programming
UngRÚVRUVUng.wgtTeen programming
MenntaRÚVRUVMennta.wgtEducational programming
ÚtvarpRUVUtvarp.wgtRadio, live and on demand

Download them from Releases.

Why these are unsigned

A Samsung distributor certificate names the exact televisions it may install on, by device id (DUID). A package signed by us could only ever install on our TVs. So we ship the packages unsigned and you sign them, which binds them to your sets.

This is not a workaround. It is the only arrangement that can work, and it means no signing key of ours ever needs to exist in a build server.

Before you start

Your TV needs developer mode, and there is no way to enable it remotely. Do this on each TV:

  1. Open the Apps screen.
  2. Press 1 2 3 4 5 on the remote. A dialog appears.
  3. Set Developer mode to On.
  4. Enter the IP address of the computer you will install from.
  5. Restart the TV.

Two things people get wrong here:

  • The IP is your computer's, not the TV's.
  • If your computer's IP later changes (most home routers hand out addresses by DHCP), installation stops working until you come back and update this field.

You will also need your TV's IP address: Settings > General > Network > Network Status > IP Settings.


Path A: Apps2Samsung (recommended)

Apps2Samsung is a free, open-source, cross-platform installer that handles TV discovery, certificate creation, signing and installation for you. It runs on Windows, macOS, Linux and Android.

  1. Download and run Apps2Samsung.
  2. Let it find your TV, or enter the IP.
  3. Choose custom .wgt and select the app you downloaded from our Releases page.
  4. Install.

It will ask you to sign in to a Samsung account the first time, because Samsung issues the certificate and there is no way around that.


Path B: Tizen CLI by hand

Use this if you prefer the command line, are scripting a fleet, or Apps2Samsung will not run on your machine. It is more work but nothing here is mysterious.

1. Install the Tizen SDK CLI

You do not need the full Tizen Studio IDE. The CLI-only installer is a few hundred MB:

OSInstaller
Windowsweb-cli_Tizen_SDK_10.0_windows-64.exe
Linuxweb-cli_Tizen_SDK_10.0_ubuntu-64.bin
macOSweb-cli_Tizen_SDK_10.0_macos-64.bin

These are x86_64 only. On Apple Silicon it runs under Rosetta.

Unattended install:

chmod +x web-cli_Tizen_SDK_10.0_ubuntu-64.bin
./web-cli_Tizen_SDK_10.0_ubuntu-64.bin --accept-license --no-java-check ~/tizen-studio

Then add ~/tizen-studio/tools and ~/tizen-studio/tools/ide/bin to your PATH.

You do not need to install Java. Tizen Studio has bundled its own JDK since 3.7, and the CLI finds it without JAVA_HOME being set. If a tutorial tells you to install a JDK, ignore it.

Check it worked:

tizen version

2. Install the Samsung Certificate Extension

package-manager-cli install --accept-license --no-java-check "Samsung Certificate Extension"

It is a default extension source, so nothing needs configuring first. Run package-manager-cli show-pkgs if you want to see the exact package names available to you.

3. Connect every TV first

This step is not optional and the reason is not obvious. Connect all of your TVs before creating the certificate, because the certificate creation screen fills in the device list from whatever is connected. A TV that is switched off now will be missing from the certificate, and adding it later means issuing a whole new certificate.

sdb connect 192.168.1.7:26101
sdb devices

sdb devices should list each TV with a name like QE55LS03AAUXXC. If it does not, see Troubleshooting.

4. Create your certificate

tizen-studio/tools/certificate-manager/certificate-manager

In the wizard:

  1. Choose Samsung, and device type TV.
  2. Sign in with your Samsung account. This is unavoidable: Samsung's CA issues both certificates.
  3. Create an author certificate. Remember the password.
  4. Create a distributor certificate. The DUIDs of your connected TVs are filled in for you. Check that every TV you care about is listed.
  5. Finish. The profile is registered automatically.

A certificate covers roughly 10 devices and is valid for one year.

Confirm it registered:

tizen security-profiles list

5. Sign the package

mkdir -p signed
tizen package -t wgt -s <your-profile-name> -o signed -- RUVVod.wgt

Three things worth knowing, because each one has bitten people:

  • -o takes a directory, not a filename. If you leave -o out, the downloaded file is overwritten in place.
  • The signed file is named from the app's display name, so you get Sarpur.wgt, not RUVVod.wgt. Three of the apps have accented names.
  • tizen package exits 0 even when it fails. Do not trust the exit code. Check the result:
unzip -l signed/*.wgt | grep -E 'author-signature.xml|signature1.xml'

Both files must be present. If they are not, the package is unsigned and will not install.

6. Permit the TV, then install

tizen security-profiles set-active -n <your-profile-name>
tizen install-permit -t <device-name>
tizen install -n "Sarpur.wgt" -t <device-name> -- signed

install-permit pushes your certificate's device profile to the TV. It reads whichever profile is active, which is why set-active comes first. It also prints its errors without failing, so look for Install Permitted in the output rather than trusting the exit code.


Verifying your download

Every release ships SHA256SUMS and a manifest.json:

sha256sum -c SHA256SUMS

manifest.json carries each app's id, version, size and digest, and is the file to parse if you are scripting this.

Troubleshooting

SymptomCause and fix
install failed[118, -12] ... Invalid certificate chain with certificate in signatureThe TV is not covered by your certificate, or you skipped install-permit. Run sdb shell 0 getduid on the TV and confirm that id is in your certificate. If it is not, reissue the certificate with the TV connected.
sdb connect says failed, or the TV is not listedDeveloper mode is off, the TV was not restarted after enabling it, or the host PC IP stored on the TV no longer matches your computer's current IP.
Install fails on Sarpur specifically, but works for the othersSarpur has also been published to the Samsung store. A store-installed copy is signed with a different certificate and cannot be replaced in place. Uninstall it from the TV's Apps menu first.
The app installs but will not start, weeks laterCertificates last one year and TVs enforce it. Reissue and reinstall.
Nothing found when scanning the networkSome networks isolate wireless clients from each other. Connect the computer to the same network segment as the TV, or address the TV by IP directly.

How releases work

Releases are named by date, YYYY.MM.DD, with a time suffix when a day has more than one. Each is built automatically from the app source and published here. The packages are always unsigned.

Further reading

The docs/ directory contains the research behind all of this, including material that is not documented by Samsung anywhere:

DocumentContents
GROUND-TRUTH.mdStart here. Verified facts about the toolchain, with how each was established, and a table of corrections to earlier assumptions
SAMSUNG-CERT-PROTOCOL.mdHow Samsung's certificate issuance actually works, recovered from the shipped tooling
PERMIT-TO-INSTALL.mdWhat "Permit to install applications" really does
ARCHITECTURE.mdThe install pipeline and the constraints that shape it
CI-DESIGN.mdHow these packages are built and published
FEASIBILITY.mdThe original research. Partly superseded, see its header
IDEMPOTENCY.mdWhy a TV that was switched off cannot simply be added later. Otherwise superseded

Where any of these disagree with GROUND-TRUTH.md, that file wins.

Licence and affiliation

The packaging and documentation in this repository are covered by LICENSE. The applications themselves remain the property of their author, K65 Digital.

These apps are not affiliated with, endorsed by, or published by RÚV. They are an independent client for RÚV's public services. All programming, trademarks and content belong to RÚV. If you want RÚV's own apps, get them from RÚV.