WinBoat, alat yang mengintegrasikan dan menjalankan aplikasi Windows di Linux dengan cara terbaik

  • WinBoat menjalankan Windows nyata dengan Docker dan KVM dan mengintegrasikan Windows melalui FreeRDP.
  • Mengatasi batasan Wine pada aplikasi utama dan menghadirkan desktop lengkap sesuai permintaan.
  • Persyaratan yang jelas: KVM, Docker, Compose v2 dan FreeRDP 3 dengan audio.
  • Passthrough GPU belum ada, Podman dan Flatpak sedang dalam perjalanan dengan tantangan teknis.

WinBoat

Jika Anda bekerja di Linux dan sesekali perlu menjalankan aplikasi yang hanya ada untuk Windows, Anda mungkin merasa kesulitan. WinBoat hadir sebagai pilihan lain : alih-alih lapisan kompatibilitas, ia menjalankan instance Windows yang sebenarnya dan mengintegrasikannya dengan mulus ke dalam desktop Anda.

Idenya sederhana namun ampuh: siapkan lingkungan Windows sungguhan dengan Docker dan KVM , dan tampilkan jendelanya di dalam sesi Linux Anda menggunakan FreeRDP, seolah-olah jendela tersebut adalah jendela asli. Tidak perlu lagi berurusan dengan dependensi yang aneh atau patch yang tidak terduga; jika sebuah program berfungsi di Windows, program tersebut seharusnya juga berfungsi di sini, kecuali dalam skenario yang membutuhkan akselerasi grafis yang kuat atau tindakan anti-cheat tingkat kernel.

Apa itu WinBoat dan mengapa itu menarik?

WinBoat adalah sebuah proyek yang, sesuai dengan semangat Windows for Penguins (Windows untuk Penguin), bertujuan untuk membuat aplikasi Windows berfungsi dengan lancar di sistem Linux Anda dengan gesekan minimal. Alih-alih terjemahan API, WinBoat mengandalkan virtualisasi dengan KVM dan kontainer Docker untuk membungkus lingkungan Windows, yang kemudian muncul sebagai jendela independen di dalam sistem Anda.

Dibandingkan dengan pendekatan sebelumnya seperti WinApps , perbedaan utamanya terletak pada pengalaman pengguna. Dengan WinApps, sebagian besar konfigurasi bergantung pada Anda: banyak pengaturan manual , TUI (Tuned User Interface) yang mendasar, beberapa widget di taskbar, dan beberapa perintah konsol yang tersebar. WinBoat, di sisi lain, melakukan sebagian besar pekerjaan setelah memenuhi prasyarat tertentu, menampilkan informasi yang relevan dalam antarmuka yang lebih rapi, dan menawarkan pengalaman yang lebih lengkap tanpa Anda harus bergelut dengan file konfigurasi atau menghafal serangkaian perintah.

Jika Anda bertanya-tanya mengapa tidak menggunakan Wine atau CrossOver, jawabannya terletak pada pengecualian. Beberapa aplikasi tidak berjalan lancar atau bahkan tidak dapat diluncurkan dengan Wine . Itulah mengapa WinBoat diciptakan: untuk mengisi celah tersebut dan, terlebih lagi, memberi Anda desktop Windows lengkap saat Anda membutuhkannya. Pengujian di dunia nyata telah menyebutkan contoh seperti Affinity Photo, Paint Tool SAI v1.0, rangkaian Adobe, AeroChat, Acrobat, dan, tentu saja, Office; bahkan telah dikonfirmasi bahwa Office 365 berfungsi.

Cara Kerja WinBoat: Virtualisasi dengan Integrasi Jendela

Di balik layar, WinBoat menjalankan mesin virtual Windows menggunakan Docker sebagai orchestrator dan KVM sebagai teknologi virtualisasi berbantuan perangkat keras . Jendela ditampilkan di Linux melalui FreeRDP, sehingga Anda dapat menggunakannya seperti aplikasi sistem lainnya, menyeretnya antar desktop, menyematkannya ke taskbar, dan beralih di antara jendela tersebut dengan Alt+Tab.

Keindahan dari penemuan ini terletak pada pengalaman pengguna yang mulus: antarmuka yang elegan , proses instalasi otomatis, dan opsi untuk meluncurkan desktop Windows lengkap jika diperlukan. Jika tidak, Anda dapat membuka hanya aplikasi tertentu dan mengintegrasikannya dengan mulus, seolah-olah aplikasi tersebut merupakan aplikasi bawaan, dengan tampilan dan nuansa yang konsisten dalam sesi Anda.

Fitur luar biasa

  • Antarmuka yang rapi dengan integrasi visual yang membuat jendela Windows tampak seperti berasal dari Linux itu sendiri.
  • Instalasi otomatis: Anda memilih preferensi dan sumber daya, dan sistem akan mengurus memasaknya.
  • Jalankan hampir semua aplikasi yang berjalan di Windows, disajikan sebagai jendela tingkat sistem di desktop Anda.
  • Desktop penuh Windows tersedia saat Anda membutuhkannya, serta meluncurkan aplikasi individual secara terintegrasi.
  • Integrasi berkas: Memasang direktori rumah Anda di Windows untuk berbagi dokumen secara langsung.
  • tambahan yang berguna Dalam perjalanan dan sudah hadir: passthrough kartu pintar, pemantauan sumber daya, dan banyak lagi.

Prasyarat sistem

Sebelum memulai, pastikan peralatan Anda memenuhi persyaratan minimum ini; jika tidak, Anda akan menghadapi masalah sejak awal. Periksa setiap poin dengan cermat dan hindari hal-hal yang tidak diinginkan.

  • RAM: setidaknya 4 GB.
  • CPU: minimal 2 thread.
  • penyimpanan: 32 GB gratis di /var.
  • virtualisasi: KVM diaktifkan di BIOS atau UEFI.
  • Buruh pelabuhan: diperlukan untuk kontainerisasi.
  • Docker Compose v2: penting untuk kompatibilitas dengan file docker-compose.yml.
  • Grup Docker: tambahkan pengguna Anda ke grup docker.
  • RDP gratis: Versi 3.xx dengan dukungan suara.
  • Modul kernel: memuat iptables dan iptable_nat.

Selain persyaratan perangkat lunak, Anda juga harus memastikan bahwa KVM benar-benar berfungsi pada distribusi sistem Anda. KVM yang dinonaktifkan di BIOS atau diblokir oleh kernel akan mencegah proses booting, terlepas dari seberapa baik semua hal lainnya berfungsi.

Unduh dan instal: varian yang tersedia

Anda dapat mengunduh versi Linux dari bagian rilis proyek. Saat ini, ada dua opsi yang mencakup sebagian besar kasus, dengan kurva pembelajaran yang cukup mudah. ​​Pilih yang paling sesuai dengan distribusi dan alur kerja Anda.

  • AppImage: format portabel yang berfungsi pada sebagian besar distribusi tanpa instalasi yang rumit.
  • Membongkar: file yang belum dibongkar; jalankan saja biner di linux-unpacked/winboat.

Perhatikan ketidakkompatibilitas yang dicatat oleh pengembang. Saat ini, belum ada dukungan untuk Podman , Docker Desktop, distribusi yang meniru Docker menggunakan soket Podman, atau konfigurasi kontainer tanpa hak akses root. Jika Anda bergantung pada salah satu lingkungan ini, Anda harus menunggu versi mendatang.

Kelemahan terbesar yang diakui adalah Anda harus menginstal beberapa tambahan secara manual sebelum menikmati pengalaman penuh: Docker, Compose v2, FreeRDP 3 dengan audio, modul iptables, dan keanggotaan dalam grup docker. Setelah Anda mengatasi rintangan itu, sisanya cukup terorganisir dengan baik.

Kompilasi dan jalankan dari kode sumber

Jika Anda lebih suka membangun aplikasi di mesin Anda, prosesnya mudah selama Anda memiliki dependensi yang diperlukan. Anda perlu menginstal NodeJS dan Go sebelum memulai.

  • Kloning repositori: git clone https://github.com/TibixDev/WinBoat
  • Instal dependensi: npm i
  • Kompilasi aplikasi dan server tamu: npm run build:linux-gs
  • Biner yang dihasilkan muncul di dist, dengan AppImage dan varian Unpacked

Untuk pengembangan, alur kerja sedikit berubah sehingga Anda dapat melakukan iterasi secara lokal dengan lebih mudah. ​​Dengan NodeJS dan Go yang sudah siap , ikuti langkah-langkah berikut.

  • Kloning repositori: git clone https://github.com/TibixDev/WinBoat
  • Instal dependensi: npm i
  • Membangun server tamu: npm run build-guest-server
  • Luncurkan aplikasi dalam mode pengembangan: npm run dev

Perangkat dan konfigurasi perangkat keras

Jika Anda perlu mengakses perangkat keras dari Windows, dukungannya bervariasi tergantung pada jenis perangkat. Sudah ada opsi untuk USB, meskipun saat ini konfigurasinya masih manual. Ketika fitur USB passthrough ditambahkan ke aplikasi , hal itu dapat dilakukan dari antarmuka; untuk sementara, Anda perlu mengedit file.

Setelah WinBoat terinstal, buka folder ~/.winboat dan buka file tersebut docker-compose.ymlDi sana Anda dapat menambahkan perangkat USB apa pun yang ingin Anda tunjukkan kepada tamu. Setelah dimodifikasi, terapkan perubahan dengan docker-compose down y docker-compose up -d di direktori yang sama.

Grafik dan Akselerasi: Status WinBoat Saat Ini

Saat ini, belum ada fitur passthrough GPU yang beroperasi. Rencananya meliputi implementasi akselerasi menggunakan driver paravirtualisasi , tetapi masih ada pekerjaan yang harus dilakukan. Driver MVisor Win VGPU untuk OpenGL telah diteliti, dan hasilnya menjanjikan, meskipun dirancang untuk hypervisor yang berbeda dan tidak kompatibel dengan QEMU, yang digunakan oleh WinBoat.

Ada juga tim yang sedang mengerjakan driver DirectX, tetapi saat ini belum ada yang dapat kami uji secara andal. Tujuannya adalah untuk mengintegrasikan komponen-komponen ini ketika sudah cukup matang untuk penggunaan umum, tanpa mengorbankan stabilitas.

Salah satu proyek yang telah diteliti secara cermat adalah Looking Glass, terutama Indirect Display Driver-nya, karena akan menghilangkan kebutuhan akan GPU kedua. Driver tersebut telah dikompilasi dan dijalankan dengan beberapa solusi sementara, tetapi hanya menghasilkan layar hitam. Penulis sendiri menyatakan bahwa driver tersebut belum siap untuk dirilis ke publik, sehingga integrasi harus menunggu pengembangan lebih lanjut.

Game dengan anti-cheat dan batasan WinBoat lainnya

Jika tujuan Anda adalah memainkan game dengan sistem anti-cheat tingkat kernel, tidak ada kabar baik. Sistem ini mendeteksi dan memblokir virtualisasi , sehingga tidak mungkin menjalankannya di WinBoat. Untuk game tanpa batasan ini atau dengan perlindungan yang kurang mengganggu, situasinya mungkin berbeda, tetapi itu bukan fokus utama proyek ini.

Status Podman dan pengemasan dalam Flatpak

Dukungan Podman direncanakan, dan pengerjaannya bahkan telah dimulai oleh tim dan para kontributor. Namun, masalah jaringan mencegah server tamu untuk dapat diakses , yang mengganggu pengalaman pengguna. Hingga masalah ini teratasi, fitur ini akan tetap berada dalam daftar tugas yang tertunda.

Mengonversi WinBoat ke Flatpak juga ada dalam rencana pengembangan, meskipun akan membutuhkan upaya karena Flatpak mengisolasi aplikasi dengan sangat ketat dari sistem. Aplikasi yang terinstal , biner Docker, soketnya, dan utilitas lainnya perlu diekspos, semuanya tanpa mengorbankan keamanan sandbox. Ini bukan hal yang mudah, tetapi bukan sesuatu yang mustahil.

Integrasi file dan alur kerja

Salah satu detail praktis yang mempermudah hidup adalah direktori home Linux Anda terpasang di dalam Windows. Ini memungkinkan Anda untuk berbagi file bolak-balik tanpa memasang sumber daya tambahan atau menyalin secara manual dari lokasi yang tidak dikenal. Untuk tugas perkantoran, pengeditan, atau CAD, ini adalah jalan pintas yang sangat bermanfaat.

Aplikasi yang berfungsi dengan baik dan kasus penggunaan

Nilai sebenarnya dari WinBoat menjadi jelas ketika menggunakan program yang belum ditangani Wine dengan sempurna. Contoh yang menonjol termasuk Affinity Photo , Paint Tool SAI v1.0, dan beberapa bagian dari rangkaian Adobe, serta alat-alat seperti AeroChat dan Acrobat. Office menonjol, menegaskan bahwa Office 365 dapat digunakan tanpa banyak kesulitan.

Pendekatan ini sangat cocok untuk para profesional yang membutuhkan beberapa utilitas Windows penting tetapi lebih memilih untuk tetap menggunakan lingkungan Linux mereka untuk hal lainnya. Desain, aplikasi perkantoran tingkat lanjut , atau aplikasi perusahaan tertentu sangat cocok dengan model penggunaan campuran ini.

Berkolaborasi dengan proyek WinBoat dan lisensi

Kontribusi selalu diterima, baik itu memperbaiki bug, menyempurnakan fitur, atau meningkatkan dokumentasi. Tim meminta Anda untuk fokus pada kontribusi teknis dan akan menolak permintaan pull request yang berisi konten politik, seksual, atau sensitif lainnya yang tidak berkontribusi pada pengembangan. Jika Anda ingin membantu, cara terbaik adalah mengunjungi bagian issues, menyarankan perbaikan, dan membuka permintaan pull request yang ditargetkan.

Selain melaporkan bug dan menyarankan fitur, Anda dapat berbagi umpan balik penggunaan di dunia nyata atau membantu mengklarifikasi poin-poin dalam manual. Proyek ini dilisensikan di bawah lisensi MIT , yang memfasilitasi kolaborasi dan adopsi di berbagai lingkungan. Mereka juga menyebutkan bahwa ada proyek lain dengan ide serupa yang telah menginspirasi mereka; proyek-proyek tersebut layak untuk dilihat.

Catatan Privasi, Pemberitahuan, dan Konteks Sumber

Sebagian informasi yang digunakan berasal dari diskusi di platform yang menampilkan pemberitahuan privasi. Dalam kasus Reddit, Anda akan melihat pesan umum yang menyatakan bahwa mereka dan mitra mereka menggunakan cookie dan teknologi serupa untuk memberikan pengalaman yang lebih baik, memelihara layanan, meningkatkan kualitas, dan mempersonalisasi konten dan iklan , serta mengukur efektivitas iklan. Jika Anda menerima semua cookie, Anda dapat melanjutkan; jika Anda menolak cookie yang tidak penting, mereka mungkin masih menggunakan cookie tertentu yang diperlukan agar platform berfungsi. Mereka juga merujuk Anda ke pemberitahuan cookie dan kebijakan privasi mereka.

Pada beberapa embed X, jika browser Anda menonaktifkan JavaScript, akan muncul pesan yang meminta Anda untuk mengaktifkannya atau menggunakan browser yang kompatibel untuk melanjutkan. Tautan ke pusat bantuan dan persyaratan layanan, kebijakan privasi, kebijakan cookie, informasi hukum, dan data periklanan tercantum , semuanya bertanda tangan perusahaan X. Ini adalah pesan platform standar dan tidak memengaruhi fungsionalitas WinBoat.

Terakhir, beberapa artikel menampilkan tata letak dengan tabel kosong dan tempat penampung yang tidak menambahkan konten apa pun. Elemen visual ini merupakan bagian dari desain asli dan tidak berisi informasi teknis yang relevan tentang WinBoat.

Tips Praktis Menghadapi Ujian dengan Wajah Baik

Meskipun proyek ini banyak mengotomatiskan proses, tetap ada baiknya untuk melakukan persiapan. Pastikan pengguna Anda termasuk dalam grup Docker dan Anda dapat menjalankan kontainer tanpa sudo. Konfirmasikan bahwa FreeRDP adalah versi 3.xx dengan suara, karena versi sebelumnya mungkin memiliki masalah audio. Dan periksa ketersediaan /var untuk menghindari kehabisan ruang di tengah proses deployment.

Jika Anda berencana menggunakan periferal USB tertentu di dalam Windows, simpan pengenalnya dan catat setiap perubahan yang Anda buat pada docker-compose.yml. Daftar periksa singkat sebelum mengunggah dan mengunduh kontainer dapat menghemat waktu Anda, terutama jika Anda berganti komputer atau berbagi proyek dengan orang lain.

WinBoat menawarkan solusi pragmatis bagi mereka yang membutuhkan lingkungan mirip Windows tanpa meninggalkan Linux: virtualisasi yang terorganisir dengan baik, Windows terintegrasi dengan FreeRDP , persyaratan yang jelas, dan peta jalan yang berfokus pada peningkatan akselerasi grafis, dukungan Podman, dan pengemasan Flatpak. Dengan versi beta yang sudah mampu melakukan pekerjaan serius, WinBoat terbukti menjadi alternatif yang menarik ketika Wine atau Proton tidak memadai, terutama untuk aplikasi desain, perkantoran, atau alur kerja perusahaan yang masih kesulitan di Linux.


Tambahkan sebagai sumber pilihan di Google