Wormhole Display is een open-source project dat Meta Portal-apparaten transformeert in AirPlay-compatibele ontvangers. Hierdoor kunnen gebruikers hun Mac, iPhone of iPad draadloos spiegelen of een uitgebreid scherm creëren op de hardware van de Portal, inclusief ondersteuning voor audio via de ingebouwde luidsprekers.
Belangrijkste kenmerken:
- Brede compatibiliteit: Ondersteunt diverse modellen zoals de Portal+, Portal Mini, Portal Go en Portal TV.
- Flexibele weergave: Biedt ondersteuning voor zowel spiegelen als uitgebreide beeldschermen, met opties voor landschaps- en portretoriëntatie (inclusief automatische detectie op ondersteunde hardware).
- Technische basis: De app maakt gebruik van hardwarematige videodecodering (H.264/HEVC) en is gebaseerd op de C-core van UxPlay.
- Installatie: De software wordt geïnstalleerd via ADB (Android Debug Bridge) en vereist geen root-toegang of Meta-diensten.
Het project is gelicenseerd onder GPLv3 en functioneert uitsluitend binnen het lokale wifi-netwerk.
Wormhole Display
"Een wormgat verbindt twee verre punten in de ruimtetijd. Wormhole Display overbrugt twee ecosystemen die nooit bedoeld waren om met elkaar te communiceren..."
Een tweede leven voor je Portal
Meta Portal-apparaten worden niet langer geproduceerd of verkocht, maar de hardware is nog steeds uitstekend: scherpe schermen, goede luidsprekers en een TV-model dat op elke HDMI-ingang kan worden aangesloten. Wormhole Display verandert een Portal in een scherm dat je Mac, iPhone of iPad direct kan gebruiken via Bedieningscentrum → Schermspiegeling, zowel als uitgebreid scherm als spiegel, inclusief geluid. Op het verzendende apparaat hoeft niets te worden geïnstalleerd.
Het is een reguliere app die naast Portal OS draait: er is geen root-toegang, geen wijzigingen in de firmware en geen Meta-diensten nodig. De app communiceert uitsluitend met Apple-apparaten op je lokale wifi-netwerk.
Toepassingen per model:
- Portal+ (Gen 2): een uitgebreid scherm van 14″ (2160×1440) met luidsprekers voor je Mac.
- Portal Mini (8″): een compact bureau-scherm dat zowel portret- als landschapsmodus ondersteunt.
- Portal Go: een draadloos scherm op batterij die je van kamer naar kamer kunt meenemen.
- Portal TV: verandert je tv in een doelwit voor schermspiegeling, te bedienen met de Portal TV-afstandsbediening.
Wormhole Display is een onafhankelijk community-project en is niet gelieerd aan Meta of Apple (zie de juridische sectie).
Functies
- Zichtbaar als AirPlay-scherm: Je Portal verschijnt in Schermspiegeling als Wormhole Plus, Wormhole Go of Wormhole TV, of onder een naam die jij kiest.
- Uitgebreid scherm of spiegelen: macOS kan de Portal gebruiken als tweede scherm, geadverteerd op de native resolutie en verversingssnelheid van het paneel.
- Portret- & landschapsoriëntatie: Kies tussen Landschap (breedbeeld), Portret (hoog) of Automatische detectie. Bij hardware die kan draaien (zoals de Portal Mini) gebruikt de automatische modus de kantelsensor van het apparaat om de AirPlay-geometrie automatisch aan te passen wanneer je het scherm fysiek draait. Modellen met een vaste standaard (Portal TV, Portal Go, Portal+ Gen 2) staan standaard op Landschap, maar handmatige selectie voor Portret is mogelijk.
- Hardwarematige videodecodering: H.264 via de hardwaredecoder van de Portal, met experimentele HEVC-ondersteuning voor verzenders die dit ondersteunen.
- Geluid via de Portal: Audio wordt afgespeeld via de luidsprekers van de Portal en kan worden gedempt via het dashboard.
- Automatisch openen bij verbinding: De ontvanger blijft op de achtergrond beschikbaar en schakelt naar volledig scherm zodra een stream start. De app kan ook worden ingesteld om te starten bij het opstarten van de Portal.
- Verbinding verbreken via Terug- of Home-knop: Het verlaten van de stream op de Portal beëindigt de sessie ook op je Mac of iPhone.
- Meerdere Portals in één netwerk: Elk apparaat heeft een eigen identiteit, zodat bijvoorbeeld een Portal+ en een Portal TV gelijktijdig beschikbaar kunnen zijn.
- Afstandsbediening-vriendelijk op Portal TV: Volledige D-pad navigatie met duidelijke focus-indicatoren.
- Dashboard en statistieken: Netwerkdetails, aanbevolen resoluties, recente verbindingen en een optionele on-screen overlay met statistieken (FPS, bitrate, codec).
Compatibiliteit
De software is getest op de volgende apparaten:
| Apparaat | Scherm | Audio | Oriëntatie | Invoer |
| Portal+ (Gen 2) | 14″ 2160×1440 (3:2), 60 Hz | Stereo + subwoofer | Vaste kanteling (Standaard Landschap, handmatige Portret) | Touch |
| Portal Mini (8″) | 8″ 1280×800 (16:10), 60 Hz | Stereo | Dubbele oriëntatie (Auto & handmatig) | Touch |
| Portal Go | 10.1″ 1280×800 (16:10), 60 Hz | Stereo, op batterij | Vaste wig (Standaard Landschap, handmatige Portret) | Touch |
| Portal TV | TV via HDMI, 1080p (16:9), 60 Hz | TV of soundbar via HDMI | Vast (Standaard Landschap, handmatige Portret) | Afstandsbediening (D-pad) |
Andere Portal-modellen zijn nog niet getest; rapportages zijn welkom. Andere Android 9+ (API 28+) 64-bit ARM-apparaten kunnen mogelijk ook werken, maar zijn niet getest.
Je Portal instellen
1. Bereid je Portal voor
Voor het installeren van de app is ADB (Android Debug Bridge) toegang tot je Portal nodig. Volg de officiële handleiding van Meta, Set up your device, om ADB in de instellingen van de Portal in te schakelen en deze via USB-C met je computer te verbinden. Je hebt ook de Android SDK Platform-Tools van Google nodig, waarin adb is opgenomen.
Controleer de verbinding met: adb devices Je Portal moet in de lijst verschijnen als device.
2. De app installeren
Download wormhole-display.apk van de nieuwste vX.Y.Z release op de Releases-pagina van deze repository (de nieuwste pre-release is een automatische build van de main branch) en installeer deze vervolgens:
adb install -r wormhole-display.apk
3. Eerste start
Open Wormhole Display vanuit de app-lijst van de Portal (op Portal TV gebruik je de apps-rij met de afstandsbediening). Tik op het dashboard op Allow naast Auto-open on connect en schakel Display over other apps in. Android staat de ontvanger alleen toe zichzelf op de voorgrond te plaatsen voor een inkomende stream met deze toestemming; zonder deze permissie speelt de stream nog steeds, maar moet je de app handmatig openen.
Laat Run in Background ingeschakeld, zodat je Portal beschikbaar blijft in Schermspiegeling nadat je de app sluit.
Verbinding maken
Vanaf een Mac
Zorg ervoor dat je Mac en Portal op hetzelfde wifi-netwerk zitten. Open Bedieningscentrum → Schermspiegeling en kies je Portal:
- Wormhole Plus: Portal+ (2160×1440, 3:2)
- Wormhole Go: Portal Go (1280×800, 16:10)
- Wormhole TV: Portal TV (1080p, 16:9)
Kies in Systeeminstellingen → Beeldschermen voor Uitgebreid scherm of Spiegelen. Schakel Alle resoluties tonen in om een exacte native modus te kiezen en zwarte randen (letterboxing) te voorkomen.
Vanaf een iPhone of iPad
Open Bedieningscentrum → Schermspiegeling en kies je Portal.
Een sessie beëindigen
Druk op Terug of Home op de Portal, of stop de schermspiegeling op je Mac, iPhone of iPad.
Bouwen vanuit broncode
Vereisten:
- JDK 17
- Android SDK (
ANDROID_HOME moet verwijzen naar je SDK-directory)
- Android NDK r27d (alleen nodig bij wijzigingen in native C-code; vooraf gebouwde statische bibliotheken voor OpenSSL en libplist staan in
app/src/main/cpp/deps/)
Build-commando's:
# Bouw de APK (output naar dist/wormhole-display.apk)
./scripts/build.sh
# Installeer en start op een verbonden Portal
adb install -r dist/wormhole-display.apk
adb shell am start -n io.github.pgodlews.wormhole/.MainActivity
Details over het protocol, notities voor bijdragers en probleemoplossing staan in AGENTS.md en docs/architecture.md.
Hoe het werkt
Wormhole Display is gebouwd op een Android-port van de C-core van UxPlay (RTSP/RAOP, pairing, AES-decryptie en een ingebouwde mDNS-responder). De desktop GStreamer-pipelines van UxPlay zijn vervangen door Android's hardware MediaCodec voor video en low-latency AudioTrack voor audio.
Beveiliging
Wormhole Display accepteert schermspiegelingsverbindingen van elk apparaat op je lokale netwerk, zonder pincode of wachtwoord. Gebruik de app alleen op netwerken die je vertrouwt.
Juridische disclaimers & handelsmerken
Disclaimer over niet-affiliatie
Wormhole Display is een onafhankelijk, door de community ontwikkeld open-source softwareproject. Het is niet geproduceerd, onderschreven, gesponsord, gelieerd aan of ondersteund door Apple Inc. of Meta Platforms, Inc.
Nominatief Fair Use
Apple, AirPlay, macOS, iOS, Mac, MacBook, Retina en Bonjour zijn handelsmerken of geregistreerde handelsmerken van Apple Inc. in de Verenigde Staten en andere landen. Meta, Portal, Portal+, Portal Go en Portal TV zijn handelsmerken of geregistreerde handelsmerken van Meta Platforms, Inc. Alle merknamen, handelsmerken, productaanduidingen en logo's in deze repository worden uitsluitend gebruikt onder Nominative Fair Use voor technische identificatie, interoperabiliteit van apparaten en nauwkeurige beschrijvende compatibiliteitsdoeleinden.
Licentie
Copyright © 2026 Piotr Godlewski Wormhole Display is gelicenseerd onder de GNU General Public License v3.0 (GPLv3) — zie LICENSE. Het bouwt voort op UxPlay (GPLv3); gebundelde componenten van derden behouden hun eigen auteursrechten en licenties, zoals vermeld in THIRDPARTYNOTICES.md.
Wormhole Display
"Een wormgat verbindt twee verre punten in de ruimtetijd. Wormhole Display overbrugt twee ecosystemen die nooit bedoeld waren om met elkaar te communiceren..."
Een tweede leven voor je Portal
Meta Portal-apparaten worden niet langer geproduceerd of verkocht, maar de hardware is nog steeds uitstekend: scherpe schermen, goede luidsprekers en een TV-model dat op elke HDMI-ingang kan worden aangesloten. Wormhole Display verandert een Portal in een scherm dat je Mac, iPhone of iPad direct kan gebruiken via Bedieningscentrum → Schermspiegeling, zowel als uitgebreid scherm als spiegel, inclusief geluid. Op het verzendende apparaat hoeft niets te worden geïnstalleerd.
Het is een reguliere app die naast Portal OS draait: er is geen root-toegang, geen wijzigingen in de firmware en geen Meta-diensten nodig. De app communiceert uitsluitend met Apple-apparaten op je lokale wifi-netwerk.
Toepassingen per model:
- Portal+ (Gen 2): een uitgebreid scherm van 14″ (2160×1440) met luidsprekers voor je Mac.
- Portal Mini (8″): een compact bureau-scherm dat zowel portret- als landschapsmodus ondersteunt.
- Portal Go: een draadloos scherm op batterij die je van kamer naar kamer kunt meenemen.
- Portal TV: verandert je tv in een doelwit voor schermspiegeling, te bedienen met de Portal TV-afstandsbediening.
Wormhole Display is een onafhankelijk community-project en is niet gelieerd aan Meta of Apple (zie de juridische sectie).
Functies
- Zichtbaar als AirPlay-scherm: Je Portal verschijnt in Schermspiegeling als Wormhole Plus, Wormhole Go of Wormhole TV, of onder een naam die jij kiest.
- Uitgebreid scherm of spiegelen: macOS kan de Portal gebruiken als tweede scherm, geadverteerd op de native resolutie en verversingssnelheid van het paneel.
- Portret- & landschapsoriëntatie: Kies tussen Landschap (breedbeeld), Portret (hoog) of Automatische detectie. Bij hardware die kan draaien (zoals de Portal Mini) gebruikt de automatische modus de kantelsensor van het apparaat om de AirPlay-geometrie automatisch aan te passen wanneer je het scherm fysiek draait. Modellen met een vaste standaard (Portal TV, Portal Go, Portal+ Gen 2) staan standaard op Landschap, maar handmatige selectie voor Portret is mogelijk.
- Hardwarematige videodecodering: H.264 via de hardwaredecoder van de Portal, met experimentele HEVC-ondersteuning voor verzenders die dit ondersteunen.
- Geluid via de Portal: Audio wordt afgespeeld via de luidsprekers van de Portal en kan worden gedempt via het dashboard.
- Automatisch openen bij verbinding: De ontvanger blijft op de achtergrond beschikbaar en schakelt naar volledig scherm zodra een stream start. De app kan ook worden ingesteld om te starten bij het opstarten van de Portal.
- Verbinding verbreken via Terug- of Home-knop: Het verlaten van de stream op de Portal beëindigt de sessie ook op je Mac of iPhone.
- Meerdere Portals in één netwerk: Elk apparaat heeft een eigen identiteit, zodat bijvoorbeeld een Portal+ en een Portal TV gelijktijdig beschikbaar kunnen zijn.
- Afstandsbediening-vriendelijk op Portal TV: Volledige D-pad navigatie met duidelijke focus-indicatoren.
- Dashboard en statistieken: Netwerkdetails, aanbevolen resoluties, recente verbindingen en een optionele on-screen overlay met statistieken (FPS, bitrate, codec).
Compatibiliteit
De software is getest op de volgende apparaten:
| Apparaat | Scherm | Audio | Oriëntatie | Invoer |
| Portal+ (Gen 2) | 14″ 2160×1440 (3:2), 60 Hz | Stereo + subwoofer | Vaste kanteling (Standaard Landschap, handmatige Portret) | Touch |
| Portal Mini (8″) | 8″ 1280×800 (16:10), 60 Hz | Stereo | Dubbele oriëntatie (Auto & handmatig) | Touch |
| Portal Go | 10.1″ 1280×800 (16:10), 60 Hz | Stereo, op batterij | Vaste wig (Standaard Landschap, handmatige Portret) | Touch |
| Portal TV | TV via HDMI, 1080p (16:9), 60 Hz | TV of soundbar via HDMI | Vast (Standaard Landschap, handmatige Portret) | Afstandsbediening (D-pad) |
Andere Portal-modellen zijn nog niet getest; rapportages zijn welkom. Andere Android 9+ (API 28+) 64-bit ARM-apparaten kunnen mogelijk ook werken, maar zijn niet getest.
Je Portal instellen
1. Bereid je Portal voor
Voor het installeren van de app is ADB (Android Debug Bridge) toegang tot je Portal nodig. Volg de officiële handleiding van Meta, Set up your device, om ADB in de instellingen van de Portal in te schakelen en deze via USB-C met je computer te verbinden. Je hebt ook de Android SDK Platform-Tools van Google nodig, waarin adb is opgenomen.
Controleer de verbinding met: adb devices Je Portal moet in de lijst verschijnen als device.
2. De app installeren
Download wormhole-display.apk van de nieuwste vX.Y.Z release op de Releases-pagina van deze repository (de nieuwste pre-release is een automatische build van de main branch) en installeer deze vervolgens:
adb install -r wormhole-display.apk
3. Eerste start
Open Wormhole Display vanuit de app-lijst van de Portal (op Portal TV gebruik je de apps-rij met de afstandsbediening). Tik op het dashboard op Allow naast Auto-open on connect en schakel Display over other apps in. Android staat de ontvanger alleen toe zichzelf op de voorgrond te plaatsen voor een inkomende stream met deze toestemming; zonder deze permissie speelt de stream nog steeds, maar moet je de app handmatig openen.
Laat Run in Background ingeschakeld, zodat je Portal beschikbaar blijft in Schermspiegeling nadat je de app sluit.
Verbinding maken
Vanaf een Mac
Zorg ervoor dat je Mac en Portal op hetzelfde wifi-netwerk zitten. Open Bedieningscentrum → Schermspiegeling en kies je Portal:
- Wormhole Plus: Portal+ (2160×1440, 3:2)
- Wormhole Go: Portal Go (1280×800, 16:10)
- Wormhole TV: Portal TV (1080p, 16:9)
Kies in Systeeminstellingen → Beeldschermen voor Uitgebreid scherm of Spiegelen. Schakel Alle resoluties tonen in om een exacte native modus te kiezen en zwarte randen (letterboxing) te voorkomen.
Vanaf een iPhone of iPad
Open Bedieningscentrum → Schermspiegeling en kies je Portal.
Een sessie beëindigen
Druk op Terug of Home op de Portal, of stop de schermspiegeling op je Mac, iPhone of iPad.
Bouwen vanuit broncode
Vereisten:
- JDK 17
- Android SDK (
ANDROID_HOME moet verwijzen naar je SDK-directory)
- Android NDK r27d (alleen nodig bij wijzigingen in native C-code; vooraf gebouwde statische bibliotheken voor OpenSSL en libplist staan in
app/src/main/cpp/deps/)
Build-commando's:
# Bouw de APK (output naar dist/wormhole-display.apk)
./scripts/build.sh
# Installeer en start op een verbonden Portal
adb install -r dist/wormhole-display.apk
adb shell am start -n io.github.pgodlews.wormhole/.MainActivity
Details over het protocol, notities voor bijdragers en probleemoplossing staan in AGENTS.md en docs/architecture.md.
Hoe het werkt
Wormhole Display is gebouwd op een Android-port van de C-core van UxPlay (RTSP/RAOP, pairing, AES-decryptie en een ingebouwde mDNS-responder). De desktop GStreamer-pipelines van UxPlay zijn vervangen door Android's hardware MediaCodec voor video en low-latency AudioTrack voor audio.
Beveiliging
Wormhole Display accepteert schermspiegelingsverbindingen van elk apparaat op je lokale netwerk, zonder pincode of wachtwoord. Gebruik de app alleen op netwerken die je vertrouwt.
Juridische disclaimers & handelsmerken
Disclaimer over niet-affiliatie
Wormhole Display is een onafhankelijk, door de community ontwikkeld open-source softwareproject. Het is niet geproduceerd, onderschreven, gesponsord, gelieerd aan of ondersteund door Apple Inc. of Meta Platforms, Inc.
Nominatief Fair Use
Apple, AirPlay, macOS, iOS, Mac, MacBook, Retina en Bonjour zijn handelsmerken of geregistreerde handelsmerken van Apple Inc. in de Verenigde Staten en andere landen. Meta, Portal, Portal+, Portal Go en Portal TV zijn handelsmerken of geregistreerde handelsmerken van Meta Platforms, Inc. Alle merknamen, handelsmerken, productaanduidingen en logo's in deze repository worden uitsluitend gebruikt onder Nominative Fair Use voor technische identificatie, interoperabiliteit van apparaten en nauwkeurige beschrijvende compatibiliteitsdoeleinden.
Licentie
Copyright © 2026 Piotr Godlewski Wormhole Display is gelicenseerd onder de GNU General Public License v3.0 (GPLv3) — zie LICENSE. Het bouwt voort op UxPlay (GPLv3); gebundelde componenten van derden behouden hun eigen auteursrechten en licenties, zoals vermeld in THIRDPARTYNOTICES.md.