トップ 最新 追記

Masa's blog

検索キーワード:

2011年09月01日 gnome-mplayer-1.0.4 & gecko-mediaplayer-1.0.4 [長年日記]

_ firefox-6.0.1の環境ではmplayerplug-inがビルドできなかったし、pluggerはビルドできたがプラグインとして認識しなかった。

代わりのプラグインを探してみると、gnome-mplayer-1.0.4gecko-mediaplayer-1.0.4というのをインストールすれば良さそうなことが判った。

gnome-mplayer-1.0.4

gecko-mediaplayer-1.0.4

  • tar xvzf gecko-mediaplayer-1.0.4.tar.gz
  • cd gecko-mediaplayer-1.0.4
  • ./configure --with-xulrunner-sdk=/usr/local/gecko-sdk-6.0.1/sdk --enable-new-libxul
  • make && make install
  • cd /usr/lib/mozilla/plugins/
  • ln -s /usr/lib/seamonkey-2.1b3/mozilla/plugins/* .

Plugger Testing Groundsで動作確認。


2011年09月06日 SL-C760で録音できなくなった... [長年日記]

_ SL-C760で録音できなくなった...

マイク(ECM-DM5P)とバッテリ(CS-SL1000XL)を買い直して、調子良く使っていた矢先に、録音できなくなってしまった。正確に言うと、微かな音で録音は出来ているようだが、ほとんど無音状態。

え〜っ、早速マイクが壊れたか!さすがわS●NYと思ったが、他のPCに挿して録音するとOKなので、マイクの問題ではないと...。

という事は、本体のサウンドチップ辺りがイカレタか?。そういえば、一つ思い当たる事として、バッテリをCS-SL1000XLに換えてから、本体の発熱が以前よりかなり増してるきがする。

...という訳で、思い切ってオクにてSL-C860を落札(^^;(4000円也)。当然問題なく録音できた。

SL-C760は現在上新電機経由で修理に出している。見積りだけで、1050円かかるが、どうなることやら。

それと一応バッテリも疑ってみて、ROWA EA-BL11-SA 1800mAhも購入(;_;)。CS-SL1000XL購入の際にはどちらにしようか悩んだのだが、やはり日本セルのEA-BL11-SAにするべきだったのか...。


2011年09月09日 SL-C760で録音できなくなった...(2) [長年日記]

_ SL-C760で録音できなくなった...(2)

見積りでた。

メイン基板交換で、16,490円也。

予想はしていた事だが、修理はお断りした(;_;)。


2011年09月10日 mencoder H.264 faac による高品位&高圧縮エンコーディング [長年日記]

_ mencoder H.264 faac による高品位&高圧縮エンコーディング

今までは動画のエンコーディングと言えば mpeg4+mp3 ばかりだったのだが、H.264+faacという組合せだと、同じビットレートでもかなり高品位になるらしい。

DVD(video)一枚をCD-R一枚に保存したりすることがあるので、重宝しそう。

ただし、再生には今まで以上にCPU負荷がかかる様子。

mencoder -oac faac -faacopts br=96 -ovc x264 -x264encopts pass=1:bitrate=396 -o /dev/null foo.mp4
mencoder -oac faac -faacopts br=96 -ovc x264 -x264encopts pass=2:bitrate=396 -o foo.avi foo.mp4

上記は foo.mp4 を、音声のビットレートを96kbps、動画のビットレートを396kbps、2パス方式でエンコードして foo.aviを作成する例。入力ファイルは複数指定すると、自動的に結合してくれるので、youtubeなんかで複数に別れてアップロードされてる動画をダウンロードして1本にまとめたりできてウマー。

マニュアルや、ネット上の情報では多くのオプションが紹介されているが、個人的には上記のようなシンプルな指定でも十分満足のいく変換結果となった。


2011年09月19日 クロック周波数 on ARMedslack with SL-C860 [長年日記]

_ クロック周波数 on ARMedslack with SL-C860

linux-2.6.36.4の標準機能で、クロック周波数を変えることができる。

この機能を使う場合はカーネルにCPU Frequency scalingを組み込む必要がある。

make menuconfig

CPU Power Management  --->
  [*] CPU Frequency scaling
  [ ]   Enable CPUfreq debugging
  <*>   CPU frequency translation statistics
  [ ]     CPU frequency translation statistics details
        Default CPUFreq governor (performance)  --->
          (X) performance
          ( ) powersave
          ( ) userspace
          ( ) ondemand
          ( ) conservative
  -*-   'performance' governor
  <*>   'powersave' governor
  <*>   'userspace' governor for userspace frequency scaling
  <*>   'ondemand' cpufreq policy governor
  <*>   'conservative' cpufreq governor
  [ ] CPU idle PM support

scaling_governor : performance

scaling_governorに"performance"を書き込むと、クロック周波数がscaling_max_freqの示す値に設定される(通常 398MHz)。最高のパフォーマンスを得たい場合に設定する。ただし、消費電力は最も高い。

# echo performance >/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

scaling_governor : powersave

scaling_governorに"powersave"を書き込むと、クロック周波数がscaling_min_freqの示す値に設定される(通常 99MHz)。消費電力を最も低く抑えたい場合に設定する。ただし、パフォーマンスは最も低い。

# echo powersave >/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

scaling_governor : userspace

scaling_governorに"userspace"を書き込むと、クロック周波数をscaling_setspeedに書き込んだ任意の値(KHz)に設定できる。ただし、実際にはカーネル内にハードコーディングされた何段階かの値にまるめられて設定されるよう。

# echo userspace >/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
# echo 200000 >/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
265400

scaling_governor : conservative

scaling_governorに"conservative"を書き込むと、クロック周波数をシステムの負荷に応じて最適な値に設定してくれる。次の"ondemand"に比べてクロック周波数がゆるやかに変化するアルゴリズムとなっており、バッテリ駆動時に向いているらしい。

# echo conservative >/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

ただし、この状態でサスペンドさせると復帰(レジューム)できないという問題があるので注意。また、若干システムが不安定になる(動的ライブラリが呼び出せなくなる)ことがあるようす。==> やっぱり不安定。いろんなコマンドでセグメンテーション違反が発生。常用は不可。

scaling_governor : ondemand

scaling_governorに"ondemand"を書き込むと、クロック周波数をシステムの負荷に応じて最適な値に設定してくれる。

ただし、ARMedslack-13.1+linux-2.6.36.4+SL-C860の環境では動作が不安定になって、実質使用不可だった。

オーバークロックの可能性

上記の方法では、クロックの上限は398MHzとなる。linux-2.4.xベースのスペシャルカーネルではオーバークロックを実現しているので、linux-2.6.xベースでも不可能ではないと思う。

おそらく、/usr/src/linux/arch/arm/mach-pxa/cpufreq-pxa2xx.cの、以下の部分に適切なパラメータを書き加えればうまく行くのではないかと想像する。

 83 /*
 84  * PXA255 definitions
 85  */
 86 /* Use the run mode frequencies for the CPUFREQ_POLICY_PERFORMANCE policy */
 87 #define CCLKCFG                 CCLKCFG_TURBO | CCLKCFG_FCS
 88
 89 static pxa_freqs_t pxa255_run_freqs[] =
 90 {
 91         /* CPU   MEMBUS  CCCR  DIV2 CCLKCFG                run  turbo PXbus SDRAM */
 92         { 99500,  99500, 0x121, 1,  CCLKCFG, -1, -1},   /*  99,   99,   50,   50  */
 93         {132700, 132700, 0x123, 1,  CCLKCFG, -1, -1},   /* 133,  133,   66,   66  */
 94         {199100,  99500, 0x141, 0,  CCLKCFG, -1, -1},   /* 199,  199,   99,   99  */
 95         {265400, 132700, 0x143, 1,  CCLKCFG, -1, -1},   /* 265,  265,  133,   66  */
 96         {331800, 165900, 0x145, 1,  CCLKCFG, -1, -1},   /* 331,  331,  166,   83  */
 97         {398100,  99500, 0x161, 0,  CCLKCFG, -1, -1},   /* 398,  398,  196,   99  */
 98 };
 99
100 /* Use the turbo mode frequencies for the CPUFREQ_POLICY_POWERSAVE policy */
101 static pxa_freqs_t pxa255_turbo_freqs[] =
102 {
103         /* CPU   MEMBUS  CCCR  DIV2 CCLKCFG        run  turbo PXbus SDRAM */
104         { 99500, 99500,  0x121, 1,  CCLKCFG, -1, -1},   /*  99,   99,   50,   50  */
105         {199100, 99500,  0x221, 0,  CCLKCFG, -1, -1},   /*  99,  199,   50,   99  */
106         {298500, 99500,  0x321, 0,  CCLKCFG, -1, -1},   /*  99,  287,   50,   99  */
107         {298600, 99500,  0x1c1, 0,  CCLKCFG, -1, -1},   /* 199,  287,   99,   99  */
108         {398100, 99500,  0x241, 0,  CCLKCFG, -1, -1},   /* 199,  398,   99,   99  */
109 };
110
111 #define NUM_PXA25x_RUN_FREQS ARRAY_SIZE(pxa255_run_freqs)
112 #define NUM_PXA25x_TURBO_FREQS ARRAY_SIZE(pxa255_turbo_freqs)

とりあえず、スペカのソースを参考にしようと、http://tetsu.homelinux.orgをたずねたが、ここしばらくサーバが落ちているよう。

しばらくググっていたら、http://katastrophos.net/zaurus/mirrors/tetsu.homelinux.org/index_tetsu.homelinux.org.htmlというミーラーサイトを発見。無事SL-C860のスペカカーネルソースをゲットできた。


2011年09月22日 ARMedslack(linux-2.6.36.4) for zaurus SL-C860 でオーバークロック [長年日記]

_ ARMedslack(linux-2.6.36.4) for zaurus SL-C860 でオーバークロック

してみた。

方針

/usr/src/linux/arch/arm/mach-pxa/cpufreq-pxa2xx.cの、以下のあたりにそれらしいパラメータをつっこんでみる。

 83 /*
 84  * PXA255 definitions
 85  */
 86 /* Use the run mode frequencies for the CPUFREQ_POLICY_PERFORMANCE policy */
 87 #define CCLKCFG                 CCLKCFG_TURBO | CCLKCFG_FCS
 88
 89 static pxa_freqs_t pxa255_run_freqs[] =
 90 {
 91         /* CPU   MEMBUS  CCCR  DIV2 CCLKCFG                run  turbo PXbus SDRAM */
 92         { 99500,  99500, 0x121, 1,  CCLKCFG, -1, -1},   /*  99,   99,   50,   50  */
 93         {132700, 132700, 0x123, 1,  CCLKCFG, -1, -1},   /* 133,  133,   66,   66  */
 94         {199100,  99500, 0x141, 0,  CCLKCFG, -1, -1},   /* 199,  199,   99,   99  */
 95         {265400, 132700, 0x143, 1,  CCLKCFG, -1, -1},   /* 265,  265,  133,   66  */
 96         {331800, 165900, 0x145, 1,  CCLKCFG, -1, -1},   /* 331,  331,  166,   83  */
 97         {398100,  99500, 0x161, 0,  CCLKCFG, -1, -1},   /* 398,  398,  196,   99  */
 98 };

パラメータの意味

  • CPU : クロック周波数(KHz)
  • MEMBUS : メモリーバスクロック周波数(KHz)
  • CCCR : Core Clock Configuration Register
  • DIV2 : 実際のMEMBUSを2分の1にするかどうかのフラグ(`1' : 2分の1にする)
  • run(コメント) : run モード時のクロック周波数(MHz)
  • turbo(コメント) : turbo モード時のクロック周波数(MHz)
  • PXbus(コメント) : PXbusクロック周波数(MHZ)
  • SDRAM(コメント) : メモリーバスクロック周波数(MHz)

CCCR

9,8,7 bit [パラメータ N]
  • [0,1,0] = 1倍
  • [0,1,1] = 1.5倍
  • [1,0,0] = 2倍
  • [1,1,0] = 3倍
6,5 bit [パラメータ M]
  • [0,1] = 1倍
  • [1,0] = 2倍
  • [1,1] = 4倍
4,3,2,1,0 bit [パラメータ L]
  • [0,0,0,0,1] = 27倍
  • [0,0,0,1,0] = 32倍(PXA255のドキュメントでは「予約」とされているが実際には設定可能であるらしい)
  • [0,0,0,1,1] = 36倍
  • [0,0,1,0,1] = 45倍

で、ようはこのCCCRに適切な値を放りこめば良いようだ...。

基本クロック(Crystal Frequency)

基本クロック(Crystal Frequency)は、3.6864MHz

MEMBUS

MEMBUS = 基本クロック x [パラメータ L]で定めた倍数(MHz)

DIV2

MEMBUSが99.5MHzを越えた場合、1とする。その場合MEMBUSの値は2分の1となる。ただし、実際にはMEMBUSの値は118MHzを越えるまでは2分の1にする必要はなさそう。

run

run = MEMBUS x [パラメータ M]で定めた倍数(MHz)

turbo(=CPU)

turbo = run x [パラメータ N]で定めた倍数(MHz)

CCCR = 0x161 (sharp romのデフォルト設定値)

CCCR = 0x161 = 0,1,0|1,1|0,0,0,0,1

  • パラメータ N = 1倍
  • パラメータ M = 4倍
  • パラメータ L = 27倍

上記のパラメータより

  • MEMBUS = 3.6864MHz * 27 = 99.5MHz
  • run = 99.5MHz * 4 = 398MHz
  • turbo = 398MHz * 1 = 398MHz
  • PXbus = 398MHz / 2 = 199MHz

pxa255_run_freqs上での定義は

/* CPU   MEMBUS  CCCR  DIV2 CCLKCFG                run  turbo PXbus SDRAM */
{398100,  99500, 0x161, 0,  CCLKCFG, -1, -1},   /* 398,  398,  196,   99  */

xengineの値は 1290〜1300rpm程度。

オーバークロック時にこの値をどれぐらい上回ることができるのかが勝負どころとなる。

CPU(turbo)が高くても、MEMBUSやPXbusが低いとトータルとしての性能は低くなることが有るので、そのあたりはcut&tryで探る。

CCCR = 0x162

スペシャルカーネル(linux-2.4.x)で、SL-C760やSL-C860のオーバークロック時に採用されている設定。十分に先人達が吟味した値なので、やはりパフォーマンス的には最も高いようだ。

CCCR = 0x162 = 0,1,0|1,1|0,0,0,1,0

  • パラメータ N = 1倍
  • パラメータ M = 4倍
  • パラメータ L = 32倍

上記のパラメータより

  • MEMBUS = 3.6864MHz * 32 = 118MHz
  • run = 99.5MHz * 4 = 472MHz
  • turbo = 472MHz * 1 = 472MHz
  • PXbus = 472MHz / 2 = 236MHz

pxa255_run_freqs上での定義は

/* CPU   MEMBUS  CCCR  DIV2 CCLKCFG                run  turbo PXbus SDRAM */
{471900, 118000, 0x162, 0,  CCLKCFG, -1, -1},   /* 472,  472,  236,  118  */

さすがにCPU(turbo)、MEMBUS、PXbusともにバランス良く高い値となっている。

MEMBUS=118MHzは、マニュアル的にいえばDIV2=1として2分の1にするべきなのだが、実際やってみるとDIV2=0で、MEMBUS=118MHzで動くようだ。ただし、マウスポインターがかなり派手にブレまくってかなり使いずらい。

xengineの値は 1380-1390rpm程度。

CCCR = 0x1C5

今回、私が採用した値。マウスポインターのブルブルも許容出来る範囲で、パフォーマンスもそこそこ高いと思う。

CCCR = 0x1C5 = 0,1,1|1,0|0,0,1,0,1

  • パラメータ N = 1.5倍
  • パラメータ M = 2倍
  • パラメータ L = 45倍

上記のパラメータより

  • MEMBUS = 3.6864MHz * 45 / 2 = 83MHz
  • run = (83MHz * 2) * 2 = 332MHz
  • turbo = 332MHz * 1.5 = 498MHz
  • PXbus = 332MHz / 2 = 166MHz

pxa255_run_freqs上での定義は

/* CPU   MEMBUS  CCCR  DIV2 CCLKCFG                run  turbo PXbus SDRAM */
{497700, 165900, 0x1c5, 1,  CCLKCFG, -1, -1},   /* 332,  498,  166,   83  */

xengineの値は 1370-1380rpm程度。

2011/09/29 追記:よくよく使ってみると、やはりマウスポインターのブルブルがかなりのもので、許容できる範囲ではなかった...。

一応

/* CPU   MEMBUS  CCCR  DIV2 CCLKCFG                run  turbo PXbus SDRAM */
{597200,  99500, 0x1e1, 0,  CCLKCFG, -1, -1},   /* 398,  597,  199,   99  */
{707800, 118000, 0x1e2, 0,  CCLKCFG, -1, -1},   /* 472,  708,  236,  118  */

でも起動できた。ただしxengineの値は CCCR=0x162 がピークで、それを越えることは無かった。

build kernel

  • make menuconf
  • make; make modules_install
  • cp /boot/zImage-2.6.36.4 /boot/zImage-2.6.36.4.old
  • cp arch/arm/boot/zImage /boot/zImage-2.6.36.4
  • cd /boot
  • ln -s zImage-2.6.36.4 zImage

/etc/apmd_proxy

オーバークロックしている状態だと、ほぼ確実にレジュームに失敗するので、サスペンド前にpowersaveモードに遷移させ、レジューム時に元に戻すように設定した。

#! /bin/sh
case $1 in
suspend )
        /usr/bin/cp /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor /tmp/scaling_governor.state
        /usr/bin/cp /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed /tmp/scaling_setspeed.state
        /bin/echo powersave >/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
        ;;
resume )
        /usr/bin/cp /tmp/scaling_governor.state /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
        /usr/bin/cp /tmp/scaling_setspeed.state /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
        /usr/bin/rm /tmp/scaling_governor.state
        /usr/bin/rm /tmp/scaling_setspeed.state
        ;;
* )
        ;;
esac

今後の目標

  • w100関係のシステムクロックを上げて、描画のパフォーマンスを上げる。
  • ads7846関係の同期タイミングを調整してマウスカーソルのブルブルを軽減する。
  • runモード、turboモードをいまいち理解していない。zaurusでは常にturboモードなのか?。ちゃんと理解したい。

おまけ

$ cat showclock.rb
#! /usr/bin/ruby
crystal = 3.6864
#
np = ["1", "1 8 +", "2", "3"];
nv = [1, 1.5, 2, 3];
#
mp = ["2", "4", "6"];
mv = [1, 2, 4];
#
lp = ["1", "2", "3", "5"];
lv = [27, 32, 36, 45];
#
li = 0;
while (li < 4)
        mi = 0;
        while (mi < 3)
                ni = 0;
                while (ni < 4)
                        printf("turbo %d run %d membus %d (DIV2=0) %d (DIV2=1) pxbus %d cccr %s %s %s\n",
                              crystal * lv[li] * mv[mi] * nv[ni],
                              crystal * lv[li] * mv[mi],
                              crystal * lv[li], crystal * lv[li] / 2,
                              crystal * lv[li] * mv[mi] / 2,
                              np[ni], mp[mi], lp[li]);
                        ni += 1;
                end
                mi += 1;
        end
        li += 1;
end
$ ./showclock.rb |sort -t ' ' -n +1 -2
turbo 99 run 99 membus 99 (DIV2=0) 49 (DIV2=1) pxbus 49 cccr 1 2 1
turbo 117 run 117 membus 117 (DIV2=0) 58 (DIV2=1) pxbus 58 cccr 1 2 2
turbo 132 run 132 membus 132 (DIV2=0) 66 (DIV2=1) pxbus 66 cccr 1 2 3
turbo 149 run 99 membus 99 (DIV2=0) 49 (DIV2=1) pxbus 49 cccr 1 8 + 2 1
turbo 165 run 165 membus 165 (DIV2=0) 82 (DIV2=1) pxbus 82 cccr 1 2 5
turbo 176 run 117 membus 117 (DIV2=0) 58 (DIV2=1) pxbus 58 cccr 1 8 + 2 2
turbo 199 run 132 membus 132 (DIV2=0) 66 (DIV2=1) pxbus 66 cccr 1 8 + 2 3
turbo 199 run 199 membus 99 (DIV2=0) 49 (DIV2=1) pxbus 99 cccr 1 4 1
turbo 199 run 99 membus 99 (DIV2=0) 49 (DIV2=1) pxbus 49 cccr 2 2 1
turbo 235 run 117 membus 117 (DIV2=0) 58 (DIV2=1) pxbus 58 cccr 2 2 2
turbo 235 run 235 membus 117 (DIV2=0) 58 (DIV2=1) pxbus 117 cccr 1 4 2
turbo 248 run 165 membus 165 (DIV2=0) 82 (DIV2=1) pxbus 82 cccr 1 8 + 2 5
turbo 265 run 132 membus 132 (DIV2=0) 66 (DIV2=1) pxbus 66 cccr 2 2 3
turbo 265 run 265 membus 132 (DIV2=0) 66 (DIV2=1) pxbus 132 cccr 1 4 3
turbo 298 run 199 membus 99 (DIV2=0) 49 (DIV2=1) pxbus 99 cccr 1 8 + 4 1
turbo 298 run 99 membus 99 (DIV2=0) 49 (DIV2=1) pxbus 49 cccr 3 2 1
turbo 331 run 165 membus 165 (DIV2=0) 82 (DIV2=1) pxbus 82 cccr 2 2 5
turbo 331 run 331 membus 165 (DIV2=0) 82 (DIV2=1) pxbus 165 cccr 1 4 5
turbo 353 run 117 membus 117 (DIV2=0) 58 (DIV2=1) pxbus 58 cccr 3 2 2
turbo 353 run 235 membus 117 (DIV2=0) 58 (DIV2=1) pxbus 117 cccr 1 8 + 4 2
turbo 398 run 132 membus 132 (DIV2=0) 66 (DIV2=1) pxbus 66 cccr 3 2 3
turbo 398 run 199 membus 99 (DIV2=0) 49 (DIV2=1) pxbus 99 cccr 2 4 1
turbo 398 run 265 membus 132 (DIV2=0) 66 (DIV2=1) pxbus 132 cccr 1 8 + 4 3
turbo 398 run 398 membus 99 (DIV2=0) 49 (DIV2=1) pxbus 199 cccr 1 6 1
turbo 471 run 235 membus 117 (DIV2=0) 58 (DIV2=1) pxbus 117 cccr 2 4 2
turbo 471 run 471 membus 117 (DIV2=0) 58 (DIV2=1) pxbus 235 cccr 1 6 2
turbo 497 run 165 membus 165 (DIV2=0) 82 (DIV2=1) pxbus 82 cccr 3 2 5
turbo 497 run 331 membus 165 (DIV2=0) 82 (DIV2=1) pxbus 165 cccr 1 8 + 4 5
turbo 530 run 265 membus 132 (DIV2=0) 66 (DIV2=1) pxbus 132 cccr 2 4 3
turbo 530 run 530 membus 132 (DIV2=0) 66 (DIV2=1) pxbus 265 cccr 1 6 3
turbo 597 run 199 membus 99 (DIV2=0) 49 (DIV2=1) pxbus 99 cccr 3 4 1
turbo 597 run 398 membus 99 (DIV2=0) 49 (DIV2=1) pxbus 199 cccr 1 8 + 6 1
turbo 663 run 331 membus 165 (DIV2=0) 82 (DIV2=1) pxbus 165 cccr 2 4 5
turbo 663 run 663 membus 165 (DIV2=0) 82 (DIV2=1) pxbus 331 cccr 1 6 5
turbo 707 run 235 membus 117 (DIV2=0) 58 (DIV2=1) pxbus 117 cccr 3 4 2
turbo 707 run 471 membus 117 (DIV2=0) 58 (DIV2=1) pxbus 235 cccr 1 8 + 6 2
turbo 796 run 265 membus 132 (DIV2=0) 66 (DIV2=1) pxbus 132 cccr 3 4 3
turbo 796 run 398 membus 99 (DIV2=0) 49 (DIV2=1) pxbus 199 cccr 2 6 1
turbo 796 run 530 membus 132 (DIV2=0) 66 (DIV2=1) pxbus 265 cccr 1 8 + 6 3
turbo 943 run 471 membus 117 (DIV2=0) 58 (DIV2=1) pxbus 235 cccr 2 6 2
turbo 995 run 331 membus 165 (DIV2=0) 82 (DIV2=1) pxbus 165 cccr 3 4 5
turbo 995 run 663 membus 165 (DIV2=0) 82 (DIV2=1) pxbus 331 cccr 1 8 + 6 5
turbo 1061 run 530 membus 132 (DIV2=0) 66 (DIV2=1) pxbus 265 cccr 2 6 3
turbo 1194 run 398 membus 99 (DIV2=0) 49 (DIV2=1) pxbus 199 cccr 3 6 1
turbo 1327 run 663 membus 165 (DIV2=0) 82 (DIV2=1) pxbus 331 cccr 2 6 5
turbo 1415 run 471 membus 117 (DIV2=0) 58 (DIV2=1) pxbus 235 cccr 3 6 2
turbo 1592 run 530 membus 132 (DIV2=0) 66 (DIV2=1) pxbus 265 cccr 3 6 3
turbo 1990 run 663 membus 165 (DIV2=0) 82 (DIV2=1) pxbus 331 cccr 3 6 5
$

2011年09月26日 Ximageon on ARMedslack with SL-C860でVGA, QVGAの切替え [長年日記]

_ Ximageon on ARMedslack with SL-C860でVGA, QVGAの切替え

~/.xserverrc (VGA、QVGA兼用)

#! /bin/sh
fbset -xres ${XIMAGEON_XRES:=640} -yres ${XIMAGEON_YRES:=480}
#
TSLIB_PLUGINDIR=/angstrom/usr/lib/ts; export TSLIB_PLUGINDIR
TSLIB_CONFFILE=/angstrom/etc/ts.conf; export TSLIB_CONFFILE
TSLIB_CALIBFILE=/angstrom/etc/pointercal; export TSLIB_CALIBFILE
TSLIB_TSDEVICE=/dev/input/event1; export TSLIB_TSDEVICE

exec /angstrom/usr/bin/Ximageon \
        -screen ${XIMAGEON_XRES:=640}x${XIMAGEON_YRES:=480} \
        -softCursor \
        -use-evdev \
        -mouse /dev/input/event1 \
        -sp /angstrom/usr/lib/xserver/ScurityPolicy

startx_qvga (QVGA起動用startx)

alias startx_qvga='XIMAGEON_XRES=320 XIMAGEON_YRES=240 startx'

2011年09月29日 gecko-sdk build for firefox-7.0 [長年日記]

_ gecko-sdk build for firefox-7.0

firefox-7.0をビルドした。firefox-6.0.xでの手順と変わらず。ただし、gecko-sdkのビルドは以下のように...

mkdir /usr/local/gecko-sdk-7.0
cp -rL /__some_where__/mozilla-release/obj-i686-pc-linux-gnu/dist/sdk .
cd sdk
cp -rL /__some_where__/mozilla-release/obj-i686-pc-linux-gnu/dist/idl .
cp -rL /__some_where__/mozilla-release/obj-i686-pc-linux-gnu/dist/include .

firefox-6.0.xまでは、以下の作業も行っていたが...

cp /__some_where__/mozilla-release/embedding/browser/activex/src/pluginhostctrl/pluginsdk_include/jri* .
vi jri_md.h
typedef long                    jint;  をコメントアウト

firefox-7.0ではjri*.hが無くなっていた。また、無くてもgecko-mediaplayerがビルド出来たので、少し前から使われなくなっていたのかもしれない(-> jri*.h)。