読者です 読者をやめる 読者になる 読者になる

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 &&
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 等の移動もしておく