#title Lucidにおけるi8xx系グラフィックチップのフリーズに対するワークアラウンド * '''対象とするUbuntuのバージョン''' * 10.04 Lucid Lynx ||<>|| 本文書は、[[https://wiki.ubuntu.com/X/Bugs/Lucidi8xxFreezes|この文書]]の2010/8/20現在の内容を元に和訳、追記したものです。必ず原文を参照し、最新の情報との相違点について確認願います。 現在、Ubuntu 10.04 Lucid Lynxにおいて、i845, i855などのi8xx系グラフィックチップでXがフリーズする現象が見られています。 異なるいくつかの環境で試験しましたが、全ての環境で問題を解決できる手段は見つかっていません。以下は特定の環境で問題を解決できるかも知れない対策の例です。 == テスト段階の対策候補 == 下記の対策は現在テスト段階です。'''これらの対策の導入前に、他のワークアラウンドを適用している場合は、全て元の状態に戻して下さい'''。 ## === 旧版のドライバ === ## ## Chris WilsonによるGEM(Graphics Execution Manager)サポート無しのUMS版intelグラフィックドライバが公開されています。そのドライバはChristopher James Halse Rogersにより、パッケージ化され、[https://edge.launchpad.net/~raof/+archive/aubergine raof/aubergine PPA]で公開されています。 ## ## ==== PPAからのパッケージインストール ==== ## {{{ ## sudo add-apt-repository ppa:raof/aubergine ## sudo apt-get update && sudo apt-get upgrade ## }}} ## 注意: このとき、libdrm-nouveau1のアップグレードは保留されます。アップグレードの強制は絶対にしないで下さい。 ## ## ==== KMSの無効化 ==== ## ## KMSを無効化するために、{{{/etc/default/grub}}}のGRUB_CMDLINE_LINUX_DEFAULT行に、'i915.modeset=0'を追加して下さい。変更後は"quiet splash i915.modeset=0"のようになるでしょう。 ## {{{ ## gksudo gedit /etc/default/grub ## sudo update-grub ## }}} ## ## もし、ワークアラウンドAを適用しており、KMSを有効化していた場合は、旧版のドライバの導入前に、下記のコマンドを実行して設定を消しておく必要があります。 ## {{{ ## sudo rm /etc/modprobe.d/i915-kms.conf ## sudo update-initramfs -u ## }}} ## ## ==== 結果の報告 ==== ## ## テストの結果は、Ubuntu-xメーリングリスト(ubuntu-x@lists.ubuntu.com)に報告して下さい。使用しているUbuntuバージョン、および、グラフィックのチップセット(lspci | grep VGA)の情報は必須です。 ## (訳注: 英語で適切な情報の提供、および、その後のコミュニケーションに自信が無い場合は報告しない方がよいかと思います) ## ## ==== ドライバが機能しなかった場合のアンインストールについて ==== ## ## もし、旧版のドライバがあなたの環境で機能しなかったら(Xの起動にも失敗するかも知れません)、以下の手順にそってシステムを元の状態に戻して下さい。 ## ## 1. システムを再起動して、Recoveryモードで起動し、root権限でログインして下さい。 ## 1. {{{/etc/apt/sources.list.d/}}}以下にある、PPAの設定ファイルを削除して下さい。 ## {{{ ## # cd /etc/apt/sources.list.d/ ## # rm raof-aubergine-lucid.list ## }}} ## 1. 追加したapt keyを削除して下さい。 ## {{{ ## # apt-key list ## # apt-key del 45FE6034 ## # apt-get update ## }}} ## 1. {{{xserver-xorg-video-intel}}}を{{{aptitude}}}を用いてダウングレードして下さい。 ## {{{ ## # aptitude remove xserver-xorg-video-intel ## }}} ## aptitudeはapt-getより、依存関係の解決に優れています。解決の提案が示されますが、xserver-xorg-video-intelのダウングレード提案がでるまで、"n(no)"で答え続けて下さい。'''決してxserver-xorg-video-allを削除しないで下さい'''。 ## 1. GRUBの設定ファイルに追加した、nomodesetの部分を削除して下さい。 ## {{{ ## # nano /etc/default/grub ## # update-grub ## }}} ## 1. Recoveryモードを抜けて、一般ユーザでログインし、Xを起動して下さい。 ## {{{ ## # exit ## }}} ## (一般ユーザでログインして) ## {{{ ## $ sudo gdm ## }}} ## (訳注: この項目は怪しい部分があるので、代わりに{{{# reboot}}}してシステムを再起動することをお勧めします) === 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. キーボードと棒の絵が表示される紫色の初期画面で、エンターキーを押し、起動メニューを表示させます。 1. 言語を選択し、エンターを押して決定し、F6キーを押し、最後にESCキーを押します。 1. "i915.modeset=1"を"quiet splash"の後ろに半角スペースを挟み追加します。 1. エンターキーを押してLiveCDから起動します。 ==== インストール後の設定: ==== 1. 起動時にシフトキーを押しっぱなしにして、GRUBメニューを表示させます。 1. 'e'キーを押し、編集(edit)モードに入ります。 1. "i915.modeset=1"を"quiet splash"の後ろに半角スペースを挟み追加します。 1. 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については、[[http://www.ubuntugeek.com/intel-graphics-performance-guide-for-ubuntu-904-jaunty-users.html|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独自の修正が無くなります。 1. システム->設定->ハードウェアドライバ(例えば、nVidia製、Broadcom製ハードウェア向け)からのプロプライエタリドライバの導入ができなくなります。 1. 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) }}} このワークアラウンドの適用により、問題が発生しにくくなったというユーザもいますが、問題が発生しにくくなるだけで、解消したわけではなさそうです。