Nhóm phát triển KiCad đã phát hành một tuyên bố toàn diện về tình trạng hiện tại của việc hỗ trợ Wayland trong phần mềm thiết kế PCB phổ biến của họ. Điều này diễn ra khi các bản phân phối Linux lớn như Fedora và Ubuntu chuẩn bị loại bỏ hỗ trợ X11 khỏi môi trường desktop chính của họ trong tương lai gần.
Trải nghiệm Wayland hiện tại không đạt tiêu chuẩn chuyên nghiệp
Đánh giá của KiCad vẽ nên bức tranh về những hạn chế đáng kể vượt ra ngoài các vấn đề tương thích đơn giản. Nhóm mô tả việc hỗ trợ Wayland là hoạt động nhưng bị suy giảm, với các vấn đề trải rộng từ quản lý cửa sổ, xử lý đầu vào, hiệu suất đến tính ổn định. Đây không phải là những bất tiện nhỏ mà là những vấn đề cơ bản ảnh hưởng đến quy trình làm việc hàng ngày của các kỹ sư và nhà thiết kế.
Các vấn đề quản lý cửa sổ đặc biệt nổi bật. Các ứng dụng không thể nhớ vị trí mà người dùng đã đặt cửa sổ lần cuối, các panel được neo không khôi phục đúng cách, và việc quản lý nhiều cửa sổ KiCad đồng thời trở nên có vấn đề. Đối với người dùng chuyên nghiệp phụ thuộc vào bố cục không gian làm việc cụ thể, điều này đại diện cho một tổn thất năng suất lớn.
Các vấn đề về hiệu suất thêm một lớp lo ngại khác. Người dùng báo cáo việc sử dụng CPU và GPU cao hơn dưới Wayland so với X11, cùng với các lỗi đồ họa và đóng băng ứng dụng không xảy ra trên các nền tảng khác. Ngay cả các thao tác cơ bản như sao chép và dán giữa các ứng dụng cũng trở nên không đáng tin cậy.
Các vấn đề của KiCad trên Wayland theo từng danh mục:
Vấn đề quản lý cửa sổ:
- Không thể nhớ vị trí cửa sổ giữa các phiên làm việc
- Lỗi định vị panel được gắn kết
- Vấn đề phối hợp đa cửa sổ
- Hạn chế kéo thả cửa sổ
Vấn đề đầu vào và tương tác:
- Tính năng di chuyển con trỏ/pointer chỉ khả dụng có điều kiện
- Hành vi focus cửa sổ không thể dự đoán
- Vấn đề xử lý thiết bị đầu vào
- Vấn đề phím tắt
Hiệu suất và ổn định:
- Tăng đột biến mức sử dụng CPU/GPU
- Lỗi đồ họa và artifact khi render
- Ứng dụng bị đóng băng và crash
- Chức năng clipboard không đáng tin cậy
Hạn chế hộp thoại và giao diện người dùng:
- Vấn đề định vị và focus hộp thoại modal
- Vấn đề tích hợp công cụ bên ngoài
Nguyên nhân gốc rễ: Xung đột triết lý thiết kế
Nhóm KiCad chỉ ra sự ngắt kết nối cơ bản giữa các mục tiêu thiết kế của Wayland và nhu cầu của các ứng dụng desktop. Các tính năng đã là tiêu chuẩn trên Windows, macOS và X11 trong nhiều thập kỷ - như định vị cửa sổ hoặc điều khiển con trỏ chuột - đã bị cố ý loại bỏ khỏi thiết kế của Wayland. Đây không phải là sự sơ suất mà là một lựa chọn kiến trúc có chủ ý.
Vấn đề phân mảnh làm cho vấn đề trở nên tồi tệ hơn. Các môi trường desktop khác nhau diễn giải các giao thức Wayland khác nhau, tạo ra trải nghiệm không nhất quán trên GNOME, KDE và các compositor nhỏ hơn. Đối với các nhà phát triển ứng dụng, điều này có nghĩa là phải duy trì các đường dẫn mã riêng biệt cho các môi trường khác nhau - một gánh nặng không bền vững cho các dự án có tài nguyên hạn chế.
Các cuộc thảo luận cộng đồng tiết lộ điều này không chỉ riêng với KiCad. Nhiều nhà phát triển báo cáo những thách thức tương tự, với một số mô tả Wayland như cảm giác chưa hoàn thiện hoặc như một trò lừa đảo do chức năng cốt lõi tối thiểu của nó. Cách tiếp cận chỉ dựa trên giao thức có nghĩa là không có triển khai tiêu chuẩn mà mọi người có thể dựa vào.
Người dùng chuyên nghiệp được khuyên nên tiếp tục sử dụng X11
Với những hạn chế này, nhóm KiCad đã thực hiện bước bất thường là khuyến nghị rõ ràng không sử dụng Wayland cho mục đích chuyên nghiệp. Họ đề xuất người dùng chọn các môi trường desktop dựa trên X11 như XFCE, KDE Plasma với X11, hoặc MATE để hoạt động đáng tin cậy.
Nhóm cũng đã triển khai một chính sách rõ ràng: họ sẽ không điều tra hoặc hỗ trợ các báo cáo lỗi liên quan đến các vấn đề cụ thể của Wayland. Điều này bao gồm các vấn đề với quản lý cửa sổ, sự cố duy nhất với Wayland, vấn đề hiệu suất và các vấn đề thiết bị đầu vào không xảy ra trên hệ thống X11.
Những vấn đề này tồn tại vì thiết kế của Wayland bỏ qua chức năng cơ bản mà các ứng dụng desktop cho X11, Windows và macOS đã dựa vào trong nhiều thập kỷ - những thứ như có thể định vị cửa sổ hoặc di chuyển con trỏ chuột. Chức năng này đã bị bỏ qua bởi thiết kế, không phải sự sơ suất.
Khuyến nghị của nhóm KiCad:
Đối với việc sử dụng chuyên nghiệp:
- Sử dụng các môi trường desktop dựa trên X11 ( XFCE , KDE Plasma với X11 , MATE )
- Cài đặt các trình quản lý hiển thị tương thích X11 ( LightDM , KDM ) thay vì GDM
- Chọn các bản phân phối duy trì hỗ trợ X11
Đối với việc sử dụng thông thường:
- Chấp nhận các hạn chế bao gồm không thể khôi phục bố cục cửa sổ
- Chuẩn bị cho việc ứng dụng thỉnh thoảng bị crash hoặc đơ
- Chuẩn bị cho việc giảm năng suất do hạn chế giao diện
- Tìm cách khắc phục các lỗi giao diện người dùng khác nhau
Chính sách báo cáo lỗi:
- Không điều tra các vấn đề cụ thể của Wayland
- Không hỗ trợ các vấn đề về vị trí cửa sổ, kích thước hoặc focus
- Không hỗ trợ các crash hoặc vấn đề hiệu suất riêng của Wayland
Những tác động rộng lớn hơn đối với Linux Desktop
Tình huống KiCad làm nổi bật một căng thẳng lớn hơn trong hệ sinh thái desktop Linux. Trong khi Wayland hứa hẹn bảo mật tốt hơn và các tính năng hiện đại như hỗ trợ HDR và tỷ lệ phân số, quá trình chuyển đổi đã tỏ ra gây rối loạn hơn nhiều người dự đoán. Một số thành viên cộng đồng so sánh nó một cách không thuận lợi với các chuyển đổi lớn khác như Python 2 sang 3, gọi đây là quá trình chuyển đổi tồi tệ nhất mà họ từng thấy.
Thời điểm tạo ra áp lực bổ sung. Khi các bản phân phối chuyển khỏi X11, các ứng dụng phụ thuộc vào các tính năng cụ thể của X11 đối mặt với một tương lai không chắc chắn. XWayland cung cấp một số khả năng tương thích, nhưng nó không giải quyết tất cả các vấn đề mà các ứng dụng gốc gặp phải.
Thú vị là, một số giao thức giải quyết các mối quan tâm của KiCad gần đây đã được phát triển. Hỗ trợ pointer warping vừa được hợp nhất vào các giao thức Wayland, và khả năng khôi phục cửa sổ đang được làm việc. Tuy nhiên, việc áp dụng trên các compositor khác nhau vẫn không nhất quán, và có thể mất nhiều năm trước khi những giải pháp này đến được các bản phân phối ổn định.
Nhìn về phía trước
Lập trường của nhóm KiCad phản ánh một cách tiếp cận thực dụng đối với phát triển phần mềm: tập trung tài nguyên vào nơi họ có thể tạo ra tác động lớn nhất thay vì làm việc xung quanh các hạn chế giao thức. Họ tiếp tục theo dõi phát triển Wayland và chào đón các bản sửa lỗi upstream, nhưng sẽ không thỏa hiệp độ tin cậy của phần mềm cho các công nghệ desktop thử nghiệm.
Đối với người dùng, thông điệp rất rõ ràng: nếu bạn cần KiCad cho công việc chuyên nghiệp, X11 vẫn là lựa chọn được khuyến nghị. Trong khi Wayland cuối cùng có thể trưởng thành để hỗ trợ tất cả các tính năng cần thiết, ngày đó vẫn chưa đến. Quá trình chuyển đổi sang thế giới hậu-X11 có thể sẽ mất nhiều thời gian hơn nhiều người hy vọng, với các ứng dụng như KiCad đóng vai trò là các trường hợp thử nghiệm quan trọng cho sự sẵn sàng của Wayland đối với phần mềm desktop phức tạp.
Tham khảo: KiCad and Wayland Support