libretro / libretro/RetroArch

[Feature Request] USB-C Direct Netplay Mode (Inspired by the Gameboy Link Cable)

Open
#19,124 2 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature request
Dominant language
C
Stars
14.1k
Forks
2.2k
Avg merge
7h 35m
Merged PRs (30d)
51

Description

Hello !

Summary

Add support for a USB-C Direct Netplay Mode that allows two Android or Linux handheld devices to play together through a direct USB-C cable connection, without requiring Wi-Fi, a hotspot, or a router.

Motivation

Many retro gamers appreciate the simplicity and reliability of classic handheld multiplayer experiences such as the Game Boy Link Cable.

Current RetroArch netplay requires an IP network connection, typically through Wi-Fi, Ethernet, or a hotspot. While functional, this adds configuration steps and potential wireless latency.

A USB-C Direct Netplay Mode could provide a modern equivalent of the Link Cable experience:

  • Plug two devices together
  • Automatically establish a point-to-point connection without going into an invasive menu
  • Launch netplay instantly
  • No Wi-Fi
  • No hotspot
  • No router
  • Minimal setup
  • "Classic" feeling

Proposed Functionality

  1. Two Android/Linux handhelds are connected using a USB-C cable.
  2. RetroArch detects the connection automatically.
  3. A point-to-point network interface is created over USB.
  4. Users can start a netplay session directly through this connection.
  5. The experience is designed to be as simple as possible, similar to a classic handheld link cable.

Potential Benefits

  • Lower latency than wireless solutions.
  • Improved reliability in environments with poor Wi-Fi.
  • Easier setup for local multiplayer.
  • Attractive feature for retro handheld devices.
  • Recreation of the classic handheld multiplayer experience.

Example Use Cases

  • Gameboy and GBA : Pokémon trading and battles
  • Nintendo DS : Multicard and Download mode
  • NES to N64 : Screen Doubler, Simulate the multiple controlers
  • Gamecube : Screen Doubler,Broadband Network Adapter integration (MK Double Dash), GBA Link integration (Zelda FSA, FF Cristal Chronicles)

Inspiration

The goal is to create a modern version of the Game Boy Link Cable experience using USB-C and existing networking capabilities available on Linux and Android devices, to make the news handhelds perfect modern devices to play on-the-go.

Thank you :)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing RetroArch's existing netplay implementation and the Android/Linux networking capabilities relevant to direct USB-C connections. Determine how a point-to-point interface could be detected and exposed to netplay, then define the user flow and validation needed for two connected handhelds.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, c, linux
Domain
mobile-dev, networking
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.