X11R7.1 俺環境のまとめ
運悪く今の環境が消えてなくなってしまったときのために。
- Kernel 2.6.17.14
- fontconfig-2.3.2
libdrm-2.0 を先に入れる( http://dri.freedesktop.org/libdrm/ )
古くても新しくても駄目で、Mesa-6.5に一番近い日付の2.0.1を使った
必要なパッケージをとってくる
全部同じ場所に置く
X11R7.1
$ mkdir xc && cd xc && wget -nd -A bz2 -r -l 1 http://www.t.ring.gr.jp/pub/X/opengroup/X11R7.0/src && wget -nd -A bz2 -r -l 1 http://www.t.ring.gr.jp/pub/X/opengroup/X11R7.0/src &&
ビルドスクリプト
http://wiki.x.org/wiki/ModularDevelopersGuide#head-70b76cfa443105aa56b0c3d98615ae7d4f32c452 のリンクから
Mesa 6.5
6.5じゃないと駄目だよー 6.5.1も駄目
http://prdownloads.sourceforge.net/mesa3d/MesaDemos-6.5.tar.bz2?download
http://prdownloads.sourceforge.net/mesa3d/MesaGLUT-6.5.tar.bz2?download
http://prdownloads.sourceforge.net/mesa3d/MesaLib-6.5.1.tar.bz2?download
kernel header のパッチ
$ wget http://www.linuxfromscratch.org/patches/downloads/glibc/glibc-2.3.6-linux_types-1.patch
準備
Mesa をあらかじめ展開して設定しておく
$ for file in `ls Mesa*-6.5.tar.bz2`; do tar xvjf $file; done && cd Mesa-6.5 && sed -i "s@/usr/local@/usr@g" configs/default && sed -i -e "s@/usr/include@/usr/include/X11@g" -e "s@/usr/X11R6/lib@/usr/lib@g" configs/{default,linux*} && sed -i 's@lib/modules@lib/X11/modules@' src/glx/x11/dri_glx.c && sed -i 's@lib/modules@lib/X11/modules@' src/mesa/drivers/dri/Makefile.template
ビルドスクリプトを編集
build-from-tarballs.sh の 先頭に追加
export CFLAGS="-O2 -fforce-addr -fomit-frame-pointer -funroll-loops -march=athlon -mmmx -mmmx2 -m3dnow -mfpmath=sse" export PKG_CONFIG_PATH=/usr/lib/pkgconfig
Mesa を app, xserver の前に作るため、最後の方編集
build_doc build_proto build_lib build data xbitmaps build_util #← 下にあったのをココに移動 #追加 cd Mesa-6.5 && make linux-dri-x86 && sudo "./bin/installmesa /usr && mkdir -v -p /usr/lib/X11/modules/dri && install -v -m755 lib/*dri* /usr/lib/X11/modules/dri" && cd .. || exit 1 #/追加 build_xserver build_app build_driver build_data build_font
他に、build app ****, build driver ****, build font ****などを削る http://lists.x.org/archives/xorg-modular/2005-November/000801.html
あとこの方法だと glxgear 等がビルドされないから後で個別にやる
kernel header にパッチを当てる
# cd /usr/include/sys && patch -Np6 -i /home/ishn/src/xc/glibc-2.3.6-linux_types-1.patch
ビルドスクリプトを実行
$ CACHE=/home/ishn/src/xc/config.cache \ CONFFLAG="--sysconfdir=/etc --localstatedir=/var --datadir=/usr/lib" \ ./build-from-tarballs.sh -e -m /home/ishn/src/xc/Mesa-6.5 -s sudo /usr 2>&1 | tee build.log
- CACHE=/home/ishn/src/xc/config.cache: 時間短縮
- CONFFLAG="--sysconfdir=/etc --localstatedir=/var --datadir=/usr/lib": LFS な配置に
- -e: 現在のディレクトリに tarball が全部ある場合
- -m /home/ishn/src/xc/Mesa-6.5: Mesa のソースディレクトリを指定
- -s sudo: sudo コマンドの指定
sudo だと、libX11 や Mesa や xorg-server といった make に時間のかかるものを install するとき sudo がタイムアウトしちゃって放置できなくなってしまうから、sudo 使わずに root で作業したほうがいいかも
設定する
http://www.linuxfromscratch.org/blfs/view/svn/x/x-setup.html このへんを読めばOK
/usr/X11R6/lib/X11/fonts/TTF 等の移動もしておく