如何从命令行使用 Nvidia 获取 EDID

如何从命令行使用 Nvidia 获取 EDID

在配备英特尔 GPU 的 PC 上,我可以使用命令行访问原始显示 EDID

cat /sys/devices/pci*/0000:*/drm/card*/card*/edid

在安装了 nvidia 驱动程序的 PC 上,相同的命令没有结果。我可以通过打开并选择我的显示器并单击
来访问 EDID ,然后可以保存二进制 EDID 文件。nvidia-settingsAcquire EDID

如何从命令行执行相同操作?

答案1

如果您使用 X,您可以在命令行中运行此命令:

LC_ALL=C xrandr --prop | awk '
    function print_hex_edid() {
        getline
        while (/^[[:blank:]]*[[:xdigit:]]+$/) {
            sub(/[[:blank:]]*/, "")
            printf "%s", $0
            getline
        }
        print ""
    }
    /^[[:blank:]]*EDID.*:/ {
        print_hex_edid()
    }' | xxd -r -p

xxd命令仅用于从十六进制转换为二进制,但如果您用来edid-decode将 EDID 转换为人类可读的形式,则不必使用它。

相关内容