「インテルグラフィックス」の版間の差分
(→インストール: 同期) |
(→ヒントとテクニック: 同期) |
||
247行目: | 247行目: | ||
== ヒントとテクニック == |
== ヒントとテクニック == |
||
− | === |
+ | === スケーリングモードを設定する === |
− | *UXA - (Unified Acceleration Architecture) は GEM ドライバーモデルを導入した成熟しているバックエンドです。 |
||
− | *SNA - (Sandybridge's New Acceleration) は高速で先進的なハードウェアサポートを提供します。 |
||
− | |||
− | デフォルトのメソッドは SNA (2013-08-05[https://projects.archlinux.org/svntogit/packages.git/commit/trunk?h=packages/xf86-video-intel&id=d03f5fb77df413017821f492aa81e5d68def7e48]) で、UXA よりも不安定ですが高速です。Phoronix によるベンチマーク [https://www.phoronix.com/scan.php?page=news_item&px=MTEzOTE] を見てください。[https://www.phoronix.com/scan.php?page=article&item=intel_glamor_first&num=1 Sandy Bridge のテスト] と [https://www.phoronix.com/scan.php?page=article&item=intel_ivy_glamor&num=1 Ivy Bridge のテスト] があります。SNA で問題が発生するなら、UXA は手堅い選択です。例えば、SNA ではフルスクリーンの Flash 動画を終了するときに黒画面になることがあります。 |
||
− | |||
− | 古い UXA メソッドを使いたいならば、次の内容で {{ic|/etc/X11/xorg.conf.d/20-intel.conf}} を作って下さい: |
||
− | |||
− | {{hc|/etc/X11/xorg.conf.d/20-intel.conf| |
||
− | Section "Device" |
||
− | Identifier "Intel Graphics" |
||
− | Driver "intel" |
||
− | Option "AccelMethod" "uxa" |
||
− | EndSection}} |
||
− | |||
− | === Glamor アクセラレーションメソッドの有効化 === |
||
− | |||
− | [https://wiki.freedesktop.org/www/Software/Glamor/ Glamor] は Intel の実験的な OpenGL 2D アクセラレーションメソッドで、man ページには記載がありません。Glamor を使用するには、以下の行を[[#設定|設定ファイル]]に追加してください: |
||
− | Option "AccelMethod" "glamor" |
||
− | |||
− | {{Note|このアクセラレーションメソッドは実験的であり安定して動作するとは限りません。}} |
||
− | |||
− | === 垂直同期 (VSYNC) を無効にする === |
||
− | |||
− | 垂直同期 (VSYNC) を無効にするには {{ic|/etc/X11/xorg.conf.d/20-intel.conf}} の {{ic|Section "Device"}} に {{ic|Option "SwapbuffersWait" "false"}} を加えて下さい。 |
||
− | |||
− | もしくは、{{ic|~/.drirc}} の {{ic|vblank_mode}} を {{ic|0}} に設定して、{{ic|driver}} を {{ic|dri2}} にセットします: |
||
− | |||
− | {{hc|~/.drirc|2= |
||
− | <device screen="0" driver="dri2"> |
||
− | <application name="Default"> |
||
− | <option name="vblank_mode" value="0"/> |
||
− | </application> |
||
− | </device>}} |
||
− | |||
− | === スケーリングモードの設定 === |
||
フルスクリーンを使うアプリケーションで有用かもしれません: |
フルスクリーンを使うアプリケーションで有用かもしれません: |
||
− | $ xrandr --output LVDS1 --set PANEL_FITTING param |
+ | $ xrandr --output LVDS1 --set PANEL_FITTING ''param'' |
− | 選べる {{ic|param}} は: |
+ | 選べる {{ic|''param''}} は: |
− | * {{ic|center}}: 解像度は固定され、スケーリングは無効になります |
+ | * {{ic|center}}: 解像度は定義した通りに固定され、スケーリングは無効になります |
* {{ic|full}}: 画面いっぱいまで解像度がスケールします |
* {{ic|full}}: 画面いっぱいまで解像度がスケールします |
||
− | * {{ic|full_aspect}}: アスペクト比を維持したままスケールします |
+ | * {{ic|full_aspect}}: アスペクト比を維持したまま解像度を可能な限り最大までスケールします |
− | + | うまく行かない場合は、以下を試してみてください: |
|
− | $ xrandr --output LVDS1 --set "scaling mode" param |
+ | $ xrandr --output LVDS1 --set "scaling mode" ''param'' |
− | {{ic|param}} は {{ic|"Full"}} |
+ | {{ic|''param''}} は {{ic|"Full"}}、{{ic|"Center"}}、{{ic|"Full aspect"}} のいずれかです。 |
{{Note|1=上記のオプションは外部ディスプレイは現在のところ機能しません (例: VGA, DVI, HDMI, DP) [https://bugs.freedesktop.org/show_bug.cgi?id=90989]。}} |
{{Note|1=上記のオプションは外部ディスプレイは現在のところ機能しません (例: VGA, DVI, HDMI, DP) [https://bugs.freedesktop.org/show_bug.cgi?id=90989]。}} |
||
+ | === GMA 4500 での H.264 デコードのハードウェアアクセラレーション === |
||
− | === KMS Issue: コンソールの画面が狭い === |
||
+ | {{Pkg|libva-intel-driver}} パッケージは、一部の GMA 4500 シリーズ GPU での MPEG-2 デコードのハードウェアアクセラレーションのみを提供します (H.264 デコードは提供しません)。あなたの GPU も関係しているどうかを確かめるには、そのドライバと {{Pkg|libva-utils}} パッケージの両方をインストールしてください。そして、{{ic|vainfo}} ツールの出力を見て、{{ic|VAProfileH264}} で始まるエントリがどれだけあるかを見てください。 |
||
− | 起動中に低解像度のビデオが転送されると、ターミナルが使える画面が小さくなることがあります。修正するには、i915 ブートローダのカーネルのコマンドラインパラメータに {{ic|1=video=SVIDEO-1:d}} を加えてはっきりと転送を無効にするよう i915 モジュールを設定してください。詳しい情報は[[カーネルパラメータ]]を見て下さい。 |
||
+ | H.264 デコードのサポートは、枝分かれた g45-h264 ブランチでメンテナンスされており、{{AUR|libva-intel-driver-g45-h264}} パッケージをインストールすることで使用できます。しかし、このサポートは実験的で、開発は放棄されていることに注意してください。GMA 4500 シリーズの GPU 上でこのドライバと共にVA-API を使うことで CPU の負荷を減らすことができますが、動画の再生がアクセラレートされていない状態ほどスムーズに再生できないかもしれません。mplayer を使ったテストでは H.264 でエンコードされた 1080p のビデオを vaapi を使って再生したところ (XV オーバーレイに比べて) CPU の負担は下がりましたが、途切れ途切れの再生になりました。一方 720p はうまく動きました [https://bbs.archlinux.org/viewtopic.php?id=150550]。他の報告も同じようなものでした [https://web.archive.org/web/20160325142959/http://www.emmolution.org/?p=192&cpage=1#comment-12292]。BIOS で割当済みビデオ RAM のサイズを高く設定すると、より質の高いハードウェアデコード再生が可能です。これを行うと、1080p h264 でもうまく行きます [https://lists.libreplanet.org/archive/html/guix-patches/2019-11/msg00652.html]。スムーズな再生 (1080p/720p) は、{{AUR|mpv-git}}、{{AUR|ffmpeg-git}}、{{AUR|libva-intel-driver-g45-h264}} を組み合わせて使うことでもうまく行きます。MPV と Firefox のプラグイン "Send to MPV player"[https://addons.mozilla.org/firefox/addon/send-to-mpv-player/] を用いることで、ハードウェアによりアクセラレートされた YouTube ビデオの再生が可能です。 |
||
− | これが機能しない時は、SVIDEO-1 の代わりに TV1 か VGA1 を無効にするのを試してみて下さい。 |
||
+ | === 古い OpenGL ドライバ (i965) === |
||
− | ==== 有効なビデオ端子を確認する ==== |
||
+ | Mesa 20.0 では、新しい OpenGL ドライバ "Iris" が第8世代以上でデフォルトとなりました。一部のアプリケーションはこのドライバによりより高速に動作します。{{ic|1=MESA_LOADER_DRIVER_OVERRIDE=i965}} [[環境変数]]を OpenGL アプリケーションの起動前に設定することで、Iris を無効化し、古い i965 ドライバに戻すことができます。この設定は Vulkan アプリケーションには影響しません。 |
||
− | video カーネルパラメータで無効化したいビデオ端子を識別するには、sysfs でダイレクトレンダリングマネージャモジュールを確認してください: |
||
+ | {{Note|1=Iris ドライバに関するバグやリグレッションは[https://gitlab.freedesktop.org/mesa/mesa/issues ここ]に報告してください。}} |
||
− | $ ls -l /sys/class/drm/ |
||
− | total 0 |
||
− | lrwxrwxrwx 1 root root 0 May 17 11:03 card0 -> ../../devices/pci0000:00/0000:00:02.0/drm/card0 |
||
− | lrwxrwxrwx 1 root root 0 May 17 11:03 card0-DP-1 -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-1 |
||
− | lrwxrwxrwx 1 root root 0 May 17 11:03 card0-DP-2 -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-2 |
||
− | lrwxrwxrwx 1 root root 0 May 17 11:03 card0-eDP-1 -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-eDP-1 |
||
− | lrwxrwxrwx 1 root root 0 May 17 11:03 card0-HDMI-A-1 -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-1 |
||
− | lrwxrwxrwx 1 root root 0 May 17 11:03 card0-HDMI-A-2 -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-2 |
||
− | lrwxrwxrwx 1 root root 0 May 17 11:03 card0-HDMI-A-3 -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-3 |
||
− | lrwxrwxrwx 1 root root 0 May 17 11:03 controlD64 -> ../../devices/pci0000:00/0000:00:02.0/drm/controlD64 |
||
− | lrwxrwxrwx 1 root root 0 May 17 11:03 renderD128 -> ../../devices/pci0000:00/0000:00:02.0/drm/renderD128 |
||
− | -r--r--r-- 1 root root 4096 May 17 11:03 version |
||
− | |||
− | 各々の端子の状態を確認するには: |
||
− | $ grep . /sys/class/drm/card?-*/status |
||
− | /sys/class/drm/card0-DP-1/status:disconnected |
||
− | /sys/class/drm/card0-DP-2/status:disconnected |
||
− | /sys/class/drm/card0-eDP-1/status:disconnected |
||
− | /sys/class/drm/card0-HDMI-A-1/status:disconnected |
||
− | /sys/class/drm/card0-HDMI-A-2/status:disconnected |
||
− | /sys/class/drm/card0-HDMI-A-3/status:connected |
||
− | |||
− | 使用したくないビデオ端子が接続済みになっている場合、上記の {{ic|1=video=}} パラメータで無効化してください ({{ic|1=cardN-}} の後ろの部分が識別子です)。例えば上の例で HDMI-A-3 端子を無効化するには {{ic|1=video=HDMI-A-3:d}} とします。 |
||
− | |||
− | === GMA 4500 での H.264 デコーディング === |
||
− | |||
− | {{Pkg|libva-intel-driver}} パッケージは GMA 4500 シリーズの GPU だけに MPEG-2 デコーディングを提供します。H.264 デコーディングのサポートは枝分かれした g45-h264 ブランチで維持されていて、[[Arch User Repository|AUR]] の {{AUR|libva-intel-driver-g45-h264}} パッケージをインストールすることで使えます。しかしながらこのサポートは実験的なものであり現在活発には開発されていないことに注意して下さい。GMA 4500 シリーズ GPU のドライバと VA-API を使うことは CPU の負担を下げますが、アクセラレーションが効いていないのと同じで、スムーズに再生できるようにはならないかもしれません。mplayer を使ったテストでは H.264 でエンコードされた 1080p のビデオを vaapi を使って再生したところ (XV オーバーレイに比べて) CPU の負担は下がりましたが、途切れ途切れの再生になりました。一方 720p はうまく動きました [https://bbs.archlinux.org/viewtopic.php?id=150550]。他の報告も同じようなものでした [http://www.emmolution.org/?p=192&cpage=1#comment-12292]。 |
||
− | |||
− | {{AUR|ffmpeg-git}} や {{AUR|libva-intel-driver-g45-h264}} と {{AUR|mpv-git}} を組み合わせることで (1080p/720p の動画を) スムーズに再生できます。Firefox の "Watch with MPV" [https://addons.mozilla.org/ja/firefox/addon/watch-with-mpv/] プラグインと MPV を使うことで YouTube の動画を視聴するときにハードウェア支援が活用できます。 |
||
− | |||
− | === 代替 OpenGL ドライバー (Iris) === |
||
− | |||
− | Mesa 19.2 より、新しい OpenGL ドライバーの Iris がテスト用に利用可能となっています。特定のアプリケーションでは Iris によって高速に動作します。OpenGL アプリケーションを起動する前に {{ic|1=MESA_LOADER_DRIVER_OVERRIDE=iris}} [[環境変数]]を設定することで実験的に有効化できます。Vulkan アプリケーションに影響はありません。 |
||
− | |||
− | {{Warning|1=Iris はまだ実験的です。アプリケーションがクラッシュしたりレンダリングがおかしくなる可能性があります。使用するときは注意して [https://gitlab.freedesktop.org/groups/mesa/-/issues バグを発見したら報告してください]。}} |
||
=== 報告される OpenGL のバージョンを上書き === |
=== 報告される OpenGL のバージョンを上書き === |
||
− | {{ic|MESA_GL_VERSION_OVERRIDE}} [[環境変数]]を使うことでアプリケーションに報告される OpenGL のバージョンを上書きできます。例えば、{{ic|1=MESA_GL_VERSION_OVERRIDE=4.5}} と設定することで OpenGL 4.5 と報告されるようになります。 |
+ | {{ic|MESA_GL_VERSION_OVERRIDE}} [[環境変数]]を使うことで、アプリケーションに報告される OpenGL のバージョンを上書きできます。例えば、{{ic|1=MESA_GL_VERSION_OVERRIDE=4.5}} と設定することで OpenGL 4.5 と報告されるようになります。 |
− | |||
− | {{Warning|上記の変数を使って既知の OpenGL バージョンなら、たとえ GPU によってサポートされていないバージョンでも使うこともできます。設定することで、アプリケーションによってクラッシュがなおったり、あるいはクラッシュが増えたりする可能性があります。全てのアプリケーションで同じ変数を使わない方が良いでしょう。}} |
||
− | |||
− | === ガンマ値と明るさの設定 === |
||
− | |||
− | ドライバのレベルでこれらを設定する方法はありませんが、幸運なことに {{ic|xgamma}} や {{ic|xrandr}} を使って設定することができます。 |
||
− | |||
− | ガンマ値を設定するには: |
||
+ | {{Note|上記の変数を使って既知の OpenGL バージョンなら、たとえ GPU によってサポートされていないバージョンでも使うこともできます。設定することで、アプリケーションによってクラッシュがなおったり、あるいはクラッシュが増えたりする可能性があります。全てのアプリケーションで同じ変数を使わない方が良いでしょう。}} |
||
− | $ xgamma -gamma 1.0 |
||
+ | === モニタリング === |
||
− | もしくは: |
||
+ | * {{App|intel_gpu_top|Intel GPU のための top ライクなタスクモニタ (root 権限が必要)|https://gitlab.freedesktop.org/drm/igt-gpu-tools|{{Pkg|intel-gpu-tools}}}} |
||
− | $ xrandr --output VGA1 --gamma 1.0:1.0:1.0 |
||
+ | * {{App|nvtop|AMD、Intel、NVIDIA のための GPU プロセスモニタリング (現在、Intel GPU に対しては非常に基本的なサポートしかありません)。|https://github.com/Syllo/nvtop|{{Pkg|nvtop}}}} |
||
− | 明るさ |
+ | === 明るさとガンマ値の設定 === |
+ | [[バックライト]] を見てください。 |
||
− | $ xrandr --output VGA1 --brightness 1.0 |
||
== トラブルシューティング == |
== トラブルシューティング == |
2022年11月27日 (日) 12:24時点における版
Intel はオープンソースドライバの提供とサポートを行なっているので、Intel Graphics は基本的にプラグアンドプレイです。
Intel GPU のモデルや関連するチップセットと CPU の包括的なリストは、Wikipedia:List of Intel graphics processing units と Gentoo:Intel#Feature support を見てください。
目次
- 1 インストール
- 2 ローディング
- 3 Xorg の設定
- 4 モジュールベースオプション
- 5 ヒントとテクニック
- 6 トラブルシューティング
- 6.1 Glxgears のパフォーマンスがでない
- 6.2 DRI3 の問題
- 6.3 GTK+ アプリケーションでフォントや画面の表示がおかしい (サスペンド・復帰後に文字が表示されない)
- 6.4 起動中 "Loading modules" するときに画面がブラックアウトする
- 6.5 ティアリングの解消
- 6.6 Intel ドライバで X がフリーズ・クラッシュする
- 6.7 認識されない解像度を追加する
- 6.8 libGL 9 と Intel-DRI 9 にアップグレードすると遅くなる
- 6.9 ビデオゲームでテクスチャが真っ黒
- 6.10 復帰後、バックライトが一部調整できない、もしくは全く調整できない
- 6.11 フレームバッファ圧縮の無効化
- 6.12 Chromium や Firefox が壊れる、応答しない
- 6.13 TTY を切り替えた時に垂直同期がされなくなる
- 6.14 ビデオやウェブカメラの出力にピンクと緑のゴミが入る
- 6.15 Broadwell/Core-M チップでカーネル 4.0 以上を使っている場合にクラッシュする
- 6.16 Skylake サポート
- 6.17 Windows をゲストとした場合にラグが発生する
- 6.18 画面がちらつく
- 6.19 色が風化する (色空間の問題)
- 7 参照
インストール
mesa パッケージをインストールしてください。3D アクセラレーションのための DRI ドライバーが含まれています。
- 32ビットアプリケーションのサポートは、multilib リポジトリから lib32-mesa パッケージもインストールしてください。
- Xorg で 2D アクセラレーションを提供する DDX ドライバーは、xf86-video-intel パッケージをインストールしてください。この機能にもかかわらず、このパッケージは一般には推奨されていません。下記のノートを見てください。
- Vulkan のサポート (Ivy Bridge およびそれ以降) は、vulkan-intel パッケージをインストールしてください。
ハードウェアビデオアクセラレーションも見てください。
ローディング
Intel カーネルモジュールは、システムの起動時に自動的に正常にロードされるはずです。
正常にロードされない場合は:
- Intel は kernel mode-setting を必要とするので、カーネルパラメータ に
nomodeset
を指定して いない ことを確認してください。 - また、
/etc/modprobe.d/
や/usr/lib/modprobe.d/
で modprobe ブラックリストを使って Intel を無効にしていないか確認してください。
早い段階で KMS を有効にする
Kernel Mode Setting (KMS) は、i915 DRM ドライバーを使用するインテルチップセットでサポートされています。KMS は必須であり、デフォルトで有効になっています。
起動プロセスにおいてできるだけ早く KMS を有効にする方法については、Kernel Mode Setting#Early KMS start を参照してください。
GuC/HuC ファームウェアのロードを有効にする
第9世代から (Skylake およびそれ以降)、Intel GPU には以下の機能を提供する Graphics micro (μ) Controller (GuC) が搭載されています [3]:
- 一部のメディアデコード機能を CPU から HEVC/H.265 micro (µ) Controller (HuC) にオフロードする。ハードウェアビデオアクセラレーションに intel-media-driver を使用する場合にのみ、適用可能です。第9世代から導入されました。
- GuC をスケジューリング、コンテキスト送信、電源管理に使用する。第12世代、Alder Lake-P (Mobile) で導入されました。
この機能を使うには、GuC ファームウェアがロードされていなければなりません。HuC のサポートに関して、一部のビデオ機能 (例: SKL 低電力符号化モードにおける CBR レート制御) は HuC ファームウェアもロードされている必要があります [4]。GuC と HuC ファームウェアのファイルは両方 linux-firmware によって提供されています。
GuC の機能は i915.enable_guc
カーネルパラメータ によって制御されます。このパラメータのし予報は以下の通りです:
enable_guc の値 | GuC 送信 | HuC ファームウェアのロード | デフォルトとなっているプラットフォーム | サポートされているプラットフォーム |
---|---|---|---|---|
0 | No | No | Tiger Lake、Rocket Lake、Gen12 以前 [5] | すべて |
1 | Yes | No | – | Alder Lake-P (Mobile) およびそれ以降 |
2 | No | Yes | Alder Lake-S (Desktop) [6] [7] | Gen9 およびそれ以降 |
3 | Yes | Yes | Alder Lake-P (Mobile) およびそれ以降 |
GuC 送信や HuC ファームウェアのロードがあなたの GPU ではデフォルトで有効になっていない場合、手動で有効化できます。
まず、linux-firmware がインストールされていることを確認してください。
あなたのシステムで late KMS start が設定されている場合 (これはデフォルトです)、カーネルパラメータで説明されているように i915.enable_guc
を設定することで手動で以下の機能を有効化できます。
i915
モジュール (Kernel Mode Setting#Early KMS start を参照) を initramfs に追加している場合は、これらのオプションを代わりに /etc/modprobe.d/
内のファイルで設定しなければなりません。例えば:
/etc/modprobe.d/i915.conf
options i915 enable_guc=2
そして、initramfs を再ビルドしてください。
次回の起動時に dmesg を使うことで GuC と HuC が両方有効化されていることを確認できます:
# dmesg
[30130.586970] i915 0000:00:02.0: [drm] GuC firmware i915/icl_guc_33.0.0.bin version 33.0 submission:disabled [30130.586973] i915 0000:00:02.0: [drm] HuC firmware i915/icl_huc_9.0.0.bin version 9.0 authenticated:yes
あなたのグラフィックアダプタで GuC と HuC がサポートされていない場合、以下が出力されます
# dmesg
[ 0.571339] i915 0000:00:02.0: [drm] Incompatible option enable_guc=2 - GuC is not supported! [ 0.571340] i915 0000:00:02.0: [drm] Incompatible option enable_guc=2 - HuC is not supported!
あるいは、以下で確認できます:
# cat /sys/kernel/debug/dri/0/gt/uc/guc_info # cat /sys/kernel/debug/dri/0/gt/uc/huc_info
Xorg の設定
Xorg を実行するのに設定は必要ないかもしれません。
しかし、Xorg が起動しない場合は、いくつかのドライバオプションを利用するために、以下のような Xorg 設定ファイルを作成することができます。
/etc/X11/xorg.conf.d/20-intel.conf
Section "Device" Identifier "Intel Graphics" Driver "intel" EndSection
その他のオプションは Driver
の下の新しい行にユーザが追加します。
オプションの完全なリストは intel(4) の man ページを参照してください。
AccelMethod
設定ファイルを作成する際に、Option "AccelMethod"
を指定する必要がある場合があります。(default) と BLT
です。
デフォルトの SNA
で問題が発生した場合。(例: ピクセル化したグラフィック、壊れたテキストなど)、代わりに UXA
を使ってみてください、これは Xorg 設定ファイル に次の行を追加することで可能です。
Option "AccelMethod" "uxa"
intel(4) § CONFIGURATION DETAILS の "AccelMethod" オプションをご覧ください。
モジュールベースオプション
i915
カーネルモジュールでは、モジュールオプション を介して構成できます。一部のモジュールオプションは、省電力に影響を与えます。
次のコマンドを使用して、すべてのオプションのリストと簡単な説明およびデフォルト値を生成できます。
$ modinfo -p i915
現在有効になっているオプションを確認するには、
# systool -m i915 -av
多くのオプションのデフォルトは-1であるため、チップごとの省電力のデフォルトになります。ただし、モジュールオプション を使用して、より積極的な省電力を構成することは可能です。
フレームバッファー圧縮 (enable_fbc)
フレームバッファー圧縮(FBC)を利用すると、画面の更新に必要なメモリ帯域幅を削減しながら、消費電力を削減できます。
FBC を有効にするには、 i915.enable_fbc=1
を カーネルパラメータ として使用するか、 /etc/modprobe.d/i915.conf
に設定します。
/etc/modprobe.d/i915.conf
options i915 enable_fbc=1
Fastboot
Intel Fastboot の目標は、BIOS または ブートローダー によってセットアップされたフレームバッファーを保持して、 Xorg が開始されるまでちらつきを回避することです [10]
fastboot を有効にするには、i915.fastboot=1
を カーネルパラメータ として設定するか、/etc/modprobe.d/i915.conf
に設定します。
/etc/modprobe.d/i915.conf
options i915 fastboot=1
IntelGVT-gグラフィック仮想化のサポート
詳細については、 Intel GVT-g を参照してください。
モジュールによる省電力設定
i915
カーネルモジュールはモジュールオプションによって設定ができます。モジュールオプションの中には省電力機能に関係するものもあります。
次のコマンドを使うことで全てのオプションとその説明、デフォルト値のリストが出力されます:
$ modinfo -p i915
現在有効になっているオプションを確認するには、次を実行して下さい:
# systool -m i915 -av
多くのオプションはデフォルトで -1 になっており、チップのデフォルトの省電力設定が使われます。ただし、モジュールオプションを使うことでより強力な省電力設定をすることができます。
安全に有効にすることができる一般的なオプションは以下のようになります:
/etc/modprobe.d/i915.conf
options i915 enable_rc6=1 enable_fbc=1 semaphores=1
RC6 スリープモード (enable_rc6)
enable_rc6
には 1 よりも大きい値が設定できますが、使用している GPU がオプションをサポートしていなかったり他のオプションを有効にできるなくなる可能性があります [12]。
enable_rc6
に設定できる値は 1 (RC6), 2 (RC6p), 4 (RC6pp) のビットマスクです [13]。"RC6p" や "RC6pp" は電力消費がより少ないステートになります。
現在の RC6 レベルを確認するには、sysfs を見てください:
# cat /sys/class/drm/card0/power/rc6_enable
出力された数字が低い場合、おそらく他の RC6 レベルがサポートされていません。drm.debug=0xe
を使うことで DRM のデバッグ情報をカーネルログに追加することができます:
[drm:sanitize_rc6_option] Adjusting RC6 mask to 1 (requested 7, valid 1)
ヒントとテクニック
スケーリングモードを設定する
フルスクリーンを使うアプリケーションで有用かもしれません:
$ xrandr --output LVDS1 --set PANEL_FITTING param
選べる param
は:
center
: 解像度は定義した通りに固定され、スケーリングは無効になりますfull
: 画面いっぱいまで解像度がスケールしますfull_aspect
: アスペクト比を維持したまま解像度を可能な限り最大までスケールします
うまく行かない場合は、以下を試してみてください:
$ xrandr --output LVDS1 --set "scaling mode" param
param
は "Full"
、"Center"
、"Full aspect"
のいずれかです。
GMA 4500 での H.264 デコードのハードウェアアクセラレーション
libva-intel-driver パッケージは、一部の GMA 4500 シリーズ GPU での MPEG-2 デコードのハードウェアアクセラレーションのみを提供します (H.264 デコードは提供しません)。あなたの GPU も関係しているどうかを確かめるには、そのドライバと libva-utils パッケージの両方をインストールしてください。そして、vainfo
ツールの出力を見て、VAProfileH264
で始まるエントリがどれだけあるかを見てください。
H.264 デコードのサポートは、枝分かれた g45-h264 ブランチでメンテナンスされており、libva-intel-driver-g45-h264AUR パッケージをインストールすることで使用できます。しかし、このサポートは実験的で、開発は放棄されていることに注意してください。GMA 4500 シリーズの GPU 上でこのドライバと共にVA-API を使うことで CPU の負荷を減らすことができますが、動画の再生がアクセラレートされていない状態ほどスムーズに再生できないかもしれません。mplayer を使ったテストでは H.264 でエンコードされた 1080p のビデオを vaapi を使って再生したところ (XV オーバーレイに比べて) CPU の負担は下がりましたが、途切れ途切れの再生になりました。一方 720p はうまく動きました [15]。他の報告も同じようなものでした [16]。BIOS で割当済みビデオ RAM のサイズを高く設定すると、より質の高いハードウェアデコード再生が可能です。これを行うと、1080p h264 でもうまく行きます [17]。スムーズな再生 (1080p/720p) は、mpv-gitAUR、ffmpeg-gitAUR、libva-intel-driver-g45-h264AUR を組み合わせて使うことでもうまく行きます。MPV と Firefox のプラグイン "Send to MPV player"[18] を用いることで、ハードウェアによりアクセラレートされた YouTube ビデオの再生が可能です。
古い OpenGL ドライバ (i965)
Mesa 20.0 では、新しい OpenGL ドライバ "Iris" が第8世代以上でデフォルトとなりました。一部のアプリケーションはこのドライバによりより高速に動作します。MESA_LOADER_DRIVER_OVERRIDE=i965
環境変数を OpenGL アプリケーションの起動前に設定することで、Iris を無効化し、古い i965 ドライバに戻すことができます。この設定は Vulkan アプリケーションには影響しません。
報告される OpenGL のバージョンを上書き
MESA_GL_VERSION_OVERRIDE
環境変数を使うことで、アプリケーションに報告される OpenGL のバージョンを上書きできます。例えば、MESA_GL_VERSION_OVERRIDE=4.5
と設定することで OpenGL 4.5 と報告されるようになります。
モニタリング
- intel_gpu_top — Intel GPU のための top ライクなタスクモニタ (root 権限が必要)
- nvtop — AMD、Intel、NVIDIA のための GPU プロセスモニタリング (現在、Intel GPU に対しては非常に基本的なサポートしかありません)。
明るさとガンマ値の設定
バックライト を見てください。
トラブルシューティング
Glxgears のパフォーマンスがでない
グラフィックパフォーマンスを調べるために glxgears
を動かした時、結果が 60 FPS を前後することに気づいたかもしれません。例えば:
[...] 311 frames in 5.0 seconds = 61.973 FPS 311 frames in 5.0 seconds = 62.064 FPS 311 frames in 5.0 seconds = 62.026 FPS [...]
これはパフォーマンスの欠落によるものではありません。ディスプレイのリフレッシュレートにあわせて、垂直同期を行なっているためです。
環境変数 vblank_mode=0
を付けることで垂直同期を無効にして glxgears
を実行できます:
$ vblank_mode=0 glxgears
DRI3 の問題
xf86-video-intel ではデフォルトで DRI3 が使われます。一部の環境では DRI3 によって問題が発生することがあります [19]。DRI2 を使うには設定ファイルに以下の行を追加してください:
Option "DRI" "2"
modesetting
ドライバーでは上記の方法では DRI3 を無効化することはできません。代わりに LIBGL_DRI3_DISABLE=1
環境変数を設定してください。
GTK+ アプリケーションでフォントや画面の表示がおかしい (サスペンド・復帰後に文字が表示されない)
GTK+ アプリケーションでフォントの文字が表示されなくなってしまう場合、以下の方法で直る可能性があります。/etc/environment
を編集して以下の行を追加してください:
/etc/environment
COGL_ATLAS_DEFAULT_BLIT_MODE=framebuffer
詳しくは FreeDesktop bug 88584 を参照。
起動中 "Loading modules" するときに画面がブラックアウトする
KMS の"遅いスタート"を使っているとき "Loading modules" で画面がブラックアウトする場合、initramfs に i915
と intel_agp
を加えると解決するかもしれません。上記の KMS セクションを見て下さい。
または、次のカーネルパラメータを加えるとうまく動くかもしれません:
video=SVIDEO-1:d
VGA に出力する必要があるときは次を使ってみて下さい:
video=VGA-1:1280x800
ティアリングの解消
SNA アクセラレーションメソッドを使っている場合、ティアリングが発生することがあります。これを解消するには、ドライバーの "TearFree"
オプションを有効にしてください:
/etc/X11/xorg.conf.d/20-intel.conf
Section "Device" Identifier "Intel Graphics" Driver "intel" Option "TearFree" "true" EndSection
詳しくは オリジナルのバグレポート を見て下さい。
Intel ドライバで X がフリーズ・クラッシュする
X のクラッシュや GPU のハングアップ、X のフリーズなどが起こる場合、NoAccel
オプションを使って GPU の使用を無効にすることで修復できます:
/etc/X11/xorg.conf.d/20-intel.conf
Section "Device" Identifier "Intel Graphics" Driver "intel" Option "NoAccel" "True" EndSection
または、DRI
オプションを使って 3D アクセラレーションだけを無効にすることもできます:
/etc/X11/xorg.conf.d/20-intel.conf
Section "Device" Identifier "Intel Graphics" Driver "intel" Option "DRI" "False" EndSection
設定ファイルに以下のオプションを使うとクラッシュする場合は:
Option "TearFree" "true" Option "AccelMethod" "sna"
ブートパラメータに次を追加すると修正できます:
i915.semaphores=1
カーネル 4.0.x 以上で Baytrail アーキテクチャを利用している場合にシステムが何度もフリーズする (特に動画を見たり GFX を集中使用したときに発生する) ようなときは、以下のカーネルオプションを追加することで解決します。詳しくは こちら を参照してください。
intel_idle.max_cstate=1
認識されない解像度を追加する
この問題については Xrandr のページを参照してください。
libGL 9 と Intel-DRI 9 にアップグレードすると遅くなる
Intel-DRI 8 と libGL 8 にダウングレードしてください。
ビデオゲームでテクスチャが真っ黒
ビデオゲームでテクスチャが黒くなる場合、S3TC テクスチャコンプレッションのサポートを有効にすることで解決できます。driconfAUR を使って有効にするか、 libtxc_dxtnAUR をインストールしてください。
この"問題"は新しいドライバで修正される予定です。
S3TC についての詳しい情報は: http://dri.freedesktop.org/wiki/S3TC http://ja.wikipedia.org/wiki/DXTC
この問題が起こるゲームのひとつは Oil Rush です。
復帰後、バックライトが一部調整できない、もしくは全く調整できない
Intel graphics を使っていて製造者によるホットキーで画面の明るさを変えられない場合、次のカーネルパラメータを使って起動してみて下さい:
acpi_backlight=vendor
これで問題が解決されない場合、上のパラメータに加えて:
acpi_osi=Linux
または:
acpi_osi="!Windows 2012"
または:
acpi_osi=
を使うことで解決できるかもしれません。
また、カーネルバージョン 3.13 から、ユーザーによっては効果があるカーネルコマンドラインのパラメータがあります:
video.use_native_backlight=1
上記のどの方法を使っても問題が解決されない場合、以下の内容で /etc/X11/xorg.conf.d/20-intel.conf
を編集・作成してください:
/etc/X11/xorg.conf.d/20-intel.conf
Section "Device" Identifier "card0" Driver "intel" Option "Backlight" "intel_backlight" BusID "PCI:0:2:0" EndSection
フレームバッファ圧縮の無効化
Intel Corporation Mobile 4 シリーズのチップセットなど、Sandy Bridge 以前のカードでフレームバッファ圧縮を有効にするとエラーメッセージが延々と表示されます:
$ dmesg | tail [ 2360.475430] [drm] not enough stolen space for compressed buffer (need 4325376 bytes), disabling [ 2360.475437] [drm] hint: you may be able to increase stolen memory size in the BIOS to avoid this
解決方法はフレームバッファ圧縮を無効化することで、これによって少しだけ電力消費が増えます。無効化するには i915.enable_fbc=0
をカーネルラインパラメータに追加してください。圧縮の無効化による効果については ここ に詳しい情報が載っています。
Chromium や Firefox が壊れる、応答しない
Chromium や Firefox の表示がおかしくなったり、反応しなくなる場合はアクセラレーションメソッドを "uxa" に設定してみてください。
TTY を切り替えた時に垂直同期がされなくなる
カーネル 3.19.3 以降にはリグレッションが存在し (古いカーネルにも存在する可能性あり)、Broadwell のマシンで TTY を切り替えると垂直同期が消失します [21]。修正するには、カーネルコマンドラインに i915.enable_ips=0
を追加するか、カーネル 4.1 を使っている場合、こちら のパッチを使ってカーネルを再ビルドします。メインラインカーネルには 4.2-rc1 で修正が入っています。
ビデオやウェブカメラの出力にピンクと緑のゴミが入る
Broadwell のマシンで xv出力や Intel Textured Video を使用するアプリケーション (Skype や VLC) を使うと、ビデオストリームにピンクと緑の乱れが入ることがあります。これは Broadwell のビデオの問題で、上流では2015年4月16日に修正されています [22]。xf86-video-intel をアップデートすると修正されます。
Broadwell/Core-M チップでカーネル 4.0 以上を使っている場合にクラッシュする
X/Wayland がロードされた数秒間、マシンがフリーズして、journalctl に以下のような Intel Graphics に関連するカーネルのクラッシュログが残ることがあります:
Jun 16 17:54:03 hostname kernel: BUG: unable to handle kernel NULL pointer dereference at (null) Jun 16 17:54:03 hostname kernel: IP: [< (null)>] (null) ... Jun 16 17:54:03 hostname kernel: CPU: 0 PID: 733 Comm: gnome-shell Tainted: G U O 4.0.5-1-ARCH #1 ... Jun 16 17:54:03 hostname kernel: Call Trace: Jun 16 17:54:03 hostname kernel: [<ffffffffa055cc27>] ? i915_gem_object_sync+0xe7/0x190 [i915] Jun 16 17:54:03 hostname kernel: [<ffffffffa0579634>] intel_execlists_submission+0x294/0x4c0 [i915] Jun 16 17:54:03 hostname kernel: [<ffffffffa05539fc>] i915_gem_do_execbuffer.isra.12+0xabc/0x1230 [i915] Jun 16 17:54:03 hostname kernel: [<ffffffffa055d349>] ? i915_gem_object_set_to_cpu_domain+0xa9/0x1f0 [i915] Jun 16 17:54:03 hostname kernel: [<ffffffff811ba2ae>] ? __kmalloc+0x2e/0x2a0 Jun 16 17:54:03 hostname kernel: [<ffffffffa0555471>] i915_gem_execbuffer2+0x141/0x2b0 [i915] Jun 16 17:54:03 hostname kernel: [<ffffffffa042fcab>] drm_ioctl+0x1db/0x640 [drm] Jun 16 17:54:03 hostname kernel: [<ffffffffa0555330>] ? i915_gem_execbuffer+0x450/0x450 [i915] Jun 16 17:54:03 hostname kernel: [<ffffffff8122339b>] ? eventfd_ctx_read+0x16b/0x200 Jun 16 17:54:03 hostname kernel: [<ffffffff811ebc36>] do_vfs_ioctl+0x2c6/0x4d0 Jun 16 17:54:03 hostname kernel: [<ffffffff811f6452>] ? __fget+0x72/0xb0 Jun 16 17:54:03 hostname kernel: [<ffffffff811ebec1>] SyS_ioctl+0x81/0xa0 Jun 16 17:54:03 hostname kernel: [<ffffffff8157a589>] system_call_fastpath+0x12/0x17 Jun 16 17:54:03 hostname kernel: Code: Bad RIP value. Jun 16 17:54:03 hostname kernel: RIP [< (null)>] (null)
この問題は execlist のサポート (カーネル 4.0 からデフォルトに変更されました) を無効化することで解決します。以下のカーネルパラメータを追加してください:
i915.enable_execlists=0
Skylake サポート
i915 DRM ドライバーは様々な GPU のハングアップやクラッシュ、あるいはシステムの完全なフリーズを引き起こすことが知られています。問題を回避するにはハードウェアアクセラレーションを無効化する必要があるかもしれません。解決方法として以下の Xorg 設定を使う方法があります:
/etc/X11/xorg.conf.d/20-intel.conf
Section "Device" Identifier "Intel Graphics" Driver "intel" Option "DRI" "false" EndSection
もしくは、Chromium や Firefox ブラウザなどアプリケーションごとにハードウェアレンダリングを無効化するように直接設定することも可能です。
i915.enable_rc6=0
カーネルブートパラメータを追加することで問題が解決すると報告しているユーザーもいます。このパラメータを使用すると CPU/GPU のハイパワーモードが解除されなくなりますが、GPU のハングアップやシステムのフリーズが解消するようです。
Windows をゲストとした場合にラグが発生する
VirtualBox でホスト側から(マウスカーソルを動かすなどして)画面を更新しないと Windows ゲストのビデオ出力が止まってしまうことがあります。enable_fbc=1
オプションを削除すれば問題は解決します。
画面がちらつく
Intel の iGPU によって使われている省電力機能の中にはちらつきを発生させるものがあります。適切なカーネルパラメータオプションを使って無効化することで解決できます:
- Rc6 スリープモード (#RC6 スリープモード (enable_rc6) を参照) は
i915.enable_rc6=0
で無効化できます。
- カーネルのバージョン 4.6 からパネルセルフリフレッシュ (PSR) はデフォルトで有効になります (FS#49628 FS#49371 FS#50605)。無効化するには
i915.enable_psr=0
オプションを使ってください。
色が風化する (色空間の問題)
カーネル 3.9 には Intel ドライバーで簡単に RGB リミテッドレンジの設定ができる変更が含まれており、場合によってはこの変更によって色がおかしくなることがあります。"Broadcast RGB" プロパティの新しい "Automatic" モードに関係しています。
xrandr --output <HDMI> --set "Broadcast RGB" "Full"
(<HDMI>
は適切な出力デバイスに置き換えてください、xrandr
を実行することで確認できます) のようにしてモードを強制することが可能です。これを .xprofile
に追加して、グラフィカルモードが始まる前にコマンドが実行できるように実行可能属性を付けて下さい。
また、GPU のレジスタを編集することで修正できる他の関連する問題も存在します。詳しくは [24] や [25] を見て下さい。
参照
- https://01.org/linuxgraphics/documentation (サポートされているハードウェア一覧など)