libretro / libretro/RetroArch

[Feature request] Support for multiple simultaneous WiFi clients in libretro cores (e.g. melonDS multiplayer)

Open
#18,034 2 comments 1 reaction 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

Summary

This is a feature request regarding RetroArch's current limitation in handling multiple simultaneous WiFi clients for libretro cores that emulate local wireless communication (like melonDS-DS).

Currently, the melonDS-DS core supports local multiplayer over WiFi between two clients on Android or PC using RetroArch. However, when attempting to add a third client (e.g., to play 3-player New Super Mario Bros. DS minigames), RetroArch freezes or becomes unresponsive on that device.

Tested Setup
  • RetroArch Version: 1.21
  • Core: melonDS-DS v1.20 (from libretro)
  • Devices:
    • Host: Samsung Galaxy S23+ (Android 14, mobile hotspot)
    • Client 1: Samsung Galaxy A52 (Android 14)
    • Client 2: PC (Windows 10, RetroArch 1.21)
Problem

RetroArch allows two devices to connect using local WiFi via the core just fine. But a third device attempting to connect causes a freeze or crash, with no error output.

It seems like RetroArch does not currently support handling multiple WiFi socket clients in a way that would allow more than 2 players for libretro cores like melonDS-DS.

Expected Behavior

RetroArch should support more than two WiFi clients connecting to a libretro core that handles local wireless emulation. Alternatively, it should at least reject extra connections cleanly, without freezing.

Why it matters

Games like New Super Mario Bros. DS, Mario Kart DS, and others supported 4-player multiplayer on original hardware. With melonDS cores now capable of simulating WiFi, this limitation prevents full use of that feature in RetroArch.

Request

Please consider:

  • Adding support for more than 2 WiFi-connected libretro cores simultaneously
  • Or implementing a core-level network routing system that can handle local wireless packets between multiple clients

Thank you for the incredible work on RetroArch and for enabling features like this to be possible!

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

No source file, test, or entry point is identified in the issue. Start by reproducing the freeze with a third WiFi client using RetroArch 1.21, melonDS-DS v1.20, and the listed Android/Windows setup, then trace the relevant connection handling. Done means supporting more than two clients or rejecting extra connections without freezing.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
networking
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.