2014-10-12[日] 古noteでlinux ―― linux(gnome) で経年劣化した液晶モニタの黄色具合の改善

少しはマシな実機でlinux環境を常設したく、ちょっと前にヤフオクでOS無のジャンク扱いな core2duo(1.6GHz) 2GB の古ノートPC(FMV s8245)を入手。 外装禿げてるし画面もキーも黄ばんでるけど バッテリィは電源抜いても即落せずそれなりに持つし、 送料手数料込 4000円位の7歳児としてはまずまず。 (core i系はまだ高くなりやすいけど、core2duo は64bit使えて性能の割に安く入手しやすい感じ)

とりあえず linux Mint 17(cinnamon) の64bit版をインストール、すんなり動作。あっけない。

で、まともに使えてると気になるのは画面の黄色具合。
液晶は種類によるけれど経年劣化で黄色がかってくるモノがあり、 そういうのを承知で入手したが、いざ触りだすと結構気になってくる。
モノクロ写真を壁紙にすると セピアぽくなるのは味があるっちゃあるけれど。

BIOSみてもディスプレイのRGBを調整するような項目はなく、 Win の(Graphics Card)メーカー製ドライバ/ユーティリティのようになんらかの色味調整機能が、linuxでも何ぞないかなとみてみれば、

 "(スタート)メニュー"→"設定"(または"システム設定")→"色(カラーマネージメントの設定)"~

がそれっぽい。(他の gnome環境でも gnome-color-maneger がinstallされてたらたぶんそれ)

が、用意されたプロファイル(iccファイル)を選択できるが、直接色を調整する機能はなさそうだ。(キャリブレーション機器があればそれを使っての設定はできる模様)

ただ、プロファイルの一つに Blue(Bluish.icc) というのがあり設定すると画面が青みがかる。
通常用らしき D65(Gamma6500k.icc) と見比べると、VCGT という項目でのガンマのパラメータが違い、緑や赤が低い値になっている模様。 (VCGT は Video Card Gamma Table らしい. グラボのガンマ・パラメータを設定するもののよう)

つまり、今の液晶のへたり具合を補正するような icc ファイルを用意できればよさそうだ。 iccファイルを覗くと vcgt というタグがあるようでそこにガンマテーブルぽい値も見受けられる。 (ただ たいていのiccファイルにはvcgtタグは入ってなくて一部ディスプレイ用のiccファイルに入ってる模様。 カラーマネージャの解説されてるページからすると、そもそも vcgt タグは正式なものじゃなくメーカー(apple)拡張のようだ)

で、iccファイルを作成するツールがあれば(あるいは直接rgb調整できるようなツールがないか)、とググってみたけれど、よさそうなものをみつけられず。
最近のwinやmacの場合、標準で(目視)キャリブレーションできるらしいし、フリーソフトもあるみたい(このへん検索で見かけただけで動作未確認)。linux でも argyll とか lprof とかそれっぽいものはあるけれど使いかたよくわからず断念(キャリブレーション装置を使った例はあるけれど)。

きっと他にも何かあるだろうと思いつつ、そんな厳密なことやりたいわけじゃないし探すのも疲れたので、icc ファイルを弄ってなんとかならないか画策。

Gamma6500k.icc , Bluish.icc のバイナリみてると、vcgtタグ自体はいろいろな形式ありそうだけど、この2ファイルに限れば、わりと単純なテーブル(2バイト符号無整数を256個3チャンネル分)のようなので、簡易にr,g,b別に線形で設定するプログラム作ってガンマテーブル書き換えてみたところ、すんなり出来た感じ。

(cソース)

いや、すんなりは嘘か。パラメータや名前の設定具合が気に喰わないのか、作ったiccファイルをimportしても反応無かったりマシン再起動したら有効になる場合があったりと微妙な挙動だけれど、とりあえず変更したプロファイル(iccファイル)を1つ設定できた。
線形なんで途中の階調のバランス合ってないところあるし当然全体に輝度下がるので暗くはなってるけれど、元よりは大分マシな見栄えにはなったので吉としとく。(視野角で色の見え方違う件もあるし あまり拘ってもしかたない状態)


と、このネタ書いてる途中で、xgamma -gamma で設定かえると元の色バランスに上書きされるのに気づいた。ということは、vcgtなパラメータを書き換えてるということなのだろうか。
しかも xgamma、よくよくみると -rgamma -ggamma -bgamma というオプションがあって、r,g,b別設定すれば調整できそうだ...orz

(まだ適切なパラメータ設定をまだ見つけられてないし、起動時にxgammaを実行させる手間もあるので、iccファイルで出来る現状のほうがベター、と思おう)


(追記) これのためではないが結局 カラーキャリブレータを購入した ので、それでiccファイルを作成した。劇的にマシになった。