X server が死ぬ

FreeBSD stable/12 を更新した

FreeBSD Security Advisories が出ていたので、使っている stable/12 を更新したところ、 X まわりの状況がだんだんと悪化した。

まず、時々 panic して再起動するようになって、それから xscreensaver がフリーズするようになり、 そのあたりで ports 一式をビルドしなおして強制アップグレードをかけたらそもそも X が起動しなくなった。 Xorg.0.log には

(EE) NVIDIA: A GPU exception occurred during X server initialization(EE)

と出てきて、素直に考えたらグラフィックボードが故障したのかなというところだけれども、 状況を考えると stable/12 で何か ABI 変更があっておかしなことになったのかもしれない。 要するになんでか分からない。

AMD FirePro W5100 調達

というわけで慌てて中古の FirePro W5100 を買って使おうとしたら、drm-kmod をインストールして kldload amdgpuすると panic する。 でまあ検索したら FreeBSD forum の投稿 に行きついたので、 drm-v5.0-fbsd12.1 をダウンロードして make; make install して pkg lock drm-kmod して kldload /boot/modules/radeonkms.ko とやったら動いたので、それで設定した。 当初 amdgpu を使おうとしたけれども、

drmn0: [drm:*ERROR* ] amdgpu_ring_test_helper[drm ERROR :amdgpu_device_ip_hw_init_phase2] hw_init of IP block <cik_sdma> failed -60
drmn0: amdgpu_device_ip_init failed

とエラーになるので、FirePro W5100 (bonaire) は radeonkms の方を使うのがよいみたい。 そういうわけで、/usr/local/etc/X11/xorg.conf.d/40-driver-radeon.conf は次のようになる。

Section "Device"
    Identifier    "Card0"
    Driver         "radeon"
EndSection

そういう感じで、グラフィックカードの故障だったのか stable/12 で入った変更に ports のドライバーが 追い付いていないのかわからないけれど、デスクトップ環境が戻ってきた。

Wayland

FirePro W5100 を調達したのは、AMD なら GnomeKDE 以外の Wayland compositor が使えるということを期待してなのだけれども、wayfire を動かそうとしたら

[EGL] command: eglGetPlatformDisplayEXT, error: EGL_BAD_PARAMETER (0x300c), message: "EGL_BAD_PARAMETER error: In function eglGetPlatformDisplay(), unsupported EGL Flatform"

と言われて動かなかった。