O HAI THIS BLOG PURPZIEZ 2 B UZED AZ MAH PLESIOUS MEM. :)

2010/02/28

migrate2KMS(&nouveau); /* again */

  ボブ「やあ,ジョニー,聞いてくれよ.」
ジョニー「なんだい,ボブ」
  ボブ「最近,nouveauがmain kernel入りしてイケてるじゃん?」
ジョニー「2.6.33でDRMがmergeされたって話だね.」
  ボブ「そうそう」
ジョニー「nouveaufbがKMS centricになったって話も聞いたよ?」
  ボブ「うん,それでちょっと前に試してみたんだけど,やっぱりぶっ壊れてたんだ.」
ジョニー「ああ,そう言えば君はppc32だったね.」
  ボブ「うん,x86が嫌いだからね.」
ジョニー「なるほど,多分offbがdestroy出来なかったのが原因だね.」
  ボブ「そうなんだ,offbのトコにdestroyが追加されたんだ.」
ジョニー「じゃあ,offb - nouveaufb間のハンドオフが出来る様になるハズだから...」
  ボブ「うん,もう一回試そうかと思ってさ.」
ジョニー「なるほど,ぶっ壊れるのを恐れずにまたも果敢に挑戦する訳だね?」
  ボブ「もちろん,ricerだからね!」

ジョニー「まずはkernelを更新しようか.」
  ボブ「どれが良いかな?」
ジョニー「2.6.33ベースのモノならどれでもイイと思うな.」
  ボブ「じゃあ,手堅くsys-kernel/gentoo-sources-2.6.33にしよう.」

$ emerge =sys-kernel/gentoo-sources-2.6.33

ジョニー「kernelをbuildしておかないとDRM moduleがbuild出来ないから先に片付けてしまおう」
  ボブ「そう言えば,知っているかい? eselect kernelで/usr/src/linuxのsymlinkが変更出来るんだぜ.」

$ eselect kernel linux-2.6.33-gentoo

ジョニー「でもこれってeselect profileに匹敵するくらい要らない機能じゃない? ln -sfとドコがちが...」
  ボブ「ソイツは言わないお約束さ! kernelをbuildするのはGentooらしくgenkernelを使おうか!」

$ genkernel \
--kernel-config=/etc/kernels/kernel-config-${ARCH}-$(uname -r) \
--menuconfig --makeopts=-j2 all

ジョニー「configには気をつけないとね.」
  ボブ「具体的には?」
ジョニー「x11-base/nouveau-drmの中のCONFIG_CHECKを参考にするれば良いと思うよ」
  ボブ「これはどう言う風に解釈するんだい?」
ジョニー「eclass/linux-info.eclassをみれば分かるよ.」
  ボブ「ああ,なるほど.!が付いているヤツはN,それ以外はYかMにすれば良いんだね?」
ジョニー「うん」

ジョニー「次はDRMだね.」
  ボブ「officialのx11-base/nouveau-drmでイイかい?」
ジョニー「なんだricerらしくないじゃないか.先っぽを使うに決まってるだろう?」
  ボブ「先っぽを使うとなんかメリットがあるの?」
ジョニー「x11-drivers/nouveau-firmwareが要らなくなるよ.runtimeでDRM module自身が生成してくれる.2.6.33ベースだと,多分この変更は入っていないのでconfigのやり直しになるよ?」
  ボブ「でもnouveau/linux-2.6をgit cloneするのはメンドくない?」
ジョニー「物好きが必要な部分だけhg repoにsnapshot作りながらebuildまで用意しているよ?
  ボブ「じゃあ,コイツを使おう.」

$ emerge =x11-base/nouveau-drm-99999999-r1

ジョニー「忘れずに/etc/conf.d/modulesを更新しておこう.」
  ボブ「具体的には?」
ジョニー「最近はload-time orderはあんまり問題にならないケド,AGP,DRM,nouveauの順で追加すればイイと思うよ.」
  ボブ「ふむふむ.」
ジョニー「ああ,それからnouveau moduleはmodesetパラメータを持ってるんだ.」
  ボブ「なんだいそれは?」
ジョニー「1と0のどちらかを設定する事でKMSのon/offが出来るのさ.defaultではonだけどね.」
  ボブ「へぇ.」

ジョニー「最後にuserlandな野郎共を更新しよう.x11 overlayのlive ebuildを使うんだよ?」
  ボブ「わかってるさ.x11-proto関連も忘れずに,だね!」
ジョニー「それからmedia-libs/mesaはGallium3D capable(USE="gallium")にしてVIDEO_CARDS="nouveau"だよ.念の為,x11-base/xorg-serverとx11-drivers/*もremergeしておくとイイと思うよ.」
  ボブ「FULL ACK!」

$ emerge \
=x11-proto/dri2proto-9999 \
=x11-proto/glproto-9999 \
=x11-proto/xf86driproto-9999 \
=x11-libs/libdrm-9999 \
=media-libs/mesa-9999 \
x11-base/xorg-server \
$(qlist -I -C x11-drivers/) \
=x11-drivers/xf86-video-nouveau-9999

ジョニー「live ebuildがコケたらどうするか覚えてる?」
  ボブ「勘でbisectして,EGIT_TREE経由でcommit revisionを指定だね?」
ジョニー「最近気付いたんだけど,EGIT_COMMIT経由でcommit revisionを指定してもイイみたい.」
  ボブ「まったく,gitはbad-designだから周りまでbad-designになって困るね.」

ジョニー「必要なら最後にboot loaderの設定ファイルを弄ってMBRとかに相当するモノを更新しよう.」
  ボブ「ボクの場合は/etc/yaboot.confの更新だね.」
ジョニー「sys-boot/yabootはsys-boot/liloと同じで設定ファイルを更新したらコマンドでboot partitionを弄らないといけないね.」
  ボブ「ボクは常にmkofbootとybinの合わせ技だね.-vでverboseにしながら.」

# mkofboot -v && ybin -v

ジョニー「そう言えば,GRUB2には移行しないのかい?」
  ボブ「そのうち試そうとは思ってるよ!」

ジョニー「よし,再起動だ!」
  ボブ「逝くぜ!」

# reboot

  ボブ「動いた!dmesg, Xorg.0.log, glxinfoまで完璧だ!」
ジョニー「まぁ,すごいのはupstream devsであって僕らじゃあないけどね.」
  ボブ「やっぱり,Gentooは最高だぜ!」

修正:若干のtypos.

2010/02/19

NetSurf / Framebuffer #3

最近,diffstat以外,まともに"てくにかる"な匂いがしないので,相変わらずぶっ壊れているnetsurfのFB FEでエアリハビリ的な事を行う事にした.

何時の間にかFB FEのコアがlibnsfbとかに分離してたので,svn coして野良ビルドで様子を伺いつつ,live ebuildをでっち上げて,更にnetsurfをsvn upして,適当にMakefile.configをでっち上げた後,あぶらかだぶらちちんぷいぷいごにょごにょもにょもして,make TARGET=framebufferすればOK. :D

チラ見したトコロ,bppやLE/BEの問題で色はぶっ飛んだままなんだけど,更にスクロールボタンをクリックしただけでSEGVすると言うbugを喰らったので,忘れない内にupstream devsを叩く. :P
2010/02/18 23:59:16 hiyuh
    hmm
2010/02/18 23:59:45 hiyuh
    nsfb-sdl is still br0ken?
2010/02/19 00:00:05 jmb
    how?
2010/02/19 00:01:57 mmu_man
    libcss ?
2010/02/19 00:02:26 hiyuh
    nope, press scroll-down button -> segv @ fb_browser_window_redraw
    line 331
2010/02/19 00:03:48 hiyuh
    http://dev.gentoo.gr.jp/~hiyuh/misc/nsfb-sdl-segv.jpg

2010/02/19 00:04:29 mmu_man
    gr.jp ? greek community in japan ? ;)
2010/02/19 00:05:00 jmb
    hiyuh: that's one for kyllikki, then
2010/02/19 00:06:12 hiyuh
    jmb: k
2010/02/19 00:06:57 hiyuh
    mmu_man: gr == group :p
2010/02/19 00:07:09 mmu_man
    ah ok
2010/02/19 00:07:14 mmu_man
    like teh .asso.fr maybe
2010/02/19 00:07:30 hiyuh
    yup
2010/02/19 00:09:58 kyllikki
    hiyuh: in head?
2010/02/19 00:11:25 hiyuh
    kyllikki: netsurf-r10069 + libnsfb-r9948
2010/02/19 00:15:14 hiyuh
    FYI http://dev.gentoo.gr.jp/~hiyuh/misc/nsfb-v.log
2010/02/19 00:15:15 kyllikki
    hmm
2010/02/19 00:16:25 kyllikki
    I will take a look
2010/02/19 00:16:33 hiyuh
    kthx
2010/02/19 00:18:51 hiyuh
    http://dev.gentoo.gr.jp/~hiyuh/misc/netsurf-r10071-DEJAVU_PATH.diff
2010/02/19 00:19:25 hiyuh
    hardcoded DEJAVU_PATH is not so good to me.
2010/02/19 00:20:18 jmb
    that really should be in Makefile.defaults
2010/02/19 00:20:25 jmb
    so you can override it in Makefile.config
2010/02/19 00:21:01 hiyuh
    I'd like to set default *.ttf in Makefile.config TBH
2010/02/19 00:21:24 hiyuh
    it's just quick and dirty
良い子の皆はfile pathをhardcodeしちゃダメだぞ! :D

2010/02/15

LpA * (7/7)

「論理哲学論考」を読み終わった.例によって大して理解していないと思うのだけれど,オレ的には六・四二からビミョーだった.最後の〆がカッコイイので引用しとこう. :D
哲学の正しい方法 『論理哲学論考』はいかに理解されねばならぬか

六・五三 哲学の正しい方法とは本来,次のごときものであろう.語られうるもの以外はなにも語らぬこと.ゆえに,自然科学の命題以外なにも語らぬこと.––そして他のひとが形而上学的なことがらを語ろうとするたびごとに,君は自分の命題の中で,ある全く意義をもたない記号を使っていると,指摘してやること.この方法はそのひとの意にそわないであろうし,かれは哲学を学んでいる気がしないであろうが,にもかかわらず,これこそが唯一の厳正な方法であると思われる.

六・五四 わたくしを理解する読者は,わたくしの書物を通りぬけ,その上に立ち,それを見下ろす高みに達したとき,ついにその無意味なことを悟るにいたる.まさにかかる方便によって,わたくしの書物は解明をおこなおうとする.(読者は,いうなれば,梯子を登りきったのちに,それを投げ捨てなければならない.)
読者はこの書物を乗り越えなければならない.そのときかれは,世界を正しく見るのだ.

七 語りえぬものについては,沈黙しなければならない.

以下,蝶意訳.

必要以上に喋りまくる事は決して正しいことではない.オレオレ主張をする輩には,手前の打っている高説はナンセンスであるとdisっても良い.当の本人は憤慨するだろうが,そんなに気にしなくて良い.

この様な姿勢を取るにせよ,あるいはそれを批判するにせよ,少なくとも一時は多くの事が無意味であると言うエア悟りの境地に達する.これより先に進む元気があるならば,それら全てをブン投げてハイパー頑張らねばならない.

漢は背中で語るのである. :D

修正:若干のtypo.

2010/02/02

MeasureSLOC(&LMS); /* 2010/01 */

今年最初のdiffstat.
bench/BENCH_CALCULATE_SNR_SINR.vhd |   50 -
 bench/BENCH_CLTUNE.vhd             |  108 ++
 bench/BENCH_DIVSR_RR.vhd           |   13 
 bench/BENCH_LVDS.vhd               |  374 +++++++
 bench/BENCH_S1IC.vhd               |  344 ++++---
 bench/BENCH_S1WCAL.vhd             |  926 ++++++++++++-------
 bench/BENCH_S1p2SIC.vhd            | 1755 +++++++++++++++++++++++++++++++++++++
 bench/BENCH_S2WFMA.vhd             |  456 ++++++---
 bench/METABENCH_S1WCAL.vhd         |  264 +++++
 bench/METABENCH_S1p2SIC.vhd        |  229 ++++
 vhdl/ABS2SR_C.vhd                  |   27 
 vhdl/ACB.vhd                       |   70 +
 vhdl/ACN.vhd                       |   63 +
 vhdl/ACW.vhd                       |   39 
 vhdl/ADDSR_RR.vhd                  |   23 
 vhdl/ADDSR_UU.vhd                  |   33 
 vhdl/AFIFO.vhd                     |   10 
 vhdl/CALCULATE_SINR.vhd            |   83 +
 vhdl/CALCULATE_SNR.vhd             |   94 +
 vhdl/CLTUNE.vhd                    |  322 ++++++
 vhdl/CSSSTM.vhd                    |   17 
 vhdl/DECIMATE_SYMBOL.vhd           |    8 
 vhdl/DIVSR_CR.vhd                  |   17 
 vhdl/DIVSR_RR.vhd                  |  106 +-
 vhdl/ESTIMATE_NOISE.vhd            |   28 
 vhdl/EXPORT_F3J1.vhd               |  154 +++
 vhdl/EXPORT_F4J1.vhd               |  155 +++
 vhdl/EXPORT_LVDS.vhd               |  230 ++++
 vhdl/EXTRACT_AC.vhd                |    8 
 vhdl/EXTRACT_DATA.vhd              |    8 
 vhdl/GRLB.vhd                      |  117 ++
 vhdl/HS_BUS.vhd                    |   10 
 vhdl/IMPORT_F1J6.vhd               |  149 +++
 vhdl/IMPORT_F2J4.vhd               |  148 +++
 vhdl/IMPORT_LVDS.vhd               |  216 ++++
 vhdl/LDPCD-stub.vhd                |   19 
 vhdl/LDPCD.vhd                     |   23 
 vhdl/LLR2PP.vhd                    |    8 
 vhdl/MULSR_CC.vhd                  |   37 
 vhdl/MULSR_CR.vhd                  |   87 +
 vhdl/MULSR_RR.vhd                  |    4 
 vhdl/MULSR_RRCONST.vhd             |    6 
 vhdl/MULSR_UU.vhd                  |   23 
 vhdl/MULSR_UUCONST.vhd             |    6 
 vhdl/NIBBLESW.vhd                  |  123 ++
 vhdl/NbySNR.vhd                    |   64 +
 vhdl/PP2RIE.vhd                    |   12 
 vhdl/PP2SRG.vhd                    |   18 
 vhdl/PSQUASH.vhd                   |    8 
 vhdl/ROUND.vhd                     |   38 
 vhdl/S0SNR.vhd                     |  398 ++++++++
 vhdl/S1IC.vhd                      |  151 ++-
 vhdl/S1WCAL.vhd                    |  272 +++--
 vhdl/S1WCCM.vhd                    |  110 +-
 vhdl/S1WCFA.vhd                    |  514 +++++++---
 vhdl/S1WCFB.vhd                    |  618 +++++++++----
 vhdl/S1WDET.vhd                    |  134 ++
 vhdl/S1WINV.vhd                    |  294 ++++--
 vhdl/S1p2SIC.vhd                   |  830 +++++++++++++++++
 vhdl/S2WFMA.vhd                    |  131 +-
 vhdl/S3SINR.vhd                    |  102 ++
 vhdl/S4LLR.vhd                     |   52 +
 vhdl/S5LDPCD.vhd                   |  145 ++-
 vhdl/S6PP.vhd                      |    9 
 vhdl/S7RIE.vhd                     |    9 
 vhdl/S7SRG.vhd                     |    7 
 vhdl/SCB.vhd                       |   19 
 vhdl/SCN.vhd                       |   19 
 vhdl/SCW.vhd                       |   21 
 vhdl/SFIFO.vhd                     |   10 
 vhdl/SRG2IC.vhd                    |  362 +++----
 vhdl/UMA_IN_SYMBOL.vhd             |    8 
 vhdl/UMA_OUT_SYMBOL.vhd            |    8 
 vhdl/WCCM.vhd                      |    6 
 vhdl/WFMA.vhd                      |  502 +++++++---
 vhdl/XDPRAM.vhd                    |    9 
76 files changed, 10080 insertions(+), 1790 deletions(-)
over 10kSLOCだった. :D

最近,入出力レイテンシの継承の極意を手に入れたので,幾つかのオレオレプリミティブにソイツを導入してみたら,ナカナカ良さ気でとても宜しい.まだ改善の余地はあるので,手早くtop wrapperをでっち上げてゴニョりたいトコロではある.