Ubuntu Unity จะเปลี่ยนไปใช้ Wayland


มีข่าวกันได้ทุกวันแหละ Unity ของ Ubuntu เนี่ย แต่ผมคิดว่าข่าวนี้น่าจะเป็นข่าวใหญ่ที่สุดแล้วนับจากการประกาศมาใช้ Unity เป็น default shell ของ Ubuntu 11.04 นั่นคือ

Mark Shuttleworth ประกาศว่า Unity จะเปลี่ยนไปใช้ Wayland

หลายคนอาจจะงงๆ ว่า “เออ เปลี่ยนแล้วทำไมอะ ว่าแต่อะไรคือ Wayland?”

เรื่องนี้คงต้องอธิบายกันตั้งแต่ต้น ในระบบปฏิบัติการพวก *nix OS ปัจจุบัน ตัวควบคุม Graphics User Interface (GUI) ที่ใช้กันส่วนใหญ่ คือ สิ่งที่เรียกกันว่า X Windows System หรือ X หรือบางทีก็ X11 หน้าที่หลักของ X11 ได้แก่ รับคำสั่งจากผู้ใช้ผ่านเมาส์ คีย์บอร์ด, วาดหน้าจอ, กำหนดว่าผลลัพธ์ตรงนี้ต้องไปแสดงหน้าต่างไหน เป็นต้น ดังนั้นโปรแกรมที่เป็น GUI ทุกตัวที่ก็ต้องใช้ X เป็นพื้นฐาน ข้อนี้รวมไปถึง Desktop Environment อย่าง GNOME หรือ KDE ที่โดยหน้าที่แล้วต้องทำงานกับ X อย่างใกล้ชิด จะว่าไปก็เหมือนส่วนที่ครอบ X อีกที

แต่เนื่องจาก X11 เป็นสิ่งที่พัฒนามาตั้งแต่ทศวรรษ 1990 สมัยที่ผู้ใช้ต้องต่อ thin client terminal ก๊อกแก๊กเข้าไป server ที่รันทุกอย่าง ไม่ใช่แบบในสมัยนี้ที่แทบจะทุกบ้านก็มีคอมพิวเตอร์เป็นของตัวเองแล้ว (และประสิทธิภาพของ PC ราคาไม่กี่หมื่นบาททุกวันนี้ก็ดีกว่า server ในสมัยนั้นมากมาย) หลายส่วนของ X เป็นสิ่งโบราณที่ตอนนี้แทบไม่มีใครสนใจจะใช้ เช่น Network Transparency ครั้นจะเอาเทคโนโลยีใหม่ๆ ใส่เข้าไปใน X ก็เป็นเรื่องที่ยากเย็นแสนเข็ญ

ดังนั้นจึงมีโครงการริเริ่มสร้างนวัตกรรมใหม่ๆ ขึ้นมาแทน X มากมาย หนึ่งในนั้นคือ Wayland ซึ่งพัฒนาโดย Kristian Høgsberg สมาชิกของ Intel OSTC

Wayland รวมเอาเทคโนโลยีใหม่ๆ ของฝั่ง Linux และ FOSS เข้าไปมากมาย ไม่ว่าจะเป็น Direct Rendering Manager (DRM), Kernel Mode-setting (KMS), Graphics Execution Manager (GEM) แถมยังมี Compisiting manager (ตัวที่ใช้ควบคุม effect แบบ Compiz) เป็นของตัวเองด้วยโดยใช้ OpenGL ES

ด้วยความเจ๋งแบบนี้นี่เอง Mark Shuttleworth จึงประกาศตั้งเป้าเปลี่ยน Unity ไปใช้ Wayland แทน X11 แบบเดิมๆ  โดย Mark Shuttleworth ให้เหตุผลว่า “X ไม่สามารถให้ graphics effect ที่ลื่นไหลแบบเราต้องการได้ แม้ว่าเราพอจะทำผลที่น่าพอใจออกมาได้ แต่มันก็ยากมากๆ”

we don’t believe X is setup to deliver the user experience we want, with super-smooth graphics and effects. I understand that it’s *possible* to get amazing results with X, but it’s extremely hard, and isn’t going to get easier.

Mark Shuttleworth บอกต่อไปว่า Ubuntu พยายามหา displat server อื่นมาแทน X แล้วหลายรอบ เช่น compositing manager ของ Android หรือแม้กระทั่งของที่เป็น proprietary แต่หลังจากไตร่ตรองแล้วว่าถ้าทำแบบนั้น Ubuntu กับ Canonical คงโดนสวดส่งจากทุกสิบทิศ เพราะฉะนั้นยังไง Wayland ก็คือคำตอบสุดท้าย

We considered and spoke with several proprietary options, on the basis that they might be persuaded to open source their work for a new push, and we evaluated the cost of building a new display manager, informed by the lessons learned in Wayland. We came to the conclusion that any such effort would only create a hard split in the world which wasn’t worth the cost of having done it. There are issues with Wayland, but they seem to be solveable, we’d rather be part of solving them than chasing a better alternative. So Wayland it is.

ถ้าเทียบกันตามเนื้อผ้าจริงๆ ไม่ต้องสนใจกระแส การเปลี่ยนไปใช้ Wayland นี้จะทำให้การเปลี่ยนไปใช้ Unity ดูเป็นเรื่องเล็กน้อยไปเลย จะใช้ Unity หรือ GNOME Shell ยังไง (ในทางทฤษฎี) โปรแกรมต่างๆ ก็ยังทำงานได้อย่างไม่มีปัญหา แต่สำหรับ Wayland แล้ว โปรแกรมต่างๆ ที่เขียนมาทำงานกับ X อาจจะต้องเขียนใหม่หมดเลย อีกอย่างคือปัญหาเรื่อง Hardware Compatibility เพราะพวกของดีๆ ใน Wayland อย่าง DRM, KMS, GEM ที่บอกไปข้างต้นนั้นยังเป็นของใหม่ที่มีเพียง hardware driver บางตัวเท่านั้นรองรับ ขนาด Nouveau open source driver ตัวใหม่สำหรับ NVIDIA ก็ยังรองรับได้ไม่สมบูรณ์ ส่วน proprietary driver ของทั้ง NVIDIA และ AMD ไม่ต้องไปพูดถึง รอกันอีกนานนนน (ส่วนขวัญใจคนจนอย่างการ์ดจอ Intel onboard น่าจะไม่ค่อยมีปัญหาในเรื่องนี้ เพราะ Intel มีนโยบายเกี่ยวกับ Open Source Driver ที่ดีมากถึงมากที่สุด แถมคนทำ Wayland ก็ไม่ใช่อื่นไกล มาจาก Intel เหมือนกัน)

อย่าเพิ่งตกใจครับ เพราะเรื่องนี้ไม่น่ากลัวอย่างที่คิด

ประการแรก เราจะยังใช้โปรแกรมเก่าๆ ได้ผ่าน Compatibility mode (คุ้นๆ มั้ย) เพราะด้วยเทคโนโลยีใหม่ล่าสุด (อีกแล้ว) เราสามารถรัน Rootless X.org Server ข้างใน Wayland ได้ ฉะนั้นนักพัฒนาทั้งหลายก็มีเวลาเตรียมตัวค่อยๆ ย้ายฐานโปรแกรมของตัวเองไปยัง Wayland ไม่ต้องรีบร้อนกันให้ลำบาก

ประการที่สอง Wayland จะยังไม่มาในเร็ววันนี้ ต้องเข้าใจก่อนว่า X อยู่กับเรามาเกือบ 30 ปีแล้ว การจะย้ายจากสิ่งที่ยิ่งใหญ่ขนาดนี้ไปสู่สิ่งใหม่ไม่ใช่เรื่องที่จะเกิดขึ้นได้ในเวลาเพียง 6 เดือนหรือ 1 ปี ขนาดตัว Mark Shuttleworth เองยังประเมินไว้ว่าคงต้องใช้เวลา 4 ปีเป็นอย่างน้อยกว่าการเปลี่ยนแปลงจะสมบูรณ์ หรือแม้แต่เว็บ Phoronix ที่โปร Wayland มาตลอดก็ยังคาดว่ากว่าเราจะเริ่มได้เห็น Wayland ก็คงเป็น Ubuntu 12.10 ขึ้นไป

ประการที่สาม OpenGL และ OpenGL ES เป็นมาตรฐานที่ได้รับการรองรับและสนับสนุนจากทั้งค่ายฮาร์ดแวร์และซอฟท์แวร์โดยทั่วไป เวลา 4 ปีน่าจะมากพอให้เราเห็นการสนับสนุนที่ดีขึ้น Canonical เองก็เตรียมตั้งห้องแล็บตรวจสอบความเข้ากันได้กับ Ubuntu ให้บริการผู้ผลิตฮาร์ดแวร์ไว้แล้ว และด้วยฐานผู้ใช้ของ Ubuntu คงดึงดูดให้นักพัฒนาย้ายฐานโปรแกรมของตัวเองไปยัง Wayland ได้อย่างไม่ข้องใจ

ที่มา

ป.ล. กระแสตอบรับครั้งนี้ต่างจากตอนประกาศใช้ Unity มากมาย รู้สึกว่า X คงเป็นที่เอือมระอาสำหรับคนส่วนใหญ่จริงๆ พอ Ubuntu บอกว่าจะใช้ Wayland ปุ๊บ มีแต่คนเชียร์ มีบ้างที่กังวลเรื่อง hardware compatibility แต่ความรู้สึกโดยรวมก็ยังเป็นไปในแง่ดี

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: