我正在开发一个连接了屏幕的嵌入式设备HDMI-0
。现在,我们的问题是,有两种不同屏幕和不同分辨率的选项,我们需要xrandr
相应地定义参数。如何获取有关已连接屏幕的信息?最好支持的分辨率?
更新
我得到:
# xrandr --verbose
Can't open display
(我只有远程 shell 访问权限)
并且没有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
)。