アナログ出力映像をPCに取り込むためにUSB接続ビデオキャプチャを購入しました。
Windowsでのインストールは成功したのですが、普段使いのLinuxで使えるようにする方法について調べてみました。
USBデバイスをつなげて確認します。
USBデバイスの一覧と詳細情報を表示するコマンド
$ lsusb

デバイス名はGV-USB2です。
ネットでGV-USB2のドライバを探します。
こちらがヒットしたドライバになります。
https://github.com/Isaac-Lozano/GV-USB2-Driver
githubからなので、こちらのソースコードをコピーして、ビルドして、インストールする作業が必要となります。もちろん自己責任で行います。
こちらはgit、make、gccなどコンパイルに必要なソフトがインストールされていることを前提とします。
gitがインストールされているかチェックします。
$ git --version
GV-USB-Driverのダウンロード、インストール
リモートリポジトリをローカルにダウンロードするコマンドです。
$ git clone https://github.com/Isaac-Lozano/GV-USB2-Driver
$ cd GV-USB2-Driver
$ sudo make
となるのですが、ここでエラー発生

エラー表示内容は「/usr/src/linux-headers-4.19.0-16-common/scripts/basic/Makefile:そのようなファイルやディレクトリがありません」でした。
とりあえず、/lib/modules/$(uname -r)/buildをシンボリックリンク(ln -s)してみました。
$ sudo ln -s /usr/src/linux-headers-$(uname -r)/ /lib/modules/$(uname -r)/build
シンボリックリンクの削除は
$ unlink /lib/modules/$(uname -r)/build
「効果なし」でしたので、他のビルドツール(build-essential)のインストールをやってみた。
$ sudo apt install build-essential
再び make してみたが、同じエラーで中断しました。
GV-USB2-Driverのビルド
今回はこちらのサイトを参考にしました。https://gist.github.com/scaramangado/4e09031d782cbad8a4446ba101f43ef7
前回の失敗理由はsudo makeにしてしまったことと判明しました。
また、Debian 10 busterのカーネルバージョンが4.19.0でしたので、下のようなエラーが出てしまいました。
~/GV-USB2-Driver/gvusb2-v4l2.c:666:42 VFL_TYPE_VIDEO が存在しないというエラー内容でした。
VFL_TYPE_VIDEOは #include <media/v4l2-dev.h> に登録されているはずなのですが、カーネルバージョン4.19.0ではVFL_TYPE_VIDEOが含まれていないことが判明しました。
カーネルバージョン5.7.19~のv4l2-dev.hにはVFL_TYPE_VIDEOが含まれていましたので、ubuntu20.0でビルドすることにしました。
ubuntu20.0.4でGV-USB2 Driverを使う
ubuntuのカーネルバージョンは5.8.0であるため、VFL_TYPE_VIDEOが含まれていますので、あっさりとmake が完了しました。

gvusb2-sound.koとgvusb-video.koが追加されました。

次にこれらをロードしていきます。
まずsoundデバイスをロードしていきますが、サウンドカードの順番を確認して(cat /proc/asound/cards)、+1の順番で追加します。

gvusb2-sound.ko のロードコマンドは insmod です。index=2として追加しました。

gvusb2-video.ko のロードはそのままですが、下記のようなエラーが出てしまいました。

Unkown symbol in module は おそらくカーネルバージョンが適合していない可能性が高いのですが、一応下のコマンドで確認しました。ズラズラと出ましたが、これらはv4l2_ctrlなど含まれているので、いろいろと調べる必要がありそうです。

最後にアンロードの方法ですが下のコマンドになります。

usbデバイスを外さないとエラーが出ます。
まとめ
今回はgitで得たソースコードをコンパイルすることができずに、エラーで終わってしまいましたが、今後はmakefileの検証と改良で何とかインストールできるようにしたいと思っています。
21/6/16追記です。
前回までのmakeエラーの原因が、カーネルバージョンで対応していなかったことが判明しました。
また、sudo make していたことも失敗した理由でした。
そこでカーネルバージョンで対応しているとのことから、ubuntu20.0.4で make してみたところあっさり完了するも、gvusb2-video.ko の insmod でエラーが出てしまいました。
これらのエラーはUnknown symbolですので、またカーネルバージョンの可能性もありますが、いろいろと調べていきたいと思います。
ネットで検索しても情報が出てこないので、何かしらの情報を提供していただくと大変ありがたいです。