私は画面付きの組み込みデバイスを開発していますHDMI-0
。これで問題は、画面と解像度が異なる2つのオプションがあり、xrandr
それに応じてパラメータを定義する必要があることです。接続画面に関する情報を取得するには?最もよくサポートされている解像度は何ですか?
修正する
私は得る:
# xrandr --verbose
Can't open display
(リモートシェルアクセスのみ可能)
そしてそうではありませんdrm/
:/sys/class
root@2d04637:/sys/class# ls
13e10000.host1x ata_port camchar_class gpio i2c-dev kone mdio_bus net pci_bus ptp rtc scsi_host tachometer trusty_ipc vtconsole
android_usb backlight devfreq graphics ieee80211 koneplus mem nvidia-gpu phy pwm ryos sound tegra-firmware tty watchdog
arvo bdi dma hidraw input konepure misc nvidia-pci-gpu power_supply pyra savu spi_master tegra-vi-channel udc
ata_device block extcon hwmon iommu kovaplus mmc_host nvme ppp regulator scsi_device stepper_motor tegra_dc_ext vc
ata_link bsg firmware i2c-adapter isku leds mtd padctrl pps rfkill scsi_disk switch thermal video4linux
私たちのシステムは、Ubuntu Xenialベースのオペレーティングシステムを実行する組み込みボックスです。
答え1
実際、xrandr --verbose
すでに接続されている画面に情報を出力できるはずです。モニターを接続してコマンドを実行すると、サポートされている解像度のリストが表示されます。Arkadiusz Drabczykが指摘したようにDISPLAY
、これを使用するときは、環境変数が設定されていることを確認する必要がありますxrandr
。
/sys
あるいは、グラフィックコネクタに対応するディレクトリツリーのサブディレクトリ(これと同様である必要があります)を見つけて、次のようにそのディレクトリのファイルから実行することもできます。/sys/class/drm/cardNumber-HDMI-anotherNumber
edid-decode
edid
edid-decode /sys/class/drm/card0-HDMI-0/edid
使用しているLinuxの種類とバージョンによっては、ディストリビューションのパッケージマネージャを使用してソフトウェアをインストールする必要があります(Debianベースのシステムではこれをパッケージマネージャと呼びますedid-decode
)。