← Back
shihabal3amri

shihabal3amri/DiPlay

Independent CarPlay receiver for compatible Android head units. Wired and wireless public preview.

View on GitHub ↗https://shihabal3amri.github.io/DiPlay/ ↗
Stars
1.9K
Forks
266
Watchers
1.9K
Open issues
63
Contributors
4
Language
Kotlin
License
GNU General Public License v3.0
Default branch
main
Created Sep 24, 2026Updated Sep 30, 2026

Star growth

Today—
This week—
This month—

Star history will appear here once this repo has been tracked for a couple of days.

README

DiPlay

CarPlay for compatible BYD Android head units. Wired and wireless, with the familiar DiAuto interface. Independent app: com.shihab.diplay.

BYD support scope: These projects focus on BYD cars. They may work on other brands, but other brands are unsupported and there are no plans to add support or fix brand-specific incompatibilities.

Download & website · Release · Report a problem

DiPlay home

0.2.8 — public preview

Install on the car, not the iPhone. No jailbreak, dongle, Mac, account or authentication server is required for use. Core CarPlay does not require ADB; optional dashboard, battery, wheel-speed and parked-video features do. Your head unit must permit APK installation. Wireless supports Wi-Fi Direct or the car’s existing hotspot; Wi-Fi Direct requires Android 10+; the APK supports Android 9+ for wired use.

  • Wired USB and wireless CarPlay with local authentication.
  • BYD HUD navigation with arrows, distance and street names on verified firmware.
  • Car hotspot support, improved audio buffering and saved receive diagnostics.
  • Automatic address discovery, fixed-channel Wi-Fi fallbacks and successful-configuration memory.
  • Icon/text size, resolution and frame rate; applying a display change reconnects CarPlay.
  • Local diagnostic export. Reports are sent only if you choose to share them.
  • Separate installation alongside DiAuto. Run one projection app at a time.

This is not an Apple-certified product. The APK bundles an experimental accessory identity recovered from public Carlinkit firmware, not a newly provisioned MFi identity for DiPlay. A bundled private key is extractable. Acceptance after future iOS updates, reliability across head units and suitability of that identity for general distribution are unresolved. This release invites community testing; it is not a guarantee of universal compatibility.

Earlier releases were tested on the development DiLink5.1 car: live windshield guidance and street names work, Car hotspot now starts CarPlay, and Wi-Fi Direct performance is substantially improved. Occasional audio cutouts remain and are deferred to a later update. The new features were tested on a BYD Tang with DiLink 5.0 and an iPhone 15 Pro on iOS 27; wheel-speed dead reckoning in tunnels remains unverified. Broader head-unit and iOS compatibility is not guaranteed. The HUD firmware scope and cleanup limits are documented in BYD navigation.

What’s new in 0.2.8

  • App interface in English, Simplified Chinese, Arabic, Russian and Spanish; synchronized Android app-language settings.
  • Steering-wheel media controls and long-press Siri on supported BYD firmware while CarPlay is on screen.
  • Dashboard display choices: map, turn card, or both; corrected dashboard keyframe recovery.
  • Optional ADB feature on supported DiLink 5.0: pause the dashboard map stream when its display mode hides the map.
  • Optional ADB battery reporting for Apple Maps, with warning threshold, charging-connector selection and a checked reconnect action.
  • Wireless location reporting continues across the Bluetooth-to-Wi-Fi handoff; USB and wireless updates are limited to one per second.
  • Optional ADB wheel-speed and gear reporting lets iPhone navigation estimate movement when GPS is unavailable. Tunnel use still needs validation.
  • Optional iOS 27 video playback on the car screen while parked, with iPhone, touchscreen and steering-wheel controls. Playback closes when the car leaves P.
  • DRM-protected video such as Apple TV+ is not supported; DiPlay is not a licensed FairPlay receiver. Netflix does not support AirPlay.

Documentation

  • Install and connect
  • Compatibility and troubleshooting
  • Privacy and diagnostic reports
  • Build from source
  • Validation
  • Release notes
  • Credits and licenses

The website is available in English, Arabic, Russian, Spanish and Simplified Chinese. The app interface supports those same five languages. Choose the app language in Settings; on Android 13+, it stays synchronized with Android’s per-app language setting.

Source and credits

Based on xcertplay, GPL-3.0. The home/settings UI and website adapt DiAuto, AGPL-3.0; that license is included in docs/licenses. Preserve those notices when distributing modifications. CarPlay and its icon belong to Apple Inc.; no Apple or BYD affiliation or endorsement is implied.

This repository starts with a clean public source snapshot. Local research, tester reports and release-signing secrets are excluded. The complete source corresponding to the APK is provided with every release; experimental runtime identity assets are described separately in the build instructions and notices.

Local release packaging

The release APK intentionally contains the experimental accessory identity. The Git repository and source archive exclude all accessory and Android signing keys; tests generate synthetic identities at runtime. Source/CI builds omit runtime identity assets by default. Local release builds explicitly select an external asset directory. Publishing the APK makes its bundled identity extractable; building locally does not preserve that identity's confidentiality.