結構ちらつきが激しい SL-A300 の LCD ですが、LCD のドットクロック(ピクセルクロック)を上げてちらつきを抑制することができました。
リスクを覚悟の上で使ってみたい方はこちら。スペシャルカーネルv19aのパッチも当ててあります。
- zImage (カーネル)
- lcd-anti-flicker.patch (パッチ)
とりあえずリフレッシュレートさえ上げればちらつきはなくなるだろうという安易な考えでドットクロックを上げることにしました。
ただ、いくら検索しても SL-A300 で使われてる PXA210 の仕様書が見つからなかったので、PXA255 の仕様書と、カーネルソースを参考にいじりました。(^^;
とりあえず、LCDコントローラ近辺は PXA210 も PXA255 もほとんど同じようです。
PXA255 の仕様書によると、ドットクロックはシステムクロックを分周して生成しているようです。で、スペカのページによると SL-A300 のシステムクロックは100MHz らしいです。
LCDコントローラのレジスタ設定値から、デフォルトで 22 分周しているようなのでドットクロックは4.54MHz になります。また、レジスタ設定値から、1画面の描画に 96888clk 必要なようなので、リフレッシュレートは
4.54MHz / 96888 = 46.9Hz
となります。50Hz 以下なんですね。これではちらつくのも当然です。
Wikipediaのフリッカーのページを見ると、一般的にリフレッシュレートが 70Hz を超えるとちらつきを感じなくなるそうです。
分周比を変更してドットクロックを上げたカーネルをビルドし、書き込んでみたところ、ちらつきが少なくなることが確認できました!とりあえずこの方法でちらつきを制御できそうです。
個人的に許せる程度のちらつきになるよう、分周比をいろいろ変更してみたところ、100MHz / 14 = 7.14MHz あたりでほとんどちらつきが感じられずいい感じでした。リフレッシュレートは 73.2Hz でした。確かに70Hz以上になってました。
と、とりあえずドットクロックを上げることでちらつきは抑えることはできましたが、デメリットやリスクもあります。SHARP さんも訳あってレートを下げているはずですし。
軽く考えてみて思いついたのは以下の3つ。
- 液晶パネルにダメージを与えるかも
- アプリのパフォーマンスが低下するかも
- バッテリの持ちが悪くなるかも
まず、液晶パネルの仕様書を見たわけではないので、ドットクロックの保証動作範囲に収まっているかわかりません。動作範囲外の場合、とりあえず動いているように見えますが、パネルの寿命を縮めるなど、ダメージを与える可能性があります。
次に、アプリのパフォーマンスが低下する可能性があります。リフレッシュレートを上げるということは、その分、画面を表示するためのメモリアクセスが増えるということになります。そうなると、必然的にアプリが使用可能なメモリ帯域が減ってしまうため、アプリの動作が若干低下するかもしれません。
また、何も処理をしていないアイドル状態でも画面描画のためのメモリアクセスは増えたままですので、当然消費電力も増えます。これによってバッテリの持ちが悪くなる可能性があります。
パフォーマンス低下やバッテリの持ちの悪化はどの程度か試してみないとわかりませんが、個人的にはちらつきの方が許せないのでこのまま使ってみようと思います。
はじめまして。
長年SL-A300をPIMとして利用しているものです。
こちらでSL-A300用カーネル(チラツキ押さえ目)を提供されていると知り、早速ダウンロードして当方のSL-A300に当ててみました。
みごと、チラツキはなくなりました!
ノーマルカーネル状態でバックアップを取り、こちらのカーネルを導入、バックアップからリストアして見ましたが、問題なく動作しております。
またSL-A300がよみがえりました。ステキですね!
本当にありがとうございました!
SL-A300の入手は年々困難になっております。当方もバックアップ1台持っておりますが、機会があったらまた買っておく必要がありそうですね。
では!
はじめまして ujip さん。
返信遅くなってすいません。
ご報告ありがとうございます!気に入っていただけてうれしいです(^^)
ブログにも紹介してくださってありがとうございました!
zaurus 関係でググるとよく ujip さんのブログが出てくるので前々からお世話になっていました。有名な方にコメントいただけて光栄です (^^)
私は SL-A300 歴が短いので電池の持ちやアプリのパフォーマンス低下の違いがあまりわからないので、SL-A300 をバリバリ使っている方の感想を聞いてみたいですね。
しばらく使ってみて何か違いに気づいたら教えていただけるとうれしいです。