2 puan yazan GN⁺ 2026-03-30 | 1 yorum | WhatsApp'ta paylaş
  • 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ıç

  • Gerekli bileşen: waypipe-darwin kurulmuş olmalıdır
    • brew tap J-x-Z/tap && brew install waypipe-darwin
  • Compositor'ü çalıştırın
    cocoa-way
    
  • Linux uygulamasını bağlayın
    ./run_waypipe.sh ssh user@linux-host firefox
    
  • SSH üzerinden Linux host üzerindeki Wayland uygulamalarını macOS pencereleri olarak gösterir

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
    • run_waypipe.sh betiği bunu -o StreamLocalBindUnlink=yes seçeneğiyle otomatik olarak çözer
    • Manuel çalıştırma için:
      waypipe ssh -o StreamLocalBindUnlink=yes user@host ...
      

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

 
GN⁺ 2026-03-30
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

    • Mesele o değil. Bu, uzaktaki bir Linux ana makinesindeki uygulamaları yerel pencereler olarak çalıştırmak için. Örneğin Mac'te VS Code'u uzak sunucu penceresi olarak açmak ya da laboratuvar kümesindeki Matlab GUI'sine erişmek gibi. X11'de buna benzer bir şeyi xpra ile yapabilirsiniz
    • Çok sayıda popüler uygulama yok ama entegre devre tasarımı alanında Linux'a özel birçok uygulama var. Bunları Mac'te konteyner içinde çalıştırmayı denedim ama XQuartz çok kötüydü. Wayland'e geçilirse çok daha iyi olabilir. Bazılarında ARM derlemeleri de çıkmaya başladı, bu yüzden bir gün yerel Mac GUI'leri de mümkün olabilir
    • Benim için kişisel olarak iki nedenle ilginç. Birincisi, Siri için geliştirme ortamını döşemeli pencere yönetimiyle kullanmak istiyorum ama Apple ekosistemine bağlı olduğum için bu yaklaşım iyi bir alternatif gibi görünüyor. İkincisi, Iridium'un Niagara Workbench'i gibi yalnızca Linux'u destekleyen uygulamalar var; Quartz desteği sona erdikten sonra bu rahatsız edici oldu
    • Ben sadece KDE Plasma kullanmak istiyorum. macOS arayüzünün açıkçası pek iyi olmadığını düşünüyorum
    • Bu sadece Linux uygulamalarını çalıştırmak için değil, uzak Linux sunucularındaki grafik uygulamalarını yerelde çalıştırmak için de kullanılabilir
  • Mü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

    • Apple'ın masaüstü pazarında zayıfladığını söylüyorlar ama aslında uzun zamandır Linux'tan daha yüksek paya sahipti. Büyük bir değişiklik olacağını sanmıyorum
    • Ben proje bazında izole konteyner ortamları açıp kullanmak istiyorum. Hedefim, Parallels'in Windows entegrasyon modu gibi, güvenlik ve odaklanma için uygulamaları gruplamak
  • 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

    • Hiç kullanmaya değmez. Hangi hipervizörü kullandığını bile söylemiyor. QEMU mu Docker mı belli değil. Tabloda da tuhaflık var — aslında kurulumu en kolay olan VM iken burada tam tersi yazılmış. Kod da OpenGL 3.3 Core kullanıyor, yani fazlasıyla eski. Muhtemelen LLM tarafından üretilmiş kod. Son zamanlarda AI kodunun fazla abartıldığını düşünüyorum. Dışı parlak ama içi boş. Eskiden Anthropic'in Rust ile yazılmış C derleyicisini tanıtmak için yaptığı proje aklıma geldi
  • 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

    • O zaman macOS kullanmanın anlamı kalır mı emin değilim. Arayüzü çıkarırsanız Darwin, FreeBSD ya da GNU'dan çok da farklı değil
    • Mac çekirdeği hem performans olarak geride hem de paket yönetimi bakımından nix'ten daha zayıf
    • Intel Mac döneminde tek kullanıcı modu vardı ama o zaman da framebuffer denetimi mümkün değildi
  • 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

    • Bence bu yanlış bir bakış açısı. macOS kısayolları terminal çalışmasına göre optimize edilmiş. Sistem kısayolları farklı tuşlar kullandığı için control kodlarıyla çakışmıyor
    • Ayarlardan cmd ve ctrl tuşlarını değiştirebilir ya da Karabiner-Elements ile tamamen özelleştirebilirsiniz. Ben de başta karıştırıyordum ama bir haftada alıştım. Şimdi Windows kısayolları bana daha rahatsız geliyor. Command tuşunun tarihi de ilginç
    • Terminalde ctrl+shift kullanmak zorunda olmak gerçekten korkunç. macOS kısayol düzeninin çok daha iyi olduğunu düşünüyorum
    • Bence kişisel olarak çoğu kısayolda Super tuşunu kullanmak daha iyi. Windows'ta sadece Başlat menüsü için kullanılması israf
    • Ben de gerçekten Karabiner-Elements ile cmd, option ve control tuşlarını sırasıyla ctrl, alt ve super gibi eşleyerek kullanıyorum. macOS'un kendi ayarlarıyla da bir yere kadar mümkün ama sağ ve sol tuşları farklı ayarlamak istiyorsanız Karabiner gerekiyor. Beklenmedik şekilde Apple ürününe göre oldukça esnek ayarlar sunuyor
  • Bu projenin GNUstep için az da olsa ilgi uyandırıp uyandıramayacağını merak ediyorum