X11

X11:X.Org Server用什麼系統呼叫來實現GUI環境?

  • March 5, 2022

最近在研究Xlib,遇到一個問題:X.Org Server用什麼系統呼叫(API’s)來實現GUI環境。

在輸出方面,系統呼叫使我們能夠在螢幕上繪製視窗(即某些帶有顏色的矩形)。而在輸入方面,系統呼叫什麼讓我們能夠獲取鍵盤和滑鼠的輸入資訊。

我們可以在沒有 X.Org Server 的幫助下繪製視窗嗎?當然,這並不實用。但我很想知道是否可能。

X.Org Server 使用什麼系統呼叫(API)來實現 GUI 環境。

用於 X 伺服器和 X 客戶端之間通信的網路/域套接字。

無論硬體驅動程序需要什麼來控制硬體:在早期的 Linux 中,這主要是記憶體映射 I/O 和埠,現在主要是具有自己 API 的核心驅動程序。

什麼系統呼叫使我們能夠繪製視窗

對此沒有系統呼叫。

而在輸入方面,系統呼叫什麼讓我們能夠獲取鍵盤和滑鼠的輸入資訊。

X 仍然為此提供低級驅動程序,但今天基本上一切都使用驅動程序,該驅動程序與核心輸入層evdev掛鉤。

我們可以在沒有 X.Org Server 的幫助下繪製視窗嗎?

是的,使用幀緩衝驅動程序。基本上你有一個/dev/fb0可以mmap用來表示幀緩衝區的設備,還有一些ioctl可以選擇影片模式等。

當然,這並不實用。

非常實用,很多嵌入式Linux系統都使用它。

引用自:https://unix.stackexchange.com/questions/692993