Mir (phần mềm)

Bách khoa toàn thư mở Wikipedia
Mir
Thiết kế bởiCanonical Ltd.
Phát triển bởiCanonical Ltd.
Phiên bản ổn định
1.4.0 / 13 tháng 8 năm 2019; 4 năm trước (2019-08-13)[1]
Kho mã nguồnhttps://github.com/MirServer/mir
Viết bằngC++
Hệ điều hànhLinux
Thể loạiDisplay server
Giấy phépGPLv2 hoặc GPLv3[2]
Websitemir-server.io

Mir là một máy chủ hiển thị máy tính và gần đây, bộ tổng hợp Wayland cho hệ điều hành Linux, được phát triển bởi Canonical Ltd. Nó đã được lên kế hoạch thay thế X Window System hiện đang sử dụng cho Ubuntu,[3][4][5] Tuy nhiên kế hoạch thay đổi và Mutter được thông qua như một phần của GNOME Shell.

Mir được công bố bởi Canonical ngày 4/3/2013[6] như một phần sự phát triển Unity 8, dự định là thế hệ tiếp theo cho giao diện người dùng Unity.[3] Bốn năm sau, Unity 8 bị hủy bỏ[7] mặc dù sự phát triển của Mir vẫn tiếp tục cho các ứng dụngInternet of Things (IoT).

Kiến trúc phần mềm[sửa | sửa mã nguồn]

Mir được built trên EGL[8] và sử dụng một số hạ tầng ban đầu được phát triển cho Wayland[9] như triển khai EGL của Mesa và libhybris của Jolla.[10][11] Lớp tương thích cho X, XMir, dựa trên XWayland.[12]

một phần khác của hạ tầng được dùng bởi Mir bắt nguồn từ Android. Có những phần bao gồm Protocol Buffers của Google[13], và trước đó bao gồm ngăn xếp đầu vào của Android[14], đã được thay thế bằng libinput của Wayland, trước cuối năm 2015..[15][16] Một chi tiết triển khai trong quản lý bộ nhớ được chia sẻ với Android là việc sử dụng bộ đệm được phân bổ bởi máy chủ mà nhân viên Canonical Christopher Halse Rogers tuyên bố là yêu cầu cho "thế giới ARM và đồ họa Android".[17]

Theo Ryan Paul của Ars Technica,

Tính đến tháng 9 năm 2017 nó có hỗ trợ Wayland cơ bản.[18]

Tiếp nhận[sửa | sửa mã nguồn]

Tính đến tháng 5 năm 2014, môi trường desktop duy nhất được công bố có hỗ trợ riêng cho Mir là Unity 8 của Canonical. Không có bản phân phối Linux nào khác công bố kế hoạch chấp nhận Mir làm máy chủ hiển thị mặc định.

Ngày 23 tháng 7, 2013, Nhà phát triển Compiz, Sam Spilsbury đã công bố một port concept của XBMC cho Mir,[19] dựa trên port concept của XBMC cho Wayland trước đó.[20] Cùng ngày, nhà phát triển của Canonical, Oliver Ries đã xác nhận rằng "đây là ứng dụng Mir client bản địa đầu tiên ngoài tự nhiên".[21]

Trong số các công cụ phái sinh Ubuntu sử dụng môi trường không phải là Unity, các nhà phát triển Xubuntu đã tuyên bố vào đầu tháng 8 năm 2013 rằng họ sẽ đánh giá việc chạy Xfce thông qua XMir,[22] nhưng ba tuần sau đó đã quyết định từ chối áp dụng nó.[23]

Ubuntu[sửa | sửa mã nguồn]

Trong tháng 6/2013, Các cột mốc được công bố công khai của Canonical cho phát triển Mir là gửi phân phối cùng Unity 7 với XMir theo mặc định và chế độ dự phòng X11 thuần túy với Ubuntu 13.10, loại bỏ dự phòng X11 với Ubuntu 14.04 LTS, và Unity 8 chạy trên Mir bởi Ubuntu 14.10.[24] Sau đó, ngày 1 tháng 10 năm 2013, Canonical tuyên bố hoãn kế hoạch Mir của họ cho desktop dùng và không dùng XMir như mặc định trong Ubuntu 13.10. Tuy nhiên, Ubuntu Touch được nhắm mục tiêu phát hành cùng với Mir và phiên bản điện thoại thông minh của Unity 8.[25][26]

Tháng 5/2016, trong cuộc phỏng vấn video truyền thống của mình với cộng đồng được tổ chức tại Ubuntu Online Summit, Mark Shuttleworth đã xác nhận rằng "Bạn sẽ có thể nhận được 16.10 với Unity 8, giống như bạn có thể nhận được 16.04 với MATE, hoặc KDE hoặc Gnome. Ở đó, nó sẽ là một lựa chọn và nhóm làm việc trên đó cam kết biến nó thành một lựa chọn hạng nhất."[27]

Ngày 5 tháng 4 năm 2017, Canonical thông báo rằng với việc phát hành Ubuntu 18.04 LTS, giao diện Unity 8 sẽ bị hủy bỏ để quay lại GNOME. Khi được hỏi liệu quyết định này cũng có nghĩa là sự kết thúc của sự phát triển Mir, Michael Hall của Canonical nói rằng đưa ra các lộ trình phát triển khác nhau được thực hiện bởi Mir và đối thủ của nó, Wayland, "Sử dụng Mir đơn giản không phải là một lựa chọn mà chúng ta có."[7]

Tuy nhiên, Mark Shuttleworth làm rõ vào ngày 8 tháng 4 năm 2017 rằng sự phát triển sẽ tiếp tục cho Mir sử dụng trong các ứng dụng Internet of Things (IoT) nói rằng: "chúng tôi có rất nhiều dự án IoT sử dụng Mir làm bộ tổng hợp để mã tiếp tục nhận được đầu tư."[28]

Bộ công cụ[sửa | sửa mã nguồn]

  • SDL hỗ trợ cho Mir và Wayland có sẵn từ SDL 2.0.2 nhưng nó bị tắt theo mặc định.[29][30] Hỗ trợ Wayland và Mir được kích hoạt theo mặc định trong SDL 2.0.4.[31]
  • GTK+ 3.16 bao gồm một thử nghiệm cho Mir backend.[32]
  • Qt5 là bộ công cụ chính thức và được hỗ trợ cho Unity8 và Ubuntu Touch, bao gồm trong Ubuntu SDK.[33]

Tranh cãi[sửa | sửa mã nguồn]

Tháng 3/2013, Canonical Ltd. giới thiệu Mir như một máy chủ hiển thị thay thế cho X.Org Server trong Ubuntu.[6] Trước đó, năm 2010, họ đã thông báo rằng họ sẽ sử dụng Wayland.[34] Canonical tuyên bố rằng Wayland không thể đáp ứng nhu cầu của Ubuntu. Có một số bài viết được phản đối hoặc làm rõ, bởi những người dẫn đầu các dự án tương tự hoặc bị ảnh hưởng khác.[35][36][37][38]

Khi ban đầu công bố Mir, Canonical đã đưa ra nhiều tuyên bố khác nhau về hệ thống đầu vào của Wayland, mà các nhà phát triển Wayland đã nhanh chóng phản bác.[39][40] Tài liệu chính thức của Canonical năm 2014 nêu rõ, "đánh giá của chúng tôi về định nghĩa giao thức cho thấy rằng giao thức Wayland không đáp ứng các yêu cầu của chúng tôi. Trước tiên, chúng tôi đang hướng đến việc xử lý sự kiện đầu vào mở rộng hơn, có tính đến các phát triển trong tương lai như thiết bị đầu vào 3D (ví dụ Leap Motion) đối với các trường hợp sử dụng di động, chúng tôi nghĩ rằng việc xử lý các phương thức nhập cũng nên được phản ánh trong giao thức máy chủ hiển thị. Như một ví dụ khác, chúng tôi coi các phần tích hợp shell của giao thức là đặc quyền và chúng tôi muốn tránh có bất kỳ loại nào hành vi shell được xác định trong giao thức đối mặt với máy khách."[41] Vào cuối năm 2015, Mir đã chuyển từ ngăn xếp đầu vào có nguồn gốc từ Android sang libinput của Wayland.[15][16]

Nhà phát triển nhân Linux lâu năm Matthew Garrett chỉ trích việc lựa chọn cấp phép cho các dự án phần mềm của Canonical, đặc biệt là Mir. Không giống X.Org Server và Wayland, cả hai đều cấp phép theo giấy phép MIT, Mir được cấp phép theo GPLv3 – "một sự lựa chọn kỳ lạ" cho "thị trường thù địch với GPLv3" – nhưng những người đóng góp được yêu cầu ký một thỏa thuận "trao quyền cho Canonical gửi lại đóng góp của bạn theo sự lựa chọn giấy phép của họ. Điều này có nghĩa là, mặc dù không phải là chủ sở hữu bản quyền duy nhất, Canonical có thể tự do cấp lại mã của bạn theo giấy phép độc quyền."Ông kết luận rằng điều này tạo ra sự bất cân xứng trong đó "bạn kết thúc với một tình huống trông cực kỳ giống Canonical muốn kết thúc cuộc cạnh tranh bằng cách khiến bất kỳ ai khác không thể bán các phiên bản phần mềm sửa đổi của Canonical trên cùng một thị trường."[42][43][44][45] Những lo ngại của Garrett đã được lặp lại bởi Bradley M. Kuhn,[46][47] Giám đốc điều hành của Software Freedom Conservancy.[48] Richard Stallman của Free Software Foundation đã tuyên bố về trường hợp tương tự của MySQL rằng ông hỗ trợ cấp phép kép cho phần mềm GPL, miễn là không có phần mở rộng độc quyền hoặc phiên bản độc quyền của chương trình miễn phí,[49] which was not the case for MySQL.

Tháng 6 năm 2013, Jonathan Riddell của Kubuntu đã thông báo rằng Kubuntu dkhông có kế hoạch chuyển sang Mir. Ông tuyên bố "Vài tháng trước Canonical đã công bố hệ thống đồ họa mới của họ cho Ubuntu, Mir. Thật xấu hổ khi thị trường desktop Linux đã không hoạt động như tất cả chúng ta đều hy vọng vào đầu thiên niên kỷ và họ cảm thấy cần phải tuân theo một cách tiếp cận kiểu Apple hoặc Android tạo ra một hệ điều hành hoạt động độc lập thay vì là một phần của phương pháp phát triển cộng đồng. Ở đây tại Kubuntu chúng tôi vẫn muốn làm việc như một phần của sự phát triển cộng đồng, lấy phần mềm tốt từ KDE và các dự án ngược dòng khác và đưa nó vào trên máy tính trên toàn thế giới. Vì vậy, khi desktop Ubuntu được chuyển sang Mir, chúng tôi sẽ không theo dõi. Chúng tôi sẽ ở lại với X trên các hình ảnh cho bản phát hành 13.10 của chúng tôi ngay bây giờ và phát hành 14.04 LTS vào năm tới. Sau đó, chúng tôi hy vọng sẽ chuyển sang Wayland, đó là điều mà KDE và mọi bản phân phối Linux khác hy vọng sẽ làm được."[50][51][52]

Tháng 9 năm 2013, một nhà phát triển Intel đã loại bỏ hỗ trợ XMir khỏi trình điều khiển video của họ và viết "Chúng tôi không tha thứ hoặc hỗ trợ Canonical trong quá trình hành động mà họ đã chọn và sẽ không mang các bản vá XMir ngược dòng."[53][54][55]

Xem thêm[sửa | sửa mã nguồn]

Chú thích[sửa | sửa mã nguồn]

  1. ^ “Release v1.4.0”. ngày 13 tháng 8 năm 2019. Truy cập ngày 14 tháng 8 năm 2019.
  2. ^ Larabel, Michael (ngày 9 tháng 8 năm 2017). “Mir Relicensed To GPLv2 Or GPLv3”. Phoronix. Truy cập ngày 21 tháng 11 năm 2017.
  3. ^ a b “MirSpec”. wiki.ubuntu.com. Bản gốc lưu trữ ngày 6 tháng 3 năm 2013. Truy cập ngày 6 tháng 3 năm 2013.
  4. ^ “Canonical reveals plans to launch Mir display server – Update”. H-online.com. ngày 24 tháng 2 năm 2013. Bản gốc lưu trữ ngày 6 tháng 3 năm 2013. Truy cập ngày 6 tháng 3 năm 2013.
  5. ^ Brodkin, Jon (ngày 17 tháng 5 năm 2012). “Ubuntu dumps X window system, creates replacement for PC and mobile”. Ars Technica. Truy cập ngày 6 tháng 3 năm 2013.
  6. ^ a b “Canonical announces Mir, a custom display server that will serve up future versions of Unity”. engadget.com. ngày 4 tháng 3 năm 2013.
  7. ^ a b “Ubuntu Unity is dead: Desktop will switch back to GNOME next year”. arstechnica.com. Truy cập ngày 5 tháng 4 năm 2017.
  8. ^ “Canonical announced a new display server – Mir, and it is good for the consumer”. Geek.co.il. ngày 12 tháng 3 năm 2013. Truy cập ngày 23 tháng 8 năm 2013.
  9. ^ Christopher Halse Rogers. “Tomorrow Comes Today: Mir and YOU!”. Bản gốc lưu trữ ngày 23 tháng 3 năm 2013. Truy cập ngày 23 tháng 8 năm 2013.
  10. ^ Carsten Munk (ngày 11 tháng 4 năm 2013). “Wayland utilizing Android GPU drivers on glibc based systems, Part 1”. Mer Project. Truy cập ngày 3 tháng 7 năm 2013.
  11. ^ “libhybris in Launchpad”. Launchpad.net. ngày 5 tháng 2 năm 2013. Truy cập ngày 3 tháng 7 năm 2013.
  12. ^ Thomas Voss (ngày 4 tháng 3 năm 2013). “Mir – An outpost envisioned as a new home”. Truy cập ngày 23 tháng 8 năm 2013.
  13. ^ Christopher Halse Rogers. “Tomorrow Comes Today: Artistic differences”. Bản gốc lưu trữ ngày 6 tháng 11 năm 2013. Truy cập ngày 23 tháng 8 năm 2013.
  14. ^ “android-input README”. Launchpad.net.
  15. ^ a b “Mir 0.18 Release Brings Prep Work For Vulkan, Libinput By Default”. Phoronix.
  16. ^ a b “New Mir Release (0.18)”. Maker Musings. Bản gốc lưu trữ ngày 25 tháng 6 năm 2016. Truy cập ngày 3 tháng 10 năm 2019.
  17. ^ Christopher Halse Rogers. “Tomorrow Comes Today: Server Allocated Buffers in Mir”. Bản gốc lưu trữ ngày 6 tháng 11 năm 2013. Truy cập ngày 23 tháng 8 năm 2013.
  18. ^ “Mir Now Has Initial Support For Wayland Clients”. Phoronix. ngày 18 tháng 9 năm 2017. Truy cập ngày 28 tháng 9 năm 2017.
  19. ^ Sam Spilsbury (ngày 23 tháng 7 năm 2013). “XBMC on Mir”. Truy cập ngày 23 tháng 8 năm 2013.
  20. ^ Sam Spilsbury (ngày 27 tháng 2 năm 2013). "Hello" from XBMC on Wayland”. Truy cập ngày 13 tháng 9 năm 2013.
  21. ^ Oliver Ries. “Sam Spilsbury is still the man”. Google+. Truy cập ngày 23 tháng 8 năm 2013.
  22. ^ “XMir-Based Xubuntu Images Now Available”. Phoronix.com. ngày 6 tháng 8 năm 2013. Truy cập ngày 23 tháng 8 năm 2013.
  23. ^ “Xfce-Based Xubuntu Will Not Ship XMir For 13.10”. Phoronix.com. Truy cập ngày 23 tháng 8 năm 2013.
  24. ^ “Ubuntu graphic stack roadmap update”. Lists.ubuntu.com. ngày 26 tháng 6 năm 2013. Truy cập ngày 17 tháng 7 năm 2013.
  25. ^ “Ubuntu 13.10 Desktop Will Not Use XMir By Default”. Phoronix.com. Truy cập ngày 4 tháng 10 năm 2013.
  26. ^ “XMir update for Ubuntu 13.10”. Fridge.ubuntu.com. ngày 30 tháng 9 năm 2013. Truy cập ngày 4 tháng 10 năm 2013.
  27. ^ Shuttleworth, Mark. “Mark Shuttleworth's Q&A”. Youtube. Truy cập ngày 20 tháng 5 năm 2016.
  28. ^ Shuttleworth, Mark (ngày 8 tháng 4 năm 2017). “Unity8”. Google Plus. Truy cập ngày 8 tháng 4 năm 2017.
  29. ^ “Announcing SDL 2.0.2”. ngày 8 tháng 3 năm 2014. Bản gốc lưu trữ ngày 7 tháng 12 năm 2018. Truy cập ngày 16 tháng 3 năm 2014.
  30. ^ Sneddon, Joey-Elijah (ngày 5 tháng 2 năm 2014). “Some of Linux's Most Popular Games Will Run Natively On Mir”. Truy cập ngày 19 tháng 3 năm 2014.
  31. ^ “SDL 2.0.4 Was Quietly Released Last Week With Wayland & Mir By Default”. Phoronix.
  32. ^ Clasen, Matthias (22 tháng 3 năm 2015). “GTK+ 3.16.0 released”. Truy cập ngày 10 tháng 6 năm 2015.
  33. ^ Canonical Ltd (11 tháng 9 năm 2015). “Ubuntu SDK”. Truy cập ngày 11 tháng 9 năm 2015.
  34. ^ Shuttleworth, Mark (ngày 4 tháng 11 năm 2010). “Unity on Wayland”. Truy cập ngày 16 tháng 7 năm 2013.
  35. ^ Grässlin, Martin (ngày 8 tháng 3 năm 2013). “War is Peace”. Truy cập ngày 16 tháng 7 năm 2013.
  36. ^ Edmundson, David (ngày 12 tháng 3 năm 2013). “KDE, LightDM and the Mir Kerfuffle”. Bản gốc lưu trữ ngày 18 tháng 5 năm 2013. Truy cập ngày 16 tháng 7 năm 2013.
  37. ^ Larabel, Michael (ngày 13 tháng 3 năm 2013). “GNOME Will Move Full-Speed With Wayland Support”. Phoronix. Truy cập ngày 16 tháng 7 năm 2013.
  38. ^ Grässlin, Martin (ngày 12 tháng 5 năm 2013). “Mir in Kubuntu”. Truy cập ngày 16 tháng 7 năm 2013.
  39. ^ Larabel, Michael (ngày 4 tháng 3 năm 2013). “Upstream X/Wayland Developers Bash Canonical, Mir”. Phoronix. Truy cập ngày 16 tháng 7 năm 2013.
  40. ^ Larabel, Michael (ngày 5 tháng 3 năm 2013). “A Note To Canonical: "Don't Piss On Wayland". Phoronix. Truy cập ngày 16 tháng 7 năm 2013.
  41. ^ Canonical Ltd (ngày 7 tháng 1 năm 2014). “Mir Spec – Why Not Wayland / Weston?”. Bản gốc lưu trữ ngày 2 tháng 10 năm 2013. Truy cập ngày 15 tháng 3 năm 2014.
  42. ^ Garrett, Matthew (ngày 19 tháng 6 năm 2013). “Mir, the Canonical CLA and skewing the playing field”. Dreamwidth. Truy cập ngày 16 tháng 7 năm 2013.
  43. ^ “Mir's GPLv3 License Is Now Raising Concerns”. Phoronix. ngày 19 tháng 6 năm 2013. Truy cập ngày 23 tháng 9 năm 2013.
  44. ^ “Die Woche: Canonical wiederholt Fehler”. heise open (bằng tiếng Đức). Heise.de. Bản gốc lưu trữ ngày 7 tháng 6 năm 2016. Truy cập ngày 23 tháng 9 năm 2013.
  45. ^ “Intel entfernt Mir-Unterstützung” (bằng tiếng Đức). Pro-Linux.de. Truy cập ngày 23 tháng 9 năm 2013.
  46. ^ Bradley M. Kuhn (ngày 23 tháng 6 năm 2013). “Matthew Garrett on Mir”. Ebb.org. Truy cập ngày 23 tháng 9 năm 2013.
  47. ^ Bradley M. Kuhn. “Project Harmony (and "Next Generation Contributor Agreements") Considered Harmful”. Ebb.org. Truy cập ngày 23 tháng 9 năm 2013.
  48. ^ “Software Freedom Conservancy Appoints Full-Time Executive Director”. ngày 4 tháng 10 năm 2010.
  49. ^ Richard Stallman (ngày 7 tháng 1 năm 2010). “On Selling Exceptions to the GNU GPL”. Free Software Foundation.
  50. ^ “Kubuntu Won't be Switching to Mir or XMir”. KDE. Truy cập ngày 23 tháng 9 năm 2013.
  51. ^ Bodnar, Ladislav (ngày 1 tháng 7 năm 2013). “Miscellaneous News”. DistroWatch. Truy cập ngày 7 tháng 7 năm 2013.
  52. ^ “Kubuntu plans to steer clear of Mir and switch to Wayland”. H-online.com. ngày 27 tháng 6 năm 2013. Bản gốc lưu trữ ngày 29 tháng 6 năm 2013. Truy cập ngày 23 tháng 9 năm 2013.
  53. ^ Intel (ngày 7 tháng 9 năm 2013). “xf86-video-intel 2.99.902 snapshot”. Chris Wilson. Truy cập ngày 8 tháng 9 năm 2013.
  54. ^ Michael Larabel (ngày 7 tháng 9 năm 2013). “Intel Reverts Plans, Will Not Support Ubuntu's XMir”. Phoronix. Truy cập ngày 8 tháng 9 năm 2013.
  55. ^ Brodkin, Jon (ngày 9 tháng 9 năm 2013). “Intel rejection of Ubuntu's Mir patch forces Canonical to go own way”. Ars Technica. Truy cập ngày 3 tháng 11 năm 2013.