[Feature Request] USB-C Direct Netplay Mode (Inspired by the Gameboy Link Cable)
Nobody has claimed this yet.
- 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
- Two Android/Linux handhelds are connected using a USB-C cable.
- RetroArch detects the connection automatically.
- A point-to-point network interface is created over USB.
- Users can start a netplay session directly through this connection.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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