OSS

Turning on developer mode on a Vega OS Fire TV Stick

The spotlight on a TV: one photo full screen captioned High five, it shipped, with its category, its time and the counter 2 of 36
On this page
  1. Why bother with a real stick
  2. What you need first
  3. Find the hidden menu
  4. Get the code
  5. Sign in from your computer
  6. Let it reboot
  7. Run your app on it
  8. Turning it off again
  9. When something goes wrong

The Virtual Device on your Mac gets you a long way, but sooner or later you want your app on a real Fire TV Stick: real memory, the real remote, the real screensaver. A Vega OS stick only runs apps from outside the Appstore once it’s in developer mode, and developer mode is tied to your Amazon developer account. The good news is that it’s a one-time thing per device, and it takes about ten minutes.

Why bother with a real stick

The current Vega OS sticks (Fire TV Stick 4K Select, Stick HD and Stick 4K 3rd gen) share one budget: four Cortex-A55 cores at up to 1.7 GHz, a Mali G310 GPU and 1 GB of RAM, according to Amazon’s device specs. Amazon asks apps to stay under 400 MiB of foreground memory. A Mac running the Virtual Device has far more of everything, so the Stick is where you find out whether your app is light enough. Ours is a Stick with Vega OS 2.0, and the Stick screenshots on this blog come from it.

What you need first

  • An Amazon Developer account. The free one is enough.
  • The Vega CLI on your computer. Run vega --version to check it’s there, and vega update to get the latest SDK Manager.
  • The stick and your computer on the same network. Hotel and event Wi-Fi that isolates devices from each other will get in your way here.

Find the hidden menu

Developer options don’t show up until you ask for them, in a very old-school way.

  1. Open Settings: the gear on the Home screen, or hold Home for three seconds and pick it from the quick menu.
  2. Go to My Fire TV → About.
  3. Highlight your device’s name and press the centre button seven times.

You’ll get a little “You are now a developer” notification. Press Back, and Developer options now sits in My Fire TV.

Get the code

Open Developer options → Developer Mode and choose Continue. The TV shows a 6-digit code.

Don’t wander off to make coffee at this point. The code expires after five minutes. If it does, you can ask for a new one on the same screen.

Sign in from your computer

In a terminal:

Terminal
vega devmode login

Your browser opens Amazon’s sign-in page. Once you’re in, the consent screen names the Vega CLI. Choose Allow, and the terminal answers with:

Code
Login successful! You are now authenticated with Amazon Developer Services.

Then hand over the code from the TV:

Terminal
vega devmode enable-device --code 123456

If your account belongs to more than one vendor, the CLI asks you which one to use. When it says ✓ Device enabled successfully, you’re nearly done.

Let it reboot

The stick tells you it’s restarting in three seconds, and does. Leave it alone; you don’t need to do anything.

When it’s back, check two things:

  • On the TV: Settings → My Fire TV → Developer Options → Developer Mode should say Enabled.
  • On your computer: vega device list should show the stick.

For a quick sanity check, vega device shell opens a shell on the device and greets you with a “Welcome to Developer Mode Shell” banner. Don’t expect to roam around in it. Amazon’s guide says this default shell only lets you into /tmp, which is why every command in our Stick testing post writes its screenshots there.

If vega device list comes back empty while the stick is on the network, connect to it by address with the SDK’s vda tool. It isn’t on your PATH, but the CLI knows where it is:

Terminal
$(vega which vda) connect <stick-ip>:5555

After that the stick appears in vega device list, and we passed -d <stick-ip>:5555 to every command instead of the serial.

Run your app on it

Sticks are ARM 32-bit, so build the armv7 package, then install and launch it on the stick by its serial:

Terminal
vega run-app build/armv7-release/tv_armv7.vpkg com.boothwall.app.main -d <device serial>

In our repo the build is pnpm tv:build:release, which makes the armv7 package along with the other two. For BoothWall this is also the only way the TV app gets onto a TV: there’s no store listing. The .vpkg you build carries your own wall’s address from the config, so keep it on your own TVs and don’t publish it.

Two things worth knowing before you start sideloading. You can only install packages whose ID doesn’t start with com.amazon, which is fair enough. And the usual advice applies: a device in developer mode trusts you, so only install what you built.

Turning it off again

You switch developer mode off from the same Developer Mode setting you used to turn it on, and the stick reboots once more. To turn it back on later, you go through the code and the login again. A factory reset does it too, and more besides: Amazon’s guide says it signs the device out of your Amazon account, deregisters it and disables developer mode. If you’re handing a stick back after an event, that’s the clean way to do it.

When something goes wrong

If vega device list doesn’t see the stick, check the network first: both devices have to be on the same one, and guest networks often keep devices apart. If the code timed out or you pressed Cancel somewhere, start again from Developer options. Amazon’s guide also suggests making sure your CLI is the latest version when authentication fails. If you’re still stuck, loggingctl log on the device collects the logs Amazon’s support will ask for.

Amazon’s own developer mode guide walks through the same steps, and we keep our other Vega OS lessons in our field notes.

Just want the wall at your event? BoothWall Cloud is coming soon to run it for you. Get notified