ทีมพัฒนา KiCad ได้ออกแถลงการณ์ครอบคลุมเกี่ยวกับสถานะปัจจุบันของการรองรับ Wayland ในซอฟต์แวร์ออกแบบ PCB ยอดนิยมของพวกเขา ซึ่งเกิดขึ้นในขณะที่ลินุกซ์ดิสทริบิวชันหลักอย่าง Fedora และ Ubuntu กำลังเตรียมยกเลิกการรองรับ X11 จากสภาพแวดล้อมเดสก์ท็อปหลักในอนาคตอันใกล้
ประสบการณ์ Wayland ปัจจุบันยังไม่ถึงมาตรฐานระดับมืออาชีพ
การประเมินของ KiCad แสดงภาพของข้อจำกัดที่สำคัญซึ่งเกินกว่าปัญหาความเข้ากันได้ทั่วไป ทีมงานอธิบาย Wayland ว่าใช้งานได้แต่มีข้อจำกัด โดยมีปัญหาครอบคลุมการจัดการหน้าต่าง การจัดการอินพุต ประสิทธิภาพ และความเสถียร ปัญหาเหล่านี้ไม่ใช่ความไม่สะดวกเล็กน้อย แต่เป็นปัญหาพื้นฐานที่ส่งผลต่อขั้นตอนการทำงานประจำวันของวิศวกรและนักออกแบบ
ปัญหาการจัดการหน้าต่างเป็นสิ่งที่โดดเด่นเป็นพิเศษ แอปพลิเคชันไม่สามารถจำตำแหน่งที่ผู้ใช้วางหน้าต่างไว้ครั้งสุดท้าย แผงที่ติดตั้งไว้ไม่สามารถกู้คืนได้อย่างถูกต้อง และการจัดการหน้าต่าง KiCad หลายหน้าต่างพร้อมกันกลายเป็นปัญหา สำหรับผู้ใช้มืออาชีพที่พึ่งพาเลย์เอาต์พื้นที่ทำงานเฉพาะ นี่แสดงถึงการลดประสิทธิภาพการทำงานอย่างมาก
ปัญหาประสิทธิภาพเพิ่มอีกชั้นของความกังวล ผู้ใช้รายงานการใช้ CPU และ GPU ที่สูงขึ้นภายใต้ Wayland เมื่อเปรียบเทียบกับ X11 พร้อมกับปัญหากราฟิกและการค้างของแอปพลิเคชันที่ไม่เกิดขึ้นบนแพลตฟอร์มอื่น แม้แต่การดำเนินการพื้นฐานอย่างการคัดลอกและวางระหว่างแอปพลิเคชันก็กลายเป็นสิ่งที่ไม่เชื่อถือได้
ปัญหา Wayland ของ KiCad แบ่งตามหมวดหมู่:
ปัญหาการจัดการหน้าต่าง:
- ไม่สามารถจดจำตำแหน่งหน้าต่างระหว่างเซสชันได้
- การวางตำแหน่งแผงที่ยึดติดล้มเหลว
- ปัญหาการประสานงานหลายหน้าต่าง
- ข้อจำกัดในการลากหน้าต่าง
ปัญหาการป้อนข้อมูลและการโต้ตอบ:
- การเคลื่อนย้ายเคอร์เซอร์/ตัวชี้มีให้ใช้งานแบบมีเงื่อนไข
- พฤติกรรมการโฟกัสหน้าต่างที่คาดเดาไม่ได้
- ปัญหาการจัดการอุปกรณ์ป้อนข้อมูล
- ปัญหาปุ่มลัด
ปัญหาประสิทธิภาพและความเสถียร:
- การใช้ CPU/GPU เพิ่มขึ้นสูงแบบกะทันหัน
- ข้อผิดพลาดทางกราฟิกและสิ่งประดิษฐ์ในการเรนเดอร์
- แอปพลิเคชันค้างและขัดข้อง
- ฟังก์ชันคลิปบอร์ดที่ไม่น่าเชื่อถือ
ข้อจำกัดของไดอะล็อกและ UI:
- ปัญหาการวางตำแหน่งและการโฟกัสของไดอะล็อกแบบโมดอล
- ปัญหาการรวมเครื่องมือภายนอก
สาเหตุหลัก: ความขัดแย้งในปรัชญาการออกแบบ
ทีม KiCad ชี้ไปที่ความไม่เข้าใจกันพื้นฐานระหว่างเป้าหมายการออกแบบของ Wayland และความต้องการของแอปพลิเคชันเดสก์ท็อป ฟีเจอร์ที่เป็นมาตรฐานใน Windows, macOS และ X11 มานานหลายทศวรรษ - เช่นการวางตำแหน่งหน้าต่างหรือการควบคุมเคอร์เซอร์เมาส์ - ถูกละเว้นจากการออกแบบของ Wayland โดยเจตนา นี่ไม่ใช่การมองข้าม แต่เป็นการเลือกสถาปัตยกรรมโดยเจตนา
ปัญหาการแยกส่วนทำให้เรื่องแย่ลง สภาพแวดล้อมเดสก์ท็อปที่แตกต่างกันตีความโปรโตคอล Wayland แตกต่างกัน สร้างประสบการณ์ที่ไม่สอดคล้องกันใน GNOME, KDE และคอมโพสิเตอร์ขนาดเล็ก สำหรับนักพัฒนาแอปพลิเคชัน นี่หมายถึงการรักษาเส้นทางโค้ดแยกต่างหากสำหรับสภาพแวดล้อมที่แตกต่างกัน - ภาระที่ไม่ยั่งยืนสำหรับโครงการที่มีทรัพยากรจำกัด
การสนทนาในชุมชนเผยให้เห็นว่านี่ไม่ใช่เรื่องเฉพาะของ KiCad นักพัฒนาหลายคนรายงานความท้าทายที่คล้ายคลึงกัน โดยบางคนอธิบาย Wayland ว่ารู้สึกไม่สมบูรณ์หรือเหมือนการหลอกลวงเนื่องจากฟังก์ชันหลักที่น้อยมาก แนวทางที่เป็นเพียงโปรโตคอลหมายความว่าไม่มีการนำไปใช้มาตรฐานที่ทุกคนสามารถพึ่งพาได้
แนะนำให้ผู้ใช้มืออาชีพยึดติดกับ X11
เนื่องจากข้อจำกัดเหล่านี้ ทีม KiCad จึงได้ดำเนินการขั้นตอนที่ไม่ธรรมดาในการแนะนำอย่างชัดเจนไม่ให้ใช้ Wayland สำหรับการใช้งานระดับมืออาชีพ พวกเขาแนะนำให้ผู้ใช้เลือกสภาพแวดล้อมเดสก์ท็อปที่ใช้ X11 เช่น XFCE, KDE Plasma กับ X11 หรือ MATE เพื่อการทำงานที่เชื่อถือได้
ทีมงานยังได้นำนโยบายที่ชัดเจนมาใช้: พวกเขาจะไม่สืบสวนหรือรองรับรายงานข้อบกพร่องที่เกี่ยวข้องกับปัญหาเฉพาะของ Wayland ซึ่งรวมถึงปัญหาการจัดการหน้าต่าง การขัดข้องที่เฉพาะเจาะจงกับ Wayland ปัญหาประสิทธิภาพ และปัญหาอุปกรณ์อินพุตที่ไม่เกิดขึ้นในระบบ X11
ปัญหาเหล่านี้มีอยู่เพราะการออกแบบของ Wayland ละเว้นฟังก์ชันพื้นฐานที่แอปพลิเคชันเดสก์ท็อปสำหรับ X11, Windows และ macOS พึ่งพามานานหลายทศวรรษ - สิ่งต่างๆ เช่นความสามารถในการวางตำแหน่งหน้าต่างหรือการเคลื่อนย้ายเคอร์เซอร์เมาส์ ฟังก์ชันนี้ถูกละเว้นโดยการออกแบบ ไม่ใช่การมองข้าม
คำแนะนำจากทีม KiCad :
สำหรับการใช้งานระดับมืออาชีพ:
- ใช้สภาพแวดล้อมเดสก์ท็อปที่ใช้ X11 ( XFCE , KDE Plasma กับ X11 , MATE )
- ติดตั้งตัวจัดการหน้าจอที่เข้ากันได้กับ X11 ( LightDM , KDM ) แทน GDM
- เลือกดิสทริบิวชันที่ยังคงรองรับ X11
สำหรับการใช้งานทั่วไป:
- ยอมรับข้อจำกัดรวมถึงการไม่สามารถกู้คืนเลย์เอาต์หน้าต่างได้
- คาดหวังให้เกิดการค้างหรือหยุดทำงานเป็นครั้งคราว
- เตรียมพร้อมสำหรับผลผลิตที่ลดลงเนื่องจากข้อจำกัดของอินเทอร์เฟซ
- หาทางแก้ไขปัญหาความผิดปกติต่างๆ ของ UI
นโยบายการรายงานบั๊ก:
- ไม่มีการตรวจสอบปัญหาเฉพาะของ Wayland
- ไม่มีการสนับสนุนปัญหาเรื่องตำแหน่ง ขนาด หรือการโฟกัสหน้าต่าง
- ไม่มีการสนับสนุนปัญหาการค้างหรือประสิทธิภาพที่เกิดขึ้นเฉพาะใน Wayland
ผลกระทบที่กว้างขึ้นสำหรับ Linux Desktop
สถานการณ์ KiCad เน้นย้ำความตึงเครียดที่ใหญ่กว่าในระบบนิเวศ Linux desktop ในขณะที่ Wayland สัญญาความปลอดภัยที่ดีขึ้นและฟีเจอร์ทันสมัยเช่นการรองรับ HDR และการปรับขนาดเศษส่วน การเปลี่ยนแปลงได้พิสูจน์แล้วว่าก่อให้เกิดการหยุดชะงักมากกว่าที่หลายคนคาดหวัง สมาชิกชุมชนบางคนเปรียบเทียบอย่างไม่เป็นผลดีกับการเปลี่ยนแปลงครั้งใหญ่อื่นๆ เช่น Python 2 ถึง 3 เรียกมันว่าการเปลี่ยนแปลงที่แย่ที่สุดที่พวกเขาเคยเห็น
ช่วงเวลาสร้างแรงกดดันเพิ่มเติม เมื่อดิสทริบิวชันเลิกใช้ X11 แอปพลิเคชันที่ขึ้นอยู่กับฟีเจอร์เฉพาะของ X11 เผชิญกับอนาคตที่ไม่แน่นอน XWayland ให้ความเข้ากันได้บางส่วน แต่ไม่ได้แก้ไขปัญหาทั้งหมดที่แอปพลิเคชันดั้งเดิมพบ
น่าสนใจที่โปรโตคอลบางตัวที่แก้ไขข้อกังวลของ KiCad ได้รับการพัฒนาเมื่อเร็วๆ นี้ การรองรับ pointer warping เพิ่งถูกรวมเข้ากับโปรโตคอล Wayland และความสามารถในการกู้คืนหน้าต่างกำลังได้รับการทำงาน อย่างไรก็ตาม การยอมรับในคอมโพสิเตอร์ที่แตกต่างกันยังคงไม่สอดคล้องกัน และอาจใช้เวลาหลายปีก่อนที่โซลูชันเหล่านี้จะเข้าถึงดิสทริบิวชันที่เสถียร
มองไปข้างหน้า
จุดยืนของทีม KiCad สะท้อนถึงแนวทางที่ใช้งานได้จริงในการพัฒนาซอฟต์แวร์: มุ่งเน้นทรัพยากรในที่ที่พวกเขาสามารถสร้างผลกระทบมากที่สุด แทนที่จะแก้ไขข้อจำกัดของโปรโตคอล พวกเขายังคงติดตามการพัฒนา Wayland และยินดีรับการแก้ไขจากต้นน้ำ แต่จะไม่ประนีประนอมความเชื่อถือได้ของซอฟต์แวร์เพื่อเทคโนโลยีเดสก์ท็อปทดลอง
สำหรับผู้ใช้ ข้อความชัดเจน: หากคุณต้องการ KiCad สำหรับงานมืออาชีพ X11 ยังคงเป็นตัวเลือกที่แนะนำ ในขณะที่ Wayland อาจเติบโตในที่สุดเพื่อรองรับฟีเจอร์ที่จำเป็นทั้งหมด วันนั้นยังไม่มาถึง การเปลี่ยนไปสู่โลกหลัง X11 น่าจะใช้เวลานานกว่าที่หลายคนหวัง โดยแอปพลิเคชันอย่าง KiCad ทำหน้าที่เป็นกรณีทดสอบที่สำคัญสำหรับความพร้อมของ Wayland สำหรับซอฟต์แวร์เดสก์ท็อปที่ซับซ้อน
อ้างอิง: KiCad and Wayland Support