【FreeBSD】画面の解像度を上げたい

確認環境

PC ThinkPad X1 Carbon 2nd Gen
CPU Intel(R) Core(TM) i5-4300U
OS FreeBSD 12.0-RELEASE-p1

課題

画面の解像度を上げたい。
しかし、下記のグラフィックドライバを読み込む設定を追加して、PCを再起動しても解像度が変わらない。
以前はこれで変わっていた気がするのだけれども。

> sudo vi /boot/loader.conf

i915kms_load="YES"

なお、PC起動後に下記コマンドを実行した場合は問題なく解像度は上がる為、ハードとドライバの組み合わせの問題ではなさげ。

> sudo kldload i915kms

原因

/boot/defaults/loader.conf*module_blacklist*という設定項目が追加されたっぽい。
なんとそこに i915kms の記載があった。
何だかグラフィック系ドライバが並んでいそう。

> sudo grep -R "i915kms" /boot/*
/boot/defaults/loader.conf:module_blacklist="drm drm2 radeonkms i915kms amdgpu" # Loader module blacklist

どうやらこのページを見る限り、FreeBSD 11.2以降は新しいi915kmsのドライバが追加されており、その対応の一環による変更っぽい。
新旧ドライバでサポートするCPUが違う模様。

  • 旧ドライバ(/boot/kernel/i915kms.ko): Intel Core 第 4 世代(Haswell)までサポート
  • 新ドライバ(/boot/modules/i915kms.ko): Intel Core 第 7 世代(Kaby Lake)までサポート

詳細はIntel Integrated Graphics Support Matricを参照。
中古で買ったThinkPadはHaswellなので新旧どちらでも問題ない模様。
旧ドライバをそのまま使おっと。

対策

旧ドライバ(/boot/kernel/i915kms.ko)を使う場合

/etc/rc.confでモジュールを読み込む。
※/boot/loader.confの i915kms_load="YES" は消してよし

> sudo vi /etc/rc.conf

kld_list="i915kms"

新ドライバ(/boot/modules/i915kms.ko)を使う場合

旧ドライバ同様、/etc/rc.confでモジュールを読み込む。
ただ、新しいドライバをインストールする必要がある。

新しいドライバはpkgでインストールできる模様。
UserNameは実際のユーザ名に置き換えて実行してねと。

> sudo pkg install drm-kmod
> sudo pw groupmod video -m UserName
> sudo vi /etc/rc.conf

kld_list="/boot/modules/i915kms.ko"

詳細はこの辺りを参照。

設定が終わったらPC再起動しましょう。

その他 参考サイト

  1. FreeBSD DRM and Graphics Support
  2. FreeBSD Manual Pages "loader.conf"