- Kompositor Wayland yang memungkinkan menjalankan aplikasi Linux tanpa virtual machine di macOS, menggunakan rendering berbasis Metal/OpenGL agar terintegrasi mulus dengan lingkungan jendela macOS
- Meminimalkan kehilangan performa melalui komunikasi protokol Wayland langsung via Unix socket, serta mendukung optimasi layar HiDPI dan dekorasi sisi server
- Ditulis dengan Rust dan menawarkan rendering berakselerasi perangkat keras untuk latensi rendah dan efisiensi tinggi
- Dengan SSH dan
waypipe-darwin, aplikasi dari host Linux dapat ditampilkan sebagai jendela macOS
- Dirilis dengan lisensi GPLv3, dan roadmap pengembangannya mencakup ekspansi backend Windows dan Android
Gambaran umum
- Cocoa-Way adalah kompositor Wayland yang memungkinkan menjalankan aplikasi Linux di macOS seolah-olah native
- Terintegrasi alami dengan desktop macOS melalui rendering Metal/OpenGL, serta mendukung koneksi protokol Wayland langsung melalui socket tanpa virtual machine
- Mencakup optimasi layar HiDPI, dekorasi sisi server, dan rendering berakselerasi perangkat keras
- Ditulis dengan Rust dan didistribusikan dengan lisensi GPLv3
Fitur utama
- Integrasi native macOS: Rendering berbasis Metal/OpenGL menjaga kompatibilitas penuh dengan pengelolaan jendela dan efek visual macOS
- Zero VM Overhead: Meminimalkan kehilangan performa melalui komunikasi protokol Wayland langsung via Unix socket tanpa virtualisasi
- Dukungan HiDPI: Menyediakan scaling dan presisi piksel yang disesuaikan untuk layar Retina
- Penyempurnaan UI: Mencakup fitur dekorasi sisi server seperti bayangan dan indikator fokus
- Akselerasi perangkat keras: Mewujudkan latensi rendah dan performa tinggi dengan pipeline rendering OpenGL yang efisien
Cara instalasi
-
Instalasi Homebrew (disarankan)
brew tap J-x-Z/tap
brew install cocoa-way waypipe-darwin
-
Unduh biner
- File
.dmg atau .zip dapat diunduh dari halaman GitHub Releases
-
Build dari source
Mulai cepat
Arsitektur
- Di sisi macOS terdapat kompositor Cocoa-Way dan klien waypipe
- Di sisi Linux VM atau container terdapat server waypipe dan aplikasi Linux
- Aplikasi Linux → protokol Wayland → server waypipe → SSH/socket → klien waypipe → Cocoa-Way → Metal/OpenGL → layar macOS
- Seluruh jalur terhubung langsung tanpa virtualisasi, sehingga memberikan latensi rendah dan efisiensi tinggi
Perbandingan
| Solusi |
Latensi |
HiDPI |
Integrasi native |
Kompleksitas pengaturan |
| Cocoa-Way |
⚡ Rendah |
✅ Dukungan penuh |
✅ Jendela native |
🟢 Mudah |
| XQuartz |
🐢 Tinggi |
⚠️ Dukungan parsial |
⚠️ Ada kekhasan X11 |
🟡 Sedang |
| VNC |
🐢 Tinggi |
❌ Tidak didukung |
❌ Hanya layar penuh |
🟡 Sedang |
| VM GUI |
🐢 Tinggi |
⚠️ Dukungan parsial |
❌ Jendela terpisah |
🔴 Rumit |
Roadmap
- ✅ Backend macOS (Metal/OpenGL)
- ✅ Integrasi Waypipe
- ✅ Scaling HiDPI
- 🚧 Backend Windows (win-way)
- 📱 Backend Android NDK (direncanakan)
- ⏳ Dukungan multi-monitor
- ⏳ Sinkronisasi clipboard
Latar belakang riset
- Bagian dari proyek riset “Turbo-Charged Protocol Virtualization”,
yang mengeksplorasi virtualisasi Wayland lintas platform zero-cost dengan memanfaatkan monomorfisasi trait Rust dan konversi piksel berbasis SIMD
Pemecahan masalah
- Jika muncul error SSH “remote port forwarding failed”, penyebabnya bisa berupa file socket yang tersisa di host remote
Kontribusi
- Disarankan membuka issue dan berdiskusi terlebih dahulu sebelum menambahkan atau mengubah fitur
- Kontribusi melalui Pull Request sangat diterima
Lisensi
- GPL-3.0
- Hak cipta © 2024–2025 J-x-Z
1 komentar
Komentar Hacker News
Sejujurnya saya penasaran. Saya bertanya-tanya, dari aplikasi GUI Linux, apa yang sebenarnya tidak punya build native untuk macOS. Kebanyakan berbasis Qt atau GTK jadi lintas platform, dan saya tidak langsung terpikir aplikasi populer yang seperti itu
xpraSempurna. Sekarang GUI app bisa dijalankan di dalam container. Dulu saya pernah mencoba hal serupa dengan X11 tetapi tidak suka hasilnya. Terasa semakin posisi desktop Apple makin melemah. Pada akhirnya rasanya kita akan masuk ke era ketika semua orang menjadi “developer”
Proyek ini agak mencurigakan. README-nya penuh emoji dan tidak ada penjelasan implementasi. Katanya ada backend Metal, tetapi sepertinya sebenarnya tidak ada. Daftar dependensinya juga aneh
Hal seperti ini juga dibutuhkan untuk Android. termux-x11 bisa jadi titik awal, tetapi kalau termux mendukung Wayland atau VM Linux di Android bisa mengekspos soket Wayland, maka yang tersisa hanyalah compositor native untuk rendering yang mulus
Kalau saja macOS bisa boot ke mode shell Darwin tanpa GUI, rasanya itu bisa menjadi UNIX yang keren dengan desktop environment seperti KDE atau COSMIC ditambah package manager brew
Kalau ini memang mungkin, saya juga penasaran apakah klien Wayland berbasis macOS bisa membuat permukaan EGL
Apakah mungkin menjalankan lingkungan Android lewat Waydroid di dalam Orbstack? Secara teori sepertinya memungkinkan
Kalau macOS bisa diubah memakai shortcut keyboard Windows/Linux, rasanya akan jauh lebih tidak menjengkelkan
Saya penasaran apakah proyek ini bisa membangkitkan sedikit saja minat pada GNUstep