1.initramfsは同一と思われる(ドライバ除く)
2.framework-res.apkはちがうぽい
3.gammaはKF2のSC-02Cと近く、Samsungのopensourceから落とした初期のソースを
ビルドしたものよりガンマ設定が暗めになる(本来のガンマ?)
4.設定メニューのスクロールがスムースになったかも?
5.ワンセグ終了時のシャープネス戻し
くらいですかね。はっきりいってこんなん刻まなくていいから、はやいとこ2.3.4出してよって感じでしょうか。前回のエントリでも書いたとおり、純正KG5のkernelには/dev/tunが存在していましたので、そのようなconfigでビルドされていると思いますが、samsung opensourceのGT-I9100_OpenSource_Update1.zipにあるconfigでは、このあたりがdisableされています。
cat c1_rev02_jpn_ntt_defconfig代わりにNFCがenableだったりと、Update1はなんとなくdocomoがビルドに使ってるのより全然古いような気がしちゃいます。
#気がするだけですよ。まぁ、なんというか、気持ち悪い?
とりあえずいままでの、作業を反映させたkernelをビルドしてみて、以前のエントリに書いた方法でそのまま問題なくビルドできましたので、手順等は過去のエントリを参照してください。そのままです。で、そのkernelを焼いたのですがガンマがちょっと馴染めない感じです。暗いところが非常に暗く、明るいところもピークが伸びてない。画面の明るさを自動設定にしている自分にはちょっと違和感あります。初期リリースのkernelビルドして改善して喜んだのもつかの間です。
#もしかしたら自動設定でつかっちゃだめなのか??
というわけで、ガンマを制御しているパネルドライバの部分をdiffしてみると、どうやらUpdate1では新しいパネルのサポートがはいっているようです。sysfsでわかるパネルタイプの読み出し部分も下記の用な感じです。以前はSM2とM2という2つだけでしたね。そこが、今回新たにSM2がSM2_A1とSM2_A2にわかれたようです。
drivers/video/samsung/ld9040.c
static ssize_t octa_lcdtype_show(struct device *dev, struct
device_attribute *attr, char *buf)
{
char temp[15];
switch (get_lcdtype) {
case LCDTYPE_SM2_A1:
sprintf(temp, "OCTA : SM2 (A1 line)\n");
strcat(buf, temp);
break;
case LCDTYPE_M2:
sprintf(temp, "OCTA : M2\n");
strcat(buf, temp);
break;
case LCDTYPE_SM2_A2:
sprintf(temp, "OCTA : SM2 (A2 line)\n");
strcat(buf, temp);
break;
default:
sprintf(temp, "error\n");
strcat(buf, temp);
dev_info(dev, "read octa lcd type failed. \n");
break;
}
return strlen(buf);
}
自分のパネルタイプを確認してみます。adb shell cat /sys/devices/platform/samsung-pd.2/s3cfb.0/spi_gpio.3/spi3.0/octa_lcdtype OCTA : SM2 (A2 line)SM2のA2らしいですw。ということは参照しているガンマテーブルはgamma_sm2_a2*みたいですが、c1-panel.cのdiffをとってみたところ、初期リリースのSM2のガンマがSM2のA1と同一です。とりあえず、これを参照するように変更してみます。変更点としては、ガンマテーブルを保持しているc1_panelストラクチャのメンバを直接変更してもいいですけど、自分ははロジック側を変更してみました
drivers/video/samsung/ld9040.c
if (get_lcdtype == LCDTYPE_M2) { /* M2 */
if (lcd->gamma_mode)
gamma = pdata->gamma19_table[lcd->bl];
else
gamma = pdata->gamma22_table[lcd->bl];
} else if (get_lcdtype == LCDTYPE_SM2_A2) { /* SM2 A2 line */
#if 0 /* creams A2 -> A1 */
if (lcd->gamma_mode)
gamma = pdata->gamma_sm2_a2_19_table[lcd->bl];
else
gamma = pdata->gamma_sm2_a2_22_table[lcd->bl];
#else
if (lcd->gamma_mode)
gamma = pdata->gamma_sm2_a1_19_table[lcd->bl];
else
gamma = pdata->gamma_sm2_a1_22_table[lcd->bl];
#endif
} else { /* SM2 A1 line*/
if (lcd->gamma_mode)
gamma = pdata->gamma_sm2_a1_19_table[lcd->bl];
else
gamma = pdata->gamma_sm2_a1_22_table[lcd->bl];
}
そしてビルド。make -j2出来上がったzImageをいつものようにheimdallでSGS2へフラッシュします。すると。。おー!以前のような明るさです。黒つぶれもなく、白のピークも伸びてる感じ。自分は絶対このほうがいいと思うのですが、、DSにでもいって比べてきますかなー。バグとも思えないので、個人の感じ方の差なんでしょうけど。もしくは、パネルタイプがまちがってるか。いずれにせよ自分の好きな感じになったのでよしとしましょう。
2.3.4早くコイ!
0 コメント:
コメントを投稿