Ubuntu

Intel HD Graphics 3000に不満があるわけじゃありませんけれど、bumblebeeのversionが3.2.1になったこともあり、久しぶりにBIOSでNvidia Optimusを有効化してみました。
インストールは次のとおり。


sudo add-apt-repository ppa:bumblebee/stable
sudo apt-get update
sudo apt-get install bumblebee virtualgl linux-headers-generic

ターミナルから”$ optirun コマンド”とするとNvidia NVS 4200M有効で立ち上がります。。
私は面倒なのでCair-Dockのランチャーを編集して、クリック時に実行するコマンドを”optirun firefox”や”optirun vlc”として起動しています。
効果はあるのでしょうけれど、Windowsとは異なりOptimusプロファイルに基づく動的な切替じゃない。
GPUを必要とするなら自分で選択、有効にすれば良いという考え方は合理的かと思いますが・・・何だかなぁ。

Ubuntu

efibootmgr、バグらしいです。


$ sudo efibootmgr -c -g -d /dev/sda -p 2 -w -L "Ubuntu" -l '\\EFI\\ubuntu\\grubx64.efi'

上のエントリー追加コマンドを実行すると、syslogに次のようなメッセージが残ります。


kernel: [10760.733894] efivars: set_variable() failed: status=8000000000000009

詳細はこちら。
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1173423
とりあえずrEFIndで起動するから良いけど。

ThinkPad

起動時にF12を押した時に表示されるブートオーダー画面にubuntuが出てこないので、Windows8とubuntuを再インストールしてみました。
最初にWindows8をインストールして、次にubuntuを。
結果は・・・やっぱり出てくるのは”Windows boot manager”とSSDとDVD Driveだけでした。
私はgrub2をubuntuをインストールしたパーティションにインストールしていますので、これではubuntuの起動ができません。
仕方がないのでWindows8を起動して、次のとおりzipファイルのrEFIndをダウンロードして展開、インストールしました。
コマンドはWindows8の管理者権限で起動したターミナルで、


mountvol S: /S
cd *** ←rEFIndを解凍した、フォルダrefindが見えているディレクトリに移動
xcopy /E refind S:\EFI\refind\
S:
cd EFI\refind
del refind_ia32.efi
rd /s drivers_ia32
rename refind.conf-sample refind.conf
bcdedit /set {bootmgr} path \EFI\refind\refind_x64.efi

これは、ubuntuをインストールするときに実行されるハズのefibootmgrがダメだから?
インストール後にUnified Extensible Firmware Interface (日本語)のとおり、改めて次のコマンドを実行しても変化無しでした。


efibootmgr -c -g -d /dev/sda -p 2 -w -L "Ubuntu" -l '\\EFI\\ubuntu\\grubx64.efi'
※sda2にfat32のUEFISYSパーティションがある場合です。

 
ということでブートオーダーに新しいentryを追加するのは諦めましたけれど、せめてもの対応ということで、”Windows boot manager”を”rEFInd”に変更しました。
これもWindows8の管理者権限で起動したターミナルで、


bcdedit /set {bootmgr} description "rEFInd"

です。
 
ちなみにT420sのUEFIは2.0なのでUEFI Shell 1.0しかダメでした。
BCFGコマンドによるUEFI NVRAMエントリの修正ができなくて残念です。

ThinkPad

rEFIndが最初に起動するのは、Windows Boot Managerの対象ファイルがrEFIndに指定されているためでした。


$ sudo efibootmgr -v
BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 0000,0006,0007,0008,000A,000B,0009,000C,000D,000E,000F,0010,0011,0012,0013
Boot0000* Windows Boot Manager HD(2,96800,32000,a78eedf2-26dd-4a74-9281-52f33c8858cf)File(\EFI\refind\refind_x64.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}....................
Boot0001 Boot Menu
Boot0002 Diagnostic Splash Screen
Boot0003 Startup Interrupt Menu
Boot0004 ME Configuration Menu
Boot0005 Rescue and Recovery
Boot0006* USB CD 030a2400d23878bc820f604d8316c068ee79d25b86701296aa5a7848b66cd49dd3ba6a55
Boot0007* USB FDD 030a2400d23878bc820f604d8316c068ee79d25b6ff015a28830b543a8b8641009461e49
Boot0008* ATAPI CD0 030a2500d23878bc820f604d8316c068ee79d25baea2090adfde214e8b3a5e471856a35401
〜以下省略〜

 
・・・Windows Boot Managerでrefind_x64.efiが指定されているのは、江添亮さんのブログ「本の虫」によると、次のような理由もあるためらしいです。

LenovoのUEFIのアホくさい実装 :http://cpplover.blogspot.jp/2012/11/uefi.html

T420sはどうなのか分かりませんけれど、「Windows Boot Manager」という名称は変更しないほうが良さそうです。
BIOS初期化する前はubuntuやrEFIndもF12を押した時のブートメニューに出ていたので、単に書き足せばいいだけかも。
・・・どうやって?

Ubuntu

再起動したら描画が異常に遅くなったのでシステム設定の詳細からグラフィックを確認したところ、ドライバーが次のものに変わっていました。

Gallium 0.4 on llvmpipe (LLVM 3.2, 256 bits)

なんだこれは?とgoogleで調べてみると、どうやらOpenGLのソフトウェア実装らしい。
GNOME ShellがGPU無しで動作するというものですが、実際のところ単に動くというだけで実用には程遠い代物です。
T420sの内蔵GPUはIntel Sandybridge Mobile(HD 3000)。インストール直後は自動で認識したものの、色々設定しているうちに忘れられてしまった?
mesa-utilsをインストールしてglxinfoで確認したのがこれ。


$ glxinfo | grep OpenGL
libGL error: failed to load driver: i965
libGL error: Try again with LIBGL_DEBUG=verbose for more details.
OpenGL vendor string: VMware, Inc.
OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.2, 256 bits)
OpenGL version string: 2.1 Mesa 9.1.1
OpenGL shading language version string: 1.20
OpenGL extensions:

mesa-utilsをインストールして再起動したら、無事に認識されました。
 
念の為glxinfoで確認したところ、


$ glxinfo | grep "OpenGL"
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Sandybridge Mobile
OpenGL version string: 3.0 Mesa 9.1.1
OpenGL shading language version string: 1.30
OpenGL extensions:

$ glxinfo | grep direct
direct rendering: Yes

ということで一件落着。

【追伸】
何かの拍子で相変わらずSandybridge Mobileが認識されないことが再現しました。
どうやらX11の自動認識に失敗しているっぽいので、外部モニタ無効化スクリプトを停止して様子を見てみよう。
それでも再現するようなら、ドライバーを明示的に指定した/etc/X11/xorg.confを作ろうかな。
 
外部モニタのときは、X11がモニタを自動認識して画面を複製してくれている、かつ、以前の設定(外部モニタはOFF)を覚えてくれていないというのが問題でした。
これはデュアルブートの場合で、Windowsを起動したときに外部モニタ設定を弄る(認識させる)と、次回ubuntuの起動でも外部モニタを認識してしまうのが原因みたいです。
 

Ubuntu

いままでUbuntuにGNOME-Shellをインストールして使っていました。
でも、Unityを使わないのなら公式派生品?のUbntu GNOMEでいいやと思って、連休で暇だし再インストールを実行。
起動時の紫色の画面が落ち着いた青になっていて、gdmもデフォルトで、Amazonとか余計なものは入ってない・・・ということで大満足です。
 
さっぱりしたUbuntu GNOMEのサイトはhttp://ubuntugnome.org/です。

ThinkPad

起動時にF12を押して表示される、OSを選択する画面からWindows以外が消えました。
もともとUbuntuとrEFIndも表示されていたのですが、BIOS(ver 1.36)を初期化して以降は表示されず、再表示の方法も不明です。
でも、普通に電源ボタンを押して起動したりPCを再起動すると、最初にrEFIndが立ち上がるので実害は全くありません。
が、F12を押した時は”Windows Boot Manager”とSSD、DVDしかメニューに表示されないのが何となく腹立たしく思います。

・・・refind_x64.efiが確実に最初に起動するしくみは?
 

Ubuntu

13.04をインストールしました。
見た目の大きな変更点はありませんが、詳細部分で色々改善されているようです。
半年に一度のアップグレード(クリーンインストール)イベントも、簡単に環境移行が可能なので暇つぶしにはなりません 🙂
 
 
【良くなったところ】
・起動停止が快適になりました(感覚的なものです)。
・Intel® Sandybridge Mobileがインストール直後から特別な設定なしに認識されました。
 
 
【悪くなったところ】
デスクトップなどで右クリックしても「新しいドキュメント」の「空のドキュメント」メニューが出なくなりました。
これまで通りにするには、Ubuntu Tweakを起動して、システム設定の画面中のアイコン「テンプレート」をクリック、無効なテンプレートから有効なテンプレートに必要なテンプレートをドラッグアンドドロップすれば出てきます。
テキストドキュメントならnautilus-open-terminalをインストールすれば、空きスペースで右クリック、ターミナルを開いてgedit test.txtとかすれば事は足ります。

apt-get install nautilus-open-terminal

 
 
【その他】
nautilusを管理者権限で開くにはgksuをインストールすればOK。

apt-get install gksu

Ubuntu

いよいよ今日というか明日というか、13.04のダウンロードが可能になります。
既にDaily Buildをインストールされている人がたくさんいますが、私はいつも正式版をダウンロードして新環境に移行していますので、こここちら、Ubuntuアプリのいいところなどを見ながら、またまたゴールデンウィークの暇つぶしかな。

余談です。
GNOME-Shell ExrensionsのAppIndicator Support、イイね!
 
 
 
# 22時30分過ぎにはダウンロードが可能でした。
# 200kB/s程度だったのでメチャメチャ時間がかかります 🙂

XREA

サイトの表示・更新が少々重たくなってきたと思ってhttp://mainte.coreserver.jp/で確認したら、ステータスが半分以上ピンク色。
常時ではないものの混雑することが多くなってきたので引っ越しました。