「Intel graphics」の版間の差分
(→Xorg の設定: 同期) |
細 (→Chromium や Firefox が壊れる/応答しない: セクション名を修正) |
||
(3人の利用者による、間の28版が非表示) | |||
4行目: | 4行目: | ||
[[en:Intel graphics]] |
[[en:Intel graphics]] |
||
[[es:Intel graphics]] |
[[es:Intel graphics]] |
||
− | [[fr:Intel graphics]] |
||
[[ru:Intel graphics]] |
[[ru:Intel graphics]] |
||
[[zh-hans:Intel graphics]] |
[[zh-hans:Intel graphics]] |
||
10行目: | 9行目: | ||
{{Related|Intel GMA 3600}} |
{{Related|Intel GMA 3600}} |
||
{{Related|Xorg}} |
{{Related|Xorg}} |
||
− | {{Related| |
+ | {{Related|カーネルモード設定}} |
{{Related|Xrandr}} |
{{Related|Xrandr}} |
||
{{Related|ハイブリッドグラフィック}} |
{{Related|ハイブリッドグラフィック}} |
||
17行目: | 16行目: | ||
{{Related articles end}} |
{{Related articles end}} |
||
− | Intel はオープンソースドライバの提供とサポートを行なっているので、Intel |
+ | Intel はオープンソースドライバの提供とサポートを行なっているので、Intel graphics は基本的にプラグアンドプレイです。 |
− | Intel GPU のモデルや関連するチップセットと CPU の包括的なリストは、[[Wikipedia: |
+ | Intel GPU のモデルや関連するチップセットと CPU の包括的なリストは、[[Wikipedia:Intel Graphics Technology]] と [[Gentoo:Intel#Feature support]] を見てください。 |
+ | {{Note| |
||
− | {{Note|PowerVR ベースのグラフィックカード ([[Intel GMA 3600|GMA 3600]] シリーズ) はオープンソースドライバではサポートされていません。}} |
||
+ | * PowerVR ベースのグラフィックカード ([[Intel GMA 3600|GMA 3600]] シリーズ) はオープンソースドライバではサポートされていません。 |
||
+ | * Intel 第 ''N'' 世代 (Gen ''N'') ハードウェアという記述は、CPU の世代を指すものではなく、[[Wikipedia:List of Intel graphics processing units|GPU の世代]]を指しています。これは CPU の世代とは異なります。 |
||
+ | * あなたのカードを特定する方法については [[Xorg#ドライバーのインストール]] を参照してください。 |
||
+ | }} |
||
== インストール == |
== インストール == |
||
− | + | * 以下のパッケージのうち1つを[[インストール]]してください。これらは、3D アクセラレーションのための [[wikipedia:ja:ダイレクト・レンダリング・インフラストラクチャ|DRI]] ドライバを提供します。 |
|
+ | ** {{Pkg|mesa}} は、第3世代ハードウェアおよびそれ以降用のモダンな Gallium3D ドライバを含む最新の [[Mesa]] パッケージです。これを使うことが推奨されます。 |
||
− | |||
+ | ** {{Pkg|mesa-amber}} は、第2世代から第11世代までのハードウェア用のクラシックドライバ (Gallium3d でない) です。このドライバは、第7世代及びそれ以前のハードウェアにおいて高いパフォーマンスや安定性をもたらすかもしれませんが、メンテナンスされていません。 |
||
− | * 32ビットアプリケーションのサポートは、[[multilib]] リポジトリから {{Pkg|lib32-mesa}} パッケージもインストールしてください。 |
||
− | * |
+ | * 32ビットアプリケーションのサポートは、[[multilib]] リポジトリから {{Pkg|lib32-mesa}} か {{Pkg|lib32-mesa-amber}} パッケージもインストールしてください。 |
+ | * [[Xorg]] で 2D アクセラレーションを提供する [[wikipedia:X.Org_Server#DDX|DDX]] ドライバに関しては、以下のうち1つを使ってください: |
||
− | * [[Vulkan]] のサポート (''Ivy Bridge'' およびそれ以降) は、{{Pkg|vulkan-intel}} パッケージをインストールしてください。 |
||
+ | ** {{Pkg|xorg-server}} パッケージに含まれる ''modesetting'' ドライバは、第4世代及びそれ以降のハードウェアにおいて推奨されます。これは、''glamor'' モジュール経由で DRI ドライバを使用してアクセラレーションを提供します。 |
||
+ | ** {{Pkg|xf86-video-intel}} パッケージは、第2世代から第9世代までのハードウェアにおいてレガシーな Intel DDX ドライバを提供します。一般に、このパッケージを使用することは推奨されません。下記のノートを参照してください。 |
||
+ | * [[Vulkan]] サポート (Haswell 及びそれ以降; それより古いチップにおけるサポートは[https://gitlab.freedesktop.org/mesa/mesa/-/issues/8249#note_1758622 不完全であるか存在しません]) については、{{Pkg|vulkan-intel}} パッケージをインストールしてください。32 ビット [[Vulkan]] サポートについては、{{Pkg|lib32-vulkan-intel}} パッケージをインストールしてください。 |
||
[[ハードウェアビデオアクセラレーション]]も見てください。 |
[[ハードウェアビデオアクセラレーション]]も見てください。 |
||
+ | {{Note|1=<nowiki/> |
||
− | {{Note|1=一部のディストリビューション ([https://www.phoronix.com/scan.php?page=news_item&px=Ubuntu-Debian-Abandon-Intel-DDX Debian & Ubuntu]、[https://www.phoronix.com/scan.php?page=news_item&px=Fedora-Xorg-Intel-DDX-Switch Fedora]、[https://community.kde.org/Plasma/5.9_Errata#Intel_GPUs KDE]) では、{{Pkg|xf86-video-intel}} ドライバのインストールが推奨されておらず、第4世代以上の (2006年の GMA 3000 よりも新しい) GPU では代わりに modesetting ドライバにフォールバックさせることが推奨されています。[https://web.archive.org/web/20160714232204/https://www.reddit.com/r/archlinux/comments/4cojj9/it_is_probably_time_to_ditch_xf86videointel/]、[https://www.phoronix.com/scan.php?page=article&item=intel-modesetting-2017&num=1]、[[Xorg#インストール]]、{{man|4|modesetting}} を参照してください。しかし、modesetting ドライバは次のような問題を引き起こす可能性があります: [https://gitlab.freedesktop.org/xorg/xserver/-/issues/1364 XFCE での画面のチラツキやマウスのジッタリング]、[https://bugs.chromium.org/p/chromium/issues/detail?id=370022 Chromium で仮想デスクトップの切り替えを行ったときにアーティファクトが発生する]、[https://gitlab.freedesktop.org/xorg/xserver/-/issues/928 vsync のジッタリング、mpv での動画のスタッタリング]。}} |
||
+ | * 一部のディストリビューション ([https://www.phoronix.com/scan.php?page=news_item&px=Ubuntu-Debian-Abandon-Intel-DDX Debian & Ubuntu]、[https://www.phoronix.com/scan.php?page=news_item&px=Fedora-Xorg-Intel-DDX-Switch Fedora]、[https://community.kde.org/Plasma/5.9_Errata#Intel_GPUs KDE]) では、{{Pkg|xf86-video-intel}} ドライバのインストールが推奨されておらず、代わりに modesetting ドライバにフォールバックさせることが推奨されています。[https://web.archive.org/web/20160714232204/https://www.reddit.com/r/archlinux/comments/4cojj9/it_is_probably_time_to_ditch_xf86videointel/]、[https://www.phoronix.com/scan.php?page=article&item=intel-modesetting-2017&num=1]、[[Xorg#インストール]]、{{man|4|modesetting}} を参照してください。しかし、modesetting ドライバは次のような問題を引き起こす可能性があります: [https://gitlab.freedesktop.org/xorg/xserver/-/issues/1364 XFCE での画面のチラツキやマウスのジッタリング]、[https://bugs.chromium.org/p/chromium/issues/detail?id=370022 仮想デスクトップの切り替えを行ったときに Chromium でアーティファクトが発生する]、[https://gitlab.freedesktop.org/xorg/xserver/-/issues/928 vsync のジッタリング、mpv での動画のスタッタリング]。 |
||
+ | * {{Pkg|xf86-video-intel}} ドライバには、第11世代及びそれ以降のハードウェアに対する適切なサポートがありません。それによって、アクセラレーションが提供されなかったり、レンダリングの問題が発生したりし、その結果として Plasma Desktop がほぼ利用不能な状態になります。[https://gitlab.freedesktop.org/xorg/driver/xf86-video-intel/-/commit/7181c5a41c3f00eaf996caa156523c708a18081e] を参照してください。 |
||
+ | * {{Pkg|xf86-video-intel}} がインストールされている場合、グラフィックススタック全体がハードフリーズし、({{ic|Ctrl+Alt+F''n''}} を押して) 他の仮想コンソールに切り替えることすらできなくなり、[[SysRq]] でユーザプロセスを kill することしかできなくなるという問題が2件報告されています [https://bbs.archlinux.org/viewtopic.php?id=263323] [https://github.com/qutebrowser/qutebrowser/issues/4641]。 |
||
+ | }} |
||
== ローディング == |
== ローディング == |
||
41行目: | 51行目: | ||
正常にロードされない場合は: |
正常にロードされない場合は: |
||
− | * Intel は |
+ | * Intel は カーネルモード設定を必要とするので、[[カーネルパラメータ]] に {{ic|nomodeset}} を指定して '''いない''' ことを確認してください。 |
* また、{{ic|/etc/modprobe.d/}} や {{ic|/usr/lib/modprobe.d/}} で modprobe ブラックリストを使って Intel を無効にしていないか確認してください。 |
* また、{{ic|/etc/modprobe.d/}} や {{ic|/usr/lib/modprobe.d/}} で modprobe ブラックリストを使って Intel を無効にしていないか確認してください。 |
||
=== 早い段階で KMS を有効にする === |
=== 早い段階で KMS を有効にする === |
||
− | [[ |
+ | [[カーネルモード設定]] (KMS) は、i915 DRM ドライバーを使用するインテルチップセットでサポートされています。KMS は必須であり、デフォルトで有効になっています。 |
− | 起動プロセスにおいてできるだけ早く KMS を有効にする方法に |
+ | [[mkinitcpio]] v32 からは、{{ic|kms}} フックがデフォルトで含まれているため、典型的な環境において Early KMS がすでに有効化されているはずです。他の環境については、起動プロセスにおいてできるだけ早く KMS を有効にする方法に関する [[カーネルモード設定#KMS の早期開始]] を参照してください。 |
=== GuC/HuC ファームウェアのロードを有効にする === |
=== GuC/HuC ファームウェアのロードを有効にする === |
||
54行目: | 64行目: | ||
{{Accuracy|Intel のドキュメントに反し、Tiger Lake と Rocket Lake の GPU は実際 {{ic|1=enable_guc=3}} をサポートし、{{ic|1=enable_guc=1}} がデフォルトとなっている場合があります。}} |
{{Accuracy|Intel のドキュメントに反し、Tiger Lake と Rocket Lake の GPU は実際 {{ic|1=enable_guc=3}} をサポートし、{{ic|1=enable_guc=1}} がデフォルトとなっている場合があります。}} |
||
− | 第9世代から (Skylake およびそれ以降)、Intel GPU には以下の機能を提供する ''Graphics micro (μ) Controller'' (GuC) が搭載されています [https://01.org/linuxgraphics/downloads/firmware]: |
+ | 第9世代から (Skylake およびそれ以降)、Intel GPU には以下の機能を提供する ''Graphics micro (μ) Controller'' (GuC) が搭載されています [https://01.org/linuxgraphics/downloads/firmware]{{Dead link|2023|04|23|status=403}}: |
* 一部のメディアデコード機能を CPU から ''HEVC/H.265 micro (µ) Controller'' (HuC) にオフロードする。[[ハードウェアビデオアクセラレーション]]に {{Pkg|intel-media-driver}} を使用する場合にのみ、適用可能です。第9世代から導入されました。 |
* 一部のメディアデコード機能を CPU から ''HEVC/H.265 micro (µ) Controller'' (HuC) にオフロードする。[[ハードウェアビデオアクセラレーション]]に {{Pkg|intel-media-driver}} を使用する場合にのみ、適用可能です。第9世代から導入されました。 |
||
* GuC をスケジューリング、コンテキスト送信、電源管理に使用する。第12世代、Alder Lake-P (Mobile) で導入されました。 |
* GuC をスケジューリング、コンテキスト送信、電源管理に使用する。第12世代、Alder Lake-P (Mobile) で導入されました。 |
||
60行目: | 70行目: | ||
この機能を使うには、GuC ファームウェアがロードされていなければなりません。HuC のサポートに関して、一部のビデオ機能 (例: SKL 低電力符号化モードにおける CBR レート制御) は HuC ファームウェアもロードされている必要があります [https://github.com/intel/media-driver#known-issues-and-limitations]。GuC と HuC ファームウェアのファイルは両方 {{Pkg|linux-firmware}} によって提供されています。 |
この機能を使うには、GuC ファームウェアがロードされていなければなりません。HuC のサポートに関して、一部のビデオ機能 (例: SKL 低電力符号化モードにおける CBR レート制御) は HuC ファームウェアもロードされている必要があります [https://github.com/intel/media-driver#known-issues-and-limitations]。GuC と HuC ファームウェアのファイルは両方 {{Pkg|linux-firmware}} によって提供されています。 |
||
− | GuC の機能は {{ic|1=i915.enable_guc}} [[カーネルパラメータ]] によって制御されます。このパラメータの |
+ | GuC の機能は {{ic|1=i915.enable_guc}} [[カーネルパラメータ]] によって制御されます。このパラメータの使用法は次のとおりです。: |
{| class="wikitable" |
{| class="wikitable" |
||
71行目: | 81行目: | ||
|2 || {{No}} || {{Yes}} || Alder Lake-S (Desktop) [https://github.com/torvalds/linux/blob/b3454ce0b2c8a56e760e6baa88ed10278585072b/drivers/gpu/drm/i915/gt/uc/intel_uc.c#L38-L42] [https://lore.kernel.org/all/87ee6wit2r.fsf@intel.com/T/] || Gen9 およびそれ以降 |
|2 || {{No}} || {{Yes}} || Alder Lake-S (Desktop) [https://github.com/torvalds/linux/blob/b3454ce0b2c8a56e760e6baa88ed10278585072b/drivers/gpu/drm/i915/gt/uc/intel_uc.c#L38-L42] [https://lore.kernel.org/all/87ee6wit2r.fsf@intel.com/T/] || Gen9 およびそれ以降 |
||
|- |
|- |
||
− | |3 || {{Yes}} || {{Yes}} || |
+ | |3 || {{Yes}} || {{Yes}} || Alder Lake-P (Mobile) 及びそれ以降 || Gen 9.5 及びそれ以降 (一部個体ではこちらがより良い) |
|} |
|} |
||
78行目: | 88行目: | ||
{{Warning|1=GuC / HuC ファームウェアのロードを手動で有効化すると、[https://bugs.freedesktop.org/show_bug.cgi?id=111918 たとえその機能がサポートされていない場合でも]、カーネルに汚染マークが付きます。さらに、GuC/HuC ファームウェアのロードを有効化すると、一部のシステムで問題が発生する可能性があります。(ハイバネートから復帰したあとなどに) フリーズが発生する場合は、無効化してください。}} |
{{Warning|1=GuC / HuC ファームウェアのロードを手動で有効化すると、[https://bugs.freedesktop.org/show_bug.cgi?id=111918 たとえその機能がサポートされていない場合でも]、カーネルに汚染マークが付きます。さらに、GuC/HuC ファームウェアのロードを有効化すると、一部のシステムで問題が発生する可能性があります。(ハイバネートから復帰したあとなどに) フリーズが発生する場合は、無効化してください。}} |
||
− | まず、{{Pkg|linux-firmware}} が[[インストール]]されていることを確認してください。 |
+ | まず、{{Pkg|linux-firmware}} が[[インストール]] されていることを確認してください。 |
+ | {{ic|1=i915.enable_guc}} [[カーネルパラメータ]] を設定してください。例えば: |
||
− | あなたのシステムで late KMS start が設定されている場合 (これはデフォルトです)、[[カーネルパラメータ]]で説明されているように {{ic|1=i915.enable_guc}} を設定することで手動で以下の機能を有効化できます。 |
||
− | |||
− | {{ic|i915}} モジュール ([[Kernel Mode Setting#Early KMS start]] を参照) を [[initramfs]] に追加している場合は、これらのオプションを代わりに {{ic|/etc/modprobe.d/}} 内のファイルで設定しなければなりません。例えば: |
||
{{hc|/etc/modprobe.d/i915.conf|2= |
{{hc|/etc/modprobe.d/i915.conf|2= |
||
88行目: | 96行目: | ||
}} |
}} |
||
+ | [[Initramfs を再生成する|Initramfs を再生成]] してください。次回の起動時に [[dmesg]] を使うことで GuC と HuC が両方有効化されていることを確認できます: |
||
− | そして、[[mkinitcpio#手動生成|initramfs を再ビルド]]してください。 |
||
− | |||
− | 次回の起動時に [[dmesg]] を使うことで GuC と HuC が両方有効化されていることを確認できます: |
||
{{hc|# dmesg|2= |
{{hc|# dmesg|2= |
||
127行目: | 133行目: | ||
== Xorg の設定 == |
== Xorg の設定 == |
||
+ | たいてい、[[Xorg]] を実行するために設定は特に必要ありません。 |
||
− | {{Note|以下は {{Pkg|xf86-video-intel}} が必要です。}} |
||
+ | しかし、ドライバのオプションを活用したい場合や、[[Xorg]] が起動しない場合などは、Xorg の設定ファイルを作成することができます。 |
||
− | [[Xorg]] を実行するのに設定は必要ないかもしれません。 |
||
+ | === modesetting ドライバを使う === |
||
− | しかし、[[Xorg]] が起動しない場合は、いくつかのドライバオプションを利用するために、以下のような Xorg 設定ファイルを作成することができます: |
||
+ | |||
+ | {{Pkg|xf86-video-intel}} をインストールしたが、DDX ドライバを優先させずに modesetting ドライバを明示的にロードさせたい場合 (DDX ドライバと modesetting ドライバを比較したい場合など) は、以下のような設定ファイルを使用できます: |
||
+ | |||
+ | {{hc|/etc/X11/xorg.conf.d/20-intel.conf| |
||
+ | Section "Device" |
||
+ | Identifier "Intel Graphics" |
||
+ | Driver "modesetting" |
||
+ | EndSection |
||
+ | }} |
||
+ | |||
+ | === Intel ドライバを使う === |
||
+ | |||
+ | {{Note|以下は {{Pkg|xf86-video-intel}} が必要です。}} |
||
+ | |||
+ | 以下のような Xorg 設定ファイルを作成してください: |
||
{{hc|/etc/X11/xorg.conf.d/20-intel.conf| |
{{hc|/etc/X11/xorg.conf.d/20-intel.conf| |
||
145行目: | 166行目: | ||
{{Note|上に挙げたものよりも多くの device セクションを追加する必要があるかもしれません。これは必要なところに表示されます。}} |
{{Note|上に挙げたものよりも多くの device セクションを追加する必要があるかもしれません。これは必要なところに表示されます。}} |
||
− | === AccelMethod === |
+ | ==== AccelMethod ==== |
設定ファイルを作成する際に、{{ic|Option "AccelMethod"}} を指定する必要がある場合があります。古典的なオプションは、{{ic|UXA}}、{{ic|SNA}} (デフォルト)、{{ic|BLT}} です。 |
設定ファイルを作成する際に、{{ic|Option "AccelMethod"}} を指定する必要がある場合があります。古典的なオプションは、{{ic|UXA}}、{{ic|SNA}} (デフォルト)、{{ic|BLT}} です。 |
||
155行目: | 176行目: | ||
{{man|4|intel|CONFIGURATION DETAILS}} の "AccelMethod" オプションをご覧ください。 |
{{man|4|intel|CONFIGURATION DETAILS}} の "AccelMethod" オプションをご覧ください。 |
||
+ | ==== 最近の GPU で Intel DDX ドライバを使用する ==== |
||
− | == モジュールベースオプション == |
||
+ | 第8世代 (Broadwell) からの Intel GPU では、Iris Mesa ドライバが必要です: |
||
− | {{ic|i915}} カーネルモジュールでは、[https://wiki.archlinux.jp/index.php/%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB#.E3.83.A2.E3.82.B8.E3.83.A5.E3.83.BC.E3.83.AB.E3.82.AA.E3.83.97.E3.82.B7.E3.83.A7.E3.83.B3.E3.82.92.E8.A8.AD.E5.AE.9A.E3.81.99.E3.82.8B モジュールオプション] を介して構成できます。一部のモジュールオプションは、省電力に影響を与えます。 |
||
+ | Option "DRI" "iris" |
||
− | 次のコマンドを使用して、すべてのオプションのリストと簡単な説明およびデフォルト値を生成できます。 |
||
+ | |||
+ | ==== TearFree、TripleBuffer、SwapbuffersWait を無効化する ==== |
||
+ | |||
+ | コンポジタを使用している場合 (GNOME、KDE Plasma、Xfce などの最近のデスクトップ環境ではデフォルトです)、通常、TearFree、TripleBuffer、SwapbuffersWait を無効化することでパフォーマンスを向上させ、電力消費量を削減することができます。 |
||
+ | |||
+ | Option "TearFree" "false" |
||
+ | Option "TripleBuffer" "false" |
||
+ | Option "SwapbuffersWait" "false" |
||
+ | |||
+ | == モジュールベースのオプション == |
||
+ | |||
+ | {{ic|i915}} カーネルモジュールにより、[[カーネルモジュール#モジュールオプションを設定する|モジュールオプション]] を介して設定できます。一部のモジュールオプションは、省電力に影響を与えます。 |
||
+ | |||
+ | 次のコマンドを使用して、すべてのオプションのリストと簡単な説明およびデフォルト値を生成できます: |
||
$ modinfo -p i915 |
$ modinfo -p i915 |
||
167行目: | 202行目: | ||
# systool -m i915 -av |
# systool -m i915 -av |
||
− | 多くのオプションのデフォルトは-1であるため、チップごとの省電力のデフォルトになります。ただし、[[カーネルモジュール# |
+ | 多くのオプションのデフォルトは-1であるため、チップごとの省電力のデフォルトになります。ただし、[[カーネルモジュール#モジュールオプションを設定する|モジュールオプション]] を使用して、より積極的な省電力を構成することも可能です。 |
− | {{ |
+ | {{Note|1=Linux 3.18 以降、これらのデフォルトから逸脱すると、カーネルが [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=fc9740cebc3ab7c65f3c5f6ce0caf3e4969013ca tainted] (汚染された) としてマークされます。これは基本的に、チップごとのデフォルト以外のオプションの使用は実験的なものと見なされ、開発者によってサポートされていないことを意味します。}} |
=== フレームバッファー圧縮 (enable_fbc) === |
=== フレームバッファー圧縮 (enable_fbc) === |
||
− | フレームバッファ |
+ | フレームバッファ圧縮 (FBC) は、スクリーンのリフレッシュ中の電力消費量とメモリの帯域幅の使用量を削減できる機能です。 |
+ | |||
+ | この機能は、ハードウェアによってサポートされている場合、自動的に有効化されます。以下のコマンドを実行することで、この機能が有効化されているかどうか確認できます: |
||
+ | |||
+ | {{hc|$ modinfo i915 {{!}} grep enable_fbc| |
||
+ | parm: enable_fbc:Enable frame buffer compression for power savings (default: -1 (use per-chip default)) (int) |
||
+ | }} |
||
− | + | parm が {{ic|-1}} に設定されている場合、何もする必要はありません。{{ic|-1}} でない場合、{{ic|1=i915.enable_fbc=1}} を[[カーネルパラメータ]]に追加するか、以下の内容で {{ic|/etc/modprobe.d/i915.conf}} を作成することで、FBC を強制的に有効化できます: |
|
{{hc|/etc/modprobe.d/i915.conf|2= |
{{hc|/etc/modprobe.d/i915.conf|2= |
||
181行目: | 222行目: | ||
}} |
}} |
||
− | {{Note|フレームバッファー圧縮は、Sandy Bridge(第6世代)より前の Intel GPU 世代では信頼できないか、使用できない場合があります。これにより、次のようなメッセージがシステムジャーナルに記録されます |
+ | {{Note|フレームバッファー圧縮は、Sandy Bridge(第6世代)より前の Intel GPU 世代では信頼できないか、使用できない場合があります。これにより、次のようなメッセージがシステムジャーナルに記録されます: |
− | + | kernel: drm: not enough stolen space for compressed buffer, disabling. |
|
Sandy Bridge 以前の CPU でフレームバッファー圧縮を有効にすると、次のようなエラーメッセージが表示されます。 |
Sandy Bridge 以前の CPU でフレームバッファー圧縮を有効にすると、次のようなエラーメッセージが表示されます。 |
||
− | {{hc| |
+ | {{hc|# dmesg| |
[ 2360.475430] [drm] not enough stolen space for compressed buffer (need 4325376 bytes), disabling |
[ 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 |
[ 2360.475437] [drm] hint: you may be able to increase stolen memory size in the BIOS to avoid this |
||
}} |
}} |
||
− | 解決策は、フレームバッファー圧縮を無効にすることです。これにより、消費電力がいつの間にか増加します(約0.06W)。無効にするには、カーネルラインパラメータに {{ic|1=i915.enable_fbc=0}} を追加します。無効化された圧縮の結果の詳細については、 |
+ | 解決策は、フレームバッファー圧縮を無効にすることです。これにより、消費電力がいつの間にか増加します(約0.06W)。無効にするには、カーネルラインパラメータに {{ic|1=i915.enable_fbc=0}} を追加します。無効化された圧縮の結果の詳細については、[https://web.archive.org/web/20200228230053/https://kernel.ubuntu.com/~cking/power-benchmarking/background-colour-and-framebuffer-compression/ こちら] を参照してください。}} |
=== Fastboot === |
=== Fastboot === |
||
+ | {{Note|1=Skylake およびそれ以降[https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=3d6535cbed4a4b029602ff83efb2adec7cb8d28b]、さらに Bay- と Cherry-Trail (VLV/CHV)[https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7360c9f6b857e22a48e545f4e99c79630994e932] では、Linux 5.1 からこのパラメータがデフォルトで有効化されています。[https://kernelnewbies.org/Linux_5.1#Graphics]}} |
||
− | Intel Fastboot の目標は、BIOS または [https://wiki.archlinux.jp/index.php/Arch_%E3%83%96%E3%83%BC%E3%83%88%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9#.E3.83.96.E3.83.BC.E3.83.88.E3.83.AD.E3.83.BC.E3.83.80.E3.83.BC ブートローダー] によってセットアップされたフレームバッファーを保持して、 [[Xorg]] が開始されるまでちらつきを回避することです [https://www.phoronix.com/scan.php?page=news_item&px=MTEwNzc] |
||
+ | Intel Fastboot の目標は、BIOS または [[ブートローダー]] によってセットアップされたフレームバッファーを保持して、 [[Xorg]] が開始されるまでちらつきを回避することです。[https://lists.freedesktop.org/archives/intel-gfx/2012-May/017653.html][https://www.phoronix.com/scan.php?page=news_item&px=MTEwNzc] |
||
− | fastboot を有効にするには、{{ic|1=i915.fastboot=1}} を [[カーネルパラメータ]] として設定するか、{{ic|/etc/modprobe.d/i915.conf}} に設定します。 |
||
+ | |||
+ | fastboot がデフォルトでないプラットフォーム上で fastboot を有効にするには、{{ic|1=i915.fastboot=1}} を [[カーネルパラメータ]] として設定するか、{{ic|/etc/modprobe.d/i915.conf}} に以下を設定します: |
||
{{hc|/etc/modprobe.d/i915.conf|2= |
{{hc|/etc/modprobe.d/i915.conf|2= |
||
204行目: | 247行目: | ||
}} |
}} |
||
+ | === Intel GVT-g グラフィック仮想化のサポート=== |
||
− | {{Warning|1=このパラメータはデフォルトでは有効になっておらず、一部の古い (Skylake以前の) システムで問題が発生する可能性があります。[https://www.phoronix.com/scan.php?page=news_item&px=Intel-Fastboot-Default-2019-Try]}} |
||
− | |||
− | === IntelGVT-gグラフィック仮想化のサポート=== |
||
− | |||
− | 詳細については、 [[Intel GVT-g]] を参照してください。 |
||
− | |||
− | === モジュールによる省電力設定 === |
||
− | |||
− | {{ic|i915}} カーネルモジュールは[[カーネルモジュール#モジュールオプションを設定する|モジュールオプション]]によって設定ができます。モジュールオプションの中には省電力機能に関係するものもあります。 |
||
− | |||
− | 次のコマンドを使うことで全てのオプションとその説明、デフォルト値のリストが出力されます: |
||
− | |||
− | $ modinfo -p i915 |
||
− | |||
− | 現在有効になっているオプションを確認するには、次を実行して下さい: |
||
− | |||
− | # systool -m i915 -av |
||
− | |||
− | 多くのオプションはデフォルトで -1 になっており、チップのデフォルトの省電力設定が使われます。ただし、[[カーネルモジュール#モジュールオプションを設定する|モジュールオプション]]を使うことでより強力な省電力設定をすることができます。 |
||
− | |||
− | {{Warning|1=Linux 3.18 から、デフォルト以外の設定をするとカーネルが [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=fc9740cebc3ab7c65f3c5f6ce0caf3e4969013ca tainted] になります。基本的に、デフォルト以外の設定オプションは実験的なものであり、開発者によるサポートはありません。}} |
||
− | |||
− | 安全に有効にすることができる一般的なオプションは以下のようになります: |
||
− | |||
− | {{hc|/etc/modprobe.d/i915.conf|<nowiki> |
||
− | options i915 enable_rc6=1 enable_fbc=1 semaphores=1 |
||
− | </nowiki>}} |
||
+ | 詳細については [[Intel GVT-g]] を参照してください。 |
||
− | === RC6 スリープモード (enable_rc6) === |
||
+ | === パフォーマンスサポートを有効化する === |
||
− | {{ic|enable_rc6}} には 1 よりも大きい値が設定できますが、使用している GPU がオプションをサポートしていなかったり他のオプションを有効にできるなくなる可能性があります [https://wiki.archlinux.org/index.php?title=Talk:Intel_Graphics&oldid=327547#Kernel_Module_options]。 |
||
+ | 第6世代から (Sandy Bridge およびそれ以降) Intel GPU は、内部のパフォーマンスデータをドライバに公開するために使用されるパフォーマンスカウンタを提供しています。ドライバとハードウェアレジスタではこのインフラを ''Observation Architecture'' (内部的には "OA") と呼んでいますが [https://www.phoronix.com/scan.php?page=news_item&px=Intel-HSW-Observation-Arch]、Intel のドキュメントではこの機能をより一般的に ''Observability Performance Counters'' を提供するものとしています [https://01.org/sites/default/files/documentation/observability_performance_counters_haswell.pdf] [https://01.org/sites/default/files/documentation/intel-gfx-prm-osrc-skl-vol14-observability.pdf]。 |
||
− | {{ic|enable_rc6}} に設定できる値は 1 (RC6), 2 (RC6p), 4 (RC6pp) のビットマスクです [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/i915/intel_pm.c#n34]。"RC6p" や "RC6pp" は電力消費がより少ないステートになります。 |
||
+ | デフォルトでは、[https://lwn.net/Articles/486306/ CAP_SYS_ADMIN] (root と等価です) や [https://lwn.net/Articles/812719/ CAP_PERFMON] [[ケイパビリティ]]で実行されているプログラムのみが observation architecture を利用できます [https://github.com/torvalds/linux/blob/b14ffae378aa1db993e62b01392e70d1e585fb23/drivers/gpu/drm/i915/i915_perf.c#L267] [https://github.com/torvalds/linux/blob/b14ffae378aa1db993e62b01392e70d1e585fb23/drivers/gpu/drm/i915/i915_perf.c#L3481-L3484]。ほとんどのアプリケーションはこれらのケイパビリティを持たずに実行されるため、以下の警告が出力されます: |
||
− | 現在の RC6 レベルを確認するには、sysfs を見てください: |
||
+ | MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0 |
||
− | # cat /sys/class/drm/card0/power/rc6_enable |
||
+ | これらのケイパビリティ (または root) を使わずにパフォーマンスサポートを有効化するには、[[sysctl]] で説明されているように、(上記の警告で示されている) カーネルパラメータを設定してください。 |
||
− | 出力された数字が低い場合、おそらく他の RC6 レベルがサポートされていません。{{ic|1=drm.debug=0xe}} を使うことで DRM のデバッグ情報をカーネルログに追加することができます: |
||
+ | {{Warning|アプリケーションにパフォーマンスデータへのアクセスを許してしまうなどのリスクが存在するため、{{ic|perf_event_paranoid}} ファミリのオプションには制限的なデフォルトが存在します [https://docs.kernel.org/admin-guide/perf-security.html]。とはいえ、{{ic|dev.i915.perf_stream_paranoid}} は GPU パフォーマンスカウンタへのアクセスにしか影響せず、CPU アーキテクチャ実行コンテキストレジスタなどと比べれば低リスクです。}} |
||
− | [drm:sanitize_rc6_option] Adjusting RC6 mask to 1 (requested 7, valid 1) |
||
== ヒントとテクニック == |
== ヒントとテクニック == |
||
273行目: | 290行目: | ||
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 ビデオの再生が可能です。 |
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 ビデオの再生が可能です。 |
||
− | |||
− | === 古い OpenGL ドライバ (i965) === |
||
− | |||
− | Mesa 20.0 では、新しい OpenGL ドライバ "Iris" が第8世代以上でデフォルトとなりました。一部のアプリケーションはこのドライバによりより高速に動作します。{{ic|1=MESA_LOADER_DRIVER_OVERRIDE=i965}} [[環境変数]]を OpenGL アプリケーションの起動前に設定することで、Iris を無効化し、古い i965 ドライバに戻すことができます。この設定は Vulkan アプリケーションには影響しません。 |
||
− | |||
− | {{Note|1=Iris ドライバに関するバグやリグレッションは[https://gitlab.freedesktop.org/mesa/mesa/issues ここ]に報告してください。}} |
||
=== 報告される OpenGL のバージョンを上書き === |
=== 報告される OpenGL のバージョンを上書き === |
||
297行目: | 308行目: | ||
== トラブルシューティング == |
== トラブルシューティング == |
||
− | === |
+ | === ティアリング === |
+ | ==== Intel ドライバを使う ==== |
||
− | {{Note|{{ic|glxgears}} は複数のシステム間でのパフォーマンスを比較するためのベンチマークではありません。}} |
||
+ | SNA アクセラレーションメソッドを取っている場合、一部のマシン上でティアリングが発生します。これを修正するには、以下の行を[[#Xorg の設定|設定ファイル]]に追加して {{Pkg|xf86-video-intel}} ドライバの {{ic|TearFree}} オプションを有効化してください: |
||
− | グラフィックパフォーマンスを調べるために {{ic|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 |
||
− | [...] |
||
− | |||
− | これはパフォーマンスの欠落によるものではありません。ディスプレイのリフレッシュレートにあわせて、[[Wikipedia:Analog television#Vertical synchronization|垂直同期]]を行なっているためです。 |
||
− | |||
− | 環境変数 {{ic|1=vblank_mode=0}} を付けることで垂直同期を無効にして {{ic|glxgears}} を実行できます: |
||
− | |||
− | $ vblank_mode=0 glxgears |
||
− | |||
− | === DRI3 の問題 === |
||
− | |||
− | {{Pkg|xf86-video-intel}} ではデフォルトで ''DRI3'' が使われます。一部の環境では DRI3 によって問題が発生することがあります [https://bugs.chromium.org/p/chromium/issues/detail?id=370022]。''DRI2'' を使うには[[#設定|設定ファイル]]に以下の行を追加してください: |
||
− | Option "DRI" "2" |
||
− | |||
− | {{ic|modesetting}} ドライバーでは上記の方法では DRI3 を無効化することはできません。代わりに {{ic|1=LIBGL_DRI3_DISABLE=1}} 環境変数を設定してください。 |
||
− | |||
− | === GTK+ アプリケーションでフォントや画面の表示がおかしい (サスペンド・復帰後に文字が表示されない) === |
||
− | |||
− | GTK+ アプリケーションでフォントの文字が表示されなくなってしまう場合、以下の方法で直る可能性があります。{{ic|/etc/environment}} を[[ヘルプ:読み方#追加, 作成, 編集 そして source|編集]]して以下の行を追加してください: |
||
− | |||
− | {{hc|/etc/environment|output= |
||
− | COGL_ATLAS_DEFAULT_BLIT_MODE=framebuffer |
||
− | }} |
||
− | |||
− | 詳しくは [https://bugs.freedesktop.org/show_bug.cgi?id=88584 FreeDesktop bug 88584] を参照。 |
||
− | |||
− | === 起動中 "Loading modules" するときに画面がブラックアウトする === |
||
− | |||
− | KMS の"遅いスタート"を使っているとき "Loading modules" で画面がブラックアウトする場合、initramfs に {{ic|i915}} と {{ic|intel_agp}} を加えると解決するかもしれません。[[#KMS (Kernel Mode Setting)|上記の]] KMS セクションを見て下さい。 |
||
− | |||
− | または、次の[[カーネルパラメータ]]を加えるとうまく動くかもしれません: |
||
− | |||
− | video=SVIDEO-1:d |
||
− | |||
− | VGA に出力する必要があるときは次を使ってみて下さい: |
||
− | |||
− | video=VGA-1:1280x800 |
||
− | |||
− | === ティアリングの解消 === |
||
− | |||
− | SNA アクセラレーションメソッドを使っている場合、ティアリングが発生することがあります。これを解消するには、ドライバーの {{ic|"TearFree"}} オプションを有効にしてください: |
||
{{hc|/etc/X11/xorg.conf.d/20-intel.conf| |
{{hc|/etc/X11/xorg.conf.d/20-intel.conf| |
||
Section "Device" |
Section "Device" |
||
− | + | Identifier "Intel Graphics" |
|
− | + | Driver "intel" |
|
− | + | Option "TearFree" "true" |
|
EndSection}} |
EndSection}} |
||
− | 詳 |
+ | 詳細は[https://bugs.freedesktop.org/show_bug.cgi?id=37686 元のバグレポート]を見てください。 |
− | {{Note| |
+ | {{Note|1=<nowiki/> |
− | * {{ic|SwapbuffersWait}} が {{ic|false}} のとき |
+ | * このオプションは、{{ic|SwapbuffersWait}} が {{ic|false}} のときに動作しない場合があります。 |
− | * オプション |
+ | * このオプションはメモリアロケーションを増加させ、パフォーマンスが低下する場合があります。[https://bugs.freedesktop.org/show_bug.cgi?id=37686#c123] |
− | * このオプション |
+ | * このオプションは、vsync のタイミングに厳しいアプリケーション (例えば、[[Wikipedia:Super Meat Boy|Super Meat Boy]]) において問題が発生する場合があります。 |
− | * このオプションは |
+ | * このオプションはUXA アクセラレーションメソッドでは動作しません。SNA でしか使えません。 |
+ | * Intel UHD 620 または 430 では、{{ic|TearFree}} を動作させるために {{ic|Option "TripleBuffer" "true"}} を追加する必要があります。 |
||
}} |
}} |
||
− | === |
+ | ==== modesetting ドライバを使う ==== |
+ | 最近、TearFree サポートが modesetting ドライバに[https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1006 追加されました] [https://www.phoronix.com/news/xf86-video-modesetting-TearFree][https://www.phoronix.com/news/Modesetting-TearFree-Merged]。2023年11月の時点では、このパッチはまだ安定化されていません。なので、安定化されるまで {{AUR|xorg-server-git}} を使用する必要があります。 |
||
− | X のクラッシュや GPU のハングアップ、X のフリーズなどが起こる場合、{{ic|NoAccel}} オプションを使って GPU の使用を無効にすることで修復できます: |
||
{{hc|/etc/X11/xorg.conf.d/20-intel.conf| |
{{hc|/etc/X11/xorg.conf.d/20-intel.conf| |
||
Section "Device" |
Section "Device" |
||
− | + | Identifier "Intel Graphics" |
|
− | + | Driver "modesetting" |
|
− | + | Option "TearFree" "true" |
|
EndSection}} |
EndSection}} |
||
+ | === 垂直同期 (VSYNC) を無効化する === |
||
− | または、{{ic|DRI}} オプションを使って 3D アクセラレーションだけを無効にすることもできます: |
||
− | {{hc|/etc/X11/xorg.conf.d/20-intel.conf| |
||
− | Section "Device" |
||
− | Identifier "Intel Graphics" |
||
− | Driver "intel" |
||
− | Option "DRI" "False" |
||
− | EndSection}} |
||
+ | 以下のような場合に便利です: |
||
− | 設定ファイルに以下のオプションを使うとクラッシュする場合は: |
||
+ | * Chromium/Chrome が、GPU のせいでラグくパフォーマンスが悪く、--disable-gpu スイッチを使うとスムーズに動作する場合。 |
||
− | Option "TearFree" "true" |
||
+ | * glxgears テストが期待するほどのパフォーマンスを発揮してくれない場合。 |
||
− | Option "AccelMethod" "sna" |
||
+ | intel ドライバは垂直同期に [https://www.intel.com/support/graphics/sb/CS-004527.htm Triple Buffering] を使用します。これは、完全なパフォーマンスとティアリングの回避を可能にします。垂直同期をオフにするには (例えば、ベンチマークのために)、以下の {{ic|.drirc}} をホームディレクトリ内に追加してください: |
||
− | ブートパラメータに次を追加すると修正できます: |
||
+ | {{hc|~/.drirc|2= |
||
− | i915.semaphores=1 |
||
+ | <device screen="0" driver="dri2"> |
||
+ | <application name="Default"> |
||
+ | <option name="vblank_mode" value="0"/> |
||
+ | </application> |
||
+ | </device> |
||
+ | }} |
||
+ | {{Note|このファイルを作成するために {{AUR|driconf}} を使用しないでください。このツールにはバグがあり、間違ったドライバを設定してしまいます。}} |
||
− | カーネル 4.0.x 以上で Baytrail アーキテクチャを利用している場合にシステムが何度もフリーズする (特に動画を見たり GFX を集中使用したときに発生する) ようなときは、以下のカーネルオプションを追加することで解決します。詳しくは [https://bugzilla.kernel.org/show_bug.cgi?id=109051 こちら] を参照してください。 |
||
+ | === DRI3 の問題 === |
||
− | intel_idle.max_cstate=1 |
||
+ | {{Pkg|xf86-video-intel}} では DIR バージョンのデフォルトは ''DRI3'' です。一部の環境では DRI3 によって問題が発生することがあります [https://bugs.chromium.org/p/chromium/issues/detail?id=370022]。''DRI2'' を使うには[[#Xorg の設定|設定ファイル]]に以下の行を追加してください: |
||
− | === 認識されない解像度を追加する === |
||
+ | Option "DRI" "2" |
||
− | この問題については [[Xrandr#検出されない解像度を追加する|Xrandr のページ]]を参照してください。 |
||
+ | {{ic|modesetting}} ドライバーでは上記の方法で DRI3 を無効化することはできません。代わりに {{ic|1=LIBGL_DRI3_DISABLE=1}} 環境変数を設定してください。 |
||
− | === libGL 9 と Intel-DRI 9 にアップグレードすると遅くなる === |
||
+ | === GTK アプリケーションでフォントや画面の表示がおかしい (サスペンド・復帰後に文字が表示されない) === |
||
− | Intel-DRI 8 と libGL 8 に[[ダウングレード]]してください。 |
||
+ | GTK アプリケーションでフォントの文字が表示されなくなってしまう場合、以下の方法で直る可能性があります。{{ic|/etc/environment}} を[[編集]]して以下の行を追加してください: |
||
− | === ビデオゲームでテクスチャが真っ黒 === |
||
+ | {{hc|/etc/environment|output= |
||
− | ビデオゲームでテクスチャが黒くなる場合、S3TC テクスチャコンプレッションのサポートを有効にすることで解決できます。{{AUR|driconf}} を使って有効にするか、 {{AUR|libtxc_dxtn}} をインストールしてください。 |
||
+ | COGL_ATLAS_DEFAULT_BLIT_MODE=framebuffer |
||
+ | }} |
||
+ | [https://bugs.freedesktop.org/show_bug.cgi?id=88584 FreeDesktop bug 88584] も参照。 |
||
− | この"問題"は[https://www.phoronix.com/scan.php?page=news_item&px=MTIwOTg 新しいドライバ]で修正される予定です。 |
||
+ | === 起動中 "Loading modules" するときに画面がブラックアウトする === |
||
− | S3TC についての詳しい情報は: |
||
− | http://dri.freedesktop.org/wiki/S3TC |
||
− | http://ja.wikipedia.org/wiki/DXTC |
||
+ | "late start" KMS を使っているとき "Loading modules" で画面がブラックアウトする場合、initramfs に i915 と intel_agp を加えると解決するかもしれません。[[カーネルモード設定#KMS の早期開始]]を見てください。 |
||
− | この問題が起こるゲームのひとつは [https://www.phoronix.com/scan.php?page=article&item=unigine_oilrush_gold&num=2 Oil Rush] です。 |
||
+ | または、次の[[カーネルパラメータ]]を加えるとうまく動くかもしれません: |
||
− | === 復帰後、バックライトが一部調整できない、もしくは全く調整できない === |
||
+ | video=SVIDEO-1:d |
||
− | Intel graphics を使っていて製造者によるホットキーで画面の明るさを変えられない場合、次のカーネルパラメータを使って起動してみて下さい: |
||
− | |||
− | acpi_backlight=vendor |
||
+ | VGA に出力する必要があるときは次を使ってみて下さい: |
||
− | これで問題が解決されない場合、上のパラメータに加えて: |
||
+ | video=VGA-1:1280x800 |
||
− | acpi_osi=Linux |
||
+ | === Intel ドライバで X がフリーズ/クラッシュする === |
||
− | または: |
||
+ | X のクラッシュを伴う問題、GPU のハングアップ、X のフリーズに関する問題は、{{ic|NoAccel}} オプションを使って GPU の使用を無効化することで修復できる場合があります。以下の行を[[#Xorg の設定|設定ファイル]]に追加してください: |
||
− | acpi_osi="!Windows 2012" |
||
+ | Option "NoAccel" "True" |
||
− | または: |
||
+ | あるいは、{{ic|DRI}} オプションを使って 3D アクセラレーションだけを無効化してみてください: |
||
− | acpi_osi= |
||
+ | Option "DRI" "False" |
||
− | を使うことで解決できるかもしれません。 |
||
+ | === 認識されない解像度を追加する === |
||
− | また、カーネルバージョン 3.13 から、ユーザーによっては効果があるカーネルコマンドラインのパラメータがあります: |
||
− | video.use_native_backlight=1 |
||
+ | この問題は、[[Xrandr#検出されない解像度を追加する|Xrandr のページ]] で扱っています。 |
||
− | 上記のどの方法を使っても問題が解決されない場合、以下の内容で {{ic|/etc/X11/xorg.conf.d/20-intel.conf}} を編集・作成してください: |
||
+ | === バックライトを調整できない === |
||
− | {{hc|/etc/X11/xorg.conf.d/20-intel.conf| |
||
− | Section "Device" |
||
− | Identifier "card0" |
||
− | Driver "intel" |
||
− | Option "Backlight" "intel_backlight" |
||
− | BusID "PCI:0:2:0" |
||
+ | サスペンドから復帰したあとにホットキーを使用してスクリーンの輝度を変更できない場合、[[バックライト]]の記事を見てあなたの設定ファイルをチェックしてみてください。 |
||
− | EndSection}} |
||
+ | 問題が解消されない場合は、以下の[[カーネルパラメータ]]のうち1つを試してください: |
||
− | === フレームバッファ圧縮の無効化 === |
||
+ | acpi_osi=Linux |
||
− | Intel Corporation Mobile 4 シリーズのチップセットなど、Sandy Bridge 以前のカードでフレームバッファ圧縮を有効にするとエラーメッセージが延々と表示されます: |
||
+ | acpi_osi="!Windows 2012" |
||
+ | acpi_osi= |
||
+ | また、fastboot モード ({{ic|i915.fastboot}} カーネルパラメータ) を使用していないことを確認してください。これは、バックライト制御を破壊することが[https://www.phoronix.com/forums/forum/software/mobile-linux/1066447-arch-linux-users-with-intel-graphics-can-begin-enjoying-a-flicker-free-boot 知られています]。 |
||
− | $ 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 |
||
+ | === Chromium や Firefox の表示がおかしい/応答しない === |
||
− | 解決方法はフレームバッファ圧縮を無効化することで、これによって少しだけ電力消費が増えます。無効化するには {{ic|i915.enable_fbc=0}} をカーネルラインパラメータに追加してください。圧縮の無効化による効果については [http://zinc.canonical.com/~cking/power-benchmarking/background-colour-and-framebuffer-compression/results.txt ここ] に詳しい情報が載っています。 |
||
− | + | Chromium や Firefox で表示の乱れ、応答なし、ラグ、低パフォーマンスが発生する場合、以下のような解決策があります。 |
|
+ | * [[#AccelMethod|AccelMethod を "uxa" に設定する]] |
||
− | Chromium や Firefox の表示がおかしくなったり、反応しなくなる場合は[[#アクセラレーションメソッドの選択|アクセラレーションメソッド]]を "uxa" に設定してみてください。 |
||
+ | * [[#垂直同期 (VSYNC) を無効化する|VSYNC を無効化する]] |
||
− | |||
+ | * [[#ティアリング|TearFree オプションを有効化する]] |
||
− | === TTY を切り替えた時に垂直同期がされなくなる === |
||
+ | * "DRI" とアクセラレーションのメソッドを無効にする (Intel Iris 第10世代でテスト済み): {{bc|<nowiki> |
||
− | |||
+ | Option "NoAccel" "True" |
||
− | カーネル 3.19.3 以降にはリグレッションが存在し (古いカーネルにも存在する可能性あり)、Broadwell のマシンで TTY を切り替えると垂直同期が消失します [https://bugzilla.kernel.org/show_bug.cgi?id=95741]。修正するには、カーネルコマンドラインに {{ic|<nowiki>i915.enable_ips=0</nowiki>}} を追加するか、カーネル 4.1 を使っている場合、[https://cgit.freedesktop.org/drm-intel/commit/?id=184e4c49484501f3061ae9b267af818c6894fea9 こちら] のパッチを使ってカーネルを再ビルドします。メインラインカーネルには 4.2-rc1 で修正が入っています。 |
||
+ | Option "DRI" "False" |
||
− | |||
+ | </nowiki>}} |
||
− | === ビデオやウェブカメラの出力にピンクと緑のゴミが入る === |
||
− | |||
− | Broadwell のマシンで ''xv''出力や Intel Textured Video を使用するアプリケーション (Skype や VLC) を使うと、ビデオストリームにピンクと緑の乱れが入ることがあります。これは Broadwell のビデオの問題で、上流では2015年4月16日に修正されています [https://bugs.freedesktop.org/show_bug.cgi?id=89807]。{{pkg|xf86-video-intel}} をアップデートすると修正されます。 |
||
=== Broadwell/Core-M チップでカーネル 4.0 以上を使っている場合にクラッシュする === |
=== Broadwell/Core-M チップでカーネル 4.0 以上を使っている場合にクラッシュする === |
||
− | X/Wayland がロードされた数秒 |
+ | 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: BUG: unable to handle kernel NULL pointer dereference at (null) |
||
498行目: | 455行目: | ||
Jun 16 17:54:03 hostname kernel: RIP [< (null)>] (null) |
Jun 16 17:54:03 hostname kernel: RIP [< (null)>] (null) |
||
− | この問題は execlist のサポート (カーネル 4.0 からデフォルトに変更されました) を無効化することで解決します。以下の[[カーネルパラメータ]]を追加してください: |
+ | この問題は execlist のサポート (カーネル 4.0 からデフォルトに変更されました) を無効化することで解決します。以下の[[カーネルパラメータ]]を追加してください: |
+ | |||
i915.enable_execlists=0 |
i915.enable_execlists=0 |
||
+ | これは、カーネル 4.0.5 以上で壊れていることが知られています。 |
||
− | ===Skylake サポート=== |
||
+ | === Windows をゲストとした場合にラグが発生する === |
||
− | i915 DRM ドライバーは様々な GPU のハングアップやクラッシュ、あるいはシステムの完全なフリーズを引き起こすことが知られています。問題を回避するにはハードウェアアクセラレーションを無効化する必要があるかもしれません。解決方法として以下の Xorg 設定を使う方法があります: |
||
+ | VirtualBox でホスト側から(マウスカーソルを動かすなどして)画面を更新しないと Windows ゲストのビデオ出力が止まってしまうことがあります。{{ic|1=enable_fbc=1}} オプションを削除すれば問題は解決します。 |
||
− | {{hc|/etc/X11/xorg.conf.d/20-intel.conf| |
||
+ | |||
− | Section "Device" |
||
+ | === 画面がちらつく === |
||
− | Identifier "Intel Graphics" |
||
+ | |||
− | Driver "intel" |
||
+ | Intel iGPU で使用される省電力機能 Panel Self Refresh (PSR) は、一部の例でちらつきを発生させることが知られています {{Bug|49628}} {{Bug|49371}} {{Bug|50605}}。一時的な解決策は、[[カーネルパラメータ]] {{ic|1=i915.enable_psr=0}} を使ってこの機能を無効化することです。 |
||
− | Option "DRI" "false" |
||
+ | |||
− | EndSection |
||
+ | === i915 ドライバで OpenGL 2.1 === |
||
+ | |||
+ | {{Pkg|mesa-amber}} パッケージに含まれる第3世代 GPU 用の 古い mesa ドライバは、デフォルトでは OpenGL 2.0 が利用可能であると報告します。これは、対象のハードウェアが OpenGL 2.1 とは完全に互換性がないことが原因です。[https://www.phoronix.com/scan.php?page=news_item&px=Mesa-i915-OpenGL-2-Drop] OpenGL 2.1 のサポートは、{{ic|/etc/drirc}} または {{ic|~/.drirc}} で以下のようなオプションを設定することにより、手動で有効化することができます: |
||
+ | |||
+ | {{hc|/etc/drirc|output= |
||
+ | <driconf> |
||
+ | ... |
||
+ | <device driver="i915"> |
||
+ | <application name="Default"> |
||
+ | <option name="'''stub_occlusion_query'''" value="'''true'''" /> |
||
+ | <option name="'''fragment_shader'''" value="'''true'''" /> |
||
+ | </application> |
||
+ | </device> |
||
+ | ... |
||
+ | </driconf> |
||
}} |
}} |
||
+ | {{Note| |
||
− | もしくは、Chromium や Firefox ブラウザなどアプリケーションごとにハードウェアレンダリングを無効化するように直接設定することも可能です。 |
||
+ | * OpenGL のバージョンが戻ってしまう理由は、Chromium と他のアプリケーションでエクスペリエンスが悪化するためでした。必要であれば、drirc ファイルを編集して特定のアプリケーションに対して OpenGL 2.1 を {{ic|chromium}} 実行ファイルなどで無効化することもできます ([https://dri.freedesktop.org/wiki/ConfigurationInfrastructure/ 参照])。 |
||
+ | * {{Pkg|mesa}} パッケージに含まれる新しい Gallium ベースの i915 ドライバは、常に OpenGL 2.1 が利用可能であると報告します。なので、このドライバに対しては上記の設定は不要です。 |
||
+ | }} |
||
+ | === KMS の問題: コンソールが小さい領域に制限される === |
||
− | {{ic|1=i915.enable_rc6=0}} カーネルブートパラメータを追加することで問題が解決すると報告しているユーザーもいます。このパラメータを使用すると CPU/GPU のハイパワーモードが解除されなくなりますが、GPU のハングアップやシステムのフリーズが解消するようです。 |
||
+ | 低解像度のビデオポートの1つが起動時に有効になっていて、そのせいでターミナルがスクリーンの小さい領域を使っているのかもしれません。修正するには、ブートローダーでカーネルコマンドラインパラメータの {{ic|1=video=SVIDEO-1:d}} を使って i915 モジュールの設定でそのポートを明示的に無効化してください。詳細は [[カーネルパラメータ]] を見てください。 |
||
− | {{Note|"Loading Initial Ramdisk" の後にシステムがフリーズする場合、BIOS で IGD aperture size が 4GB よりも小さくなっていることを確認してください。}} |
||
+ | これでうまく行かない場合、SVIDEO-1 ではなく TV1 か VGA1 を無効化してみてください。ビデオポートの名前は [[xrandr]] でリストアップできます。 |
||
− | === Windows をゲストとした場合にラグが発生する === |
||
+ | === Haswell CPU で HDMI 経由で音声が出ない === |
||
− | VirtualBox でホスト側から(マウスカーソルを動かすなどして)画面を更新しないと Windows ゲストのビデオ出力が止まってしまうことがあります。{{ic|1=enable_fbc=1}} オプションを削除すれば問題は解決します。 |
||
+ | [https://bugzilla.kernel.org/show_bug.cgi?id=60769 Linux カーネルの issue] によると、{{ic|1=intel_iommu=on}} を設定している場合には HDMI から音声が出力されないそうです。この問題を修正するには、以下の[[カーネルパラメータ]]を設定してください: |
||
− | === 画面がちらつく === |
||
+ | intel_iommu=on,igfx_off |
||
− | Intel の iGPU によって使われている省電力機能の中にはちらつきを発生させるものがあります。適切な[[カーネルパラメータ]]オプションを使って無効化することで解決できます: |
||
+ | あるいは、IOMMU を無効化してください: |
||
− | *Rc6 スリープモード ([[#RC6 スリープモード (enable_rc6)]] を参照) は {{ic|1=i915.enable_rc6=0}} で無効化できます。 |
||
+ | intel_iommu=off |
||
− | *カーネルのバージョン 4.6 からパネルセルフリフレッシュ (PSR) はデフォルトで有効になります ({{Bug|49628}} {{Bug|49371}} {{Bug|50605}})。無効化するには {{ic|1=i915.enable_psr=0}} オプションを使ってください。 |
||
+ | === 低消費電力 Intel CPU でクラッシュ/フリーズ === |
||
− | === 色が風化する (色空間の問題) === |
||
+ | 低消費電力 Intel プロセッサやノート PC プロセッサは、低消費電力 Intel チップで使用されている電源管理機能に関する問題によりランダムにハングアップ/クラッシュする傾向にあります。そのようなクラッシュが発生する場合、この問題を報告するログは見られないでしょう。以下の[[カーネルパラメータ]]を追加することで、この問題を解決できるかもしれません。 |
||
− | {{Note|この問題はカーネル 3.9 の変更に起因しています [https://lists.freedesktop.org/archives/dri-devel/2013-January/033576.html]。カーネル 4.1 でもこの問題は存在します。}} |
||
− | カーネル 3.9 には Intel ドライバーで簡単に RGB リミテッドレンジの設定ができる変更が含まれており、場合によってはこの変更によって色がおかしくなることがあります。"Broadcast RGB" プロパティの新しい "Automatic" モードに関係しています。 |
||
+ | {{Note|以下のカーネルパラメータを3つすべて一緒に使用することは推奨されません。}} |
||
− | {{ic|xrandr --output <HDMI> --set "Broadcast RGB" "Full"}} ({{ic|<HDMI>}} は適切な出力デバイスに置き換えてください、{{ic|xrandr}} を実行することで確認できます) のようにしてモードを強制することが可能です。これを {{ic |.xprofile}} に追加して、グラフィカルモードが始まる前にコマンドが実行できるように実行可能属性を付けて下さい。 |
||
+ | intel_idle.max_cstate=1 i915.enable_dc=0 ahci.mobile_lpm_policy=1 |
||
− | {{Note|TV によっては 16-255 の色しか表示できないため Full に設定すると 0-15 の領域の色が失われます。従って、カラースペースを TV に合わせて圧縮する必要があるかどうか自動的に検知する Automatic のままにしてください。}} |
||
+ | {{ic|1=ahci.mobile_lpm_policy=1}} は、いくつかの Lenovo ノート PC や一部の Acer ノートブックにおける、SATA コントローラーの問題のある電源管理に起因するハングアップを修正します。この回避策は Intel Graphics と厳密には関連していませんが、関連する問題を解決します。このカーネルパラメータを追加すると、''l''ink ''p''ower ''m''anagement をファームウェアのデフォルトから最大パフォーマンスに変更し、特定の Lenovo マシンでディスプレイ輝度を変更した際にハングする問題を解決しますが、modern ultrabook でアイドル時の電力消費量が 1~1.5W 増加します。詳細 (特に他の状態に関するもの) については、[https://lore.kernel.org/lkml/20171211165216.5604-1-hdegoede@redhat.com/ Linux カーネルメーリングリスト]や [https://access.redhat.com/documentation/en-en/red_hat_enterprise_linux/6/html/power_management_guide/alpm Red Hat ドキュメント]を見てください。 |
||
− | また、GPU のレジスタを編集することで修正できる他の関連する問題も存在します。詳しくは [https://lists.freedesktop.org/archives/intel-gfx/2012-April/016217.html] や [https://github.com/OpenELEC/OpenELEC.tv/commit/09109e9259eb051f34f771929b6a02635806404c] を見て下さい。 |
||
+ | |||
+ | {{ic|1=i915.enable_dc=0}} は、GPU の電源管理を無効化します。これは、特定の Intel システム (特に、Goldmount と Kaby Lake Refresh チップ) におけるランダムなハングを解決します。このパラメータを使用すると、電力消費量が増え、ノート PC/notebook のバッテリー寿命が短くなります。 |
||
+ | |||
+ | {{ic|1=intel_idle.max_cstate=1}} は、プロセッサのスリープ状態を制限し、プロセッサがディープスリープ状態に移行するのを防ぎます。これは絶対に理想的ではなく、電力消費量の増加とバッテリーの短命化を招きます。しかし、多くの Intel システムでランダムなハングを解決します。Intel Baytrail や Kaby Lake Refresh チップを使用している場合は、このパラメータを使用してください。Intel "Baytrail" チップは、このカーネルパラメータを使用しないと、[https://bugzilla.kernel.org/show_bug.cgi?id=109051#c752 ファームウェアの欠陥]によりランダムにハングしてしまうことが知られていましたが、理論的には [https://cgit.freedesktop.org/drm-intel/commit/?id=a75d035fedbdecf83f86767aa2e4d05c8c4ffd95 2019-04-26] に修正されました。 |
||
+ | max_cstate パラメータに関する詳細は[https://docs.kernel.org/admin-guide/pm/intel_idle.html#kernel-command-line-options-and-module-parameters カーネルドキュメント]で、cstate に関する一般的な情報は [https://gist.github.com/wmealing/2dd2b543c4d3cff6cab7 GitHub 上の記事]で見られます。 |
||
+ | |||
+ | 頻繁にハングする問題を解決するために {{ic|1=intel_idle.max_cstate=1 i915.enable_dc=0 ahci.mobile_lpm_policy=1}} を追加して問題が解決した場合は、その後パラメータを一つずつ取り除いて、どのパラメータが実際に問題の解決になっているかを確かめるべきです。実際の問題が SATA の電源管理に関係していて、問題を実際に解決するパラメータが {{ic|1=ahci.mobile_lpm_policy=1}} である場合、cstate やディスプレイの電源管理が無効化されている状態でマシンを走らせることは推奨されていません。 |
||
+ | |||
+ | 詳細は [https://linuxreviews.org/Intel_graphics#Kernel_Parameters Linux Reviews] を見てください。 |
||
+ | |||
+ | === 165Hz モニタのサポートを追加する === |
||
+ | |||
+ | 一部の 165Hz モニタで、''xrandr'' が 165Hz のオプションを表示しない場合があり、さらに [[#認識されない解像度を追加する]] の方法ではこれを解決できません。この場合、[https://unix.stackexchange.com/questions/680356/i915-driver-stuck-at-40hz-on-165hz-screen i915-driver-stuck-at-40hz-on-165hz-screen] を見てください。 |
||
+ | |||
+ | {{Note|{{ic|/etc/initramfs-tools/hooks/edid}} を作成する以外にも、[[mkinitcpio]] フックを作成する必要があります: |
||
+ | |||
+ | {{hc|/etc/initcpio/install/edid| |
||
+ | #!/bin/bash |
||
+ | |||
+ | build() { |
||
+ | add_file /lib/firmware/edid/edid.bin |
||
+ | } |
||
+ | |||
+ | help() { |
||
+ | cat <<HELPEOF |
||
+ | This hook add support for 165Hz |
||
+ | HELPEOF |
||
+ | } |
||
+ | }} |
||
+ | |||
+ | そして、{{ic|/etc/mkinitcpio.conf}} の HOOKS 配列に ''edid'' を末尾に追加してください。以下のように: |
||
+ | |||
+ | {{hc|/etc/mkinitcpio.conf|2= |
||
+ | HOOKS=(... fsck edid) |
||
+ | }} |
||
+ | |||
+ | そして、[[Initramfs を再生成する|initramfs を再生成]]してください。 |
||
+ | }} |
||
+ | |||
+ | === Alder Lake-P 上でスリープ/サスペンドから復帰するとフリーズする === |
||
+ | |||
+ | {{Out of date|[https://patchwork.freedesktop.org/patch/543021/ このコミット]の段階で、以下のパッチはもはや適用されません。([[:en:Talk:Intel graphics#Freeze after wake from sleep/suspend with Alder Lake-P]])}} |
||
+ | |||
+ | {{Note|2022年9月25日現在、これは [[fwupd]] からの最近のファームウェアアップデートで修正されました。BIOS の修正がない場合は、[https://gitlab.freedesktop.org/drm/intel/-/issues/7402 今後のカーネルの修正]があるかもしれません。 |
||
+ | }} |
||
+ | |||
+ | Alder Lake-P 第12世代モバイルプロセッサの様々なベンダーのノート PC で、サスペンドから復帰した後にフリーズしたり黒画面になったりします。これは、多くのラップトップのベンダーが不正な VBT (Video BIOS Table) を同梱しており、iGPU に接続されている実際のポートが間違って記述されているからです。多くのベンダーが、正しく動作している Windows OS が搭載されているノート PC のための BIOS アップデートをリリースしないことを鑑みると、Linux ユーザたちはこの問題をカーネル側から対処するしかありません。一時的な緩和策としてカーネルにパッチを当てて再ビルドすることで、この問題を緩和できます: |
||
+ | |||
+ | {{hc|drivers/gpu/drm/i915/display/intel_display.c.patch|<nowiki> |
||
+ | --- a/drivers/gpu/drm/i915/display/intel_display.c |
||
+ | +++ b/drivers/gpu/drm/i915/display/intel_display.c |
||
+ | @@ -8835,7 +8835,7 @@ static void intel_setup_outputs(struct drm_i915_private *dev_priv) |
||
+ | intel_ddi_init(dev_priv, PORT_TC1); |
||
+ | } else if (IS_ALDERLAKE_P(dev_priv)) { |
||
+ | intel_ddi_init(dev_priv, PORT_A); |
||
+ | - intel_ddi_init(dev_priv, PORT_B); |
||
+ | + // intel_ddi_init(dev_priv, PORT_B); |
||
+ | intel_ddi_init(dev_priv, PORT_TC1); |
||
+ | intel_ddi_init(dev_priv, PORT_TC2); |
||
+ | intel_ddi_init(dev_priv, PORT_TC3); |
||
+ | |||
+ | </nowiki>}} |
||
+ | |||
+ | これは、freedesktop の issue [https://gitlab.freedesktop.org/drm/intel/-/issues/5531 5531] [https://gitlab.freedesktop.org/drm/intel/-/issues/6401 6401] で説明されており、何ヶ月も解決されていません。 |
||
+ | |||
+ | === Arc GPU のハードウェアビデオアクセラレーション === |
||
+ | |||
+ | ハードウェアビデオアクセラレーションは、バージョン 6.2 未満のカーネルでは利用できません。必要な HuC/GuC ファームウェアブロブの読み込みと初期化に失敗してしまいます。 |
||
+ | |||
+ | {{hc|# dmesg|2= |
||
+ | [drm] Incompatible option enable_guc=3 - HuC is not supported! |
||
+ | }} |
||
+ | |||
+ | {{Accuracy|{{ic|CONFIG_DRM_I915_CAPTURE_ERROR}} を無効化する必要性に関する説明も参照も与えられていない。このフラグは 2022-12-05 の時点で {{Pkg|linux}} 内で [https://github.com/archlinux/svntogit-packages/blob/227caf8f1a66e00e3a4ecf9bc8e7a98d4d257c11/trunk/config#L6579 有効に設定されている]。}} |
||
+ | |||
+ | [[ハードウェアビデオアクセラレーション]]を行うには、{{Pkg|intel-media-driver}} をインストールし、{{ic|CONFIG_DRM_I915_CAPTURE_ERROR}} を無効化したカーネルを使用しなければなりません。 |
||
== 参照 == |
== 参照 == |
||
* https://01.org/linuxgraphics/documentation (サポートされているハードウェア一覧など) |
* https://01.org/linuxgraphics/documentation (サポートされているハードウェア一覧など) |
||
+ | |||
+ | {{TranslationStatus|Intel graphics|2024-03-22|802891}} |
2024年3月28日 (木) 10:01時点における版
Intel はオープンソースドライバの提供とサポートを行なっているので、Intel graphics は基本的にプラグアンドプレイです。
Intel GPU のモデルや関連するチップセットと CPU の包括的なリストは、Wikipedia:Intel Graphics Technology と Gentoo:Intel#Feature support を見てください。
目次
- 1 インストール
- 2 ローディング
- 3 Xorg の設定
- 4 モジュールベースのオプション
- 5 ヒントとテクニック
- 6 トラブルシューティング
- 6.1 ティアリング
- 6.2 垂直同期 (VSYNC) を無効化する
- 6.3 DRI3 の問題
- 6.4 GTK アプリケーションでフォントや画面の表示がおかしい (サスペンド・復帰後に文字が表示されない)
- 6.5 起動中 "Loading modules" するときに画面がブラックアウトする
- 6.6 Intel ドライバで X がフリーズ/クラッシュする
- 6.7 認識されない解像度を追加する
- 6.8 バックライトを調整できない
- 6.9 Chromium や Firefox の表示がおかしい/応答しない
- 6.10 Broadwell/Core-M チップでカーネル 4.0 以上を使っている場合にクラッシュする
- 6.11 Windows をゲストとした場合にラグが発生する
- 6.12 画面がちらつく
- 6.13 i915 ドライバで OpenGL 2.1
- 6.14 KMS の問題: コンソールが小さい領域に制限される
- 6.15 Haswell CPU で HDMI 経由で音声が出ない
- 6.16 低消費電力 Intel CPU でクラッシュ/フリーズ
- 6.17 165Hz モニタのサポートを追加する
- 6.18 Alder Lake-P 上でスリープ/サスペンドから復帰するとフリーズする
- 6.19 Arc GPU のハードウェアビデオアクセラレーション
- 7 参照
インストール
- 以下のパッケージのうち1つをインストールしてください。これらは、3D アクセラレーションのための DRI ドライバを提供します。
- mesa は、第3世代ハードウェアおよびそれ以降用のモダンな Gallium3D ドライバを含む最新の Mesa パッケージです。これを使うことが推奨されます。
- mesa-amber は、第2世代から第11世代までのハードウェア用のクラシックドライバ (Gallium3d でない) です。このドライバは、第7世代及びそれ以前のハードウェアにおいて高いパフォーマンスや安定性をもたらすかもしれませんが、メンテナンスされていません。
- 32ビットアプリケーションのサポートは、multilib リポジトリから lib32-mesa か lib32-mesa-amber パッケージもインストールしてください。
- Xorg で 2D アクセラレーションを提供する DDX ドライバに関しては、以下のうち1つを使ってください:
- xorg-server パッケージに含まれる modesetting ドライバは、第4世代及びそれ以降のハードウェアにおいて推奨されます。これは、glamor モジュール経由で DRI ドライバを使用してアクセラレーションを提供します。
- xf86-video-intel パッケージは、第2世代から第9世代までのハードウェアにおいてレガシーな Intel DDX ドライバを提供します。一般に、このパッケージを使用することは推奨されません。下記のノートを参照してください。
- Vulkan サポート (Haswell 及びそれ以降; それより古いチップにおけるサポートは不完全であるか存在しません) については、vulkan-intel パッケージをインストールしてください。32 ビット Vulkan サポートについては、lib32-vulkan-intel パッケージをインストールしてください。
ハードウェアビデオアクセラレーションも見てください。
ローディング
Intel カーネルモジュールは、システムの起動時に自動的に正常にロードされるはずです。
正常にロードされない場合は:
- Intel は カーネルモード設定を必要とするので、カーネルパラメータ に
nomodeset
を指定して いない ことを確認してください。 - また、
/etc/modprobe.d/
や/usr/lib/modprobe.d/
で modprobe ブラックリストを使って Intel を無効にしていないか確認してください。
早い段階で KMS を有効にする
カーネルモード設定 (KMS) は、i915 DRM ドライバーを使用するインテルチップセットでサポートされています。KMS は必須であり、デフォルトで有効になっています。
mkinitcpio v32 からは、kms
フックがデフォルトで含まれているため、典型的な環境において Early KMS がすでに有効化されているはずです。他の環境については、起動プロセスにおいてできるだけ早く KMS を有効にする方法に関する カーネルモード設定#KMS の早期開始 を参照してください。
GuC/HuC ファームウェアのロードを有効にする
第9世代から (Skylake およびそれ以降)、Intel GPU には以下の機能を提供する Graphics micro (μ) Controller (GuC) が搭載されています [6][リンク切れ 2023-04-23]:
- 一部のメディアデコード機能を CPU から HEVC/H.265 micro (µ) Controller (HuC) にオフロードする。ハードウェアビデオアクセラレーションに intel-media-driver を使用する場合にのみ、適用可能です。第9世代から導入されました。
- GuC をスケジューリング、コンテキスト送信、電源管理に使用する。第12世代、Alder Lake-P (Mobile) で導入されました。
この機能を使うには、GuC ファームウェアがロードされていなければなりません。HuC のサポートに関して、一部のビデオ機能 (例: SKL 低電力符号化モードにおける CBR レート制御) は HuC ファームウェアもロードされている必要があります [7]。GuC と HuC ファームウェアのファイルは両方 linux-firmware によって提供されています。
GuC の機能は i915.enable_guc
カーネルパラメータ によって制御されます。このパラメータの使用法は次のとおりです。:
enable_guc の値 | GuC 送信 | HuC ファームウェアのロード | デフォルトとなっているプラットフォーム | サポートされているプラットフォーム |
---|---|---|---|---|
0 | No | No | Tiger Lake、Rocket Lake、Gen12 以前 [8] | すべて |
1 | Yes | No | – | Alder Lake-P (Mobile) およびそれ以降 |
2 | No | Yes | Alder Lake-S (Desktop) [9] [10] | Gen9 およびそれ以降 |
3 | Yes | Yes | Alder Lake-P (Mobile) 及びそれ以降 | Gen 9.5 及びそれ以降 (一部個体ではこちらがより良い) |
GuC 送信や HuC ファームウェアのロードがあなたの GPU ではデフォルトで有効になっていない場合、手動で有効化できます。
まず、linux-firmware がインストール されていることを確認してください。
i915.enable_guc
カーネルパラメータ を設定してください。例えば:
/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 の設定ファイルを作成することができます。
modesetting ドライバを使う
xf86-video-intel をインストールしたが、DDX ドライバを優先させずに modesetting ドライバを明示的にロードさせたい場合 (DDX ドライバと modesetting ドライバを比較したい場合など) は、以下のような設定ファイルを使用できます:
/etc/X11/xorg.conf.d/20-intel.conf
Section "Device" Identifier "Intel Graphics" Driver "modesetting" EndSection
Intel ドライバを使う
以下のような Xorg 設定ファイルを作成してください:
/etc/X11/xorg.conf.d/20-intel.conf
Section "Device" Identifier "Intel Graphics" Driver "intel" EndSection
その他のオプションは Driver
の下の新しい行にユーザが追加します。
オプションの完全なリストは intel(4) の man ページを参照してください。
AccelMethod
設定ファイルを作成する際に、Option "AccelMethod"
を指定する必要がある場合があります。古典的なオプションは、UXA
、SNA
(デフォルト)、BLT
です。
デフォルトの SNA
で問題が発生した場合。(例: ピクセル化したグラフィック、壊れたテキストなど)、代わりに UXA
を使ってみてください、これは Xorg 設定ファイル に次の行を追加することで可能です:
Option "AccelMethod" "uxa"
intel(4) § CONFIGURATION DETAILS の "AccelMethod" オプションをご覧ください。
最近の GPU で Intel DDX ドライバを使用する
第8世代 (Broadwell) からの Intel GPU では、Iris Mesa ドライバが必要です:
Option "DRI" "iris"
TearFree、TripleBuffer、SwapbuffersWait を無効化する
コンポジタを使用している場合 (GNOME、KDE Plasma、Xfce などの最近のデスクトップ環境ではデフォルトです)、通常、TearFree、TripleBuffer、SwapbuffersWait を無効化することでパフォーマンスを向上させ、電力消費量を削減することができます。
Option "TearFree" "false" Option "TripleBuffer" "false" Option "SwapbuffersWait" "false"
モジュールベースのオプション
i915
カーネルモジュールにより、モジュールオプション を介して設定できます。一部のモジュールオプションは、省電力に影響を与えます。
次のコマンドを使用して、すべてのオプションのリストと簡単な説明およびデフォルト値を生成できます:
$ modinfo -p i915
現在有効になっているオプションを確認するには、
# systool -m i915 -av
多くのオプションのデフォルトは-1であるため、チップごとの省電力のデフォルトになります。ただし、モジュールオプション を使用して、より積極的な省電力を構成することも可能です。
フレームバッファー圧縮 (enable_fbc)
フレームバッファ圧縮 (FBC) は、スクリーンのリフレッシュ中の電力消費量とメモリの帯域幅の使用量を削減できる機能です。
この機能は、ハードウェアによってサポートされている場合、自動的に有効化されます。以下のコマンドを実行することで、この機能が有効化されているかどうか確認できます:
$ modinfo i915 | grep enable_fbc
parm: enable_fbc:Enable frame buffer compression for power savings (default: -1 (use per-chip default)) (int)
parm が -1
に設定されている場合、何もする必要はありません。-1
でない場合、i915.enable_fbc=1
をカーネルパラメータに追加するか、以下の内容で /etc/modprobe.d/i915.conf
を作成することで、FBC を強制的に有効化できます:
/etc/modprobe.d/i915.conf
options i915 enable_fbc=1
Fastboot
Intel Fastboot の目標は、BIOS または ブートローダー によってセットアップされたフレームバッファーを保持して、 Xorg が開始されるまでちらつきを回避することです。[15][16]
fastboot がデフォルトでないプラットフォーム上で fastboot を有効にするには、i915.fastboot=1
を カーネルパラメータ として設定するか、/etc/modprobe.d/i915.conf
に以下を設定します:
/etc/modprobe.d/i915.conf
options i915 fastboot=1
Intel GVT-g グラフィック仮想化のサポート
詳細については Intel GVT-g を参照してください。
パフォーマンスサポートを有効化する
第6世代から (Sandy Bridge およびそれ以降) Intel GPU は、内部のパフォーマンスデータをドライバに公開するために使用されるパフォーマンスカウンタを提供しています。ドライバとハードウェアレジスタではこのインフラを Observation Architecture (内部的には "OA") と呼んでいますが [17]、Intel のドキュメントではこの機能をより一般的に Observability Performance Counters を提供するものとしています [18] [19]。
デフォルトでは、CAP_SYS_ADMIN (root と等価です) や CAP_PERFMON ケイパビリティで実行されているプログラムのみが observation architecture を利用できます [20] [21]。ほとんどのアプリケーションはこれらのケイパビリティを持たずに実行されるため、以下の警告が出力されます:
MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0
これらのケイパビリティ (または root) を使わずにパフォーマンスサポートを有効化するには、sysctl で説明されているように、(上記の警告で示されている) カーネルパラメータを設定してください。
ヒントとテクニック
スケーリングモードを設定する
フルスクリーンを使うアプリケーションで有用かもしれません:
$ 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 はうまく動きました [24]。他の報告も同じようなものでした [25]。BIOS で割当済みビデオ RAM のサイズを高く設定すると、より質の高いハードウェアデコード再生が可能です。これを行うと、1080p h264 でもうまく行きます [26]。スムーズな再生 (1080p/720p) は、mpv-gitAUR、ffmpeg-gitAUR、libva-intel-driver-g45-h264AUR を組み合わせて使うことでもうまく行きます。MPV と Firefox のプラグイン "Send to MPV player"[27] を用いることで、ハードウェアによりアクセラレートされた YouTube ビデオの再生が可能です。
報告される 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 に対しては非常に基本的なサポートしかありません)。
明るさとガンマ値の設定
バックライト を見てください。
トラブルシューティング
ティアリング
Intel ドライバを使う
SNA アクセラレーションメソッドを取っている場合、一部のマシン上でティアリングが発生します。これを修正するには、以下の行を設定ファイルに追加して xf86-video-intel ドライバの TearFree
オプションを有効化してください:
/etc/X11/xorg.conf.d/20-intel.conf
Section "Device" Identifier "Intel Graphics" Driver "intel" Option "TearFree" "true" EndSection
詳細は元のバグレポートを見てください。
modesetting ドライバを使う
最近、TearFree サポートが modesetting ドライバに追加されました [29][30]。2023年11月の時点では、このパッチはまだ安定化されていません。なので、安定化されるまで xorg-server-gitAUR を使用する必要があります。
/etc/X11/xorg.conf.d/20-intel.conf
Section "Device" Identifier "Intel Graphics" Driver "modesetting" Option "TearFree" "true" EndSection
垂直同期 (VSYNC) を無効化する
以下のような場合に便利です:
- Chromium/Chrome が、GPU のせいでラグくパフォーマンスが悪く、--disable-gpu スイッチを使うとスムーズに動作する場合。
- glxgears テストが期待するほどのパフォーマンスを発揮してくれない場合。
intel ドライバは垂直同期に Triple Buffering を使用します。これは、完全なパフォーマンスとティアリングの回避を可能にします。垂直同期をオフにするには (例えば、ベンチマークのために)、以下の .drirc
をホームディレクトリ内に追加してください:
~/.drirc
<device screen="0" driver="dri2"> <application name="Default"> <option name="vblank_mode" value="0"/> </application> </device>
DRI3 の問題
xf86-video-intel では DIR バージョンのデフォルトは DRI3 です。一部の環境では DRI3 によって問題が発生することがあります [31]。DRI2 を使うには設定ファイルに以下の行を追加してください:
Option "DRI" "2"
modesetting
ドライバーでは上記の方法で DRI3 を無効化することはできません。代わりに LIBGL_DRI3_DISABLE=1
環境変数を設定してください。
GTK アプリケーションでフォントや画面の表示がおかしい (サスペンド・復帰後に文字が表示されない)
GTK アプリケーションでフォントの文字が表示されなくなってしまう場合、以下の方法で直る可能性があります。/etc/environment
を編集して以下の行を追加してください:
/etc/environment
COGL_ATLAS_DEFAULT_BLIT_MODE=framebuffer
起動中 "Loading modules" するときに画面がブラックアウトする
"late start" KMS を使っているとき "Loading modules" で画面がブラックアウトする場合、initramfs に i915 と intel_agp を加えると解決するかもしれません。カーネルモード設定#KMS の早期開始を見てください。
または、次のカーネルパラメータを加えるとうまく動くかもしれません:
video=SVIDEO-1:d
VGA に出力する必要があるときは次を使ってみて下さい:
video=VGA-1:1280x800
Intel ドライバで X がフリーズ/クラッシュする
X のクラッシュを伴う問題、GPU のハングアップ、X のフリーズに関する問題は、NoAccel
オプションを使って GPU の使用を無効化することで修復できる場合があります。以下の行を設定ファイルに追加してください:
Option "NoAccel" "True"
あるいは、DRI
オプションを使って 3D アクセラレーションだけを無効化してみてください:
Option "DRI" "False"
認識されない解像度を追加する
この問題は、Xrandr のページ で扱っています。
バックライトを調整できない
サスペンドから復帰したあとにホットキーを使用してスクリーンの輝度を変更できない場合、バックライトの記事を見てあなたの設定ファイルをチェックしてみてください。
問題が解消されない場合は、以下のカーネルパラメータのうち1つを試してください:
acpi_osi=Linux acpi_osi="!Windows 2012" acpi_osi=
また、fastboot モード (i915.fastboot
カーネルパラメータ) を使用していないことを確認してください。これは、バックライト制御を破壊することが知られています。
Chromium や Firefox の表示がおかしい/応答しない
Chromium や Firefox で表示の乱れ、応答なし、ラグ、低パフォーマンスが発生する場合、以下のような解決策があります。
- AccelMethod を "uxa" に設定する
- VSYNC を無効化する
- TearFree オプションを有効化する
- "DRI" とアクセラレーションのメソッドを無効にする (Intel Iris 第10世代でテスト済み):
Option "NoAccel" "True" Option "DRI" "False"
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
これは、カーネル 4.0.5 以上で壊れていることが知られています。
Windows をゲストとした場合にラグが発生する
VirtualBox でホスト側から(マウスカーソルを動かすなどして)画面を更新しないと Windows ゲストのビデオ出力が止まってしまうことがあります。enable_fbc=1
オプションを削除すれば問題は解決します。
画面がちらつく
Intel iGPU で使用される省電力機能 Panel Self Refresh (PSR) は、一部の例でちらつきを発生させることが知られています FS#49628 FS#49371 FS#50605。一時的な解決策は、カーネルパラメータ i915.enable_psr=0
を使ってこの機能を無効化することです。
i915 ドライバで OpenGL 2.1
mesa-amber パッケージに含まれる第3世代 GPU 用の 古い mesa ドライバは、デフォルトでは OpenGL 2.0 が利用可能であると報告します。これは、対象のハードウェアが OpenGL 2.1 とは完全に互換性がないことが原因です。[32] OpenGL 2.1 のサポートは、/etc/drirc
または ~/.drirc
で以下のようなオプションを設定することにより、手動で有効化することができます:
/etc/drirc
<driconf> ... <device driver="i915"> <application name="Default"> <option name="stub_occlusion_query" value="true" /> <option name="fragment_shader" value="true" /> </application> </device> ... </driconf>
KMS の問題: コンソールが小さい領域に制限される
低解像度のビデオポートの1つが起動時に有効になっていて、そのせいでターミナルがスクリーンの小さい領域を使っているのかもしれません。修正するには、ブートローダーでカーネルコマンドラインパラメータの video=SVIDEO-1:d
を使って i915 モジュールの設定でそのポートを明示的に無効化してください。詳細は カーネルパラメータ を見てください。
これでうまく行かない場合、SVIDEO-1 ではなく TV1 か VGA1 を無効化してみてください。ビデオポートの名前は xrandr でリストアップできます。
Haswell CPU で HDMI 経由で音声が出ない
Linux カーネルの issue によると、intel_iommu=on
を設定している場合には HDMI から音声が出力されないそうです。この問題を修正するには、以下のカーネルパラメータを設定してください:
intel_iommu=on,igfx_off
あるいは、IOMMU を無効化してください:
intel_iommu=off
低消費電力 Intel CPU でクラッシュ/フリーズ
低消費電力 Intel プロセッサやノート PC プロセッサは、低消費電力 Intel チップで使用されている電源管理機能に関する問題によりランダムにハングアップ/クラッシュする傾向にあります。そのようなクラッシュが発生する場合、この問題を報告するログは見られないでしょう。以下のカーネルパラメータを追加することで、この問題を解決できるかもしれません。
intel_idle.max_cstate=1 i915.enable_dc=0 ahci.mobile_lpm_policy=1
ahci.mobile_lpm_policy=1
は、いくつかの Lenovo ノート PC や一部の Acer ノートブックにおける、SATA コントローラーの問題のある電源管理に起因するハングアップを修正します。この回避策は Intel Graphics と厳密には関連していませんが、関連する問題を解決します。このカーネルパラメータを追加すると、link power management をファームウェアのデフォルトから最大パフォーマンスに変更し、特定の Lenovo マシンでディスプレイ輝度を変更した際にハングする問題を解決しますが、modern ultrabook でアイドル時の電力消費量が 1~1.5W 増加します。詳細 (特に他の状態に関するもの) については、Linux カーネルメーリングリストや Red Hat ドキュメントを見てください。
i915.enable_dc=0
は、GPU の電源管理を無効化します。これは、特定の Intel システム (特に、Goldmount と Kaby Lake Refresh チップ) におけるランダムなハングを解決します。このパラメータを使用すると、電力消費量が増え、ノート PC/notebook のバッテリー寿命が短くなります。
intel_idle.max_cstate=1
は、プロセッサのスリープ状態を制限し、プロセッサがディープスリープ状態に移行するのを防ぎます。これは絶対に理想的ではなく、電力消費量の増加とバッテリーの短命化を招きます。しかし、多くの Intel システムでランダムなハングを解決します。Intel Baytrail や Kaby Lake Refresh チップを使用している場合は、このパラメータを使用してください。Intel "Baytrail" チップは、このカーネルパラメータを使用しないと、ファームウェアの欠陥によりランダムにハングしてしまうことが知られていましたが、理論的には 2019-04-26 に修正されました。
max_cstate パラメータに関する詳細はカーネルドキュメントで、cstate に関する一般的な情報は GitHub 上の記事で見られます。
頻繁にハングする問題を解決するために intel_idle.max_cstate=1 i915.enable_dc=0 ahci.mobile_lpm_policy=1
を追加して問題が解決した場合は、その後パラメータを一つずつ取り除いて、どのパラメータが実際に問題の解決になっているかを確かめるべきです。実際の問題が SATA の電源管理に関係していて、問題を実際に解決するパラメータが ahci.mobile_lpm_policy=1
である場合、cstate やディスプレイの電源管理が無効化されている状態でマシンを走らせることは推奨されていません。
詳細は Linux Reviews を見てください。
165Hz モニタのサポートを追加する
一部の 165Hz モニタで、xrandr が 165Hz のオプションを表示しない場合があり、さらに #認識されない解像度を追加する の方法ではこれを解決できません。この場合、i915-driver-stuck-at-40hz-on-165hz-screen を見てください。
Alder Lake-P 上でスリープ/サスペンドから復帰するとフリーズする
Alder Lake-P 第12世代モバイルプロセッサの様々なベンダーのノート PC で、サスペンドから復帰した後にフリーズしたり黒画面になったりします。これは、多くのラップトップのベンダーが不正な VBT (Video BIOS Table) を同梱しており、iGPU に接続されている実際のポートが間違って記述されているからです。多くのベンダーが、正しく動作している Windows OS が搭載されているノート PC のための BIOS アップデートをリリースしないことを鑑みると、Linux ユーザたちはこの問題をカーネル側から対処するしかありません。一時的な緩和策としてカーネルにパッチを当てて再ビルドすることで、この問題を緩和できます:
drivers/gpu/drm/i915/display/intel_display.c.patch
--- a/drivers/gpu/drm/i915/display/intel_display.c +++ b/drivers/gpu/drm/i915/display/intel_display.c @@ -8835,7 +8835,7 @@ static void intel_setup_outputs(struct drm_i915_private *dev_priv) intel_ddi_init(dev_priv, PORT_TC1); } else if (IS_ALDERLAKE_P(dev_priv)) { intel_ddi_init(dev_priv, PORT_A); - intel_ddi_init(dev_priv, PORT_B); + // intel_ddi_init(dev_priv, PORT_B); intel_ddi_init(dev_priv, PORT_TC1); intel_ddi_init(dev_priv, PORT_TC2); intel_ddi_init(dev_priv, PORT_TC3);
これは、freedesktop の issue 5531 6401 で説明されており、何ヶ月も解決されていません。
Arc GPU のハードウェアビデオアクセラレーション
ハードウェアビデオアクセラレーションは、バージョン 6.2 未満のカーネルでは利用できません。必要な HuC/GuC ファームウェアブロブの読み込みと初期化に失敗してしまいます。
# dmesg
[drm] Incompatible option enable_guc=3 - HuC is not supported!
ハードウェアビデオアクセラレーションを行うには、intel-media-driver をインストールし、CONFIG_DRM_I915_CAPTURE_ERROR
を無効化したカーネルを使用しなければなりません。
参照
- https://01.org/linuxgraphics/documentation (サポートされているハードウェア一覧など)