Play Retro Games Club's August games are live! Learn more here.

How to Dock an Android Handheld to a TV

Using an Android Handheld as a TV Console

Let me start this off: I hated making this.

I hated doing this. Docking an Android handheld is such an absolutely abysmal experience that if you can live any other way, you probably should.

But so many people ask me how to do this that I finally sat down and tried to figure out the best way to make it work.

This isn’t going to be a perfect guide, and I wouldn’t necessarily call it beginner-friendly. Android handheld docking has a lot of weird quirks, especially when it comes to controllers, emulator mappings and navigating Android while your handheld is connected to a TV.

But this is the best I’ve been able to figure out, and hopefully this becomes a one-stop resource for getting your Android handheld working as a TV console.

And yes, Android handheld docking. Get your mind out of the gutter.

Table of contents

Before You Start

This guide assumes you’ve already:

  • Set up your Android handheld
  • Installed your emulators
  • Configured your handheld’s controls
  • Got your games working normally

We’re just trying to get everything working after connecting a Bluetooth controller and a TV.

For this guide, I used an AYN Thor and an ASUS ROG Raikiri 2 controller. The Raikiri 2 is an Xbox-style controller, which is important because Android handhelds can use either Xbox or Nintendo-style button layouts depending on the device and settings.

If you’re using a Retroid or AYN handheld, you’re going to have a much easier time with some of this.

What do you need?

You don’t need anything fancy for the dock itself.

A basic USB-C hub with HDMI output, USB ports and power delivery should work. I’m using a USB hub I already had lying around rather than a dedicated handheld dock.

The important part is that the hub provides the connections you need:

  • HDMI
  • USB-C charging
  • USB ports if necessary

Then connect your Bluetooth controller to the handheld.

Set Your Video Output First

If you’re using an AYN or Retroid device, check:

Android Settings > Retroid/Odin/Thor Settings > Video Output Mode

The exact location and name will vary depending on the device.

If your device gives you the option, don’t leave the output mode on Adaptive/Default.

I’ve had issues with things like RetroArch slowing down or behaving strangely when using the adaptive output setting.

For most people, I’d start with:

1080p / 60Hz

You can experiment with higher resolutions and refresh rates if your TV supports them, but 1080p60 is going to be the simplest option for most setups.

Not every Android handheld has these settings, so if you don’t see them, don’t worry about it.

Use a Frontend

I’d also strongly recommend using a frontend when you’re docking your handheld.

You can use whatever you prefer. For this setup, I’m using Daijisho.

The reason is simple: navigating Android itself with a Bluetooth controller can get messy very quickly. A frontend gives you a much more console-like way to launch your games.

That’s really what we’re trying to accomplish here.

The Biggest Problem: Xbox vs Nintendo Controls

This is where things start getting annoying.

My Raikiri 2 is an Xbox-style controller, so its buttons are presented as:

A / B / X / Y

Some Android handhelds are configured to use that same Xbox layout.

Others use a Nintendo layout where the physical buttons are reversed.

And if your handheld is using a Nintendo layout while your Bluetooth controller is using an Xbox layout, you’re going to have problems.

For example:

Xbox A > Nintendo B

Xbox B > Nintendo A

And suddenly every emulator thinks you’ve pressed the wrong button.

AYN and Retroid have a useful solution

On many newer AYN and Retroid devices, you can set a different controller layout on a per-app basis.

Usually you can swipe in from the right side of the screen to open the device’s floating controls menu.

You’ll need the floating icon enabled for this.

From there, you can tell individual apps to use the Xbox-style controller layout.

On newer devices, you can generally make the floating icon transparent if you don’t want to see it constantly.

This is much easier than changing the controller layout for the entire device.

For the rest of this guide, whenever I recommend using a per-app Xbox profile, this is what I’m talking about.

Dolphin

Open:

Settings > GameCube Input > Settings cog

Enable:

Create Mappings for Other Devices

This allows Dolphin to use other connected controllers.

If you haven’t already mapped your handheld, map those controls first.

Then, for each button:

  1. Select the three-dot menu next to the existing mapping.
  2. Add the separator/OR option.
  3. Select your Bluetooth controller from the Device dropdown.
  4. Select the corresponding button.
  5. Repeat for every button.

For example, on an Xbox controller, the B button normally corresponds to A on a GameCube controller.

Once everything is mapped, save the profile and give it a name.

You can then use either your handheld’s controls or your Bluetooth controller.

The downside

Dolphin doesn’t give you a particularly good way to create a controller hotkey for exiting the game.

So you’ll probably still need to use the handheld itself to get back out of the game.

NetherSX2 and DuckStation

These two work in basically the same way.

Go to:

Settings > Controller Settings > Controller Port 1

Map your handheld controls if you haven’t already.

Then press and hold each mapping, select Add New, and map your Bluetooth controller to that same input.

You can do the same thing in the Hotkeys section.

This is one of the easier emulator setups.

Eden

Unfortunately, Eden doesn’t give you much of a shortcut here.

Open:

Settings > Controls > Player 1

Then use:

Auto-map a Controller

Choose your handheld or Bluetooth controller.

Unfortunately, you’ll generally need to do this again when switching between your handheld and Bluetooth controller.

And while you’re docked, there isn’t a particularly good way to open the in-game menu or exit the game using the Bluetooth controller.

RetroArch

RetroArch is one where I strongly recommend using a per-app Xbox controller profile if your device supports it.

If you have an AYN or Retroid device that can automatically translate the controls, this can make things dramatically easier.

Otherwise, configure your handheld normally under:

Settings > Input > RetroPad Binds > Port 1 Controls

Then make sure you:

Save Controller Profile

Close RetroArch.

Reconnect/use only your Bluetooth controller, then repeat the mapping process and save another controller profile.

The hotkey problem

This is where Nintendo-style handheld layouts become a pain.

If your handheld and Bluetooth controller are both using Xbox-style controls, your hotkeys should generally line up.

If the handheld uses Nintendo controls, the hotkeys won’t necessarily translate correctly.

There are workarounds, but they’re extremely convoluted and aren’t something I’d recommend trying to explain here.

If you’re running into this specific problem, see my RetroArch controller mapping guide for the more complicated solution.

Azahar

Again, this is another emulator where a per-app Xbox controller profile makes life much easier.

With the Xbox layout enabled, go to:

Settings > Gamepad > Auto-Map Controller

Choose your handheld.

Your Bluetooth controller should then work with the correct button layout.

Without the Xbox profile, you’ll run into the same Nintendo/Xbox problem:

A becomes B, B becomes A, etc.

Hotkeys

Unfortunately, hotkeys are device-specific, so there isn’t a particularly clean way to have them automatically switch between the handheld and Bluetooth controller.

Flycast

Flycast is easy.

Go to:

Settings > Controls

Then press a button on your Bluetooth controller.

Flycast should recognize the controller, and if you’re using an Xbox controller, it should automatically map the buttons correctly.

You can then add your hotkeys.

Flycast keeps separate mappings for different controllers, which makes this considerably easier.

GameNative

This one is refreshingly simple.

It just works.

Connect your Bluetooth controller and start the game.

There’s no additional controller configuration needed in my testing.

Interestingly, the Xbox button also works here.

The first press opens the in-game menu. Pressing it again minimizes GameNative.

If that happens, back out of the in-game menu and press A to return to the game.

MelonDS/MelonDualDS/WatermelonDS

If your device supports per-app Xbox controller profiles, use one here.

Then, as long as you’ve already mapped your handheld under:

Settings > Input > Key Mapping

the Bluetooth controller should work properly.

Without the Xbox profile, you’ll run into the familiar:

A = B / B = A

problem.

Unfortunately, there’s no good way to independently correct the Bluetooth controller’s button layout.

PPSSPP

Again, a per-app Xbox controller profile makes this easy.

As long as you’ve already mapped your handheld controls, the Bluetooth controller should work.

If you don’t have access to per-app Xbox profiles:

Settings > Controls > Control Mapping

Then use the + button next to any controls that aren’t mapped correctly.

In most cases, you’ll only need to correct the ABXY buttons.

M64Plus FZ

If you can use a per-app Xbox controller profile, do it.

As long as you’ve already configured your handheld controls in M64Plus FZ, both controllers should work correctly.

Unfortunately, I couldn’t find a good way to create separate mappings for the Bluetooth controller otherwise.

That means you’ll run into the same Nintendo/Xbox button problem.

Don’t Use the Xbox Button to Exit Games

One final thing to keep in mind:

If your controller has an Xbox button, don’t assume that minimizing an emulator means you’ve actually closed the game.

In some cases, pressing the Xbox button will minimize the emulator rather than properly exiting it.

You want to properly exit your emulator whenever possible.

Force-closing or leaving games running in the background can cause problems with saves, and many frontends don’t like trying to launch another game while the previous emulator is still running.

The Problem With Docking Android Handhelds

Once you’ve got the games and controller working, there’s still one major problem:

Android itself.

Things like:

  • Opening the Android notification panel
  • Navigating Android settings
  • Switching apps
  • Getting back to the home screen
  • Managing Bluetooth
  • Changing settings
  • Using touch-only interfaces

can become significantly more annoying when you’re sitting across the room with a controller.

That’s why I strongly recommend treating this setup as:

Frontend > game > play

rather than trying to use your Android handheld as a completely controller-operated Android TV box.

The more you have to interact with Android itself, the more frustrating the experience becomes.

So, Is Docking an Android Handheld Worth It?

Honestly?

Not really.

At least, not compared to using something designed around the experience.

Once everything is configured, it works. You can have your handheld sitting beside your TV, connect a Bluetooth controller, launch your frontend and play your games.

But getting there involves enough controller mapping, Android quirks and emulator-specific nonsense that I wouldn’t recommend it unless you specifically want to use your handheld this way.

That said, if you already own an Android handheld and want to turn it into a TV console, this should get you most of the way there.

And if you’ve found a better solution for one of these emulators, let me know. This is one of those guides where I’m more than happy to steal better ideas from the community.

I did my best. Stop yelling at me.

Related

Play Retro Games Club's August games are live! Learn more here. Game of the Week, Game of the Month, Romhack of the Month & Game of the Season

Leave a comment

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