Aleksey Smolenchuk's phoneuse Drives an Unmodified iPhone From Linux by Posing as a Bluetooth Mouse, and Installing It Turns Off Your PC's Own Bluetooth Keyboard
The maker tested exactly one setup, an iPhone 17 Pro and Arch Linux, and an optional ESP32 board is the way around the install's Bluetooth side effect.

An iPhone can already do two things nobody planned to combine. It can mirror its screen to another device, and it can take orders from a Bluetooth mouse. Aleksey Smolenchuk put a Linux PC on the other end of both.
The README says phoneuse “lets a Linux PC see and operate an unmodified iPhone.” The iPhone streams its screen to the PC over AirPlay, using Screen Mirroring. Input goes back the other way as a Bluetooth mouse and keyboard, either through the PC’s own Bluetooth adapter or through an ESP32 board. The README puts it plainly: no jailbreak, no developer account, no cable and no phone app, because the trick rides on Screen Mirroring and AssistiveTouch, which every iPhone has.
AssistiveTouch is the accessibility feature that makes the whole thing work. Apple’s support page describes it as an onscreen menu for gestures and buttons, and says you can “connect an accessory — like a wired or Bluetooth mouse or trackpad — to control the onscreen pointer on your device.” phoneuse is that accessory. To the iPhone, someone just paired a mouse.
Tapping, dragging and typing from the mirror window all go through that path, and so do commands from an agent running the command line tool or over MCP. The README lists the PC side as Arch Linux with BlueZ, Hyprland, GStreamer and GTK, and names UxPlay, whose own description is “AirPlay Unix mirroring server,” among the requirements. Setup is a clone, phoneuse install, phoneuse up, then picking PhoneUse under Screen Mirroring on the phone and turning on AssistiveTouch’s pointer. The first run takes about 13 seconds to calibrate.
Then come the caveats, which the README does not hide. The project opens with a warning: “Under heavy construction.” The author “tested it on one setup: an iPhone 17 Pro, Arch Linux, Hyprland and an NVIDIA GPU,” and says other setups will likely need fixes. Other iPhone models need a screen_points value set by hand.
The install takes some care. phoneuse install requires sudo, sets up a Bluetooth input daemon and turns off bluetoothd’s input plugin, so “the PC stops accepting Bluetooth keyboards and mice for itself.” The PC can pose as a keyboard or accept one, and the install picks posing. Firewalls need TCP 7000, 7001, 7100 and 8778 open, and UDP 6000, 6001, 7011 and 47700, and the phone and the PC must share a network. Dwell Control has to stay off, because iOS taps wherever the pointer stops.
The ESP32 bridge is the way around the keyboard problem. It is a board that “the iPhone pairs with as its Bluetooth keyboard and mouse,” and phoneuse sends it commands over Wi-Fi, so the PC’s Bluetooth stays unused. Setup means flashing firmware with ESP-IDF v6.1 over USB, entering a 2.4 GHz Wi-Fi network in the browser mirror and pairing the phone with “PhoneUse Bridge.” It also lets the board sit next to the phone on a charger, with the PC somewhere else.
Unlocking is the one spot where a person stays in the loop. The README says the saved passcode is typed only after you approve it.
Controlling a phone from a computer without installing anything on the phone sits in an odd spot: a legitimate accessibility door that any other program can also knock on. The likely next step is the usual one for a demo like this, other people reporting their own setups and the support list growing, and the open question is which of Apple’s own pointer behaviors will change under it, since the whole project leans on how iOS treats a mouse.
Under heavy construction, as promised.