ジャンル不定の日記です。

カードの到着待ちだがcrystalhdのビルドはできた

カードの到着待ちだが、
https://github.com/ahnhy1324/crystalhd
のドライバをi686(Intel Atom Z530)上のDebian 12でmakeできた。

最近はGoogleに相談しながらできて助かるが、
$ sudo apt install build-essential autoconf dkms pkg-config linux-headers-$(uname -r) libva-dev libdrm-dev libgbm-dev libswscale-dev vainfo
で必要パッケージをインストール。
Debianはlinux-headersがkernelバージョン別に分かれてるみたいね。
ドライバのほうがせっかくDKMSに対応してるのに、linuxがバージョンアップしてもlinux-headersはバージョン指定で入れ直さないといけないから不便ね。

$ sudo apt install git
gitも入ってなかったからインストールして、
$ git clone https://github.com/ahnhy1324/crystalhd.git
$ cd crystalhd
$ make -j$(nproc)
でまずエラー。
どうもSSE2が必要らしいんだがDebianのi386用gccは無効化されてるらしい?
$ make CXXFLAGS="-msse2" CFLAGS="-msse2" -j$(nproc)
でそこは通った。

次はgstreamer関連でエラーがでたんだが、
filters/gst/gst-plugin-1.0/Makefile
#CFLAGS += -Wall -Wextra -Werror -fPIC $(shell $(PKG_CONFIG) --cflags $(GST_PACKAGES))
override CFLAGS += -Wall -Wextra -Werror -fPIC $(shell $(PKG_CONFIG) --cflags $(GST_PACKAGES))
CFLAGSの行にoverrideつけたら通った。

次vaapi関連でエラーだが同じ感じ。
filters/vaapi/Makefile
#CXXFLAGS += -std=c++17 -Wall -Wextra -Werror -fPIC \
#        $(shell $(PKG_CONFIG) --cflags libva libva-drm libdrm gbm \
#        libswscale)
override CXXFLAGS += -std=c++17 -Wall -Wextra -Werror -fPIC \
       $(shell $(PKG_CONFIG) --cflags libva libva-drm libdrm gbm \
       libswscale)
CXXFLAGSの行をoverrideつけたら通った。

$ sudo make install
でインストール
$ sudo modprobe crystalhd
でカーネルモジュール有効化。