これはおそらく最終的な答えではありませんが、役立つかもしれません。lsmod
Linuxでは、とmodinfo
コマンドの両方を組み合わせて、ドライバー名とバージョンを計算できます。
たとえば、mylsmods
は次を返します。
$ lsmod
Module Size Used by
autofs 28170 2
binfmt_misc 7984 1
vboxnetadp 5267 0
vboxnetflt 14966 0
vboxdrv 1793592 2 vboxnetadp,vboxnetflt
snd_hda_codec_nvhdmi 15451 1
snd_hda_codec_analog 80317 1
usbhid 42030 0 hid
nvidia 11263394 54
そこから、nvidiaがグラフィックカードを指していることがわかります。
その後、実行modinfo nvidia
して取得します
filename: /lib/modules/2.6.35-32-generic/kernel/drivers/video/nvidia.ko
alias: char-major-195-*
version: 304.54
supported: external
license: NVIDIA
alias: pci:v000010DEd00000E00sv*sd*bc04sc80i00*
alias: pci:v000010DEd00000AA3sv*sd*bc0Bsc40i00*
alias: pci:v000010DEd*sv*sd*bc03sc02i00*
alias: pci:v000010DEd*sv*sd*bc03sc00i00*
depends:
そして、ドライバのバージョンなどを抽出できます...
これは単純なソリューションでもマルチプラットフォームでもないことは知っていますが、名前のほとんどがnvidia、ati、intelなどであると推測される場合は、ドライバーの名前とバージョンを抽出するスクリプトを作成することができます... by grep / awk lsmod
。