From 4e6e29f7003ecbfa7f7ce1211ea224354744a91f Mon Sep 17 00:00:00 2001 From: kidfromjupiter Date: Wed, 21 Jan 2026 04:09:34 +0000 Subject: [PATCH] improved docs --- README.md | 36 +++++++++++++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 8af7f314..a0903790 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,34 @@ This repository is an unofficial Linux implementation of Google Nearby, forked from the official Nearby codebase. It focuses on Linux platform support for Nearby Connections, Nearby Sharing, and Nearby Presence. +Status: This is still a work in progress, and there are known bugs and issues that need to be sorted out. + +Motivation: Google has multiple Linux implementation PRs open, but they have not been merged into the official repo. I am tired of begging maintainers, so I am maintaining this Linux-focused fork. + +If you spot bugs, help identifying them is appreciated. Filing issues is always welcome. If you want to contribute, please start a discussion about the guidance you need. + +Bazel is a terrible build system when it does not work and a pretty good one when it does. There is no in-between. The source code is unwieldy and it took me months to understand what everything does and where things go. It does not help that this is how I decided I am going to learn C++. Blessed be my naive soul. + +## Testing status + +I have tested with various setups: + +- Android walkie-talkie example app detects and connects over Bluetooth Classic and Wi-Fi LAN and can share data. Medium upgrade is untested or unclear. +- Linux to Linux sharing is tested extensively so I can control the advertising and discovery environment. +- I do not have access to the Android implementation details. +- If you enable Quick Share visibility to Everyone on Android and run `sharing/linux` in advertising mode, it appears as a target in the Quick Share menu (promising, but not a full end-to-end validation). + +What is tested: + +- Linux to Linux sharing: advertising, discovery, and data work over Wi-Fi Direct, Wi-Fi Hotspot, Wi-Fi LAN, and Bluetooth Classic. +- BLE advertising and discovery work, but without a data medium. +- GATT advertising and discovery work. +- Android to Linux Nearby Connections work for the same mediums as Linux to Linux above (Bluetooth Classic, Wi-Fi LAN, Wi-Fi Hotspot, Wi-Fi Direct). + +What is not tested or unknown: + +- Android to Linux Nearby Sharing with Quick Share end-to-end. + This is not an officially supported Google product. ## What is included @@ -48,10 +76,10 @@ The Linux platform implementation provides abstraction layers over local network | Mediums | Advertising | Scanning | Data | | :---------------- | :--------------------: | :--------------------: | :--------------------: | -| Bluetooth Classic | | | | -| BLE (Fast) | | | | +| Bluetooth Classic | | | | +| BLE (Fast) | | | | | BLE (GATT) | | | | -| BLE (Extended) | | | | +| BLE (Extended) | | | | | BLE (L2CAP) | | | | | Wi-Fi LAN | | | | | Wi-Fi Hotspot | | | | @@ -62,6 +90,8 @@ The Linux platform implementation provides abstraction layers over local network | USB | | | | | AWDL | | | | +Note: BLE fast advertising is not supported on Linux because Android uses separate LE random/resolvable MAC addresses per advertisement, and Linux does not currently support that. The Linux implementation uses BLE Extended advertising instead. + ## Example applications - Nearby Sharing service example: `sharing/linux`