Cocoa-Way โ€“ Native macOS Wayland compositor for running Linux apps seamlessly

https://news.ycombinator.com/rss Hits: 14
Summary

True protocol portability: Cocoa-Way rendering Linux apps from OrbStack via Unix sockets. Feature Description ๐ŸŽ Native macOS Metal/OpenGL rendering, seamless desktop integration ๐Ÿš€ Zero VM Overhead Direct Wayland protocol via socket, no virtualization ๐Ÿ“บ HiDPI Ready Optimized for Retina displays with proper scaling ๐ŸŽจ Polished UI Server-side decorations with shadows and focus indicators โšก Hardware Accelerated Efficient OpenGL rendering pipeline brew tap J-x-Z/tap brew install cocoa-way waypipe-darwin Download the latest .dmg or .zip from Releases. # Install dependencies brew install libxkbcommon pixman pkg-config # Clone and build git clone https://github.com/J-x-Z/cocoa-way.git cd cocoa-way cargo build --release โš ๏ธ Required: You must install waypipe-darwin to connect Linux apps. brew tap J-x-Z/tap && brew install waypipe-darwin Start the compositor: Connect Linux apps via SSH: ./run_waypipe.sh ssh user@linux-host firefox graph LR subgraph macOS CW[Cocoa-Way<br/>Compositor] WP1[waypipe<br/>client] end subgraph Linux VM/Container WP2[waypipe<br/>server] APP[Linux App<br/>Firefox, etc] end APP -->|Wayland Protocol| WP2 WP2 <-->|SSH/Socket| WP1 WP1 -->|Wayland Protocol| CW CW -->|Metal/OpenGL| Display[macOS Display] Loading Solution Latency HiDPI Native Integration Setup Complexity Cocoa-Way โšก Low โœ… โœ… Native windows ๐ŸŸข Easy XQuartz ๐Ÿข High โš ๏ธ Partial โš ๏ธ X11 quirks ๐ŸŸก Medium VNC ๐Ÿข High โŒ โŒ Full screen ๐ŸŸก Medium VM GUI ๐Ÿข High โš ๏ธ Partial โŒ Separate window ๐Ÿ”ด Complex This project is part of the "Turbo-Charged Protocol Virtualization" research initiative exploring zero-cost cross-platform Wayland via Rust trait monomorphization + SIMD-accelerated pixel conversion. SSH: "remote port forwarding failed" A stale socket file exists on the remote host. Our run_waypipe.sh script handles this automatically with -o StreamLocalBindUnlink=yes. If running manually: waypipe ssh -o StreamLocalBindUnlink=yes user@host ... Contributions welcome! Please open an issue first to discuss major changes....

First seen: 2026-03-28 11:39

Last seen: 2026-03-29 01:46