KDrive 也被叫做 TinyX,故名思意,這是一個小型的 X server 實作,主要是針對 embedded Linux 的應用所實作的版本。
有別於 xorg-server 裡的其他 X server,KDrive 並不基於以往的 XFree86 程式碼,而是由 Keith Packard 所實作的新版本;目前,KDrive 已被應用在許多 embedded system 的專案中。例如,OpenMoko 的 framework 就是使用 KDrive。
KDrive 另外一個特色是,他並不是像典型的 X server 是在動態時期去載入一些設定,而是在編譯時間就做好參數的設定。
Xorg-server 從 7.1 開始,已經將 KDrive 整合進來,只要下載 xorg-server 7.1 或更新版本的原始碼,裡頭就包含了 KDrive。以 xorg-server 7.2 來說,要設定 X server 為 KDrive 的話,只要將 KDrive 參數打開,並將其他的 X server 關閉即可。例如:
./configure \
--host=arm-linux \
--disable-composite \
--enable-kdrive \
--disable-dga \
--disable-dri \
--disable-xinerama \
--disable-xf86misc \
--disable-xf86vidmode \
--disable-xorg \
--disable-xorgcfg \
--disable-xkb \
--disable-xnest \
--disable-xvfb \
--disable-xevie \
--disable-xwin \
--disable-xprint \
--disable-xtrap \
--disable-dmx \
--disable-w100 \
--disable-xsdl \
--disable-xephyr \
--with-default-font-path=built-ins \
目前,KDrive 在 embedded Linux 的應用中,底層部份大多是透過 native framebuffer(fbdev、/dev/fb)來做圖形的顯示。
Jollen's Blog 使用 Github issues 與讀者交流討論。請點擊上方的文章專屬 issue,或 open a new issue
您可透過電子郵件 jollen@jollen.org,或是 Linkedin 與我連絡。更歡迎使用微信,請搜尋 WeChat ID:jollentw