13 คะแนน โดย GN⁺ 2025-10-10 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • WinBoat เน้นความสะดวกในการใช้งานมากกว่า WinApps เดิม ด้วย การตั้งค่าอัตโนมัติและส่วนติดต่อผู้ใช้ที่เข้าใจง่าย
  • รองรับ แอปสำคัญอย่างชุด Adobe, Affinity Photo เป็นต้น ที่ไม่เข้ากันกับ Wine หรือ CrossOver
  • รองรับฟีเจอร์ USB passthrough แบบทดลอง เพื่อให้ตั้งค่าฮาร์ดแวร์เฉพาะ Windows ได้
  • มีแผนรองรับ GPU virtualization, Flatpak และ Podman เพื่อเพิ่มความยืดหยุ่นในการขยายต่อ
  • ใช้งานแอป Windows ยอดนิยมอย่าง Office 365 ได้อย่างอิสระ

WinBoat คืออะไร

  • WinBoat เป็นเครื่องมือที่ช่วยให้ รันแอป Windows ได้อย่างราบรื่น ในสภาพแวดล้อม Linux
  • ผู้ใช้สามารถได้รับประสบการณ์แบบรวมศูนย์ด้วยการตั้งค่าเพียงครั้งเดียว หลังเตรียมสิ่งที่จำเป็นครบแล้ว โดยไม่ต้องทำ การตั้งค่าด้วยตนเอง ที่ยุ่งยาก
  • ไม่จำเป็นต้องแก้ไข ไฟล์ตั้งค่า เพิ่มเติม หรือเรียนรู้คำสั่ง CLI ที่ซับซ้อน ก็ใช้งานได้ทันทีผ่านอินเทอร์เฟซเดียว

เปรียบเทียบกับ WinApps

  • WinApps ต้องจัดการขั้นตอนตั้งค่าหลายอย่างด้วยตนเอง และต้องใช้งาน TUI, วิดเจ็ตบนทาสก์บาร์ หรือคำสั่ง CLI
  • WinBoat หลังติดตั้งแล้วสามารถทำทุกขั้นตอนการตั้งค่าให้เป็นอัตโนมัติในครั้งเดียว พร้อมมอบ UI ที่ใช้งานง่าย ทำให้ ประสบการณ์ผู้ใช้โดยรวม สมบูรณ์ยิ่งขึ้น
  • รับประกันการใช้งานที่สะดวก โดยไม่ต้องดูแลไฟล์คอนฟิกเองหรือท่องจำคำสั่ง CLI

จุดเด่นเมื่อเทียบกับ CrossOver หรือ WINE

  • แอปหลากหลายตัวที่รันได้ยากบน Wine, CrossOver (เช่น Affinity Photo, ชุด Adobe ทั้งหมด, Paint Tool Sai, AeroChat, Acrobat, Office เป็นต้น) ก็สามารถใช้งานได้
  • มี สภาพแวดล้อมเดสก์ท็อป Windows แบบเต็มรูปแบบ และรองรับซอฟต์แวร์ได้หลากหลาย

การรองรับอุปกรณ์ต่อพ่วง/ฮาร์ดแวร์และ passthrough

  • สำหรับ อุปกรณ์ที่เชื่อมต่อผ่าน USB นั้น WinBoat 0.8.0 ขึ้นไปรองรับ USB passthrough แล้ว (แบบทดลอง) และสามารถตั้งค่าผ่านซอฟต์แวร์บน Windows ได้
  • ผู้ใช้ WinBoat เวอร์ชันเก่าสามารถเพิ่มอุปกรณ์ USB ได้เองด้วยการแก้ไข docker-compose.yml โดยตรง
  • ในเวอร์ชัน 0.8.0 ขึ้นไป รองรับเฉพาะวิธีที่มีมาในตัวเท่านั้น

GPU passthrough และ virtualization ด้านกราฟิก

  • ปัจจุบันยัง ไม่รองรับ GPU passthrough
  • ในอนาคตมีแผนใช้ ไดรเวอร์แบบ para-virtualized, Indirect Display Driver เป็นต้น เพื่อทำ GPU acceleration และเชื่อมต่อกับ Looking Glass
  • จากผลทดสอบพบว่าไดรเวอร์บางตัวยังไม่เหมาะกับการใช้งานจริง และจะรวมเข้ามาเมื่อพร้อมแล้ว

เกมและความปลอดภัย

  • เกมที่ใช้ anti-cheat ระดับเคอร์เนล จะไม่สามารถรันได้ เนื่องจากข้อจำกัดของสภาพแวดล้อมเสมือน

ความสามารถในการขยายและแผนการแจกจ่าย

  • มีแผนรองรับ Podman (ทางเลือกแทน Docker) แต่ฟีเจอร์ยังไม่สมบูรณ์เพราะมีปัญหาด้านเครือข่าย
  • ยังมีแผนทำ แพ็กเกจ Flatpak ด้วย แต่ยังมีโจทย์ทางเทคนิค เช่น อินเทอร์เฟซระหว่างระบบกับแอป และการเปิดเผยเครื่องมือต่าง ๆ

การรองรับซอฟต์แวร์ Windows และ Office

  • แอป Windows สำคัญอย่าง Microsoft Office 365 สามารถรันและใช้งานได้ตามปกติ

บทสรุป

  • WinBoat เป็นโซลูชันที่ช่วยให้ใช้งานซอฟต์แวร์แอปพลิเคชัน Windows บน Linux ได้อย่างลื่นไหล โดยอาศัยจุดแข็งด้าน ระบบอัตโนมัติที่เป็นมิตรกับผู้ใช้ ความเข้ากันได้ และความสามารถในการขยายต่อ

1 ความคิดเห็น

 
GN⁺ 2025-10-10
ความคิดเห็นจาก Hacker News
  • นี่ก็แค่ Windows VM ที่ใส่เครื่องมือเพิ่มเข้าไปอีกนิดหน่อย แม้จะดูเจ๋งทีเดียว แต่ก็ยังไม่ค่อยให้ความรู้สึกว่าเป็นการ “รันแอป Windows บน Linux” แบบแท้จริง
    ก่อนหน้านี้ในฝั่งเกมก็มีโปรเจกต์คล้ายกันอย่าง Looking Glass อยู่แล้ว ซึ่งอันนั้นก็ใช้ Windows VM บน KVM เช่นกัน (ถึงจะทำให้ดูเหมือน Windows รันตรงใน Docker container แต่โครงสร้างจริง ๆ คือทำงานบน KVM)
    ในแง่ประสบการณ์ผู้ใช้ (UX) มันคล้ายกับ RAIL
    ไม่ได้แปลว่าโปรเจกต์นี้ไม่ดีนะ แต่สุดท้ายมันก็ยังอยู่ในสองแนวทางเดิม คือจำลอง/เขียนใหม่ API หรือไม่ก็รันตัว OS เอง (Windows) ดังนั้นจึงไม่ใช่อะไรที่ใหม่หมดจด
    ถ้ามีวิธีที่สาม เช่น in-place ABI translation แบบนั้นถึงจะเป็นข่าวใหญ่จริง ๆ
    • ผมต้องมาถึง Hacker News ถึงจะได้รู้ว่าโปรเจกต์นี้จริง ๆ แล้วทำอะไรและทำงานยังไง
      หน้าโปรเจกต์ส่วนใหญ่มักไม่ค่อยอธิบายให้ชัดว่าตัวเองทำอะไร
      ครึ่งหนึ่งจะเป็นคำอธิบายแนว ๆ “Plorglewurzle ใช้ประโยชน์จาก big data blockchain เพื่อส่งมอบ sublinear microservices บน Azure Cloud infrastructure” เสียมากกว่า
      อย่างน้อยโปรเจกต์นี้ก็ยังแสดงให้เห็นว่าต้องมีการติดตั้ง Windows
    • ถ้าตั้งชื่อจริง ๆ ว่า “Linux Subsystem for Windows” ย่อว่า LSW ก็คงจะฮาดี
    • อันนี้คือการเอา dockur/windows:latest + FreeRDP โหมด rootless + เดมอนตัวเล็ก ๆ ที่รายงานแอปที่ติดตั้งอยู่ใน VM ผ่าน API มารวมกัน
      ถ้าไม่ต้องใช้ส่วนท้ายสุดนั้น ใช้แค่ image ของ dockur/windows กับ FreeRDP อย่างเดียวอาจจะดีกว่า
    • in-place ABI translation นั่นแหละคือสิ่งที่ wine ทำอยู่ ผมเลยสงสัยว่าเขาหมายถึงอะไร
    • โครงสร้างเหมือน WSL2 เป๊ะ
  • ผมไปเจอคำอธิบายว่าซอฟต์แวร์นี้ทำอะไรจริง ๆ ใน GitHub repository

WinBoat เป็นแอป Electron ที่ให้คุณรันแอป Windows บน Linux ในรูปแบบคอนเทนเนอร์ได้
Windows จะรันอยู่ใน VM ภายใน Docker container และเราจะดึงข้อมูลที่ต้องใช้จาก Windows ผ่าน WinBoat Guest Server
เราใช้ FreeRDP และ Windows RemoteApp protocol เพื่อประกอบหน้าต่างของแอป Windows ให้กลายเป็นหน้าต่างระดับเนทีฟของ OS

  • สงสัยว่าทำไมถึงต้องใช้ทั้ง Docker container และ VM พร้อมกัน
  • เคล็ดลับของผมสำหรับการมีความสุขกับ Linux มีดังนี้
    ใช้แอปเนทีฟเสมอ อย่าใช้ WINE และอย่าพยายามไปทำให้เข้ากับสิ่งที่โดยพื้นฐานแล้วเป็นปฏิปักษ์กัน
    อย่าใช้ VM ด้วย และโดยเฉพาะ dual boot ผมไม่แนะนำอย่างยิ่ง มันแย่มาก
    ย้ายมา Linux แบบเต็มตัวแล้วอย่าหันกลับไปมองอีกจะดีที่สุด
    Proton เป็นกรณีพิเศษอยู่บ้าง เพราะ Valve ทุ่มพลังมหาศาลทุกวันเพื่อให้มันใช้งานได้ดี
    ข่าวดีก็คือการลงทุนกับการพัฒนา Linux API/ABI ให้ก้าวหน้าขึ้นนั้นให้ผลตอบแทนแน่นอน
    สิ่งที่ Valve มีส่วนช่วยกับ MESA และ amdgpu นั้นยอดเยี่ยมมาก
    ผมอยากให้ Valve ยกสถานะเกม AAA และเกมอินดี้บน Linux ให้เหมือนเป็นของพิเศษเฉพาะบน Steam ไปเลย
    และหวังว่านักพัฒนาเกมจะรู้สึกว่า “พอร์ตสำหรับ Linux ต้องให้คนที่พัฒนา Linux มาทำเท่านั้น”
    PS: สมัยก่อนผมเสียดายมากที่ Counter-Strike ใช้บน Linux ไม่ได้อยู่ตั้งนาน แต่พอ Valve ทำ native port แล้วทุกอย่างก็ดีขึ้นหมด
    PPS: ตอนนี้ผมยังใช้ Mac อยู่เพราะมีสองแอปที่ใช้ร่วมกันไม่ได้คือ Garmin Express กับ Zwift ซึ่งอย่างน้อยก็ดูแลง่ายกว่า Windows แต่ทำอะไรได้น้อยกว่า Linux
    ตัวจัดการไฟล์แย่มากและการจัดการหน้าต่างก็น่าหงุดหงิด
    แต่ก็ไม่ได้ทำให้ปวดหัวทั้งวัน
    Counter-Strike 2 ก็รันบน Mac ไม่ได้ ดังนั้นเรื่องนี้ต้องให้ Linux รับหน้าที่
    • ผมว่าเป็นคำแนะนำที่ไม่ค่อยดี
      มุมกลับกันคือ Wine ใช้งานได้ดีมาก (โดยเฉพาะกับซอฟต์แวร์เก่า ๆ)
      ถ้าคนตั้งข้อจำกัดกับตัวเองด้วยกฎแบบนี้โดยไม่จำเป็น คนจำนวนมากก็จะใช้ Linux ไม่ได้เลย
    • คำแนะนำของผมคือ “ใช้แต่แอปเนทีฟเสมอ อย่าใช้ WINE”
      แต่ในมุมผม ประเด็นที่ถูกต้องคือ “อย่าพยายามไปทำให้เข้ากับ API ที่ไม่เสถียรโดยพื้นฐาน”
      บทความที่เกี่ยวข้อง: Win32 is the stable Linux userland ABI and the consequences
      บล็อกอ้างอิง: Win32 the only stable ABI
      พูดให้ชัดคือ ผมคิดว่าการใช้แอปเนทีฟสำหรับ GNU/Linux เป็นเรื่องดี แต่สิ่งแรกที่ต้องมีคือการรักษา API ให้เสถียรในระยะยาวมาก ๆ (อย่างน้อย 20 ปี)
    • เมื่อปีที่แล้วผมย้ายเดสก์ท็อปสำหรับเล่นเกมมา Linux
      จากประสบการณ์ของผม เวอร์ชันเนทีฟบน Linux ที่ทำได้ดีจริง ๆ มีไม่มาก
      หลายครั้งเวอร์ชัน Windows-on-Proton กลับมีคุณภาพดีกว่า
      ผมขอบคุณบริษัทอย่าง Larian ที่ทำเวอร์ชันเนทีฟได้ยอดเยี่ยมแบบที่เพิ่งทำกับ BG3
      และผมเห็นด้วยเต็มที่ว่าเหตุผลที่ Proton ใช้งานได้ดีเป็นเพราะความพยายามอย่างต่อเนื่องของ Valve
      ต่อให้เรียกร้องให้นักพัฒนาเกมทำ native port กันอย่างไร ในโลกความจริงมันก็ไม่ค่อยเกิดขึ้น
      ท้ายที่สุด การที่ตลาดค่อย ๆ เคลื่อนมาทาง Linux ได้ ก็เป็นเพราะ Steam Deck, Valve และ Proton
    • ปกติสิ่งที่ติดขัดไม่ใช่เกม AAA ใหญ่ ๆ แต่เป็นซอฟต์แวร์เฉพาะทางที่โผล่มาแบบไม่คาดคิด
      เช่นแอปสำหรับออกแบบแพตเทิร์นถักนิตติ้ง ซึ่งเป็นเครื่องมือเฉพาะขนาดเล็กและไม่ใช่โอเพนซอร์ส
      ในกรณีแบบนี้ การมีสภาพแวดล้อมที่รองรับได้อย่างไม่มีปัญหาอาจจำเป็นมาก
      (ส่วนเกมนั้น Proton ช่วยได้ระดับหนึ่งแล้ว)
    • “ถ้าอยากมีความสุขบน Linux ก็ใช้แต่แอปเนทีฟ อย่าใช้ WINE, VM หรือ dual boot”
      ผมมองว่านี่ไม่ใช่คำแนะนำที่ดีนัก
      หลายคนใช้ Linux และก็ยังอยากรันแอป Windows ซึ่ง Wine ก็ใช้งานได้ดี
      ส่วนแอปที่ใช้บน Wine ไม่ได้ การใช้ dual boot ก็ยังเพียงพอสำหรับหลายกรณี
  • น่าเสียดายที่บนเว็บไซต์ของซอฟต์แวร์ไม่มีภาพหน้าจอการทำงานจริงเลย
    แทนที่จะบอกแค่ว่ารันแอปออฟฟิศได้ ก็น่าจะแสดงให้เห็นว่ามันหน้าตาเป็นอย่างไรจริง ๆ
    พวกเขาเน้นประสบการณ์แบบ “seamless” แต่กลับไม่มีเดโม
    ผมไม่เข้าใจเรื่องแบบนี้จริง ๆ
    • เห็นด้วยอย่างยิ่ง
      ไม่มีข้อมูลเลยว่าหน้าต่าง Windows แต่ละบานจะถูกผสานเข้ากับเดสก์ท็อป Linux อย่างไร (เช่น Alt-Tab, Ubuntu Dock ฯลฯ) หรือสุดท้ายแล้วมันแค่เปิดเป็นหน้าต่าง VM ยักษ์บานเดียว
      สงสัยจริง ๆ ว่าทำไมถึงไม่แสดงเรื่องพวกนี้บนเว็บไซต์
  • UX ดูเท่และน่าสนใจมาก ผมเลยลองใช้เองเมื่อสุดสัปดาห์ที่ผ่านมา
    น่าเสียดายที่แม้แต่การใช้งานพื้นฐานก็ยังทำงานได้ไม่ดี
    เมื่อเปิดเบราว์เซอร์ Edge หน้าต่างจะขึ้นมา แต่ค้างอยู่และดูเหมือนไม่มีทางกู้คืน
    พอปิดหน้าต่างแล้วกรอบหน้าต่างก็ยังไม่หายและค้างอยู่ตรงนั้น
    ถ้าลองเชื่อมต่อด้วยตัวเลือก “Desktop” จะเกิดอาการค้าง
    ผมสามารถเชื่อมต่อเซสชันผ่านเว็บวิวที่ฝังมาได้ แต่ดูเหมือนว่าจะต้องเปิดอนุญาตการเชื่อมต่อ rdp
    ผมไม่ได้ขุดลึกไปกว่านั้น และเพราะมันไม่เหมาะกับกรณีที่คู่สมรสของผมต้องใช้ ผมเลยเปลี่ยนโน้ตบุ๊กกลับไปเป็น Windows
    หวังว่าในอนาคตการเชื่อมต่อกับแอป/ระบบฝั่ง Windows จะดีขึ้นกว่านี้
    • อยากรู้ว่าคู่สมรสของคุณต้องใช้กับงานแบบไหน
      แอป Windows หลายตัวทำงานบน Wine ได้ดี และอาจต้องปรับแต่งเพียงเล็กน้อย ดังนั้นทางเลือกนั้นก็อาจใช้ได้เหมือนกัน
  • ผมชอบโปรเจกต์ที่เอาซอฟต์แวร์โอเพนซอร์สมาห่อด้วย UX ที่เป็นมิตร แล้วทำให้ซอฟต์แวร์จำเป็นบน Linux ใช้งานได้ง่าย
    ถ้ามีโปรเจกต์คล้ายกันที่ทำให้รันแอป macOS บน Linux ได้ก็คงดีมาก
    • อยากให้ macOS รันบน Linux ได้ดีเหมือนกัน แต่ในทางปฏิบัติมีอุปสรรคหลายอย่าง
  1. Apple ห้ามตามกฎหมายไม่ให้รันซอฟต์แวร์ของตนบนฮาร์ดแวร์ที่ไม่ใช่ Mac
  2. Windows แม้จะโดนด่าว่าถูก ๆ ก็ยังมีมาตรฐานอุตสาหกรรมเรื่อง virtualization ที่ทำให้รันได้แทบทุกที่ ส่วน macOS เพิ่งจะเริ่มทำได้บ้าง
  3. Apple มีแรงจูงใจทางเศรษฐกิจสูงที่จะขัดขวางแนวโน้มแบบนี้
  4. Apple กำลังผลักดันแพลตฟอร์มของตัวเองชื่อ ‘Apple Containers’ มาแทน Docker เพื่อชักจูงให้ผู้ใช้ Mac ใช้งาน Docker ได้น้อยลง
    เพราะเหตุนี้กว่าจะถึงวันที่การจับคู่ macOS app + Linux กลายเป็นเรื่องปกติ ก็คงต้องใช้เวลาอีกมาก
  • ไม่เหมือนกันเสียทีเดียว แต่มี darling ที่รองรับเฉพาะแอป CLI: darling
    ถ้าต้องการ macOS VM แบบเต็ม ๆ สามารถดูโปรเจกต์ของ dockur ได้ที่: dockur/macos
    แต่ตอนนี้ทั้งคู่ยังไม่รองรับโหมด “seamless”
  • macOS ไม่มีฟีเจอร์แบบ rootless RDP ที่เปิดแอป macOS แยกออกมาได้โดยตรง
    ถ้ายังไงก็ต้องใช้ทั้งเดสก์ท็อปอยู่แล้ว ผมคิดว่าใช้มุมมองกราฟิกที่เร่งด้วยฮาร์ดแวร์จะดีกว่า RDP
  • ผมว่าน่าจะติดตามโปรเจกต์ WinBoat ต่อไป เพราะมันน่าสนใจ
    ตลอดหลายปีที่ผ่านมา ผมใช้ WSL ในการทำงานเป็นหลัก และการเปิดแอป GUI ได้ราวกับกำลังทำงานอยู่บน Windows โดยตรงก็ช่วยเพิ่มประสิทธิภาพได้มาก
    แม้จะมีจุดแปลก ๆ อยู่บ้าง แต่มันก็ถือว่าดีทีเดียว
    และในทางกลับกัน ผมก็สงสัยมาตลอดว่าในฝั่ง Linux จะมีอะไรคล้าย ๆ แบบนี้หรือไม่
    จริง ๆ แล้วผมแทบไม่มีความจำเป็นต้องใช้โปรแกรม Windows บน Linux เลย
    นอกจากเมื่อก่อนที่เคยรัน GTA:Vice City บน Wine ได้เกือบสมบูรณ์แบบ
    แต่ช่วงหลัง ๆ ผมคิดบ่อยว่าถ้ามีอะไรแนว “Linux Subsystem for Windows” ที่ทำให้รันโปรแกรมอะไรก็ได้ทันทีคงดีมาก
    ผมติดตั้ง Debian ให้โน้ตบุ๊กของลูกสาวไปแล้ว และหวังว่าเวลาที่โรงเรียนมีงานที่จำเป็นต้องใช้ผลิตภัณฑ์ของ Microsoft จริง ๆ WinBoat อาจเป็นทางเลือกได้
  • สำหรับการผสานแอป Windows ผมอยากแนะนำโปรเจกต์ WinApps (ลิงก์ WinApps)
    แม้การรองรับ Wayland จะยังอยู่ระหว่างพัฒนา (ประเด็นเกี่ยวกับ Wayland) แต่ช่วงนี้ก็ยังพอใช้ผ่าน xwayland ได้ในระดับหนึ่ง
  • Looking Glass Indirect Display Driver (IDD) ที่อยู่ใน FAQ ของโปรเจกต์นั้นน่าตื่นเต้นมาก
    ถ้า IDD ออกมา Looking Glass ก็จะทำงานได้บนระบบที่ใช้ iGPU (แม้จะไม่มี 3D acceleration ก็ตาม) ซึ่งก็ยังมีความหมาย
    เดิมทีความสำเร็จใหญ่ของ Looking Glass คือการทำให้หน่วยความจำวิดีโอถูกแชร์ระหว่าง compositor ของ Windows ฝั่ง guest กับโปรแกรม client ที่แสดงบนฝั่ง host (ผ่าน qemu)
    น่าเสียดายที่ตอนนี้ยังต้องติดตั้งไดรเวอร์นอกเคอร์เนล (kvmfr) แยกต่างหาก แต่ถึงอย่างนั้น ความสามารถในการแชร์หน่วยความจำทั่วไปนอกเหนือจากวิดีโอเมมโมรีก็น่าจะช่วยเรื่องประสิทธิภาพได้ระดับหนึ่ง
    วิดีโอเดโม: ลิงก์ YouTube
  • มีเรื่องหนึ่งที่อยากฝากถึงทีมโปรเจกต์:
    อย่าแสดง Discord เด่นเกินไปบนหน้าแรกของเว็บไซต์
    Discord มักถูกใช้เป็น C2 server ด้วย ดังนั้นในสภาพแวดล้อมที่มีการเสริมความปลอดภัย การเข้าเว็บแบบนี้อาจทำให้เกิดการแจ้งเตือน
    ที่บริษัทของผม การแจ้งเตือนแบบนี้จะเด้งมาหาผมทันที ซึ่งก็ดีอยู่ แต่ยังไงก็เป็นการทำให้เกิดการเตือนโดยไม่จำเป็น
    อย่างน้อยควรซ่อนลิงก์ไว้ข้างหลังอีกชั้นหนึ่ง