• 対象とするUbuntuのバージョン

    • 10.04 Lucid Lynx

本文書は、この文書の2010/8/20現在の内容を元に和訳、追記したものです。必ず原文を参照し、最新の情報との相違点について確認願います。

現在、Ubuntu 10.04 Lucid Lynxにおいて、i845, i855などのi8xx系グラフィックチップでXがフリーズする現象が見られています。 異なるいくつかの環境で試験しましたが、全ての環境で問題を解決できる手段は見つかっていません。以下は特定の環境で問題を解決できるかも知れない対策の例です。

テスト段階の対策候補

下記の対策は現在テスト段階です。これらの対策の導入前に、他のワークアラウンドを適用している場合は、全て元の状態に戻して下さい

GTT Incoherencyパッチ

注意: このパッチはi855チップセット専用に書かれています。他のi8xx系チップセットはサポートされていません。

Daniel Vetterによる、GTT incoherency問題を解決したパッチが公開されています。このパッチはStefan Glasenhardtにより、ふたつのDKMSモジュールとしてパッケージ化されています。

更新版intelドライバのインストール

https://launchpad.net/~glasen/+archive/intel-driver

sudo add-apt-repository ppa:glasen/intel-driver 
sudo apt-get update && sudo apt-get upgrade

855gm PPAおよびパッチをあてたカーネルモジュールのインストール

https://launchpad.net/~glasen/+archive/855gm-fix

sudo add-apt-repository ppa:glasen/855gm-fix
sudo apt-get update && sudo apt-get install dkms 855gm-fix-dkms

結果の報告

テスト結果は http://bugs.freedesktop.org/show_bug.cgi?id=27187 に報告して下さい。 (訳注: 英語で適切な情報の提供、および、その後のコミュニケーションに自信が無い場合は報告しない方がよいかと思います)

Workarounds

ワークアラウンド A: KMSの有効化

リリースに際し、我々(訳注: Ubuntu開発チームを指します)はi8xx系ハードウェアのKMSをブラックリストに登録し、読み込まれないようにすることを決定しました。もし、beta1やそれ以前のUbuntuで正常に動作することが確認できているのであれば、この方法が有効かも知れません。

KMSを再度有効にするためには、下記のコマンドを「端末」ウィンドウで実行し、再起動して下さい。

echo options i915 modeset=1 | sudo tee /etc/modprobe.d/i915-kms.conf
sudo update-initramfs -u

この方法にはバグがあり、場合によってはi8xx系ハードウェア環境で、LiveCD/USB、クリーンインストール環境、または、アップグレード環境で、画面のブラックアウトを招くことがあります。このケースに該当する場合であって、上記のワークアラウンドを適用する場合には、カーネルの起動パラメータに"i915.modeset=1"を追加して下さい。

LiveCD起動時の設定:

  1. キーボードと棒の絵が表示される紫色の初期画面で、エンターキーを押し、起動メニューを表示させます。
  2. 言語を選択し、エンターを押して決定し、F6キーを押し、最後にESCキーを押します。
  3. "i915.modeset=1"を"quiet splash"の後ろに半角スペースを挟み追加します。
  4. エンターキーを押してLiveCDから起動します。

インストール後の設定:

  1. 起動時にシフトキーを押しっぱなしにして、GRUBメニューを表示させます。
  2. 'e'キーを押し、編集(edit)モードに入ります。
  3. "i915.modeset=1"を"quiet splash"の後ろに半角スペースを挟み追加します。
  4. Ctrl+xを押して、起動します。

もし、"i915.modeset=1"を起動パラメータに追加することで問題無く起動できるようになった場合は、上記の端末でのコマンドを実行し、変更を恒久化させて下さい。

ワークアラウンド B: vesaドライバへの切り替え

下記を/etc/X11/xorg.confに貼り付けて下さい。

Section "Device"
        Identifier      "Configured Video Device"
        Driver          "vesa"
EndSection

Section "Monitor"
        Identifier      "Configured Monitor"
EndSection

Section "Screen"
        Identifier      "Default Screen"
        Monitor         "Configured Monitor"
        Device          "Configured Video Device"
EndSection

vesaドライバに切り替えることで、フリーズの問題は100%解決します。しかしながら、これは機能的に多くの犠牲を伴います。3Dのハードウェアアクセラレーションは機能せず、2Dアクセラレーションは機能せず、高解像度での画面表示もできず、外部モニタのサポートも充分ではありません。また、別の問題もあるかも知れません。

ワークアラウンド C: 2.9.1以外のintel DDXドライバの使用

ダウングレード

2.8.0ドライバへのダウングレードパッケージが、X-Retro PPAで公開されています。

https://edge.launchpad.net/~ubuntu-x-swat/+archive/x-retro

なかには、このドライバの方が2.9ドライバより安定しているというユーザもいます。しかし、完全にフリーズしなくなるわでは無く、頻度が落ちるということのようです。つまり、人によって意見は様々ということです。

また、このバージョンのドライバには、パフォーマンスが悪いという問題もあります。パフォーマンスの改善に関するTipsについては、ubuntugeekを参照下さい。

アップグレード

2.11.0ドライバへのアップグレードパッケージがX-Updates PPAで公開されています。

https://launchpad.net/~ubuntu-x-swat/+archive/x-updates

中には、このドライバで問題が解決したというユーザもいるようです。

ワークアラウンド D: 2.6.32系列では無いカーネルを使う

ダウングレード

多くのユーザが、カーネルを2.6.31にダウングレードすることで問題が解決したと報告しています。異なるカーネルを起動する場合、起動時にシフトキーを押しっぱなしにして、GRUBのメニューを開き、別カーネルを選択して下さい。

アップグレード

多くの場合、メインラインのカーネルにアップグレードすることでも問題を解決できます。ただし、メインラインのカーネルを使用することには、いくつかの欠点もあります。

  1. 例えば起動時間の低減のための仕組みであるureadaheadなどの、ubuntu独自の修正が無くなります。
  2. システム->設定->ハードウェアドライバ(例えば、nVidia製、Broadcom製ハードウェア向け)からのプロプライエタリドライバの導入ができなくなります。

  3. Ubuntu提供のカーネルについては、アップグレードされますが、メインラインのカーネルは新しいものにアップグレードされることはありません。セキュリティや安定性の問題から、こまめに新しいカーネルのリリースがないか確認し、最新のものに更新していかなくてはなりません。

それをご理解いただいた上で、メインラインのカーネルにアップグレードするには以下を参照下さい。

32-bit版のユーザの場合:

wget -c http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.34-lucid/linux-headers-2.6.34-020634-generic_2.6.34-020634_i386.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.34-lucid/linux-headers-2.6.34-020634_2.6.34-020634_all.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.34-lucid/linux-image-2.6.34-020634-generic_2.6.34-020634_i386.deb
sudo dpkg -i linux-headers-2.6.34-020634-generic_2.6.34-020634_i386.deb linux-headers-2.6.34-020634_2.6.34-020634_all.deb linux-image-2.6.34-020634-generic_2.6.34-020634_i386.deb

64-bit版のユーザの場合:

wget -c http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.34-lucid/linux-headers-2.6.34-020634-generic_2.6.34-020634_amd64.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.34-lucid/linux-headers-2.6.34-020634_2.6.34-020634_all.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.34-lucid/linux-image-2.6.34-020634-generic_2.6.34-020634_amd64.deb
sudo dpkg -i linux-headers-2.6.34-020634-generic_2.6.34-020634_amd64.deb linux-headers-2.6.34-020634_2.6.34-020634_all.deb linux-image-2.6.34-020634-generic_2.6.34-020634_amd64.deb

ワークアラウンド E: DRIの無効化

下記を/etc/X11/xorg.confに貼り付けて下さい。

Section "Device"
        Identifier      "Configured Video Device"
        Driver          "intel"
        Option          "DRI" "off"
EndSection

この設定により3Dアクセラレーションが無効化され、画面描画は遅くなります。しかし、この設定で問題が解決したというユーザもいるようです。

ワークアラウンド F: UXAレンダリングモードの使用

ワークアラウンドAのKMSの有効化が、起動時の問題は解決しても、Xの起動で問題を起こす場合、/etc/default/grubにKMSに関連する設定が無いことを確認して下さい。

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

のようになっているはずです。もし、grub関連のファイルを変更した場合は、sudo update-grubを実行して下さい。

その後、下記の"The Solution"節の"Method 2"に沿って計算して下さい。

http://www.ubuntugeek.com/intel-graphics-performance-guide-for-ubuntu-904-jaunty-users.html

その後、その数値でxorg.confを以下のように設定します。

Section "Screen"
        Identifier      "Configured Screen Device"
        Device  "Configured Video Device"
EndSection

Section "Device"
        Identifier      "Configured Video Device"
        Option          "AccelMethod"   "UXA"
        VideoRam        130560
EndSection

この設定は、以下の環境での問題を解決できることが確認されています。

$ lspci -nn | grep VGA
00:02.0 VGA compatible controller [0300]: Intel Corporation 82852/855GM Integrated Graphics Device [8086:3582] (rev 02)

ワークアラウンド G: KMSの有効化とDRIの無効化

ワークアラウンドAの適用(KMSの有効化)と、ワークアラウンドE(DRIの無効化)を組み合わせます。この設定では、私(訳注: 原文の筆者を指します)の環境では、セッションのロード後数秒でクラッシュしていたKDE環境においてもXのクラッシュを回避できます(ワークアラウンド適用後は数時間は保ちます)。

注意: このワークアラウンドはDRIを無効化し3Dアクセラレーションが無くなるためため、ゲームのパフォーマンスはひどいものになります。テスト環境は下記です。

$ lspci -nn | grep VGA
00:02.0 VGA compatible controller [0300]: Intel Corporation 82845G/GL[Brookdale-G]/GE Chipset Integrated Graphics Device [8086:2562] (rev 01)

このワークアラウンドの適用により、問題が発生しにくくなったというユーザもいますが、問題が発生しにくくなるだけで、解消したわけではなさそうです。

UbuntuJapaneseWiki: UbuntuTips/Hardware/Lucidi8xxFreezes (最終更新日時 2012-01-10 11:49:17 更新者 匿名)