Intel graphics

提供: ArchWiki
2019年10月24日 (木) 15:36時点におけるKusanaginoturugi (トーク | 投稿記録)による版 (→‎トラブルシューティング: 英語版に差し替え)
ナビゲーションに移動 検索に移動

関連記事

Intel はオープンソースドライバの提供とサポートを行なっているので、今日 Intel のグラフィックカードは原則的にプラグアンドプレイです。

Intel の GPU モデル と関連するチップセット・CPU の一覧は Wikipedia の比較を見て下さい。

ノート: PowerVR ベースのグラフィックカード (GMA 3600 シリーズ) はオープンソースドライバではサポートされていません。

目次

インストール

mesa パッケージをインストールしてください。3D アクセラレーションのための DRI ドライバーが含まれています。

  • 32ビットのサポートが必要な場合は multilib リポジトリから lib32-mesa パッケージもインストールしてください。
  • (Xorg で 2D アクセラレーションを得るための) DDX ドライバーが必要な場合は xf86-video-intel パッケージをインストールしてください (推奨されません、下のノートを見てください)。
  • Vulkan のサポートが必要な場合 (Ivy Bridge 以降)、vulkan-intel パッケージをインストールしてください。

ハードウェアビデオアクセラレーションも見てください。

ノート: 複数のディストリビューション (Debian & Ubuntu, Fedora, KDE) から xf86-video-intel ドライバーのインストールは非推奨とされており、第4世代以上の GPU では代わりに modesetting ドライバーを使うことが推奨されています。[1], [2], Xorg#インストール, modesetting(4) などを見てください。ただし、modesetting ドライバーは Chromium Issue 370022 などの問題を引き起こす可能性があります。また、modesetting ドライバーでは Intel GuC/HuC/DMC ファームウェアの恩恵を受けられません。

設定

Xorg を走らせるのに特別な設定は必要ありません。

ノート: 最新世代の内蔵 GPU (Skylake/HD 530 など) は特別な設定が必要です。#Skylake サポートを参照。

ただし、ドライバーのオプションを変更するには、以下のような Xorg 設定ファイルを作成する必要があります:

/etc/X11/xorg.conf.d/20-intel.conf
Section "Device"
   Identifier  "Intel Graphics"
   Driver      "intel"
EndSection

オプションを追加するときは Driver の下に追加します。

ノート:
  • 設定ファイルを作成するときは Option "AccelMethod" を必ず設定する必要があります。たとえデフォルトのメソッド (現在は "sna") を使用する場合でも設定は必要です。設定がないと X はクラッシュします。
  • 上記の他に、必要に応じて他のデバイスセクションも追加してください。

設定の一覧を見るには、$ man intel と入力してください。

KMS (Kernel Mode Setting)

X を走らせたり GNOME, KDE, Xfce, LXDE などのデスクトップ環境を使うには KMS が必要です。KMS は i915 DRM ドライバを使う Intel チップセットによりサポートされておりカーネル v2.6.32 よりデフォルトで有効にされています。xf86-video-intel ドライバのバージョン 2.10 からは UMS のサポートは打ち切られ (非常に古い 810 チップセットファミリーは例外)、KMS の使用が必須になっています[3]。KMS は基本的にカーネルが起動してから初期化されますが、起動中に KMS を有効にして、全てのブートプロセスを最大解像度で実行することもできます。

ノート: vganomodeset といった既に使用されていないパラメータはブート設定から必ず削除してください。

起動中に KMS を有効にするには /etc/mkinitcpio.confMODULES 行に i915 モジュールを追加します:

MODULES="... i915 ..."
ヒント: 場合によって ACPI のエラーを発生させないように i915 の前に intel_agp を加える必要があることがあります。モジュールの順番は意味があるので気をつけて下さい。

カスタムした EDID ファイルを使っている場合は、EDID ファイルも initramfs に入れる必要があります:

/etc/mkinitcpio.conf
FILES="/lib/firmware/edid/your_edid.bin"

initramfs を再生成します:

# mkinitcpio -p linux

そしてシステムを再起動してください。うまく機能するはずです。

GuC / HuC ファームウェアのロードを有効化

警告: linux 4.18.8 現在、GuC/HuC を有効にすると enable_gvt=1GVT-g グラフィック仮想化を使うことができなくなります。システムジャーナルに i915 モジュールが初期化できないと出力されます:
$ journalctl
... kernel: [drm:intel_gvt_init [i915]] *ERROR* i915 GVT-g loading failed due to Graphics virtualization is not yet supported with GuC submission
... kernel: i915 0000:00:02.0: [drm:i915_driver_load [i915]] Device initialization failed (-5)
... kernel: i915: probe of 0000:00:02.0 failed with error -5
... kernel: snd_hda_intel 0000:00:1f.3: failed to add i915 component master (-19)

Skylake 以降のプロセッサでは、一部のビデオ機能 (例: SKL 低電圧エンコーディングモードの CBR レート制御) を使うには最新の GPU ファームウェアを必要とします。現在のところ (4.16) デフォルトでは有効となっていません。GuC/HuC ファームウェアのロードを有効にすると一部のシステムで問題が発生します。(ハイバネートから復帰したときなどに) フリーズが発生するときは無効化してください。

ノート: Intel プロセッサの世代については [4] を参照。

GuC と HuC 両方のファームウェアのロードを有効にするにはカーネルパラメータi915.enable_guc=2 を追加します。また、initramfsi915 モジュールを含まれている場合 (Kernel Mode Setting#Early KMS start を参照)、/etc/modprobe.d/ のファイルでオプションを設定することでも有効にできます。例:

/etc/modprobe.d/i915.conf
options i915 enable_guc=2

enable_guc=3 モジュールパラメータを使うことで GuC/HuC ファームウェアのロードに加えて GuC のサブミッションも有効になりますが、システムの安定性を損なうことがあるので基本的に非推奨です。

dmesg を使うことで有効になっているかどうか確認できます:

$ dmesg
[drm] HuC: Loaded firmware i915/kbl_huc_ver02_00_1810.bin (version 2.0)
[drm] GuC: Loaded firmware i915/kbl_guc_ver9_39.bin (version 9.39)
i915 0000:00:02.0: GuC firmware version 9.39
i915 0000:00:02.0: GuC submission enabled
i915 0000:00:02.0: HuC enabled

もしくは以下のコマンドで確認:

# cat /sys/kernel/debug/dri/0/i915_huc_load_status
# cat /sys/kernel/debug/dri/0/i915_guc_load_status

モジュールによる省電力設定

i915 カーネルモジュールはモジュールオプションによって設定ができます。モジュールオプションの中には省電力機能に関係するものもあります。

次のコマンドを使うことで全てのオプションとその説明、デフォルト値のリストが出力されます:

$ modinfo -p i915

現在有効になっているオプションを確認するには、次を実行して下さい:

# systool -m i915 -av

多くのオプションはデフォルトで -1 になっており、チップのデフォルトの省電力設定が使われます。ただし、モジュールオプションを使うことでより強力な省電力設定をすることができます。

警告: Linux 3.18 から、デフォルト以外の設定をするとカーネルが tainted になります。基本的に、デフォルト以外の設定オプションは実験的なものであり、開発者によるサポートはありません。

安全に有効にすることができる一般的なオプションは以下のようになります:

/etc/modprobe.d/i915.conf
options i915 enable_rc6=1 enable_fbc=1 semaphores=1

RC6 スリープモード (enable_rc6)

enable_rc6 には 1 よりも大きい値が設定できますが、使用している GPU がオプションをサポートしていなかったり他のオプションを有効にできるなくなる可能性があります [5]

enable_rc6 に設定できる値は 1 (RC6), 2 (RC6p), 4 (RC6pp) のビットマスクです [6]。"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)

フレームバッファ圧縮 (enable_fbc)

フレームバッファの圧縮は Sandy Bridge 以前の古い世代の Intel GPU では信頼性がありません。以下のようなメッセージがないかシステムログをチェックしてください:

kernel: drm: not enough stolen space for compressed buffer, disabling.

ヒントとテクニック

アクセラレーションメソッドの選択

  • UXA - (Unified Acceleration Architecture) は GEM ドライバーモデルを導入した成熟しているバックエンドです。
  • SNA - (Sandybridge's New Acceleration) は高速で先進的なハードウェアサポートを提供します。

デフォルトのメソッドは SNA (2013-08-05[7]) で、UXA よりも不安定ですが高速です。Phoronix によるベンチマーク [8] を見てください。Sandy Bridge のテストIvy Bridge のテスト があります。SNA で問題が発生するなら、UXA は手堅い選択です。例えば、SNA ではフルスクリーンの Flash 動画を終了するときに黒画面になることがあります。

古い UXA メソッドを使いたいならば、次の内容で /etc/X11/xorg.conf.d/20-intel.conf を作って下さい:

/etc/X11/xorg.conf.d/20-intel.conf
Section "Device"
   Identifier  "Intel Graphics"
   Driver      "intel"
   Option      "AccelMethod"  "uxa"
EndSection

Glamor アクセラレーションメソッドの有効化

Glamor は Intel の実験的な OpenGL 2D アクセラレーションメソッドで、man ページには記載がありません。Glamor を使用するには、以下の行を設定ファイルに追加してください:

Option      "AccelMethod"  "glamor"
ノート: このアクセラレーションメソッドは実験的であり安定して動作するとは限りません。

垂直同期 (VSYNC) を無効にする

垂直同期 (VSYNC) を無効にするには /etc/X11/xorg.conf.d/20-intel.confSection "Device" に Option "SwapbuffersWait" "false" を加えて下さい。

もしくは、~/.drircvblank_mode0 に設定して、driverdri2 にセットします:

~/.drirc
<device screen="0" driver="dri2">
   <application name="Default">
   <option name="vblank_mode" value="0"/>
   </application>
</device>

スケーリングモードの設定

フルスクリーンを使うアプリケーションで有用かもしれません:

$ xrandr --output LVDS1 --set PANEL_FITTING param

選べる param は:

  • center: 解像度は固定され、スケーリングは無効になります
  • full: 画面いっぱいまで解像度がスケールします
  • full_aspect: アスペクト比を維持したままスケールします

機能しない場合、次を試して下さい:

$ xrandr --output LVDS1 --set "scaling mode" param

param"Full", "Center" , "Full aspect" のいずれかです。

ノート: 上記のオプションは外部ディスプレイは現在のところ機能しません (例: VGA, DVI, HDMI, DP) [9]

KMS Issue: コンソールの画面が狭い

起動中に低解像度のビデオが転送されると、ターミナルが使える画面が小さくなることがあります。修正するには、i915 ブートローダのカーネルのコマンドラインパラメータに video=SVIDEO-1:d を加えてはっきりと転送を無効にするよう i915 モジュールを設定してください。詳しい情報はカーネルパラメータを見て下さい。

これが機能しない時は、SVIDEO-1 の代わりに TV1 か VGA1 を無効にするのを試してみて下さい。

有効なビデオ端子を確認する

video カーネルパラメータで無効化したいビデオ端子を識別するには、sysfs でダイレクトレンダリングマネージャモジュールを確認してください:

$ 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

使用したくないビデオ端子が接続済みになっている場合、上記の video= パラメータで無効化してください (cardN- の後ろの部分が識別子です)。例えば上の例で HDMI-A-3 端子を無効化するには video=HDMI-A-3:d とします。

GMA 4500 での H.264 デコーディング

libva-intel-driver パッケージは GMA 4500 シリーズの GPU だけに MPEG-2 デコーディングを提供します。H.264 デコーディングのサポートは枝分かれした g45-h264 ブランチで維持されていて、AURlibva-intel-driver-g45-h264AUR パッケージをインストールすることで使えます。しかしながらこのサポートは実験的なものであり現在活発には開発されていないことに注意して下さい。GMA 4500 シリーズ GPU のドライバと VA-API を使うことは CPU の負担を下げますが、アクセラレーションが効いていないのと同じで、スムーズに再生できるようにはならないかもしれません。mplayer を使ったテストでは H.264 でエンコードされた 1080p のビデオを vaapi を使って再生したところ (XV オーバーレイに比べて) CPU の負担は下がりましたが、途切れ途切れの再生になりました。一方 720p はうまく動きました [10]。他の報告も同じようなものでした [11]

ffmpeg-gitAURlibva-intel-driver-g45-h264AURmpv-gitAUR を組み合わせることで (1080p/720p の動画を) スムーズに再生できます。Firefox の "Watch with MPV" [12] プラグインと MPV を使うことで YouTube の動画を視聴するときにハードウェア支援が活用できます。

ガンマ値と明るさの設定

ドライバのレベルでこれらを設定する方法はありませんが、幸運なことに xgammaxrandr を使って設定することができます。

ガンマ値を設定するには:

$ xgamma -gamma 1.0

もしくは:

$ xrandr --output VGA1 --gamma 1.0:1.0:1.0

明るさを設定するには:

$ xrandr --output VGA1 --brightness 1.0

トラブルシューティング

ティアリングの解消

SNA アクセラレーションメソッドを使っている場合、ティアリングが発生することがあります。これを解消するには、ドライバーの "TearFree" オプションを有効にしてください:

/etc/X11/xorg.conf.d/20-intel.conf
Section "Device"
   Identifier  "Intel Graphics"
   Driver      "intel"
   Option      "TearFree"    "true"
EndSection

詳しくは オリジナルのバグレポート を見て下さい。

ノート:
  • SwapbuffersWaitfalse のときはこのオプションは機能しません。
  • オプションを有効にするとメモリの消費量が増えてパフォーマンスが劣化する可能性があります [13]
  • このオプションを使うと vsync タイミングがピーキーなアプリケーション (Super Meat Boy など) で問題が発生します。
  • このオプションは UXA アクセラレーションメソッドでは動作しません、SNA でしか使えません。

Disable Vertical Synchronization (VSYNC)

Useful when:

  • Chomium/Chrome has lags and slow performance due to GPU and runs smoothly with --disable-gpu switch
  • glxgears test does not show desired performance

The intel-driver uses Triple Buffering for vertical synchronization, this allows for full performance and avoids tearing. To turn vertical synchronization off (e.g. for benchmarking) use this .drirc in your home directory:

~/.drirc
<device screen="0" driver="dri2">
	<application name="Default">
		<option name="vblank_mode" value="0"/>
	</application>
</device>
ノート: Do not use driconfAUR to create this file. It is buggy and will set the wrong driver.

SNA issues

SNA is the default acceleration method in xf86-video-intel. If you experience issues with SNA (e.g. pixelated graphics, corrupt text, etc.), try using UXA instead, which can be done by adding the following line to your configuration file:

Option      "AccelMethod"  "uxa"

See intel(4) under Option "AccelMethod".

DRI3 の問題

xf86-video-intel ではデフォルトで DRI3 が使われます。一部の環境では DRI3 によって問題が発生することがあります [14]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 に i915intel_agp を加えると解決するかもしれません。上記の KMS セクションを見て下さい。

または、次のカーネルパラメータを加えるとうまく動くかもしれません:

video=SVIDEO-1:d

VGA に出力する必要があるときは次を使ってみて下さい:

video=VGA-1:1280x800

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

Baytrail complete freeze

If you are using kernel > 3.16 on Baytrail architecture and randomly encounter total system freezes, the following kernel option is a workaround until this bug is fixed in the linux kernel.

intel_idle.max_cstate=1

This is originally an Intel CPU bug that can be triggered by certain c-state transitions. It can also happen with Linux kernel 3.16 or Windows, though apparently much more rarely. The kernel option will prevent the freeze by avoiding c-state transitions but will also increase power consumption.

認識されない解像度を追加する

この問題については Xrandr のページを参照してください。

復帰後、バックライトが一部調整できない、もしくは全く調整できない

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

Chromium や Firefox が壊れる、応答しない

Chromium や Firefox の表示がおかしくなったり、反応しなくなる場合はアクセラレーションメソッドを "uxa" に設定してみてください。

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

Windows をゲストとした場合にラグが発生する

VirtualBox でホスト側から(マウスカーソルを動かすなどして)画面を更新しないと Windows ゲストのビデオ出力が止まってしまうことがあります。enable_fbc=1 オプションを削除すれば問題は解決します。

画面がちらつく

Intel の iGPU によって使われている省電力機能の中にはちらつきを発生させるものがあります。適切なカーネルパラメータオプションを使って無効化することで解決できます:

  • カーネルのバージョン 4.6 からパネルセルフリフレッシュ (PSR) はデフォルトで有効になります (FS#49628 FS#49371 FS#50605)。無効化するには i915.enable_psr=0 オプションを使ってください。

OpenGL 2.1 with i915 driver

The update of mesa from version 13.x to 17 may break support for OpenGL 2.1 on third gen Intel GPUs (GMA3100, see here), as described in this article, reverting it back to OpenGL 1.4. However this could be restored manually by setting /etc/drirc or ~/.drirc options like:

/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>
ノート: the reason of this step back was Chromium and other apps bad experience. If needed, you might edit the drirc file in a "app-specific" style, see here, to disable gl2.1 on executable chromium for instance.

KMS Issue: console is limited to small area

One of the low-resolution video ports may be enabled on boot which is causing the terminal to utilize a small area of the screen. To fix, explicitly disable the port with an i915 module setting with video=SVIDEO-1:d in the kernel command line parameter in the bootloader. See Kernel parameters for more info.

If that does not work, try disabling TV1 or VGA1 instead of SVIDEO-1. Video port names can be listed with xrandr.

Weathered colors (color range problems)

The "Broadcast RGB" property in the Intel driver defines the color range which can be used by the display - either "Limited 16:235" (which limits the color range for some displays that can't properly display all colors) and "Full". Since kernel 3.9, the new default property "Automatic" tries to determine whenever the display supports the full color range, and if it doesn't/detection fails, color range falls back to "Limited 16:235". This results in weathered colors and grey blacks. On some displays/connectors, despite the full color range being supported properly, automatic detection fails and falls back to the limited color range (upstream bug report, kernels 4.18-4.20).

You can forcefully set the desired color range by running xrandr --output <OUT> --set "Broadcast RGB" "Full" (replace <OUT> with the appropriate output device, listed by running xrandr). There is no way to persist this setting in xorg.conf.

参照