Как получить EDID для единственного монитора?

Если все, Вы хотите запустить приложения GUI на сервере, Вы ничего не должны выполнять вне самого приложения. Графический интерфейсы пользователя Unix основаны на X-оконной системе, и одно очень хорошее свойство X - то, что это является сетевым прозрачным: приложение, которое хочет отобразить материал, не должно работать на той же машине как программа, это говорит с аппаратными средствами дисплея.

Если Ваш клиент выполняет систему Unix, просто выполненную ssh и запустите приложение GUI: это будет отображено на Вашей локальной машине. Вы, возможно, должны включить X передач, если это не активно по умолчанию; посмотрите, Как я работаю с инструментами GUI по удаленному серверу? Если Ваш клиент работает на Windows, можно использовать PuTTY и Xming, также покрытый вышеупомянутым потоком.

Удаленный дисплей может быть довольно медленным (это - особенно задержка, которая может быть раздражающей). Существуют программы, которые сжимают и кэшируют трафик для создания удаленным X быстрее. Лучшей из породы является NX, из которого существует бесплатная реализация FreeNX.

20
13.04.2017, 15:36
5 ответов

Ведущий № 1: монитор-edid

Я не то, что на EDID и контролирует, но я действительно находил этот инструмент, monitor-edid который мог бы быть полезен для Вас здесь также.

Простите мне, если это от основы, я пытаюсь также узнать больше об этом пространстве, учитывая множество вопросов, которые Вы задаете по теме.

$ monitor-edid 
EISA ID: LEN4036
EDID version: 1.3
EDID extension blocks: 0
Screen size: 30.3 cm x 19.0 cm (14.08 inches, aspect ratio 16/10 = 1.59)
Gamma: 2.2
Digital signal

    # Monitor preferred modeline (60.0 Hz vsync, 55.8 kHz hsync, ratio 16/10, 120 dpi)
    ModeLine "1440x900" 114.06 1440 1488 1520 2044 900 903 909 930 -hsync -vsync

    # Monitor supported modeline (50.0 Hz vsync, 51.8 kHz hsync, ratio 16/10, 120 dpi)
    ModeLine "1440x900" 114.06 1440 1488 1520 2204 900 903 909 1035 -hsync -vsync

Ведущий № 2: ddcontrol

Был другой инструмент, с которым я столкнулся названный ddccontrol, который мог бы быть полезным в получении информации, Вы после.

Ведущий № 3:/sys

Наконец во вводе по абсолютному адресу через /sys Я заметил, что были вершины, зависающие прочь различных видеоинтерфейсов.

$ sudo find . |grep -i edid
./devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-1/edid
./devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-2/edid
./devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-3/edid
./devices/pci0000:00/0000:00:02.0/drm/card0/card0-VGA-1/edid
./devices/pci0000:00/0000:00:02.0/drm/card0/card0-LVDS-1/edid
./devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-1/edid
./devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-2/edid
./devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-3/edid
./module/drm/parameters/edid_fixup
./module/drm_kms_helper/parameters/edid_firmware

Однако на моем ноутбуке Lenovo эти "файлы" были пусты, возможно, они отличаются в Вашей системе. Я нашел этот поток форума, который показал демонстрационный вывод от EDID VGA.

$ lspci | grep VGA
01:00.0 VGA compatible controller: nVidia Corporation NV17 [GeForce4 440 Go 64M] (rev a3)
$ xxd  /sys/devices/pci0000:00/0000:00:0b.0/0000:01:00.0/drm/card0/card0-VGA-1/edid
0000000: 00ff ffff ffff ff00 5a63 0213 0101 0101  ........Zc......
0000010: 2b0a 0103 1c25 1bb0 eb00 b8a0 5749 9b26  +....%......WI.&
0000020: 1048 4cff ff80 8199 8159 714f 6159 4559  .HL......YqOaYEY
0000030: 3159 a94f 0101 863d 00c0 5100 3040 40a0  1Y.O...=..Q.0@@.
0000040: 1300 680e 1100 001e 0000 00ff 0033 3139  ..h..........319
0000050: 3030 3433 3030 3737 330a 0000 00fd 0032  004300773......2
0000060: a01e 6114 000a 2020 2020 2020 0000 00fc  ..a...      ....
0000070: 0047 3930 6d62 0a20 2020 2020 2020 00ba  .G90mb.       ..

Источник: Порядковый номер Монитора Извлечения / Дата Изготовления Используя EDID?.

Ссылки

18
27.01.2020, 19:43
  • 1
    @l0b0 - это только было 2? Походивший больше. Я могу путать категорию этого Q w/просто Вы спрашивающий их. Я удалю незаконное использование 8-) –  slm♦ 10.02.2014, 14:54
  • 2
    /sys/... работает на меня, я имею Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09) с i915 драйвер, Kubuntu 15.04 –  user.dz 25.09.2015, 21:39
  • 3
    /sys/... и xrandr --verbose оба возврата данные EDID для моего монитора HDMI, но никакой возврат данные EDID для моего монитора DVI. –  noobninja 04.06.2016, 15:18
  • 4
    Ссылка монитора-edid является битой, и archive.org не имеет никаких резервных копий. Кто-либо знает, где я могу получить тот инструмент? –  Peter W. 04.07.2016, 01:50
  • 5
    @PeterW. - существует альтернатива, благодарит обратить мое внимание на это. Также инструмент находится в большинстве главных repos. Я нашел его в Fedora 24, например, и также CentOS. Таким образом, можно установить инструмент как двоичный файл, который является, вероятно, намного более легкой опцией. –  slm♦ 04.07.2016, 05:35

Вывод xrandr --props содержит шестнадцатеричные строки EDID для каждого подключенного дисплея в менее подробном виде. Вот простой сценарий Python , использующий это для получения EDID для определенного подключенного монитора.

Я не нашел никаких других инструментов CLI в дистрибутиве, которые работали бы для извлечения EDID в моей системе на базе NVidia, но большинство инструментов для синтаксического анализа двоичного EDID, похоже, работают нормально.

12
27.01.2020, 19:43

Если вы используете архитектуру x86 или powerpc, вы можете использовать read-edid . В Debian это доступно здесь .

Простое использование (вы должны быть root):

$ sudo get-edid > /tmp/edid

, а затем проанализировать структуру:

$ parse-edid < /tmp/edid
Checksum Correct

Section "Monitor"
    Identifier "HP v220"
    ModelName "HP v220"
    VendorName "HWP"
    # Monitor Manufactured week 13 of 2008
    # EDID version 1.3
    # Analog Display
    DisplaySize 470 300
    Gamma 2.20
    Option "DPMS" "true"
    Horizsync 30-81
    VertRefresh 56-76
    # Maximum pixel clock is 160MHz
    #Not giving standard mode: 1152x720, 60Hz
    #Not giving standard mode: 1280x960, 60Hz
    #Not giving standard mode: 1280x1024, 60Hz
    #Not giving standard mode: 1440x900, 60Hz
    #Not giving standard mode: 1600x1000, 60Hz
    #Not giving standard mode: 1680x1050, 60Hz
    Modeline    "Mode 0" -hsync +vsync 
EndSection

Часто это объединяется в:

$ sudo get-edid | parse-edid

См. Также здесь о том, как передать эту настройку edid на графическую карту, используя либо:

  • CustomEDID, либо
  • drm_kms_helper.edid_firmare
9
27.01.2020, 19:43

Последняя версия инструмента под названием edid -decode может анализировать информацию EDID, а также читать и записывать текстовые и двоичные файлы EDID. Он хорошо работает на выходе xrandr --verbose. Например, его можно использовать для сохранения EDID в двоичном файле :

.
xrandr --verbose | edid-decode - /file/to/save

Версия edid -decode, поставляемая с пакетом Fedora 27 (:xorg -x11 -utils ), слишком старая и не работает идеально. Я использовал самую последнюю версию .

3
27.01.2020, 19:43

В двоичной форме EDID доступен по адресу /sys/class/drm/card%d-%s/edid, где %dпредставляет индекс устройства DRM (, возможно, индекс графического процессора ), а %s— идентификатор соединителя, который вы видите в выходных данных xrandr.

Чтобы получить список всех доступных, запуститеls -1 /sys/class/drm/*/edid

Если ваш драйвер графического процессора не поддерживает DRM, вы не сможете получить EDID таким образом.

Для просмотра в шестнадцатеричном формате запустите для него hexdump.

Если вам нужна удобочитаемая -форма, передайте ее edid-decode, например.:

edid-decode < /sys/class/drm/card0-eDP-1/edid

(вам может потребоваться установить его с помощью менеджера пакетов, sudo apt install edid-decodeдля Ubuntu)

12
27.01.2020, 19:43

Теги

Похожие вопросы