モニターメーカー、製品ID、シリアル番号を確認してください。

モニターメーカー、製品ID、シリアル番号を確認してください。

目標は、Linuxプラットフォームでモニターの製造元、製品ID、およびシリアル番号を取得することです。最終的にはC++プログラムからこの情報を入手する必要があります。しかし、私はコマンドラインメソッドも受け入れます。

ベストアンサー1

この情報は/sys/class/drmサブシステムを通じて提供されます。このようなツールxrandrが広く使用されています。このサブシステムの各ディスプレイには、ファイルを含むディレクトリがありますedid識別データの拡張表示

Debianベースのシステムでも2つのパッケージを使用できますedid-decoderead-edidどちらもうまく動作しているようですが、古いモデルと古いモデルではエラーを返しread-edidながらも十分に動作するようです。edid-decode

EDID block does NOT conform to EDID 1.3!
    Detailed block string not properly terminated
EDID block does not conform at all!
    Bad year of manufacture

read-edidしたがって、パッケージをインストールすることをお勧めします。インストールが完了したら、parse-edid次のコマンドを使用します。

$ parse-edid < /sys/class/drm/card0-HDMI-A-1/edid 
Checksum Correct

Section "Monitor"
    Identifier "X20G-NagaIII"
    ModelName "X20G-NagaIII"
    VendorName "SPT"
    # Monitor Manufactured week 42 of 2005
    # EDID version 1.3
    # Digital Display
    DisplaySize 410 310
    Gamma 2.20
    Option "DPMS" "true"
    Horizsync 30-92
    VertRefresh 40-86
    # Maximum pixel clock is 170MHz

もう一つのコマンドは、get-edidi2cバスに接続して、どのディスプレイが接続されていて、どのデータが利用可能かを自動的に把握するようです。もちろん、これはC ++アプローチではありませんが、これら2つのツールはおそらくCで書かれています。ソースコードを見て、どのライブラリを使用しているかを記録してください。

おすすめ記事