SyntaxHighlighter

2012年6月29日金曜日

ASUS EeePC 1025c & Ubuntu12.04 ...解像度変更編


Ubuntu12.04をASUSのEeePCシリーズに入れた場合、ディスプレイの解像度が800x600で変更できないという報告をよく目にします。
今回はASUSのEeePC1025Cの1024x600に変更できたので報告致します。

6月にEeePC1025Cを購入。
メモリを4GBに、HDDをSSDに換装。
そしてOSはUbuntu12.04に変更。
Ubuntuのバージョンが11.xの時はUnityの評価が低く、自分でも不満があったので11.xの導入はしなかったのですが、今回はディスプレイが10.1インチなので、このUIなら使い易いだろうと思い、12.04にしました。
Windowsの左下のメニューを頑張って操作しなくてもよいからと言う意味で。

EeePCにUbuntu12.04を入れた状態で、どのようになったかを軽くまとめます。

  • メモリの認識は/proc/meminfoで確認して4GBちゃんと認識されています。
  • 備え付けのSDカードリーダも動作しています。
  • ディスプレイの上についているカメラも認識しています。
  • 備え付けのマイクも認識しています。
  • キーボードのFnで割り当てられている機能について、ディスプレイの明るさ調整はできないようです。それ以外はほとんど使えます。スクリーンショットもできます。
  • Unityですが、やはり標準ではUnity2Dです。特に2Dでも問題がないので、今のところ3Dに変更する予定はありません。
  • 動作速度ですが、全く問題ないです。というより、期待していた以上にキビキビ動いてくれます。
  • 最後にバッテリーですが、このPCはハードウエアとソフトウエアでバッテリーの持ちを良くし、仕様では10時間と言う表記となっています。ただし、購入時の環境(Windows)で。Ubuntuにした場合、バッテリーの持ち時間の表示は、6時間強となりました。SSDを使用しているので、HDDのままだと恐らくもう少し短くなるかもしれません。


さて、本題です。
ディスプレイの設定が解像度800x600で変更できない。
xrandrの結果は次のようになっています。
---------------------------------------------------------------
xrandr: Failed to get size of gamma for output default
Screen 0: minimum 800 x 600, current 800 x 600, maximum 800 x 600
default connected 800x600+0+0 0mm x 0mm
    800x600 0.0*"
---------------------------------------------------------------
maximumが800x600なので、設定ツール等を使用してもそれ以外に変更ができない。

解決方法として、xrandrを使用したり、xorg.confで設定したりという方法があります。
それについては未確認です。

こちらのフォーラムで同様の問題に対し、解決策が載っているのを見つけました。
http://forum.ubuntu-fr.org/viewtopic.php?pid=9088911
フランス語ですが。

この方法は、カーネルを更新することで、グラフィックモジュールが認識され、ディスプレイの解像度を変えることが出きると。

ASUS EeePC1025CのグラフィックはIntel atom内臓のグラフィックモジュールを使用しています。
このモジュールはGMA3650というものです。

Ubuntu12.04のkernelバージョンは3.2.0で、どうやらこのkernelはこのGMA3650には対応していないもよう。

それに対し、今回更新しようとしているバージョンは3.4.xは対応している。

ということで、試してみた。
手順は以下。

1. カーネルをダウンロードして解凍

$ wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.4.4.tar.bz2
$ tar jxvf linux-3.4.4.tar.bz2

2. make menuconfigで.configの設定
(他のツールでも、直接変更してもよい)

解凍したディレクトリに移動
$ cd linux-3.4.4/
$ make menuconfig


ここで、もしmenuconfigを立ち上げるのに必要なライブラリがない場合は、エラーが出力される。
--------------------------------------------------------------

 *** Unable to find the ncurses libraries or the
 *** required header files.
 *** 'make menuconfig' requires the ncurses libraries.
 ***
 *** Install ncurses (ncurses-devel) and try again.
 ***

--------------------------------------------------------------
なので、必要なライブラリをインストールする。

$ sudo apt-get install libncurses5-dev

再度チャレンジ
$ make menuconfig

3. menuconfigで.configを編集


Device drivers ---> Graphics support ---> Direct rendering manager --->
ここで"Intel GMA5/600 KMS Framebuffer"という項目を探し、"m"と入力
この項目の下に"Intel GMA3600/3650 support"と言う項目が出るので、"y"と入力。

フォーラムに載っている内容ではもう一つ項目を設定。

Device drivers ---> Staging drivers --->
 "Realtek RTS5139 USB card reader support" の項目に"n"を入力
理由は分からない。


これでmenuconfigは終了。

4. コンパイルの実行

まず、カーネルコンパイル用のパッケージをインストール
$ sudo apt-get install kernel-package

そして、make clean
$ make-kpkg clean

makeする。
CONCURRENCY_LEVEL=`getconf _NPROCESSORS_ONLN` fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers

ここから恐らく1時間以上かかった。

5. インストール

makeが終了したら、一旦上の階層に戻る
$ cd ..

このディレクトリにcustom kernel_imageとkernel_headersの2ファイルのdebファイルができているので
次のコマンドでインストール
sudo dpkg -i *.deb

6. 起動の設定

$ cd /lib/modules
このディレクトリに3.4.4-customが作成されている。

initramfsに、この3.4.4-customを登録する。
$ sudo update-initramfs -ck 3.4.4-custom

grubを更新。
$ sudo update-grub


これでカーネルの更新は終了。
リブートする。

恐らく再起動後にディスプレイの設定が変だから、とりあえず1024x600にするよ。
といったメッセージが表示される。

ログイン。

画面を見ていただきたい。
1024x600の画面になっているはずである。

設定から、ディスプレイの解像度の設定を見てみると1024x600
ただし、それ以外の選択肢はない。

しかしながら、ディスプレイがとても見やすい。
そして、カーネルをコンパイルしたので、動作がさらに早くなった。
気がする。


N2600を使ったASUS EeePC101CHなどでも同様に変更できると思われる。

0 件のコメント:

コメントを投稿