- macOS'ta Linux uygulamalarını sanal makine olmadan çalıştırmayı sağlayan bir Wayland compositor; Metal/OpenGL tabanlı rendering kullanarak macOS pencere ortamıyla doğal biçimde bütünleşir
- Unix socket üzerinden doğrudan Wayland protokolü iletişimi ile performans kaybını en aza indirir; HiDPI ekran optimizasyonu ve sunucu taraflı dekorasyon desteği sunar
- Rust ile yazılmıştır ve donanım hızlandırmalı rendering sayesinde düşük gecikme ve yüksek verim sağlar
- SSH ve
waypipe-darwin kullanarak Linux host üzerindeki uygulamaları macOS pencereleri olarak gösterebilir
- GPLv3 lisansı ile yayımlanmıştır; Windows ve Android backend genişletmelerini içeren yol haritası üzerinde çalışılmaktadır
Genel Bakış
- Cocoa-Way, macOS'ta Linux uygulamalarını yerel ortamdaymış gibi çalıştırmayı sağlayan bir Wayland compositor
- Metal/OpenGL rendering ile macOS masaüstüne doğal biçimde entegre olur ve sanal makine olmadan socket üzerinden doğrudan Wayland protokol bağlantısını destekler
- HiDPI ekran optimizasyonu, sunucu taraflı dekorasyon ve donanım hızlandırmalı rendering özelliklerini içerir
- Rust ile yazılmıştır ve GPLv3 lisansı ile dağıtılır
Başlıca Özellikler
- Yerel macOS entegrasyonu: Metal/OpenGL tabanlı rendering ile macOS pencere yönetimi ve görsel efektlerle tam uyumluluk sağlar
- Zero VM Overhead: Sanallaştırma olmadan Unix socket üzerinden doğrudan Wayland protokolü iletişimi ile performans kaybını en aza indirir
- HiDPI desteği: Retina ekranlara uygun ölçeklendirme ve piksel hassasiyeti sunar
- Daha olgun UI: Gölge, odak göstergesi gibi sunucu taraflı dekorasyon özelliklerini içerir
- Donanım hızlandırma: Verimli OpenGL rendering pipeline'ı ile düşük gecikme ve yüksek performans sağlar
Kurulum
-
Homebrew ile kurulum (önerilen)
brew tap J-x-Z/tap
brew install cocoa-way waypipe-darwin
-
İkili dosya indirme
- GitHub Releases sayfasından
.dmg veya .zip dosyaları indirilebilir
-
Kaynaktan derleme
Hızlı Başlangıç
Mimari
- macOS tarafında Cocoa-Way compositor ve waypipe istemcisi bulunur
- Linux VM veya container tarafında waypipe sunucusu ve Linux uygulaması bulunur
- Linux uygulaması → Wayland protokolü → waypipe sunucusu → SSH/socket → waypipe istemcisi → Cocoa-Way → Metal/OpenGL → macOS ekranı
- Tüm yol sanallaştırma olmadan doğrudan bağlanır, böylece düşük gecikme ve yüksek verim sağlar
Karşılaştırma
| Çözüm |
Gecikme |
HiDPI |
Yerel entegrasyon |
Kurulum karmaşıklığı |
| Cocoa-Way |
⚡ düşük |
✅ tam destek |
✅ yerel pencere |
🟢 kolay |
| XQuartz |
🐢 yüksek |
⚠️ kısmi destek |
⚠️ X11'e özgü tuhaflıklar var |
🟡 orta |
| VNC |
🐢 yüksek |
❌ destek yok |
❌ yalnızca tam ekran |
🟡 orta |
| VM GUI |
🐢 yüksek |
⚠️ kısmi destek |
❌ ayrı pencere |
🔴 karmaşık |
Yol Haritası
- ✅ macOS backend (Metal/OpenGL)
- ✅ Waypipe entegrasyonu
- ✅ HiDPI ölçeklendirme
- 🚧 Windows backend (win-way)
- 📱 Android NDK backend (planlanıyor)
- ⏳ çoklu monitör desteği
- ⏳ pano senkronizasyonu
Araştırma Arka Planı
- “Turbo-Charged Protocol Virtualization” araştırma projesinin bir parçası olarak,
Rust trait monomorphization ve SIMD tabanlı piksel dönüşümü kullanarak sıfır maliyetli çapraz platform Wayland sanallaştırmasını araştırır
Sorun Giderme
- SSH hatası “remote port forwarding failed” oluşursa, neden uzak host üzerinde kalmış socket dosyaları olabilir
Katkı
- Özellik eklemeden veya değişiklik yapmadan önce issue açıp tartışılması önerilir
- Pull Request ile katkılar memnuniyetle karşılanır
Lisans
- GPL-3.0
- Telif hakkı © 2024–2025 J-x-Z
1 yorum
Hacker News yorumları
Açıkçası merak ettiğim bir şey var. Linux GUI uygulamaları arasında macOS için yerel derlemesi olmayan ne var diye merak ediyorum. Çoğu Qt ya da GTK tabanlı, yani çok platformlu; aklıma hemen gelen popüler bir uygulama yok
xpraile yapabilirsinizMükemmel. Artık konteyner içinde GUI uygulamaları çalıştırabileceğiz. Daha önce X11 ile benzer bir şey denemiştim ama hoşuma gitmemişti. Apple'ın masaüstündeki konumunun giderek zayıfladığı hissine kapılıyorum. Sonunda herkesin “geliştirici” olduğu bir çağ gelecek gibi görünüyor
Bu proje biraz şüpheli. README emoji dolu ve uygulamanın nasıl çalıştığına dair hiçbir açıklama yok. Metal backend olduğu söyleniyor ama gerçekte yok gibi. Bağımlılık listesi de garip
Buna benzer bir şeye Android için de ihtiyaç var. termux-x11 bir başlangıç noktası ama termux Wayland'i desteklerse ya da Android'in Linux VM'inden Wayland soketi dışarı açılabilirse, geriye akıcı çizim için yalnızca yerel bir compositor kalır
Keşke macOS, GUI olmadan Darwin kabuk modunda açılabilseydi; KDE ya da COSMIC gibi bir masaüstü ortamının üstüne brew paket yöneticisi eklenmiş harika bir UNIX olurdu
Eğer bu mümkünse, macOS tabanlı bir Wayland istemcisinin EGL surface oluşturup oluşturamayacağını da merak ediyorum
Acaba Orbstack içinde Waydroid kullanarak Android ortamı çalıştırmak mümkün olur mu? Teoride mümkün gibi görünüyor
macOS'u Windows/Linux klavye kısayollarına çevirebilsek çok daha az sinir bozucu olurdu
Bu projenin GNUstep için az da olsa ilgi uyandırıp uyandıramayacağını merak ediyorum