2007年3月10日から2007年3月6日までの日記を表示中
2007年 3月10日 (土)
■ThinkPad T60 -AD1981HD編-
次は音まわり.普通にALSAでいけるっぽいので,搭載しているチップを調べてカーネルを再構築して,alsaconf してやったら認識してくれました.alsamixerで音量を調整して無事終了・・・と思ったらダメでした(´・ω・`)
% aplay ALSA lib pcm_direct.c:867:(snd_pcm_direct_initialize_slave) snd_pcm_hw_params_any failed ALSA lib pcm_dmix.c:876:(snd_pcm_dmix_open) unable to initialize slave aplay: main:550: audio open error: 無効な引数です
うーん,よくわからん.alsa-libのバージョンがまずいのか?そういやずっと1.0.12のままだ・・・.というわけでalsa-libやalsa-utilsをカーネル同梱のものにあわせてアップデートしつつ,ついでにalsa-driverのスクリプト使って/devの下も作り直しておこうと思ったわけですが・・・カーネルに組み込まれてるALSAってバージョンいくつなんだっけ?
今まで毎回ALSAいじる度に疑問に思いつつも適当に最新版のalsa-libとか入れて済ましてたんですが,やっぱこの辺もちゃんとしといた方が良いんじゃないかと思いまして,ALSAのWikiを漁ってみたところすぐに見つかりました.なるほど,linux/include/sound/version.h に書いてあったのか!そして2.6.20は1.0.14rc1らしい.
早速1.0.14rc1のalsa-libとalsa-utilsを入れ,さらにalsa-driverを開いてsnddevicesでデバイスファイル作り直して誰でも読み書きできるようにパーミッション変更してやったらバッチリ鳴りました.わーい.
[コメントを書く]
■fglrx_dri.soの置き場
んで,昨日置き場に困ったfglrx_dri.soですが,何か環境変数でどうにかならんかとMesaのパス設定してる所(src/glx/x11/dri_glx.c)を覗いてみたら LIBGL_DRIVERS_DIR なんてのを getenv してました.なんだ,これ設定しとけばいいのねー.startxに書き足して終了です.
[コメントを書く]
■T60に移行
概ね基本的なところは済んだと思われるので,T42からT60に移行してみました.早速gcc-4.1.2とfirefox-2.0.0.2をmake -j2でビルド.firefoxはtimeつけるの忘れてて時間計れず(´・ω・`).
でちょっと使ってみた感じですが,左Altの隣にWindowsの絵の書いてあるへんなキーがついたせいで,誤操作が頻発(;´д`).スルーしてくれればいいのに,icewmのタスクバーが律義にこいつに反応してくれるので,ウィンドウがどっかいっちゃったりとか大変でした(笑).↓な感じに.Xmodmapに書き足してやって封印.ふぅ.
keycode 115 = Alt_L Meta_L keycode 117 = Alt_R Meta_R
液晶はとても明るくていいんですが,何か色合いが微妙かも.fireglcontrolpanelでちょっといじってみましたが,結局自分的にはデフォルトが一番マシっぽい・・・.
あとはメモリ増やして無線LANどうにかして終了か?メモリは1G追加かなぁ.うーん.
[コメントを書く]
■グラディウスV
再び7面を練習.HORIパッドでやってみたんですが,機雷地帯で壁に張り付こうとして失敗して激突しまくり・・・.何故じゃー.十字キーの戻りが悪い? 結局サタコンに戻りました.これでもかって位にRボタンのゴムにテープを貼って割と安定気味です.
で,練習した結果,3〜4回に1回くらい,樽転がす所を死なずに抜けられるようになりました.ショットとミサイルの打ち分け&手連射万歳! 後はキーパーズコアだなぁ・・・.こっちもたまに死なずに抜けられるんですが,まだまだな感じです.その後,万一通しで7面を越せてしまった場合に備え,8面も1回練習してみました.うーん,やっぱ7面が実質最終ステージなのかこれは.まあそうは言っても変な所に入っちゃってモンキーアイに潰されたりしましたが(^^;
[コメントを書く]
■Firefox vs セガダイレクトとか
何かT60の環境だとセガダイレクトがちっとも重くないぞ!そしてHORI STOREも軽い!そしてRAP2を勢いで注文してしまいました.うはは.
[コメントを書く]
2007年 3月 9日 (金)
■ThinkPad T60 -Mobility Radeon X1300編-
一段落したので本格的にいじり始めたぞ! mkinitrdをいれたんですが,なんかできたinitrdがまずかったか,起動時にSATA関連のドライバを呼んでくれずpanicのまま.起動しないと何もできないので,ひとまず静的に組み込んで逃げちゃいました./etc/modprobe.confに問題ありな予感ですが,何をどう書けばいいのかよくわからん・・・.そのうち何とかしよう.
で,ちゃんとLinuxが起動するようになったんで,Xの設定を開始.今まで使っていたT42はMobility Radeon 7500なるチップを積んでたんで,ATIの配布してるドライバ(fglrx)が使えず3Dパフォーマンスが本来のチップ性能に比べてかなりしょんぼりな感じだったんですが,今回の2623-M3EはMobility Radeon X1300なんか積んでたりして,普通にfglrxが使える模様.これは入れないわけにはいかんでしょうというわけで,早速ATIのページからドライバをダウンロード.何かXorg-7.1までしか対応していなさそうなことが書いてありましたが,気にしない方向で.
「sh ~/ati-driver-installer-8.34.8-x86.x86_64.run --extract ati-driver-installer-8.34.8」とかやって開いてみると,謎のスクリプトがやたらといっぱい出てきますな.びびりつつもディレクトリの下を漁ってみると,必要そうなものは大体そのまんまの形で置いてある模様(x710,arch/x86,common/usr/X11R6,common/usr/include/GL にあるファイルあたり).ビルドしなきゃならないのはカーネルモジュールくらいですかねー.まずはXOrg-7.2の各種ファイルの配置を参考にファイルをコピー (xorg-serverを「--prefix=/usr/local --with-dri-driver-path=/usr/local/lib/xorg/modules/dri」とかつけてconfigureして入れてるんで,パスは普通とだいぶ違うかも).
# libGL.so.1.2 は上書きしてしまえ cp arch/x86/usr/X11R6/lib/*.so.* /usr/local/lib cp arch/x86/usr/X11R6/lib/*.a /usr/local/lib cp common/usr/X11R6/include/X11/extensions/fglrx_gamma.h \ /usr/local/include/X11/extensions cp common/usr/include/GL/*.h \ /usr/local/include/GL cp arch/x86/usr/X11R6/lib/modules/dri/fglrx_dri.so \ /usr/local/lib/xorg/modules/dri cp x710/usr/X11R6/lib/modules/drivers/fglrx_drv.so \ /usr/local/lib/xorg/modules/drivers cp x710/usr/X11R6/lib/modules/linux/libfglrxdrm.so \ /usr/local/lib/xorg/modules/linux
で,これでxorg.confのドライバを「fglrx」に書き換えてstartxしてやったら無事Xが上がったんですが・・・何か3Dアクセラレーションがまったく効いてません(;´д`).Titanionが激重.Xorg.0.logを見てみると・・・
(EE) AIGLX error: dlopen of /usr/local/lib/xorg/modules/dri/fglrx_dri.so failed (/usr/local/lib/xorg/modules/dri/fglrx_dri.so: undefined symbol: __glXFindDRIScreen) (EE) AIGLX: reverting to software rendering
(´・ω・`). 調べたらこの辺にヒントが.あー,libGL.soのリンク張り直し忘れてるだけでした.
ln -fs libGL.so.1.2 /usr/local/lib/libGL.so.1 ln -fs libGL.so.1 /usr/local/lib/libGL.so
再挑戦.まだ重い・・・.今度はこんなメッセージがログに出とります(´・ω・`)
(EE) AIGLX error: dlsym for __driCreateNewScreen_20050727 failed (/usr/lib/dri/fglrx_dri.so: undefined symbol: __driCreateNewScreen_20050727) (EE) AIGLX: reverting to software rendering
なんかATIのドライバはAIGLXなるやつに対応していないらしい? ここを参考に以下のようにxorg.confに書き足してAIGLXを切ってみました.
Section "ServerFlags" Option "AIGLX" "off" EndSection Section "Extensions" Option "Composite" "Disable" EndSection
が,まだだめ.まったく3Dアクセラレーションが効いてない感じです.うーん.試しにドライバについてきたfglrxinfoを実行してみると・・・
% LD_LIBRARY_PATH=/usr/local/lib ./arch/x86/usr/X11R6/bin/fglrxinfo display: :0.0 screen: 0 OpenGL vendor string: Mesa project: www.mesa3d.org OpenGL renderer string: Mesa GLX Indirect OpenGL version string: 1.4 (1.5 Mesa 6.5.2)
どうみてもMesaです.本(ry _|‾|○ でも何が悪いのかさっぱり・・・.ググってたら LIBGL_DEBUG環境変数を「verbose」とかに設定しとくと詳細が出てくるとの情報が.
% LIBGL_DEBUG=verbose LD_LIBRARY_PATH=/usr/local/lib arch/x86/usr/X11R6/bin/fglrxinfo libGL: XF86DRIGetClientDriverName: 8.34.8 fglrx (screen 0) libGL: OpenDriver: trying /usr/X11R6/lib/modules/dri/fglrx_dri.so libGL error: dlopen /usr/X11R6/lib/modules/dri/fglrx_dri.so failed (/usr/X11R6/lib/modules/dri/fglrx_dri.so: cannot open shared object file: No such file or directory) libGL error: unable to find driver: fglrx_dri.so libGL: XF86DRIGetClientDriverName: 8.34.8 fglrx (screen 0) libGL: OpenDriver: trying /usr/X11R6/lib/modules/dri/fglrx_dri.so libGL error: dlopen /usr/X11R6/lib/modules/dri/fglrx_dri.so failed (/usr/X11R6/lib/modules/dri/fglrx_dri.so: cannot open shared object file: No such file or directory) libGL error: unable to find driver: fglrx_dri.so display: :0.0 screen: 0 OpenGL vendor string: Mesa project: www.mesa3d.org OpenGL renderer string: Mesa GLX Indirect OpenGL version string: 1.4 (1.5 Mesa 6.5.2)
/usr/X11R6/lib キタ━━━(゜∀゜)━( ゜∀)━( ゜)━( )━( )━(` )━(A` )━('A`)━━━!! そんなディレクトリありませんから!・・・なんでこんなところ見るんじゃこいつは・・・.もしや・・・libGL.so.1.2をstringしてみると・・・
% strings /usr/local/lib/libGL.so | grep X11R6 /usr/X11R6/lib/modules/dri
どう見ても生パスです. /usr/X11R6/lib/modules/dri を掘って,そこにfglrx_dri.so コピーしたら,fglrxinfo の結果が無事変わってくれました.はぁ.
% LD_LIBRARY_PATH=/usr/local/lib arch/x86/usr/X11R6/bin/fglrxinfo display: :0.0 screen: 0 OpenGL vendor string: ATI Technologies Inc. OpenGL renderer string: ATI Mobility Radeon X1300 OpenGL version string: 2.0.6334 (8.34.8)
さて,こやつはどうしてくれよう・・・.libGL.so.1.2 をバイナリエディタで直接書き換えて「/usr/X11R6/lib/modules/dri」を「/usr/local/lib/xorg/modules/dri」にすればいいんじゃね?と思ったんですが,後者の方が長いから無理だし.とりあえず後回しでいいや.で,今度こそ!という感じでTitanionを実行してみると・・・こんどは以下のようなメッセージがどばどばと吐き出され,違った重さが(;´д`)
FGLTexMgr: open of shared memory object failed (Function not implemented) __FGLTexMgrCreateObject: __FGLTexMgrSHMmalloc failed!!!
なんじゃこりゃー! 調べてみたらここに答えがありました./dev/shm を掘って,「mount -t tmpfs tmpfs /dev/shm」とやってマウントしてやったところ,ついに Titanionが滑らかに動くように! うわーい.
[コメントを書く]
- nosuke 2007/03/10(土) 16:50:47
- Mesaのソース読んだら瞬時に解決
export LIBGL_DRIVERS_DIR=/usr/local/lib/xorg/modules/dri
でいけるっぽいっす.いやっほぅ
■ThinkPad T60 -82573L編-
で,Xはひとまずカタがついたので,次はEthernet.GWAをはじめとするT60でLinuxを使ってる周囲のユーザ曰く「ハブによってはレイテンシがでかくなってはまる」とのこと.ちょっと使った感じではそんな気がしなかったんで,「変にカーネルがチューニングされたディストリビューション使ってるのが悪いんじゃないの m9(^Д^)」とか思ってたんですが,家のハブでT42からSSHでつないで作業してたらなんかやたらと引っ掛かかる・・・.もしやと思い外からpingを打ってみたら,自分の環境でもとんでもなく遅くなることが判明・・・.これはひどいレイテンシですね(;´д`)
% ping 192.168.0.4 PING 192.168.0.4 (192.168.0.4): 56 data bytes 64 bytes from 192.168.0.4: icmp_seq=0 ttl=64 time=1000.067 ms 64 bytes from 192.168.0.4: icmp_seq=1 ttl=64 time=1.225 ms 64 bytes from 192.168.0.4: icmp_seq=2 ttl=64 time=1000.083 ms 64 bytes from 192.168.0.4: icmp_seq=3 ttl=64 time=0.335 ms 64 bytes from 192.168.0.4: icmp_seq=4 ttl=64 time=1000.262 ms 64 bytes from 192.168.0.4: icmp_seq=5 ttl=64 time=0.472 ms
さて,どうしてくれようという感じですが,GWA曰く,何かドライバのパラメータをチューニングするとマシになるとか.何いじるかちゃんと聞いときゃよかったなー.仕方ないのでググってみたら CONFIG_IRQBALANCEを外せ との情報が.ふーん,よくわかんないけどフレーム受信時の割り込みを交互に2コアに割り振るのをやめるとかそういう感じ?確かにそれなら効きそうかも・・・って全然効いてねー(;´д`)
% ping 192.168.0.4 PING 192.168.0.4 (192.168.0.4): 56 data bytes 64 bytes from 192.168.0.4: icmp_seq=0 ttl=64 time=206.484 ms 64 bytes from 192.168.0.4: icmp_seq=1 ttl=64 time=1000.491 ms 64 bytes from 192.168.0.4: icmp_seq=2 ttl=64 time=0.693 ms 64 bytes from 192.168.0.4: icmp_seq=3 ttl=64 time=1000.627 ms 64 bytes from 192.168.0.4: icmp_seq=4 ttl=64 time=0.827 ms 64 bytes from 192.168.0.4: icmp_seq=5 ttl=64 time=1000.767 ms
Intelから最新のe1000のドライバ落としてビルドしていれてみてもダメ,e1000のNAPIを有効化してもダメ.うーん,どうしたもんか.で,しつこくググってたらドライバのパラメータの設定に関する情報が出てきました.あー,多分GWAが言ってたのはこれだなー.試しに「modprobe e1000 RxIntDelay=32」して読み込んでやったら大幅改善.
% ping 192.168.0.4 PING 192.168.0.4 (192.168.0.4): 56 data bytes 64 bytes from 192.168.0.4: icmp_seq=0 ttl=64 time=2.805 ms 64 bytes from 192.168.0.4: icmp_seq=1 ttl=64 time=0.311 ms 64 bytes from 192.168.0.4: icmp_seq=2 ttl=64 time=0.877 ms 64 bytes from 192.168.0.4: icmp_seq=3 ttl=64 time=0.445 ms 64 bytes from 192.168.0.4: icmp_seq=4 ttl=64 time=1.018 ms 64 bytes from 192.168.0.4: icmp_seq=5 ttl=64 time=3.044 ms
というわけで /etc/modprobe.conf に「options e1000 RxIntDelay=32」と書き足してひとまず終了.しかしこれ,まわりの話聞くと,Core DuoなT60でも出てるみたいなんで,ずいぶん前からある問題っぽいんですが,みんなどうしてんだろ・・・.
- sshみたいな秒単位のレスポンスを体感できることをしてないので気づかない
- ハズレのハブに当たったことがなくて気づかない
- よくわかんないけどそういうもんだと思って使っている
- カーネルでSMPを切っている (※これで改善すんのかどうかは未検証っす)
- はぁ?無線LAN使ってないのお前キモ(ry
- え?Linux?coLinux使ってるけど普通だよ
次は音だなー.あとdriのパスもどうにかしよう.
[コメントを書く]
■RAP2
結局日和ってまだ注文してないし.うううぅ.どうしょぅ・・・.
[コメントを書く]
■ドリームキャストタオル
ゲームショップ1983にメガドラ互換コントローラ送ったらオリジナルグッズのDCタオル頂いちゃいました.ありがとうございます.どう改造するのか知りませんが,改造に使えないやつだったらごめんなさい・・・.
[コメントを書く]
■東方
なんか久々に遊んでみました.とりあえず霊夢Bで紅魔郷Normalやってみたらパチュリーで崩れ始めてレミリアで撃沈.アドリブで避けるところは以前より安定してる感じでしたが,誘導とか忘れまくり_|‾|○.妖々夢Phantasmは生と死の境界でミスったのでやめ.一時期あんなに安定していたのに何故・・・.あとは文花帖を少々.超低速を使わず気楽に構えてやると違った楽しさがあっていいですな.
[コメントを書く]
2007年 3月 8日 (木)
■RAP2
HORIのリアルアーケードPro.2が再販予約受付中なんすよねー.うーん,あっちを改造中とはいえ,こっちも欲しいなぁ.けど場所が・・・.まあ,迷ったらアレかな.明日の20時まであったらいっとこうかな(笑).そういや全然関係ないですがこれどういう展開なんだ?出品者と何かやりとりあったみたいですが・・・.
[コメントを書く]
■ThinkPad T60
KNOPPIXで起動してすっぱりディスク消してext3(とswap領域)だけにしちゃいました.とりあえずT42からrsyncしてみたけど起動せず.あー,よく考えたらドライバモジュール化しちゃってるから/dev/sdaが見えんのか.mkinitrdしなきゃ・・・と思ったらmkinitrdが無いッ!ソースを探したけどどこで配られてんのかよくわからなかったのでVineのSRPMからひっぱりだしました.とりあえず今日はここまで.なんか他が気になってじっくり取り組めん・・・.
[コメントを書く]
2007年 3月 7日 (水)
■ThinkPad T60
QTpartedでリサイズできたんで,とりあえずNTFSのところを半分くらいにして,残りをFAT32にしてDtoD領域と縮めたWinXPの領域をGhostで吸い出してみました.でもどうせ全部潰すし,復活させる必要が生じたらリカバリディスクからやるんだろうからどうでもいい気もしますが・・・.にしてもキートップがざらざらしてて落ち着かないなぁ(^^;
[コメントを書く]
2007年 3月 6日 (火)
■ThinkPad T60
2623-M3Eキタ━━━━(゜∀゜)━━━━ッ!! 英語版のWindows XPが入っています.もはやこいつでプレゼンをしたりゲームをしたりすることもないと思うんで潰してもいいんですが,どうしようかねぇ.KNOPPIXのQTPartedでパーティション縮めようと思ったらなんかうまくできませんでした(縮める処理をしたら,メッセージのない「OK」ボタンだけの謎のダイアログが表示されて終わった).リカバリディスクを作ったし,さっさとDtoD領域ごと潰しちゃおうかなー.あー,ACアダプタ今までと違うのがアレですねぇ.
[コメントを書く]
- しぐれ 2007/03/07(水) 21:01:48
- 私はそのKNOPPIXのQTPartedで縮めたんですが。。。1年前は英語版ならまだOEMLOGO.BMPがIBMだったんですがいまもIBMのままですか? それともLenovo?
- nosuke 2007/03/08(木) 01:54:21
- ぬおーリサイズできたー!
Kメニューに「QTparted Create recognize and remove partitions」ってのと「QTparted」の両方があって,昨日は前者使ってダメだったんですが,今,試しに後者使ってみたらうまくいきました.
後者の起動時にrootパスワード求められたってことは,前者は別にsuidされてたりするわけではないんすね・・・.
OEMLOGO.BMPはどこにあるファイルっすか? 今リカバリテスト中だったりして触れず・・・
- nosuke 2007/03/08(木) 04:09:15
- Lenovoってなっていたーッ!
■ヤフオク
割とレアなゲームソフトに新規アカウントで入札してめちゃくちゃ釣り上げてキャンセルする人は何者なんだ・・・? 単なるいたずらとか嫌がらせ? それとも実は正体は2番手と同じ人で,繰り上がりで安く落札できるように仕組んでいるのか?
[コメントを書く]
2007年3月10日から2007年3月6日までの日記を表示中
T42ではfglrxはxinit時やresume時のフリッカーに悩まされたんですがそのへんはどうですか?