ลินุกซ์กราฟิกสแต็คมีการจัดการอย่างไร?


31

ทุกคนสามารถอธิบาย (หวังว่าจะมีภาพ), ลินุกซ์กราฟิกกองจัด? ฉันได้ยินตลอดเวลาเกี่ยวกับ X / GTK / GNOME / KDE และอื่น ๆ แต่ฉันไม่มีความคิดจริง ๆ ว่าพวกเขาทำอะไรจริง ๆ และพวกเขามีปฏิสัมพันธ์อย่างไรกับแต่ละอื่น ๆ และส่วนอื่น ๆ ของสแต็ก ความสามัคคีและ Wayland เข้ากันได้อย่างไร?


1
วิดีโอของนักพัฒนา Xorg Keith Packard เกี่ยวกับอนาคตของลินุกซ์กราฟิคที่ linux.conf.au ในเดือนมกราคม 2011: linuxconfau.blip.tv/file/4693305สิ่งนี้ครอบคลุมทั้งโมเดลปัจจุบันและแผนการสำหรับอนาคตอันใกล้และกลาง
mattdm

arstechnica.com/open-source/guides/2011/03/…เป็นบทความล่าสุดที่เขียนทับสแต็คและยกย่องความมุ่งมั่นของ Ubuntu ต่อ Wyland
apoorv020

- ใช่แม้ว่าบทความนั้นเต็มไปด้วยชิ้นส่วนที่ขาดหายไปและแม้กระทั่งความไม่ถูกต้องและไม่สอดคล้องกันในการตัดสินของฉัน
mattdm

@mattdm - ถึงแม้ว่ามันจะไม่ต่อเนื่องกัน ฯลฯ มันก็จะเป็นภาพรวมของหัวข้อที่ใหญ่กว่าซึ่งไม่ได้สัมผัสโดยตรงในคำตอบด้านล่าง
apoorv020

คำตอบ:


29

X Window System ใช้สถาปัตยกรรมไคลเอนต์ - เซิร์ฟเวอร์ เซิร์ฟเวอร์ X ทำงานบนเครื่องที่มีจอแสดงผล (จอภาพ + อุปกรณ์อินพุต) ในขณะที่ไคลเอนต์ X สามารถทำงานบนเครื่องอื่น ๆ และเชื่อมต่อกับเซิร์ฟเวอร์ X โดยใช้โปรโตคอล X (ไม่ใช่โดยตรง แต่แทนที่จะใช้ห้องสมุดเช่น Xlib หรือ XCB ที่ไม่บล็อกเหตุการณ์ที่ทันสมัยกว่า) โปรโตคอล X ได้รับการออกแบบให้สามารถขยายได้และมีส่วนขยายจำนวนมาก (ดูxdpyinfo(1))

เซิร์ฟเวอร์ X ทำงานในระดับต่ำเท่านั้นเช่นการสร้างและทำลายหน้าต่างการดำเนินการวาดภาพ (ในปัจจุบันการวาดภาพส่วนใหญ่จะทำบนไคลเอนต์และส่งเป็นภาพไปยังเซิร์ฟเวอร์) ส่งกิจกรรมไปที่หน้าต่าง ... คุณสามารถเห็นว่าน้อย เซิร์ฟเวอร์ X ทำโดยเรียกใช้X :1 &(ใช้หมายเลขใด ๆ ที่ไม่ได้ใช้โดยเซิร์ฟเวอร์ X อื่น) หรือXephyr :1 &(Xephyr เรียกใช้เซิร์ฟเวอร์ X ที่ฝังอยู่ในเซิร์ฟเวอร์ X ปัจจุบันของคุณ) จากนั้นเรียกใช้xterm -display :1 &และเปลี่ยนเป็นเซิร์ฟเวอร์ X ใหม่ (คุณอาจต้องตั้งค่า X ใช้xauth(1))

อย่างที่คุณเห็นเซิร์ฟเวอร์ X ทำน้อยมากมันไม่ได้วาดแถบชื่อเรื่องไม่ย่อขนาดหน้าต่าง / ทำไอคอนไม่จัดการตำแหน่งหน้าต่าง ... แน่นอนคุณสามารถควบคุมตำแหน่งหน้าต่างด้วยตนเองโดยใช้คำสั่ง เช่นxterm -geometry -0-0แต่คุณมักจะมีไคลเอนต์ X พิเศษที่ทำสิ่งต่าง ๆ ข้างต้น ลูกค้ารายนี้เรียกว่าการจัดการหน้าต่าง สามารถมีตัวจัดการหน้าต่างได้ครั้งละหนึ่งตัวเท่านั้น หากคุณยังมีการเปิดเซิร์ฟเวอร์เอ็กซ์เปลือยของคำสั่งก่อนหน้านี้คุณสามารถพยายามที่จะเรียกผู้จัดการหน้าต่างบนมันเหมือนtwm, metacity, kwin, compiz, larswm, pawm...

ดังที่เรากล่าว X ดำเนินการในระดับต่ำเท่านั้นและไม่มีแนวความคิดระดับสูงเช่นปุ่มกดเมนูแถบเครื่องมือ ... เหล่านี้จัดทำโดยห้องสมุดที่เรียกว่าชุดเครื่องมือเช่น Xaw, GTK, Qt, FLTK, ...

สภาพแวดล้อมเดสก์ท็อปคือชุดของโปรแกรมที่ออกแบบมาเพื่อมอบประสบการณ์ผู้ใช้ที่เป็นหนึ่งเดียว ดังนั้นโดยทั่วไปสภาพแวดล้อมเดสก์ท็อปจะมีพาเนลตัวเรียกใช้งานแอปพลิเคชันถาดระบบแผงควบคุมโครงสร้างพื้นฐานการกำหนดค่า (ที่จะบันทึกการตั้งค่า) สภาพแวดล้อมเดสก์ท็อปที่รู้จักกันดีบางอย่างคือ KDE (สร้างขึ้นโดยใช้ชุดเครื่องมือ Qt), Gnome (โดยใช้ GTK), การตรัสรู้ (ใช้ไลบรารีชุดเครื่องมือของตัวเอง), ...

เอฟเฟกต์เดสก์ท็อปสมัยใหม่บางตัวทำได้ดีที่สุดโดยใช้ฮาร์ดแวร์ 3 มิติ ดังนั้นปรากฏองค์ประกอบใหม่ผู้จัดการคอมโพสิต ส่วนขยาย X ซึ่งเป็นส่วนขยาย XComposite จะส่งเนื้อหาของหน้าต่างไปยังตัวจัดการคอมโพสิต ผู้จัดการคอมโพสิตแปลงเนื้อหาเหล่านั้นให้เป็นพื้นผิวและใช้ฮาร์ดแวร์ 3 มิติผ่าน OpenGL เพื่อเขียนเนื้อหาเหล่านั้นในหลาย ๆ ด้าน (การผสมอัลฟ่าการฉาย 3 มิติ, ... )

เมื่อไม่นานมานี้เซิร์ฟเวอร์ X ได้พูดคุยโดยตรงกับอุปกรณ์ฮาร์ดแวร์ ส่วนสำคัญของการจัดการอุปกรณ์นี้ได้ถูกย้ายไปยังเคอร์เนลระบบปฏิบัติการ: DRI (อนุญาตให้เข้าถึงฮาร์ดแวร์ 3 มิติโดย X และไคลเอนต์การเรนเดอร์โดยตรง), evdev (อินเทอร์เฟซแบบรวมสำหรับการจัดการอุปกรณ์อินพุต), KMS (การย้ายโหมดกราฟิกไปยังเคอร์เนล) , GEM / TTM (การจัดการหน่วยความจำพื้นผิว)

ดังนั้นด้วยความซับซ้อนของการจัดการอุปกรณ์ซึ่งส่วนใหญ่อยู่นอก X ทำให้ง่ายต่อการทดลองกับระบบหน้าต่างแบบง่าย Waylandเป็นระบบหน้าต่างตามแนวคิดของตัวจัดการคอมโพสิตเช่นระบบหน้าต่างเป็นตัวจัดการคอมโพสิต Wayland ใช้ประโยชน์จากการจัดการอุปกรณ์ที่ย้ายออกจาก X และเรนเดอร์โดยใช้ OpenGL

สำหรับ Unity นั้นเป็นสภาพแวดล้อมเดสก์ท็อปที่ออกแบบมาให้มีส่วนต่อประสานผู้ใช้ที่เหมาะสมกับเน็ตบุ๊ก


ไม่เห็นด้วยกับประโยคสุดท้าย แต่เป็นคำตอบที่มีข้อมูลมากมาย +1
missingfaktor

"(ทุกวันนี้การวาดภาพส่วนใหญ่ทำบนไคลเอนต์และส่งเป็นรูปภาพไปยังเซิร์ฟเวอร์)" นั่นไม่เป็นความจริงจริง ๆ แล้วมีไม่กี่คนที่จะแสดงผล OpenGL ผ่านส่วนขยาย xgl แม้ไม่มีผู้แต่ง
Adam D. Ruppe

13

สแต็กดั้งเดิมถูกสร้างขึ้นจาก 3 องค์ประกอบหลัก:

  • X server ที่จัดการแสดงผล
  • ตัวจัดการหน้าต่างที่ใส่ windows ลงในเฟรมจัดการกับหน้าต่างให้เล็กสุด ฯลฯ นั่นเป็นส่วนหนึ่งของการแยกกลไกจากนโยบายใน Unix
  • ลูกค้าที่ทำงานที่มีประโยชน์เป็นการแสดงเว็บไซต์ stackexchange พวกเขาอาจใช้โปรโตคอล X โดยตรง (ฆ่าตัวตาย) ใช้ xlib หรือ xcb (ง่ายขึ้นเล็กน้อย) หรือใช้ชุดเครื่องมือเช่น GTK + หรือ QT

สถาปัตยกรรม X ถูกสร้างขึ้นจากเครือข่ายดังนั้นจึงอนุญาตให้ไคลเอนต์อยู่บนโฮสต์ที่แยกต่างหากจากนั้นเซิร์ฟเวอร์

จนถึงตอนนี้ดีมาก อย่างไรก็ตามนั่นเป็นภาพจากทางกลับ ทุกวันนี้มันไม่ใช่ซีพียูที่รองรับกราฟฟิก แต่เป็น GPU มีความพยายามหลายอย่างในการรวมเข้ากับโมเดล - และวางเมื่อเคอร์เนลเข้ามาแทนที่ส่วนขยายที่มากขึ้น

ประการแรกมีการตั้งสมมติฐานบางอย่างเกี่ยวกับการใช้กราฟิกการ์ด ตัวอย่างเช่นมีเพียงการแสดงผลบนหน้าจอเท่านั้น ฉันไม่สามารถหาข้อมูลเกี่ยวกับวิกิพีเดียได้ในขณะนี้ แต่ DRI 1 ยังสันนิษฐานว่ามีเพียงหนึ่งแอปพลิเคชันที่จะใช้ OpenGL ในเวลาเดียวกัน (ฉันไม่สามารถพูดได้ทันที แต่ฉันสามารถขุดบั๊กได้ในที่ใกล้เคียงกับ WONTFIX 2)

มีการเสนอโซลูชันชั่วคราวสองสามรายการสำหรับการเรนเดอร์ทางอ้อม (จำเป็นสำหรับคอมโพสิต WM):

  • XGL - ข้อเสนอแรก ๆ ที่รองรับแอปพลิเคชันที่พูดคุยโดยตรงกับการ์ด
  • AIGLX - ข้อเสนอที่ยอมรับซึ่งใช้คุณสมบัติเครือข่ายของโปรโตคอล OpenGL
  • โซลูชั่นกรรมสิทธิ์ของ NVidia

เริ่มงานสถาปัตยกรรมใหม่ (DRI 2) ซึ่งรวมถึง:

  • การสนับสนุนในเคอร์เนลสำหรับการจัดการหน่วยความจำ (GEM / TTM)
  • การตั้งค่าโหมดเคอร์เนล (KMS) อนุญาตให้เปลี่ยนความละเอียดในเคอร์เนลจึงหลีกเลี่ยงความล่าช้าเมื่อสลับระหว่าง X และคอนโซลและคุณสมบัติอื่น ๆ อีกสองสามอย่าง (เช่นการแสดงข้อความบนความตื่นตระหนกแม้ว่า X กำลังทำงานอยู่

อย่างใดมุมฉากที่จะย้ายไปเคอร์เนลการทำงานกับไดรเวอร์ Gallium ได้เริ่มขึ้นแล้ว ห้องสมุด Mesa เริ่มต้นจากการใช้งาน OpenGL บน CPU และเริ่มใช้งานการเร่งด้วย GPU มันกระชับกับ OpenGL เสมอ ใน OpenGL 3.0 โมเดลมีการเปลี่ยนแปลงอย่างมีนัยสำคัญและการเขียนไลบรารี่ใหม่นั้นคงหนีไม่พ้น อย่างไรก็ตามพวกเขากำลังมีโอกาสที่จะแยกรหัสออกเป็นเลเยอร์หลาย ๆ ตัวที่แยกรหัสทั่วไปและให้ API ระดับต่ำที่อนุญาตให้ใช้งาน API สามมิติด้านบน - อนุญาตให้ตัวอย่างเช่นไวน์ให้ DirectX คุยโดยตรงกับ Gallium แทนที่จะผ่าน OpenGL API เลเยอร์ (ซึ่งอาจไม่มีการเรียก 1-1 โดยตรง)


Wayland เป็นโครงการที่พิจารณาถึงความซับซ้อนเล็กน้อยและด้วย "ประวัติศาสตร์" ด้วย การออกแบบตั้งแต่ปี 1984 (แม้ว่าการดัดแปลงและดัดแปลงอย่างมาก) ไม่สอดคล้องกับจุดเริ่มต้นที่ 21 c ตามผู้เสนอ

มันควรจะมีความยืดหยุ่นและประสิทธิภาพที่ดีขึ้นแม้ว่ามันจะยังขาดคุณสมบัติที่สำคัญบางอย่างเช่นการสนับสนุน OpenGL เต็มรูปแบบ (และที่สำคัญสำหรับบางส่วน - การสนับสนุนเครือข่าย)


ข้อมูลเพิ่มเติมเกี่ยวกับสภาพแวดล้อมเดสก์ท็อปและตัวจัดการหน้าต่าง ตัวจัดการหน้าต่างเป็นแอปพลิเคชันที่รับผิดชอบในการทำงานของหน้าต่าง - ตัวอย่างเช่นมันมีหน้าที่รับผิดชอบในการจัดการพื้นที่ทำงานการวาดแถบหัวเรื่อง (สิ่งที่อยู่ด้านบนของหน้าจอที่มีชื่อ Windo และปุ่มย่อ / ขยาย / ย่อ / ขยาย) เป็นต้น

ประการแรกมีการใช้ WM ขั้นต่ำเพียงเล็กน้อย แต่หลังจากนั้นผู้ใช้เริ่มต้องการสภาพแวดล้อมเดสก์ท็อป - เช่นเวอร์ชันที่มีคุณลักษณะมากขึ้นซึ่งรวมถึงการเริ่มเมนู, พื้นหลังของเดสก์ท็อปเป็นต้นอย่างไรก็ตามส่วนใหญ่ของสภาพแวดล้อมเดสก์ท็อป

หลังจากเวลาผ่านไปคอมโพสิต WM ถูกแนะนำซึ่งใช้ OpenGL และการเรนเดอร์ทางอ้อมเพื่อทำงานของพวกเขา พวกมันไม่เพียง แต่ให้เอฟเฟกต์กราฟิกเท่านั้น แต่ยังช่วยให้ใช้งานคุณสมบัติการช่วยการเข้าถึงได้ง่ายขึ้น (เช่นแว่นขยาย)


ดังนั้นเฟรมเวิร์กเช่น QT อนุญาตให้แอปพลิเคชั่นหนึ่งวาดตัวเองและสภาพแวดล้อมเดสก์ท็อปอย่าง Gnome และ KDE ตัดสินใจว่าจะวาดหลายหน้าต่างบนเดสก์ท็อปเดียวกันได้อย่างไร
apoorv020

ไม่มาก QT อนุญาตให้แอปพลิเคชันวาดตัวเอง (เช่นอนุญาตให้แอปพลิเคชันระบุวิธีการทำงาน) WM เช่น metacity (สำหรับ Gnome) หรือ kwin (สำหรับ KDE) ระบุว่าหน้าต่างทำงานอย่างไรในสภาพแวดล้อม สภาพแวดล้อมเดสก์ท็อปคือแพ็คเกจที่มี WM แผงควบคุมและแอปพลิเคชั่นอื่น ๆ เช่น PIM ที่มอบประสบการณ์การใช้งานที่ซ้อนทับ
Maciej Piechotka

9

ก่อนอื่นไม่มีลินุกซ์กราฟิกสแต็คจริงๆ Linux ไม่มีความสามารถในการแสดงผลกราฟิก

อย่างไรก็ตามแอพพลิเคชั่นลีนุกซ์สามารถใช้การแสดงผลแบบกราฟิกและมีระบบต่าง ๆ มากมายสำหรับการทำเช่นนั้น คนที่พบมากที่สุดคือทั้งหมดที่สร้างขึ้นบน X windows

X เป็นโปรโตคอลเครือข่ายเพราะในช่วงกลางของโปรโตคอล X สแต็คคุณสามารถมีเครือข่ายเป็นองค์ประกอบมาตรฐาน ลองดูกรณีการใช้งานเฉพาะ นักฟิสิกส์ในกรุงเบอร์ลินต้องการทำการทดลองที่ CERN ในสวิตเซอร์แลนด์โดยหนึ่งใน colliders อนุภาคนิวเคลียร์ เขาเข้าสู่ระบบจากระยะไกลและรันโปรแกรมวิเคราะห์ข้อมูลบนหนึ่งในอาร์เรย์ซูเปอร์คอมพิวเตอร์ของ CERN และกราฟผลลัพธ์บนหน้าจอของเขา

ในกรุงเบอร์ลินนักฟิสิกส์มีอุปกรณ์ X-terminal ที่ใช้งานซอฟต์แวร์ X-server บางตัวที่ให้ความสามารถในการแสดงผลกราฟิกกับแอปพลิเคชันระยะไกล ซอฟต์แวร์ X-server มี framebuffer ซึ่งพูดคุยกับไดรเวอร์อุปกรณ์เฉพาะสำหรับฮาร์ดแวร์เฉพาะ และซอฟต์แวร์ X-server พูดถึงโปรโตคอล X เลเยอร์อาจเป็นอุปกรณ์กราฟิก -> อุปกรณ์ไดรเวอร์ -> เฟรมบัฟเฟอร์ -> X เซิร์ฟเวอร์ -> โปรโตคอล X

จากนั้นในประเทศสวิสเซอร์แลนด์แอปพลิเคชั่นจะเชื่อมต่อกับจอแสดงผลโดยใช้โปรโตคอล X และส่งคำสั่งการแสดงผลกราฟิกเช่น "วาดสี่เหลี่ยมผืนผ้า" หรือ "ผสมกลมกลืน" แอปพลิเคชันอาจใช้ไลบรารีกราฟิกระดับสูงและไลบรารีนั้นอาจจะขึ้นอยู่กับไลบรารีระดับต่ำกว่า ตัวอย่างเช่นแอปพลิเคชันอาจถูกเขียนใน Python โดยใช้ชุดเครื่องมือ WxWidget ซึ่งสร้างขึ้นบน GTK ซึ่งใช้ไลบรารีที่ชื่อว่าไคโรสำหรับคำสั่งการวาดภาพกราฟิกหลัก นอกจากนี้ยังอาจมี OPENGL บนไคโร เลเยอร์อาจเป็นดังนี้: WxWidgets-> GTK-> Cairo-> X Toolkit-> โปรโตคอล X เห็นได้ชัดว่ามันเป็นโปรโตคอลที่อยู่ตรงกลางที่เชื่อมต่อสิ่งต่าง ๆ และเนื่องจาก Linux ยังรองรับซ็อกเก็ต UNIX ซึ่งเป็นการขนส่งภายในอย่างสมบูรณ์สำหรับข้อมูลสิ่งทั้งสองประเภทนี้สามารถทำงานบนเครื่องเดียวหากคุณต้องการ

X หมายถึงโปรโตคอลและสิ่งพื้นฐานสำหรับสถาปัตยกรรมเช่น X-server ที่รันการแสดงผลกราฟิกอุปกรณ์ชี้ตำแหน่งและแป้นพิมพ์

GTK และ QT เป็นไลบรารี GUI อเนกประสงค์สองจุดที่สนับสนุน windows, dialogs, ปุ่มและอื่น ๆ

GNOME และ KDE เป็นสภาพแวดล้อมเดสก์ท็อปสองรูปแบบที่จัดการหน้าต่างบนเดสก์ท็อปกราฟิกให้แอปเพล็ตและอุปกรณ์ที่มีประโยชน์เช่นแถบปุ่ม นอกจากนี้ยังอนุญาตให้แอปพลิเคชั่นหลายตัวสามารถสื่อสารผ่าน X-server (อุปกรณ์ X-terminal) แม้ว่าแอพจะทำงานบนคอมพิวเตอร์ระยะไกลที่แตกต่างกัน ตัวอย่างเช่นการคัดลอกและวางเป็นรูปแบบหนึ่งของการสื่อสารระหว่างแอปพลิเคชัน GNOME ถูกสร้างขึ้นบน GTK KDE สร้างขึ้นจาก QT และเป็นไปได้ที่จะเรียกใช้แอป GNOME บนเดสก์ท็อป KDE หรือแอป KDE บนเดสก์ท็อป GNOME เพราะพวกเขาทั้งหมดทำงานร่วมกับ X-protocol พื้นฐานเดียวกันได้


7
คำตอบนี้ล้าสมัยแล้ว เคอร์เนลเกี่ยวข้องกับกราฟิกมาเป็นเวลานานแล้ว
mattdm

5
เพื่อขยายความคิดเห็นของ mattdm แม้ว่ากราฟิกจะถูกขับเคลื่อนโดยไดรเวอร์จากนอกแผนผังเคอร์เนลพวกเขายังคงใช้บริการเคอร์เนลเพื่อควบคุมการเข้าถึงทรัพยากรกราฟิก เคอร์เนลจะอยู่ที่ด้านล่างของสแต็กเสมอ
dmckee

ฉันจะไม่ยอมรับว่าเคอร์เนลอยู่ที่ด้านล่างของสแต็ก แน่นอนไดรเวอร์อุปกรณ์ใช้บริการเคอร์เนลเพื่อรับสิทธิพิเศษในการเข้าถึงฮาร์ดแวร์ แต่แอปพลิเคชั่น X กำลังพูดถึงเครือข่ายดังนั้นจึงมีเลเยอร์เพิ่มเติมนอกเหนือจากการ์ดเครือข่าย
Michael Dillon

X ถูกสร้างขึ้นบนเครือข่ายในขณะที่สิ่งสำคัญสำหรับการตั้งค่าบางอย่างในหลายรายละเอียดคือการนำไปปฏิบัติ (โดยเฉพาะสำหรับเดสก์ท็อป) และมีขอบเขตเช่น MIT-SHM เคอร์เนลมีบทบาทสำคัญในกองซ้อนปัจจุบันซึ่งมีทั้งไดรเวอร์ DRM, KMS รวมถึงการจัดการพื้นผิว
Maciej Piechotka

DRM และ KMS เป็นข้อมูลเพิ่มเติมเกี่ยวกับไดรเวอร์อุปกรณ์ที่ตอนนี้ต้องสื่อสารผ่านการเชื่อมต่อเครือข่ายภายในโดยเฉพาะกับ CPU การแสดงผลกราฟิกบนกราฟิกการ์ด นี่อาจเป็นส่วนหนึ่งของกองซ้อนแบบกราฟิกและอาจไม่ใช่ (เช่น Amazon EC2 Linux)
Michael Dillon

2

นี่คือองค์กรของคุณคุณจะได้เรียนรู้เพิ่มเติมจากภาพนี้จากหลาย ๆ หน้าของข้อความ:

ป้อนคำอธิบายรูปภาพที่นี่


1
มาจากไหน? มีตัวเลขวงกลมอยู่สองสามตัวพวกเขาหมายถึงอะไร และนี่ดูเหมือนเฉพาะกับ Wayland ในขณะที่ฉันคิดว่า X คนเดียวหรือ Mir จะมีองค์กรที่แตกต่างกัน
muru

1
@muru ทำการค้นหาแบบย้อนกลับฉันได้พบกับสิ่งนี้ .... en.wikipedia.org/wiki/EGL_%28API%29 ... ถึงแม้ว่ามันจะเป็นโฮสต์บน imgur ในขณะนี้เนื่องจากมันอัปโหลดหรือไม่ แต่ฉันยอมรับการเชื่อมโยงอิมเมจต้นฉบับและตำแหน่งที่แสดงเป็นวิธีที่ถูกต้องในการทำอย่างไร
jmunsch

1
รูปนี้ไม่ได้อธิบายอะไรเลยนอกจาก xserver จริงเหรอ? มองดูคุณX11-clientมันแค่หยด แต่มีหลายอย่างเกิดขึ้นในหยดนั้น ตามที่อธิบายไว้โดยคำตอบอื่น ๆ ที่น่ากลัวจริงๆ
jmunsch

1

Linux บนเดสก์ท็อปและเซิร์ฟเวอร์บางตัวยังคงเป็นกราฟิก X และเฟรมบัฟเฟอร์ทั้งหมด ภายใต้หน้าต่าง X - มาพร้อม GTK + และ Qt, YES BOTH ใช้ระบบ X อีกครั้งมีสภาพแวดล้อมบนเดสก์ท็อปจำนวนมาก - Gnome, KDE ใช้จอแสดงผล X และเปลือกหอย ฯลฯ

Btw มีวิดีโอล่าสุดจาก linux conf (http://blip.tv/file/4693305/) Keith Packard จาก Intel พูดเกี่ยวกับ X และ GL * มันน่าสนใจ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.