January 02, 2006

XOrg 7 的編譯與修改

X11R7 是個相當大的改變,不僅引入許多新的技術與 driver 修正,也是首次為模組化的樣貌。在 Ubuntu Dapper 中已經有 [XOrg] 7 的套件,而 check out source from cvs repository 的過程更有條理。自己打包 Xorg package 的方式不難,大致如下。

首先,要取得 debianized inforamtion:
    $ apt-get source xorg-server
    讀取套件清單中... 完成
    了解套件依存關係中... 完成
    需要下載 7968kB 的原始檔案。
    下載:1 http://archive.ubuntu.com dapper/main
    xorg-server 1:1.0.0-0ubuntu1 (dsc) [1791B]
    下載:2 http://archive.ubuntu.com dapper/main
    xorg-server 1:1.0.0-0ubuntu1 (tar) [7944kB]
    
取出裡面的 debian 目錄,然後依據 [XOrg] 網頁的指示,取出 xserver 的 source code:
    cvs -d :pserver:anoncvs@cvs.freedesktop.org:/cvs/xorg -z9 co xserver/xorg
然後,把剛剛的 debian/ 目錄放進去,作我們想要的修改,之後跑:
    dpkg-buildpackage -rfakeroot-sysv -uc -us -sa -D
這樣就快快樂樂的開始打包了,當然,記得把 libexa.so 加入 file list 中。運作的情況,就如 /var/log/Xorg.0.log 所示:
    (**) RADEON(0): Using EXA acceleration architecture
    (II) Loading sub module "exa"
    (II) LoadModule: "exa"
    (II) Loading /usr/lib/xorg/modules/libexa.so
    (II) Module exa: vendor="X.Org Foundation"
            compiled for 7.0.0, module version = 1.2.0
            ABI class: X.Org Video Driver, version 0.8
    
而這過程中,也讓我想到,之前在做 Xorz (一個玩具 X server 實做,詳情可參閱本 blog 其他 entries) 時,做了些 MMX minor optimizations,xorg cvs head 似乎還沒收錄,所以我動手提交了 [Bug#5478 - Use fbSolidFillmmx in the place of fbSolid] 到 FreeDesktop Bugzilla,重複上面的動作,一個又一個的 debian packages 就準備完畢。

Debian rules!
由 jserv 發表於 January 2, 2006 11:44 PM
迴響