with help from Dirk Hohndel (
[email protected])
and David E. Wexelblat (
[email protected])
此文件是描述如何獲得、安裝、構置(configure) Linux系統的XFree86[TM]
2.0 版。XFree86 是x視窗11r5 的加強版,主要是在支援各種以intel i386/486 為硬
體平台的unix系統,當然這也包括了linux。目前它支援相當多的影像硬體,並且它也
修正了許多mit 標准版x視窗的bugs。
此文件的目的是企圖幫助 Linux 使用者如何安裝與構置 XFree86 2.0 版,更進一步
的目的是回答一些有關於 x 的使用和程式設計的問題。
請先閱讀此文件和相關的文件之後,再開始安裝與啟動 xfree86,如此可避免不小
心所造成可能的硬體損害。
要看完整的有關 xfree86 的文件,請參考在目錄: /usr/X386/lib/X11/etc
/usr/X386/man 下的東東。其它重要的文件與目錄,在此說明中也會陸續提到。
另外,這文件並不是一個完整的有關設定 XFree86 ,但是我們會提供相關的資料
,主要的文件則請參考: xf86-doc-2.0.tar.gz。
其它有關X11R5 的manpage 則在: xf86-man-2.0.tar.gz中。要看這些 manpage
可用 groff -man ***.man more 或直接設定 MANPATH 到此目錄,之後直接用
man 指令就可以。
內容:
0. 簡介 - 什麽是 X11R5 和 XFree86?
1. 所支援的硬體
2. 在那□可取得 XFree86 ,而且需要什麽才能跑?
3. 構置 XFree86
4. tinyX - a package for systems with low memory
5. X 相關的軟體
6. 編譯使用到 X 的程式
7. x 的程式設計
8. 在網路上找尋 X 的相關資訊
附錄: 一些問題和解答
0. 簡介 - 什麽是 X11R5 和 XFree86?
X11R5 是針對unix系統的視窗系統。x 視窗是mit Consortium 所提出,並且有很
自由的版權,它允許任何原始程式的被使用,只要將原來的版權注意事項包含進
去即可。
因為x是unix做業系統的標准視窗系統,所以也就有相當多的應用程式使用x視窗
這中包含有免費與商業版體。
XFree86 也是 X11R5 的一支,主要是支援幾個 Intel-為准的 unix 和類似unix
的作業系統。XFree86 伺服器部分是源自 x386 1.2 版(它是隨x11r5一起公諸於
世的x伺服器),但是xfree86 大部分是新開發的。從xfree86-1.3之後,最重要
的變更是加速伺服器,這是一個全新的。這個版本有許多新的特徵、效率的改良
以及一些bug 的改良。
1. 所支援的硬體
這是一個常問的問題,在此先做簡單的說明。目前的 2.0 版在 XF86_SVGA
伺服器有支援如下的一些硬體:
非加速卡:
Tseng ET3000, ET4000AX, ET4000/W32
Western Digital/Paradise PVGA1
Western Digital WD90C00, WD90C10, WD90C11, WD90C30
Genoa GVGA
Trident TVGA8800CS, TVGA8900B, TVGA8900C, TVGA8900CL, TVGA9000
ATI 28800-4, 28800-5, 28800-a
NCR 77C22, 77C22E
Cirrus Logic GLGD5420, CLGD5422, CLGD5424, CLGD6205, CLGD6215,
CLGD6225, CLGD6235
Compaq AVGA (cf the question in the appendix)
OAK OTI067, OTI077
加速卡:
Cirrus CLGD5426, CLGD5428
Western Digital WD90C31
NOTE WD90C33 在 XFree86-2.0 無法運作。
這些卡都是支援 256 色(XF86_SVGA)而在單色模式(XF86_Mono) 除了
ATI 和 Cirrus 的卡之外(這兩種卡只支援 256 色)。另外在 ET4000/W32
也只有像 ET4000 的功能,加速的功能並沒有支援。
單色的伺服器也支援一般的 VGA 卡(使用 64k 影像記憶體)、 Hercules 卡
和 Hyundai HGC-1280 卡。但是這些驅動程式並不在 XF86_Mono 伺服器之
中。所以如果你要用這些的話,那你必須用 LinkKit 重新構置你的 XF86_Mono
伺服器。 附錄中有談到 Hercules mono 卡的構置方法。
有一個實驗性質的伺服器是用於一般 VGA 卡的硬體上叫: XF86_VGA16 是一個
16 色的伺服器。
XFree86-2.0 有不同的伺服器,支援如下的幾種硬體:
S3 86C911, 86C924, 86C801, 86C805, 86C928 supported by
the XF86_S3 server
ATI mach8 supported by the XF86_Mach8 server
ATI mach32 supported by the XF86_Mach32 server
IBM 8514/a and true clones supported by the XF86_8514 server
其他的硬體就都沒有支援了,如 Weitek P9000、 TIGA、 I99v AGX、
Microfield、 the new MGA 等等…都沒有支援。在未來的版本中,將
會支援這些硬體的。不過像 TIGA 與 Microfield 可都不會支援,因為
版權與文件的問題。
有關各種卡的說明可在 /usr/X386/lib/X11/etc 目錄下的 README 檔中
都有各種選項與設定的說明。
2. 到何處取得 XFree86 ,並需做什麽才能跑它?
此節主要針對 Linux 的可執行的軟體而言。
可執行的 XFree86-2.0 for Linux 可由 FTP 到底下地方取得:
tsx-11.mit.edu:/pub/linux/packages/X11/XFree86-2.0
or
sunsite.unc.edu:/pub/Linux/X11/XFree86-2.0
這此軟體都是以gzip壓縮的 tarfiles 。
XF86_8514.tar.gz IBM8514 卡的伺服器
XF86_Mach32.tar.gz Mach32 卡的伺服器
XF86_Mach8.tar.gz Mach8 卡的伺服器
XF86_Mono.tar.gz 單色卡的伺服器
XF86_S3.tar.gz S3 卡的伺服器
XF86_SVGA.tar.gz SVGA 卡的伺服器
XF86_VGA16.tar.gz 16 vga卡的伺服器
xf86-svr-2.0.tar.gz 所有以上的卡的伺服器
xf86-bin-2.0.tar.gz 一些常用的用戶程式
xf86-cfg-2.0.tar.gz XDM configuration files and chooser
xf86-fnt-2.0.tar.gz 字型(all of them)
xf86-kit-2.0.tar.gz Linkkit 用以建置 X 伺服器
xf86-lib-2.0.tar.gz Dynamic libraries, bitmaps and minimal fonts
xf86-man-2.0.tar.gz Manual pages (both client + programmer)
xf86-pex-2.0.tar.gz PEX libraries and sample clients
xf86-prg-2.0.tar.gz Static libs, dynamic stubs, configs and
include files
xf86-doc-2.0.tar.gz Documentation and release notes for XFree86 2.0
xf86-doc2-2.0.tar.gz This file contains the manpage for Xconfig that
has mistakenly been left out of the -doc- file.
另需要 libc 4.4.1 或更新的版本才能跑Free86-2.0。用加速版本伺服器的人
則至少需要 Linux 0.99pl13 或 更新的版本。
其它SVGA, VGA16 and Mono 等伺服器則需 Linux 0.99pl12 或更新版本。
而且你必須安裝有install David Engels shared dynamic linker ld.so
1.3 或更新版本,這可以從如下的地方找到:
mirrors of tsx-11 in the /pub/linux/packages/GCC Directory.
記憶體的需求是至少 8 MB 和 虛擬記體 16 MB (SWAP file)。其實你若能小心
管理記憶體使用,4 MB 也是可以跑的。我們的建議是至少有 8 MB 的記憶體,
因為用 swap 方式真的會很傷 performance 的。
若是要跑很吃記憶體的程式,像是 gcc ;那麽你至少應該有 16 MB 記憶和
16MB 的 swap.
不安裝 LinkKit 至少要有 17 MB 的磁碟空間,完全的話,則需21 MB 空間。
如果去掉不需要的 其它伺服器 應該也可以節省幾 MB 的空間。詳細的磁碟
需求,則請參考 Simon Cooper 在 00README 檔中的描述。
安裝之前,請備份你已變更過的檔案,以備不時之需。
安裝的步驟如下:(請以 root 身份在 / 目錄下處理)
permission right you should use umask 022.
gzip -dc tarfilename tar xvvof -
WARNING: 這動作將會蓋過你的舊的XFree86 版本。
安裝之後,你必須正確的設定你的系統。請看第三節的描述。
2.1 如果我想自己編譯,那我該如何做呢?
在這伴隨的 INSTALL, README and README.Linux 的幾個檔中都有說明。
除非你有一些特殊的變更,才需要如此做。若你要變更伺服器的構置,
那你應該用 Link Kit, 因為這樣會簡單的多了。
要加SVGA 伺服器的驅動程式的話,那你需要 Link Kit。 Link Kit
你可在 目錄 /usr/X386/lib/Server/VGADriverDoc.中找到。
3. Configuring XFree86
從2.0 版開始,所有的 XFree86 文件都放在一起,用 tar 將其結合成一個檔:
xf86-doc-2.0.tar.gz. 你首先就必須取得這個檔,並詳讀這些文件之後,才會
正確的構置 XFree86 。 底下的一些步驟,就是有關這些文件的一些導論:
README.Config 此檔可說是有關構置 XFree86 的一個簡介,先看此檔,並依
其指示一步一步做。
再來是必須用 man 指令查 Xconfig, XFree86 和有關的伺服器 的使用說明
(可能的伺服器有 XF86_SVGA, XF86_Mono, XF86_VGA16, XF86_S3, XF86_Mach8
, XF86_Mach32 or XF86_8514). 只看 manpage 第一節即可(man 1 Xconfig)
如果你無法確定使用的影像卡是那一種的話,你可以用 SuperProbe 程式來檢
查你的影像卡種類。不過若你有影像卡的手冊,那當然是
permission right you should use umask 022.
gzip -dc tarfilename tar xvvof -
WARNING: 這動作將會蓋過你的舊的XFree86 版本。
安裝之後,你必須正確的設定你的系統。請看第三節的描述。
2.1 如果我想自己編譯,那我該如何做呢?
在這伴隨的 INSTALL, README and README.Linux 的幾個檔中都有說明。
除非你有一些特殊的變更,才需要如此做。若你要變更伺服器的構置,
那你應該用 Link Kit, 因為這樣會簡單的多了。
要加SVGA 伺服器的驅動程式的話,那你需要 Link Kit。 Link Kit
你可在 目錄 /usr/X386/lib/Server/VGADriverDoc.中找到。
3. Configuring XFree86
從2.0 版開始,所有的 XFree86 文件都放在一起,用 tar 將其結合成一個檔:
xf86-doc-2.0.tar.gz. 你首先就必須取得這個檔,並詳讀這些文件之後,才會
正確的構置 XFree86 。 底下的一些步驟,就是有關這些文件的一些導論:
README.Config 此檔可說是有關構置 XFree86 的一個簡介,先看此檔,並依
其指示一步一步做。
再來是必須用 man 指令查 Xconfig, XFree86 和有關的伺服器 的使用說明
(可能的伺服器有 XF86_SVGA, XF86_Mono, XF86_VGA16, XF86_S3, XF86_Mach8
, XF86_Mach32 or XF86_8514). 只看 manpage 第一節即可(man 1 Xconfig)
如果你無法確定使用的影像卡是那一種的話,你可以用 SuperProbe 程式來檢
查你的影像卡種類。不過若你有影像卡的手冊,那當然是