1 điểm bởi GN⁺ 2026-01-29 | 1 bình luận | Chia sẻ qua WhatsApp
  • Nhóm Xfce đã công bố kế hoạch phát triển compositor mới dựa trên Wayland ‘xfwl4’, do nhà phát triển nòng cốt Brian Tarricone dẫn dắt bằng nguồn quỹ quyên góp từ cộng đồng
  • Mục tiêu là đạt cùng tính năng và trải nghiệm người dùng như xfwm4 hiện tại, đồng thời tái sử dụng hộp thoại thiết lập và cấu hình xfconf để đảm bảo tính liên tục khi chuyển đổi
  • Được viết hoàn toàn dưới dạng mã mới dựa trên Rust và framework smithay, mang lại độ an toàn bộ nhớ cùng pipeline đồ họa và nhập liệu có thể tùy biến
  • Phạm vi dự án bao gồm thay đổi cấu trúc quản lý phiên, hỗ trợ XWayland và xdg-session-management, cải tiến hệ thống build CI
  • Đây là khoản đầu tư cốt lõi cho quá trình chuyển sang Wayland của Xfce, với bản phát hành phát triển đầu tiên dự kiến công bố trong năm nay

Kế hoạch về compositor Wayland mới của Xfce

  • Nhóm Xfce đã bắt đầu phát triển compositor Wayland mới ‘xfwl4’ bằng nguồn quỹ quyên góp từ cộng đồng
    • Việc phát triển do Brian Tarricone, một người đóng góp nòng cốt lâu năm, phụ trách
    • Phần lớn quỹ của dự án sẽ được dùng cho công việc phát triển này
  • Mục tiêu là hiện thực hóa cùng tính năng và hành vi như xfwm4 trong môi trường Wayland
    • Tái sử dụng nguyên trạng hộp thoại thiết lập xfwm4 và cấu hình xfconf hiện có để duy trì tính nhất quán trong trải nghiệm người dùng
  • xfwl4 không dựa trên mã xfwm4 hiện tại mà được viết lại hoàn toàn bằng Rust
    • Được xây dựng trên thư viện smithay

Vì sao chọn viết lại thay vì tái sử dụng mã hiện có

  • Ban đầu, nhóm định chỉnh sửa mã xfwm4 để hỗ trợ song song cả X11 và Wayland, nhưng sau đó đánh giá cách này là không phù hợp vì nhiều lý do
    • Cấu trúc của xfwm4 phụ thuộc vào X11 nên khó triển khai giao diện được khái quát hóa
    • Khi refactor, rủi ro phát sinh lỗi X11 là rất cao
    • Có những khái niệm của X11 không được Wayland hỗ trợ, khiến việc duy trì mã trở nên phức tạp
    • Nếu dùng mã hiện có thì sẽ phải phụ thuộc vào ngôn ngữ C và wlroots
  • Phát triển bằng codebase riêng giúp giữ ổn định cho xfwm4 đồng thời vẫn tiến hành phát triển thử nghiệm cho Wayland

Vì sao chọn smithay

  • Brian Tarricone đã đánh giá so sánh wlroots và smithay trước khi chọn smithay
    • smithay hỗ trợ phần lớn các mở rộng giao thức Wayland chính thức cùng với các giao thức của wlroots và KDE
    • Không có lớp trừu tượng mức cao nên cho phép kiểm soát chi tiết pipeline đồ họa và nhập liệu
    • Tài liệu tốt, và việc dùng Rust giúp giảm rủi ro lỗi liên quan đến bộ nhớ và crash
    • Nhà phát triển ưa dùng Rust
    • wlroots được viết bằng C nên việc viết binding Rust gặp nhiều khó khăn

Phạm vi dự án và các thách thức kỹ thuật

  • Ngoài việc đạt mức tương đương tính năng với xfwm4, dự án còn bao gồm các hạng mục sau
    • Trong môi trường Wayland, compositor phải trở thành gốc của phiên, vì vậy cần thay đổi cấu trúc khởi động phiên
    • Bổ sung hỗ trợ cho giao thức xdg-session-management
    • Bao gồm hỗ trợ XWayland
    • Nâng cấp hệ thống build container CI sang nền tảng meson có thể build mã Rust
  • Brian Tarricone đã bắt đầu phát triển, và bản phát hành phát triển đầu tiên dự kiến sẽ được công bố trong năm nay

Cộng đồng và tài trợ

  • Dự án trở nên khả thi nhờ các khoản quyên góp từ nhà tài trợ Open Collective US và EU
  • Có thể theo dõi tiến độ phát triển và chi tiết kỹ thuật tại issue xfwl4 và kho mã nguồn trên GitLab
  • Các câu hỏi liên quan có thể được trao đổi qua kênh Matrix #xfce-dev

1 bình luận

 
GN⁺ 2026-01-29
Ý kiến trên Hacker News
  • Tôi nghe nói xfwl4 nhắm tới cùng tính năng và hành vi như xfwm4
    Nhưng nếu xét đến khác biệt mang tính cấu trúc giữa X11 và Wayland, tôi tò mò không biết cách diễn giải chữ “hành vi” sẽ nghiêm ngặt đến mức nào
    Ví dụ, chống cướp focus trong X11 cần các heuristic phức tạp và kiểm tra dấu thời gian, còn trong Wayland thì compositor kiểm soát hoàn toàn focus
    Cuối cùng, bài toán là phải thiết kế một chính sách mới phù hợp với mô hình phân quyền của Wayland mà vẫn giữ được cảm giác heuristic cũ
    Một điểm nữa tôi quan tâm là độ trễ do compositor bị bắt buộc. Không biết trên phần cứng yếu nó có thể đạt độ phản hồi như chế độ không compositor của X11 hay không

    • Tôi là một trong các lập trình viên của xfwl4. Cụm “càng giống càng tốt” đúng theo nghĩa đen. Không thể hoàn toàn y hệt, nhưng chúng tôi sẽ làm cho nó gần nhất có thể
      Về chống cướp focus, thực ra phía Wayland có thể cho hành vi nhất quán hơn. Xfwm4 dựa trên heuristic nên đôi lúc hoạt động sai, còn mô hình xdg-activation của Wayland thì rõ ràng hơn nhiều
      Về hiệu năng, trên phần cứng hiện đại có lẽ sẽ không khác biệt lớn, nhưng với thiết bị rất cũ thì có thể sẽ là gánh nặng. Có lẽ phải thử nghiệm thêm mới biết chắc
    • Trước đây tôi từng chạy compositor của xfwm trên Pentium II 400MHz + GeForce 2 mà không gặp vấn đề gì
      Gánh nặng của compositing thực ra gần như chỉ là thời gian chờ vsync. Trừ khi là Pentium đời đầu, còn lại thì ổn
    • Tôi thích việc họ nói thẳng lý do. Việc đưa Rust vào như một hòn đảo ngôn ngữ có thể gây ma sát trong build tooling hay tích hợp hệ sinh thái, nhưng dù sao XFCE vẫn khiến tôi hài lòng hơn GNOME rất nhiều
    • Compositing không nhất thiết phải đi cùng vsync. Bạn hoàn toàn có thể cập nhật màn hình ngay khi client gửi nội dung mới
    • Dạo này ngay cả GPU Intel giá rẻ cũng gần như không gặp vấn đề với overhead của compositor. Chỉ những ai còn dùng laptop 20 năm tuổi mới là ngoại lệ
  • Tôi mong XFCE vẫn giữ được vị thế là một desktop nhẹ
    Tôi thích KDE, nhưng khó mà gọi nó là nhẹ
    Tôi nhìn cả Wayland lẫn Rust theo hướng tích cực; Wayland là hướng đi tương lai còn Rust giúp ngăn crash
    Tuy vậy, nhóm người dùng truyền thống của XFCE khá bảo thủ nên có thể hoài nghi với công nghệ mới

    • Với tư cách người đã dùng XFCE từ năm 2007, tôi thấy người dùng quan tâm đến “chỉ cần nó hoạt động tốt” hơn là ngôn ngữ hay công nghệ
      Việc chuyển sang Wayland là không thể tránh khỏi, sẽ có chút phàn nàn nhưng chắc sẽ diễn ra suôn sẻ
      Những người nhất quyết bám X11 cuối cùng sẽ chỉ còn là thiểu số. Tôi tin đội ngũ XFCE
    • Tôi không hiểu vì sao Wayland lại “mang cảm giác tương lai”. Ngược lại, nó giống thụt lùi về tính năng hơn
      Đã có một GUI hoạt động tốt rồi, còn Wayland thì tạo thêm độ phức tạp không cần thiết và vấn đề tương thích
      Các giao thức đơn giản mới là thứ sống lâu, mà Wayland thì đi theo hướng ngược lại
    • Tôi thuộc phe “đừng sửa thứ chưa hỏng”
      XFCE vốn đã nhanh và ổn định. Nếu chuyển sang Wayland mà chậm đi thì coi như mất ưu điểm lớn nhất
    • Tôi nghĩ quá trình chuyển XFCE sang Wayland sẽ mất thời gian
      Đây là cộng đồng coi trọng ổn định nên có lẽ sẽ giữ X11 làm mặc định, rồi chỉ chuyển sang Wayland khi đạt được mức tương đương đầy đủ về tính năng
    • Là người dùng XFCE lâu năm, tôi nhìn thay đổi này theo hướng tích cực miễn là X11 không bị khai tử quá vội
      Tôi hy vọng khi đến lúc buộc phải chuyển sang Wayland, mình vẫn có thể tiếp tục dùng XFCE
  • Tôi nghĩ chính dự án này cho thấy Wayland là hướng đi đúng
    Xorg là một triển khai đơn lẻ, còn Wayland thì tạo ra cả một hệ sinh thái thư viện đa dạng (wlroots, Smithay, v.v.)
    Nhờ vậy mà ngay cả dự án một người cũng có thể cho ra bản xem trước cho lập trình viên chỉ sau vài tháng
    Kiểu cạnh tranh này sẽ giúp hệ sinh thái mã nguồn mở phát triển

    • Vì Wayland chỉ cung cấp các chức năng mức thấp nên người ta đã phải vội vàng tạo ra giao diện desktop chung
      Nhưng quá trình đó diễn ra quá gấp nên thiếu tính thống nhất. Tôi nghĩ phải thêm 10 năm nữa thì một API desktop Linux hoàn chỉnh mới thật sự định hình
    • Nhiều triển khai sẽ tạo ra cạnh tranh, nhưng cũng có thể dẫn tới thiếu tính năng và kiệt sức do thiếu người bảo trì
      Tôi cho rằng việc không có libcompositor là sai lầm lớn nhất của Wayland
    • Mã trùng lặp chắc chắn sẽ tăng, nhưng bù lại mỗi nhóm có thể xây dựng triển khai phù hợp với triết lý của riêng họ
      Tôi rất tò mò xem đội XFCE sẽ cho ra kết quả như thế nào
    • Kiểu lập luận này làm tôi nhớ đến thời Rails bị lạm dụng
      Stack đó đúng là tiện, nhưng rốt cuộc có thể trở thành cấu trúc khó chỉnh sửa sâu
    • Cốt lõi của Wayland là kernel làm thay nhiều việc
      X về cơ bản hoạt động như một kernel thứ hai, còn Wayland tận dụng các trừu tượng hiện đại của kernel như GEM, DMA-BUF, KMS
      Nhờ vậy nó có thể tiến hóa theo hướng sạch sẽ và hiệu quả hơn nhiều
  • Tôi đã dùng XFCE làm desktop chính hơn 10 năm
    Rất vui khi nghe tin có hỗ trợ Wayland
    Nếu được viết bằng Rust thì có lẽ còn giúp thu hút thêm người đóng góp
    Nếu muốn hỗ trợ tài chính, tôi khuyên nên quyên góp cho Open Collectivexfce-eu

    • Tôi đã dùng XFCE 5 năm và mới bắt đầu ủng hộ hằng tháng gần đây. Tin này thật đáng mừng
  • Tôi nghĩ quá trình chuyển từ X11 sang Wayland là thay đổi đau đớn nhất trong lịch sử Linux

    • Lúc chuyển từ kernel 2.4 sang 2.6 cũng khá vất vả. Mô hình phát triển thay đổi hoàn toàn, mà thời pre-git thì rất hỗn loạn
      Thời KDE4 cũng là một giai đoạn tăm tối
    • Cá nhân tôi thấy lần chuyển GNOME 2 → GNOME 3 mới là đau đớn nhất. Cuối cùng tôi phải chuyển sang WM khác
    • Với tôi thì việc chuyển từ X11 sang Wayland lại rất mượt mà. Cuối cùng vẫn tùy nhu cầu mỗi người
    • 8 năm nữa có khi Wayland cũng già như X11 bây giờ và sẽ xuất hiện Wayland 2
    • Đợt chuyển sang systemd cũng chẳng hề nhẹ nhàng
  • Tôi đã thử bộ công cụ client Rust của Smithay, nhưng tính an toàn luồng vẫn chưa hoàn chỉnh
    Dù được bọc trong Arc<>, nó vẫn bị crash kỳ lạ khi gọi từ nhiều luồng
    Tôi muốn học cách đi sâu vào API Wayland để dùng nó một cách an toàn

  • Hiện tại vẫn có thể dùng XFCE trên phần lớn compositor dựa trên wlroots
    Tôi đang dùng tổ hợp Hyprland + XFCE trên Gentoo
    Cấu hình nằm ở kho lưu trữ này

    • Tôi thích giao diện chủ đề retro
      Tôi tò mò vì sao bạn gọi tổ hợp Hyprland và XFCE4 là “một sự kết hợp bị nguyền rủa”. Có lẽ điều đó liên quan đến lý do XFCE quyết định tự làm compositor riêng
  • Trước đây tôi từng phản đối Wayland, nhưng sau khi thấy hiệu năng trên phần cứng cũ thì tôi đổi ý
    Trên chiếc Thinkpad cũ, Firefox cuộn mượt hơn X11 rất nhiều
    Cử chỉ touchpad cũng được bổ sung nên tôi khá hài lòng. Thiết lập có hơi phiền, nhưng đó là đánh đổi xứng đáng

  • Tôi tò mò liệu Wayland có chạy được trên các hệ thống không phải Linux hay không. Ví dụ trên BSD hay macOS, liệu có thể hiển thị cửa sổ từ xa kiểu XQuartz không?

    • Trên FreeBSD thì nó hoạt động khá tốt. Trên OpenBSD cũng có một số compositor dựa trên wlroots chạy được
      Cũng có compositor Wayland cho Mac, và Brodie Robertson đã đăng video liên quan
    • Tích hợp GUI của WSL2 của Microsoft cũng dựa trên Wayland và XWayland
      Xem dự án WSLg, Weston được render qua RDP nên có thể hiển thị cửa sổ xuyên nền tảng
      Gia tốc GPU cũng vẫn được giữ, nên tôi nghĩ nó tốt hơn X11 forwarding
    • Wayland không có network transparency, nên việc truyền từ xa phức tạp hơn. Tình trạng trên Mac thì tôi không chắc
    • Sổ tay chính thức của FreeBSD cũng có hướng dẫn thiết lập Wayland
      FreeBSD Handbook Wayland
    • Trên OpenBSD cũng đang có thử nghiệm với tài liệu Wayland_on_OpenBSD
  • Dạo này cứ nghe “rewrite bằng Rust” là tôi lại nghĩ đến chuyện không còn ai bảo trì
    Có vẻ không còn ai vá xfwm4 nên họ mới viết lại từ đầu
    Đây cũng có thể là dấu hiệu của chuyển giao thế hệ — các lập trình viên mới muốn thiết kế lại theo hướng đơn giản và an toàn
    Wayland đơn giản hơn X11, còn Rust giúp giảm sai sót, nên đây là một dòng chảy tự nhiên
    Nhưng cái giá phải trả có thể là network transparency, hiệu năng và độ ổn định. Tôi chấp nhận đó là xu thế thời đại