\r\n\r\n
Linuxコンピュータのグラフィック・プロセッシング・ユニット(GPU)を特定する必要がありますか? ここでは、コマンドラインとGNOMEからグラフィック・カードを特定する方法を紹介します。
あなたも経験があるのではないでしょうか。技術者ではない親戚や同僚のサポートをすることになり、何かと苦労が絶えない。それでも、参加するんだ!ディスプレイドライバーの問題である可能性が高いことがすぐに判断できます。ね、悪くないでしょう!?しかし、そんな束の間の期待も、"グラフィックカードの種類は?"という質問で打ち砕かれます。
返事をもらった鹿の表情が物語っていますね。何かを支持するためには、それが何であるかを知る必要があります。では、Linuxコンピュータのグラフィックカードはどのように認識するのでしょうか?
最悪の事態を想定して、グラフィックカードのドライバがインストールされていなかったと仮定して、そのドライバを見ても手がかりが得られないとします。関係ない!このジレンマは、コマンドラインから、あるいはグラフィカル・ユーザー・インターフェース(GUI)から解決することができます。
PCI IDレポジトリは、すべての既知のPCIデバイスIDのデータベースを維持します。つまり、あるデバイスについて何か知っていれば、それを調べることができるのです。
lspciコマンドを使用すると、LinuxコンピュータにインストールされているPCIデバイスと、それらに関するいくつかの情報を一覧表示することができます。
lspciコマンドにPCIデータベースをバインドできたら最高じゃないですか。実際、lspciコマンドを実行すると、そのとおりになります。PCIデータベースのローカルコピーをチェックし、検出したPCIデバイスを特定します。事前にPCIデータベースのローカルコピーを更新しておくとよいでしょう。
update pciidsコマンドを入力し、次のようにします。
sudo update-pciidslspciコマンドを使用して、現在利用可能な最新バージョンのデータベースを取得します。v (冗長)オプションはlscpiにできるだけ多くの情報を提供するように指示します。sudoを使用して、できるだけ詳細な情報を提供するようにします。
以下のようにコマンドを打ち込む。
sudo lspci -v | lessフォワードスラッシュ(/)を押すと、「少ない検索」機能が有効になります。
VGA」とすべて大文字で入力し、Enterキーを押してください。
VGA "という文字列の検索を減らすと、最初に見つかったマッチングが表示されます。この時点から、スクロールまたはページ送りして、見つかったグラフィックカードの枚数を確認することができます。
今回は、VirtualBoxの仮想マシン上で動作する様々なLinuxディストリビューションについて見てきました。仮想マシンには、もちろん仮想グラフィックカードが搭載されています。
そこで、実際の結果の一例をご覧いただくために、ホスト(物理)コンピュータからの出力をご紹介します。
26:00.0 VGA compatible controller: NVIDIA Corporation GP108 [GeForce GT 1030] (rev a1) (prog-if 00 [VGA controller]) Subsystem: Gigabyte Technology Co., Ltd GP108 [GeForce GT 1030] Flags: bus master, fast devsel, latency 0, IRQ 97 Memory at f6000000 (32-bit, non-prefetchable) [size=16M] Memory at e0000000 (64-bit, prefetchable) [size=256M] Memory at f0000000 (64-bit, prefetchable) [size=32M] I/O ports at e000 [size=128] Expansion ROM at 000c0000 [disabled] [size=128K] Capabilities: [60] Power Management version 3 Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+ Capabilities: [78] Express Legacy Endpoint, MSI 00 Capabilities: [100] Virtual Channel Capabilities: [250] Latency Tolerance Reporting Capabilities: [128] Power Budgeting <?> Capabilities: [420] Advanced Error Reporting Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?> Capabilities: [900] Secondary PCI Express <?> Kernel driver in use: nouveau Kernel modules: nouveau早速、たくさんの良い知らせが届きました
カードはNVIDIAのGP108 [GeForce GT 1030]で、検索エンジンの助けを借りて、このデバイスのNVIDIAのテクニカルページを発見しました。1行目の末尾にある「[VGAコントローラ]」という文字が、「操作可能な」グラフィックカードであることを示しています。これは、コンピュータに複数のカードがインストールされている場合に役立つ情報です。
また、lshwコマンドを使えば、Linuxコンピュータにインストールされているハードウェアの一覧を表示することができます。このコマンドは、PCIハードウェアだけでなく、様々な種類のハードウェアについて報告してくれます。
見つかったグラフィックカードを報告するために、-C(class)オプションを使用し、"display "修飾子を渡すことにします。numeric オプションは、lshw にデバイスの数字 ID とその名前を提供するように強制します。
と入力する。
sudo lshw -numeric -C display以下は、コマンドによって物理コンピュータ上で検出されたものです。
*-display description: VGA compatible controller product: GP108 [GeForce GT 1030] [10DE:1D01] vendor: NVIDIA Corporation [10DE] physical id: 0 bus info: pci@0000:26:00.0 version: a1 width: 64 bits clock: 33MHz capabilities: pm msi pciexpress vga_controller bus_master cap_list rom configuration: driver=nouveau latency=0 resources: irq:97 memory:f6000000-f6ffffff memory:e0000000-efffffff memory:f0000000-f1ffffff ioport:e000(size=128) memory:c0000-dffffなんと、2人とも同じカードを見つけたのです。
10DE:1D01]の識別子は、**マーチャント(10DE)およびモデル番号(1D01)を示します。すぐにメーカーやモデルを調べるには、検索エンジンに「グラフィックカード 10de:1d01」と入力するとよいでしょう。
glxinfoコマンドも使用できる方法の一つです。X Windowsシステムで使用されるOpenGLの拡張機能に関する情報を提供します。そして、この情報の一部を検索することで、どのグラフィックカードが搭載されているかを調べることができます。
glxinfoコマンドはManjaroやFedoraではすでに存在していますが、Ubuntuではインストールする必要があります。そのためには、次のコマンドを入力します。
sudo apt-get install mesa-utilsglxinfo の出力を less に通し、-B (プリント ID) オプションを使うには、 次のように入力する。
glxinfo -B | lessグラフィックカードは「Devices」の行に記述されています。
これは物理的なコンピュータの出力です。
name of display: :1 display: :1 screen: 0 direct rendering: Yes Extended renderer info (GLX_MESA_query_renderer): Vendor: nouveau (0x10de) Device: NV138 (0x1d01) Version: 19.3.2 Accelerated: yes Video memory: 1987MB Unified memory: no Preferred profile: core (0x1) Max core profile version: 4.3 Max compat profile version: 4.3 Max GLES1 profile version: 1.1 Max GLES[23] profile version: 3.2 OpenGL vendor string: nouveau OpenGL renderer string: NV138 OpenGL core profile version string: 4.3 (Core Profile) Mesa 19.3.2 OpenGL core profile shading language version string: 4.30 OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile OpenGL version string: 4.3 (Compatibility Profile) Mesa 19.3.2 OpenGL shading language version string: 4.30 OpenGL context flags: (none) OpenGL profile mask: compatibility profile OpenGL ES profile version string: OpenGL ES 3.2 Mesa 19.3.2 OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20検索エンジンに「NV138」と入力すると、すぐにNVIDIAのグラフィックカードが認識されます。
コンピュータがCLIのみのサーバーである場合、上記のいずれかの手法を使用する必要があります。しかし、もしそれが(動作する)GUIを持っているならば、おそらくグラフィックスカードを認識するグラフィカルな方法があるのでしょう。実際、このオプションはLinuxデスクトップのセットアップツールのどこかにあるのでしょう。
GNOMEデスクトップで、「設定」ダイアログボックスを開き、サイドバーの「詳細」をクリックします。Aboutパネルで、Graphicsの項目を探します。これにより、どのグラフィックカードがコンピュータに搭載されているか、より具体的には、現在どのグラフィックカードが使用されているかが分かります。お使いのコンピュータには、複数のGPUが搭載されている場合があります。
物理ホストの GNOME 設定「バージョン情報」タブでは、先ほど見たのと同じ「NV138」のカード ID が得られ、ここでもこの情報**を検索エンジンで使ってカードの種類を見つけることができます。
多くのノートパソコンには、中央演算処理装置(CPU)**ベンダーのものと、主流のGPUサプライヤーのものとの、2つのグラフィックスカードが搭載されています。
先ほどと同じlspciコマンドを入力してみますが、今回はノートパソコンで実行します:.
sudo lspci -v | less予想通り、搭載されているグラフィックカードについて、以下のような記述がありました。
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09) (prog-if 00 [VGA controller]) Subsystem: ASUSTeK Computer Inc. 3rd Gen Core processor Graphics Controller Flags: bus master, fast devsel, latency 0, IRQ 33 Memory at f7400000 (64-bit, non-prefetchable) [size=4M] Memory at d0000000 (64-bit, prefetchable) [size=256M] I/O ports at f000 [size=64] [virtual] Expansion ROM at 000c0000 [disabled] [size=128K] Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit- Capabilities: [d0] Power Management version 2 Capabilities: [a4] PCI Advanced Features Kernel driver in use: i915 Kernel modules: i915 01:00.0 VGA compatible controller: NVIDIA Corporation GF119M [GeForce 610M] (rev a1) (prog-if 00 [VGA controller]) Subsystem: ASUSTeK Computer Inc. GF119M [GeForce 610M] Flags: bus master, fast devsel, latency 0, IRQ 34 Memory at f6000000 (32-bit, non-prefetchable) [size=16M] Memory at e0000000 (64-bit, prefetchable) [size=128M] Memory at e8000000 (64-bit, prefetchable) [size=32M] I/O ports at e000 [size=128] Expansion ROM at f7000000 [disabled] [size=512K] Capabilities: [60] Power Management version 3 Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+ Capabilities: [78] Express Endpoint, MSI 00 Capabilities: [b4] Vendor Specific Information: Len=14 <?> Capabilities: [100] Virtual Channel Capabilities: [128] Power Budgeting <?> Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?> Kernel driver in use: nouveau Kernel modules: nouveauこのノートパソコンにはIntel Core GPUとNVIDIA GeForce 610Mが搭載されていますが、どちらのカードも通常どちらのGPUが使われているかを示す「[VGA controller]」という文字列が表示されています。
同時に使うことはまずないので、まずはメインストリームのGPUサプライヤーのカードを使えるようにすることを目指しましょう。これは、ノートパソコン**のベンダーがデフォルトとみなすもので、マシンのハードウェア仕様に含まれているものです。
ここで紹介したテクニックのどれかは、必ずやあなたのお役に立つはずですお使いのパソコンやノートパソコンに搭載されているグラフィックカードの種類がわかったら、適切なグラフィックドライバーを選びます。