ตามที่ประกาศเมื่อเร็ว ๆ นี้โดย Mark Shuttleworth อูบุนตูจะย้ายไปใช้ Wayland ในฐานะผู้จัดการการแสดงผล
อะไรคือความแตกต่างที่ใหญ่ที่สุดระหว่าง X11 และ Wayland ทำไม Wayland ถึงทำให้ Ubuntu ดีขึ้น?
ตามที่ประกาศเมื่อเร็ว ๆ นี้โดย Mark Shuttleworth อูบุนตูจะย้ายไปใช้ Wayland ในฐานะผู้จัดการการแสดงผล
อะไรคือความแตกต่างที่ใหญ่ที่สุดระหว่าง X11 และ Wayland ทำไม Wayland ถึงทำให้ Ubuntu ดีขึ้น?
คำตอบ:
คุณสามารถดูหน้าสถาปัตยกรรม Waylandเพื่อดูความแตกต่างในการออกแบบ มันควรที่จะทำให้กราฟิกสแต็กทั้งหมดง่ายขึ้นโดยบังคับให้ทุกอย่างผ่านสแต็ค GEM / DRM มาตรฐานตรงเข้าไปในเคอร์เนล
เปรียบเทียบกับ X stack ที่คุณมีบิตและบ็อบทั่วสถานที่ ความยุ่งเหยิงของ X บางตัวผ่านการออกแบบที่ยืดหยุ่นบางตัวมีความเจ็บปวดเพิ่มมากขึ้น ผู้แต่งเพลงทั้งหมด (Compiz / Metacity / Mutter / KWin / etc) ถูกเพิ่มเข้ามาภายหลัง พวกเขาอยู่ที่แกนกลางของพวกเขาแฮ็กที่จะทำสิ่งที่ X ควรทำเอง หากสิ่งต่าง ๆ ขยายตัวออกไปอย่างที่เคยเป็นมาเราจะไปถึงจุดที่โครงการไม่สามารถรักษาได้
โดยรวมเมื่อมีการสนับสนุนฮาร์ดแวร์ก็ควรทำให้ทั้งกองมีประสิทธิภาพมากขึ้นและเจ็บปวดน้อยกว่าที่จะใช้ในการตั้งค่ามาตรฐาน
อย่างไรก็ตามมีสองประเด็นที่ฉันยังไม่เห็นวิธีแก้ไข:
X ค่อนข้างรู้จักเครือข่าย คุณสามารถส่ง windows ไปยังคอมพิวเตอร์เครื่องอื่นคุณสามารถมีหลายหน้าจอพร้อมการลงชื่อเข้าใช้จากระยะไกลและทุกสิ่งที่น่าสนใจเช่นนั้น สิ่งนี้อาจดูเป็นผู้เชี่ยวชาญ แต่ก็เป็นเทคโนโลยีที่ใช้กันอย่างแพร่หลาย Wayland ปรากฏค่อนข้างท้องถิ่นและคงที่ในการเปรียบเทียบ
นอกจากนี้ยังรองรับไดรเวอร์ ไดรเวอร์แบบปิดแหล่งที่มายังไม่สนับสนุนเทคโนโลยี KMS / shared-GEM / shared-DRM ที่ Wayland เจริญรุ่งเรือง คนพิถีพิถันอาจไม่เป็นไรกับ Nouveau แต่บางคนที่จ่าย 100-400 ปอนด์สำหรับการ์ดกราฟิก 3D ประสิทธิภาพสูงจะไม่มีความสุขกับประสิทธิภาพ 3 มิติที่ไม่สม่ำเสมอที่พวกเขาต้องการเมื่อใช้ไดรเวอร์แบบเปิดในปัจจุบัน
ปรับปรุง: Nvidia คือการทำงานเพื่อสนับสนุนทั้ง Wayland และเมีย
ปรับปรุง 2018 17.10 ใช้ Wayland เป็นเซิร์ฟเวอร์ดิสเพลย์เริ่มต้น (เว้นแต่ว่าคุณมีไดร์เวอร์ปิดหรือไดร์เวอร์ที่ไม่รองรับหรือจำเป็นต้องมี X) 18.04 และ 18.10 ทั้งคู่ใช้ X เป็นค่าเริ่มต้นทั่วไป (แม้ว่าคุณจะสามารถติดตั้ง Wayland ได้)
ฉันไม่ได้รับผิดชอบอะไรเลย แต่จากตำแหน่งนี้ดูเหมือนว่าเรายังคงเป็นตัวชี้วัด Nvidia ห่างจากการฉุดตัวจริง จนกระทั่งถึงจุดนั้นฉันไม่คิดว่าเราจะเห็นความคิดและการพัฒนาพลังมากพอที่จะนำ Wayland มาใช้ ตลาดเกม / การแสดงนั้นกำลังใช้ X อยู่ตลาด MCE นั้นใช้ X (และ framebuffers โดยตรง) ฉันไม่แน่ใจว่า Wayland จะมีโอกาสจริง
มีความแตกต่างมากมายระหว่าง X และ Wayland น่าจะเป็นสิ่งที่ใหญ่ที่สุดจากด้านกราฟิกคือ Wayland ไม่ได้วาดรูปอะไรเลย
X มี API การวาดสองรูป หนึ่งในนั้นคือส่วนหนึ่งของโพรโทคอล X11 ซึ่งเก่าแก่ไร้ประโยชน์และไม่มีใครใช้ อื่น ๆ คือส่วนขยาย XRender ซึ่งให้การดำเนินงานคอมโพสิตที่ทันสมัยในหมู่สิ่งอื่น ๆ เช่นการไล่ระดับสี นี่คือสิ่งที่ไคโรใช้ X มี API แบบตัวอักษร
Wayland ไม่มี API การวาด ลูกค้า Wayland ได้รับการจัดการบัฟเฟอร์ DRM ซึ่งโดยทั่วไปจะเป็นตัวชี้ไปยังหน่วยความจำกราฟิกบางตัว Wayland ไม่ทราบหรือไม่สนใจว่าไคลเอนต์เข้าถึงบัฟเฟอร์นั้นอย่างไร ในแง่ X หมายความว่าแอปพลิเคชันทั้งหมดได้รับการเรนเดอร์โดยตรง - คำขอถอนเงินไม่จำเป็นต้องผ่านเซิร์ฟเวอร์
วิธีเดียวที่แสดงผลคือการคัดลอกบัฟเฟอร์ของไคลเอ็นต์ไปยังหน้าจอ
ในแง่ของผลประโยชน์ Wayland เป็นจำนวนมากที่มีความซับซ้อนน้อยกว่า X ซึ่งควรจะทำให้มันง่ายต่อการรักษา - แม้ว่าบางส่วนของความเรียบง่ายนี้มาจากการผลักดันความซับซ้อน (เช่น: วิธีการจริงวาดลงบนที่บัฟเฟอร์โปร่งใสระบบเครือข่าย) ชั้นอื่น ๆ ของ กอง ด้วยการทำให้ลูกค้ารับผิดชอบทั้งหมดของการเรนเดอร์ลูกค้าสามารถฉลาดขึ้นเกี่ยวกับสิ่งต่าง ๆ เช่นการกำหนดบัฟเฟอร์คู่
มีประโยชน์อื่นนอกเหนือจากกราฟิก ยกตัวอย่างเช่นมันง่ายกว่าแอพพลิเคชั่น Sandbox
ความแตกต่างที่สำคัญในสายตาของฉันคือ Wayland อยู่ใกล้กับเคอร์เนลมากกว่า X-Server ด้วยการย้ายไดรเวอร์กราฟิกจาก X ไปยังเคอร์เนล (เรียกว่าการตั้งค่าโหมดเคอร์เนล KMS), Wayland วางแผนที่จะใช้ฟังก์ชันใหม่นี้เพื่อแทนที่ X. คุณคาดหวังที่จะเห็นสิ่งต่อไปนี้ ...
มีรอยเท้าน้อยกว่า X - เนื่องจากหน้าจอถูกจัดการโดยเคอร์เนล Wayland จะไม่ต้องใช้งานมากเท่าที่จะสามารถใช้งานได้ สิ่งนี้เป็นไปได้ทั้งสองวิธีเนื่องจากฉันสงสัยว่าการส่งต่อ X (ดูที่หน้าจอหนึ่งบนพีซีเครื่องอื่น) อาจหายไปด้วย X
คุณลักษณะ KMS: ความสามารถในการเปลี่ยนความละเอียดหน้าจอโดยไม่ต้องรีสตาร์ทเซิร์ฟเวอร์ X (แม้ว่าฉันเชื่อว่านี่ได้รับการแก้ไขใน X a ในขณะที่กลับอย่างน้อยสำหรับ NVIDIA) คอนโซลดีบักบนเคอร์เนล panic สำหรับชิปเซ็ต intel (ย้ายไปนูโว) สิ่งนั้น
ใครสามารถแก้ไขฉันในสิ่งนี้ถ้าฉันผิด?
โพสต์อื่น ๆ ทั้งหมดเน้นประโยชน์ของ Wayland แต่ไม่ใช่ทั้งหมดที่ดีเท่านั้น ข้อได้เปรียบที่ใหญ่ที่สุดของ X บน Wayland คือ X ทำงานผ่านเครือข่าย X คือเครือข่ายที่โปร่งใสคุณสามารถแสดงหน้าต่างหรือด้วย XDMCP เซสชันที่สมบูรณ์บนเทอร์มินัลในขณะที่โปรแกรมจริงกำลังทำงานอยู่ในอีกโปรแกรมหนึ่งซึ่งมักจะเป็นเครื่องที่ทรงพลังกว่า ด้วยบางสิ่งเช่น Wayland ความคิดเรื่องความโปร่งใสของเครือข่ายจึงหมดไป บางทีมันอาจไม่จำเป็นมากนักในวันนี้ด้วยเครือข่ายที่รวดเร็วและโปรโตคอลอื่น ๆ เช่น VNC และ RDP แค่คิดว่าฉันจะพูดถึงมันเพื่อความสมบูรณ์
พูดง่ายก็คือหวังว่าจะมีกราฟิกที่ดีกว่า แม้กระทั่งสิ่งต่าง ๆ อาจเป็นไปได้ในวันหนึ่งที่ไม่เคยมีมาก่อน โดยส่วนตัวฉันคิดว่าอย่างน้อยจะทำให้สิ่งต่าง ๆ น่าสนใจขึ้นเช่นเดียวกับการแข่งขันเสมอ
สองสิ่งเล็ก ๆ น้อย ๆ ที่ทุกคนจะสังเกตเห็นได้อย่างรวดเร็วในการทำงานแบบวันต่อวัน: