Использование порта HDMI In на ПК с Linux

Вопрос или проблема

У меня есть HP Envy 23 k019 All-In-One с портом, который позволяет использовать его как монитор. (Порт обозначен как HDMI In, есть специальная кнопка для включения HDMI-входа, и он идеально работает с программным обеспечением HP My Display для Windows 8.)
Однако мне не хочется использовать Windows 8.1 на моем мониторе, поэтому я пытаюсь найти способ захватить HDMI-вход или эмулировать программное обеспечение My Display, которое активирует кнопку.
DDCUtil показывает, что дисплей не любит взаимодействия – фактически, использование ddccontrol -d dev:/dev/i2c-4 фактически выключило дисплей почти в конце сканирования и потребовало жёсткой перезагрузки! Вот вывод ddcutil:

[easter@archmon ~]$ ddcutil getvcp known
Не удалось открыть каталог /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm: Нет такого файла или каталога
Код VCP 0x02 (Новое значение управления             ): Одно или несколько новых значений управления были сохранены (0x02)
Код VCP 0x0e (Частота                         ): текущее значение =     0, максимальное значение = 10000
Код VCP 0x10 (Яркость                    ): текущее значение =   100, максимальное значение =   100
Код VCP 0x12 (Контраст                      ): текущее значение =    80, максимальное значение =   100
Код VCP 0x14 (Выбор цветового пресета           ): !!! Неподходящий формат вывода. mh=0xff, ml=0xff, sh=0x00, sl=0x0b
Код VCP 0x16 (Уровень видеосигнала: Красный               ): текущее значение =    96, максимальное значение =   100
Код VCP 0x18 (Уровень видеосигнала: Зеленый             ): текущее значение =   100, максимальное значение =   100
Код VCP 0x1a (Уровень видеосигнала: Синий              ): текущее значение =   100, максимальное значение =   100
Код VCP 0x1e (Автонастройка                    ): Автонастройка не активна (sl=0x00)
Код VCP 0x20 (Горизонтальная позиция (Фаза)   ): текущее значение = 65528, максимальное значение =   132
Код VCP 0x30 (Вертикальная позиция (Фаза)     ): текущее значение = 65534, максимальное значение =    18
Код VCP 0x3e (Фаза тактового сигнала                   ): текущее значение =     0, максимальное значение =    63
Код VCP 0x42 (Горизонтальная перспективная коррекция           ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x43 (Вертикальная перспективная коррекция             ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x44 (Поворот                      ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x46 (Худшее в верхнем углу              ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x48 (Крюк в верхнем углу               ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x4a (Худшее в нижнем углу           ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x4c (Крюк в нижнем углу            ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x52 (Активное управление                ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x54 (Сохранение производительности      ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x56 (Горизонтальный муар              ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x58 (Вертикальный муар                ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x59 (Кросс-сaturation 6 осей: Красный        ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x5a (Кросс-сaturation 6 осей: Желтый     ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x5b (Кросс-сaturation 6 осей: Зеленый      ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x5c (Кросс-сaturation 6 осей: Циан       ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x5d (Кросс-сaturation 6 осей: Синий       ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x5e (Кросс-сaturation 6 осей: Магента    ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x60 (Источник ввода                  ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x62 (Объем аудиоколонки          ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x63 (Выбор динамика                ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x64 (Аудио: Объем микрофона      ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x66 (Датчик окружающего света          ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x6b (Уровень подсветки: Белый        ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x6c (Уровень черного видео: Красный        ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x6d (Уровень подсветки: Красный          ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x6e (Уровень черного видео: Зеленый      ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x6f (Уровень подсветки: Зеленый        ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x70 (Уровень черного видео: Синий       ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x71 (Уровень подсветки: Синий         ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x72 (Гамма                         ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x7a (Настройка фокуса            ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x7c (Настройка увеличения                   ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x7e (Трапеция                     ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x80 (Перспектива                      ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x82 (Горизонтальное зеркало (Перевернуть)      ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x84 (Вертикальное зеркало (Перевернуть)        ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x86 (Масштабирование дисплея               ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x87 (Резкость                     ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x88 (Модуляция скорости сканирования      ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x8a (Цветовая насыщенность              ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x8c (Резкость телевизора                  ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x8d (Аудиосигнал отключен/Экран пуст       ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x8e (Контраст телевизора                   ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x8f (Треble аудио                  ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x90 (Оттенок                           ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x91 (Бас аудио                    ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x92 (Уровень черного телевизора/Светимость    ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x93 (Баланс аудио Л/П             ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x94 (Режим аудиопроцессора          ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x95 (Положение окна(TL_X)         ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x96 (Положение окна(TL_Y)         ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x97 (Положение окна(BR_X)         ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x98 (Положение окна(BR_Y)         ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x99 (Управление окном включено/выключено         ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x9a (Фон окна             ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x9b (Цветовой контроль по 6 осям: Красный       ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x9c (Цветовой контроль по 6 осям: Желтый    ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x9d (Цветовой контроль по 6 осям: Зеленый     ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x9e (Цветовой контроль по 6 осям: Циан      ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0x9f (Цветовой контроль по 6 осям: Синий      ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0xa0 (Цветовой контроль по 6 осям: Магента   ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0xa5 (Сменить выбранное окно    ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0xaa (Ориентация экрана            ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0xac (Горизонтальная частота          ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0xae (Вертикальная частота            ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0xb2 (Расположение под пиксельной матрицы панели   ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0xb6 (Тип технологии дисплея       ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0xb7 (Состояние монитора                ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0xb8 (Количество пакетов                  ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0xb9 (Начало X монитора              ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0xba (Начало Y монитора              ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0xbb (Количество ошибок заголовка            ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0xbc (Количество ошибок CRC тела          ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0xbd (Идентификатор клиента                     ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0xbe (Управление ссылкой                  ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0xc0 (Время использования дисплея            ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0xc2 (Длина дескриптора дисплея     ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0xc4 (Включить отображение 'дескриптора дисплея'): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0xc6 (Ключ включения приложения        ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0xc8 (Тип контроллера дисплея       ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0xc9 (Версия прошивки дисплея        ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0xca (Управление OSD/Кнопка            ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0xcc (Язык OSD                  ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0xcd (Индикаторы состояния             ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0xce (Размер дополнительного дисплея        ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0xd0 (Выбор выхода                 ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0xd4 (Стерео видеорежим             ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0xd6 (Режим питания                    ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0xd7 (Выход дополнительного питания        ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0xda (Режим сканирования                     ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0xdb (Режим изображения                    ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0xdc (Режим дисплея                  ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0xde (Пробное место                   ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]
Код VCP 0xdf (Версия VCP                   ): Неверный ответ. код состояния=ENXIO(-6), Display_Handle[i2c-4: fd=3]

В отличие от некоторых других устройств, в dmesg, lsusb или lspci нет списка устройства кнопки. /dev/video0 – это внутренняя веб-камера, и есть устройство /dev/video1, но оно показывает тот же вывод, что и этот связанный пост, так что я не думаю, что он доступен для Linux.

Сама кнопка, правильно функционирующая в Windows, покажет текст ‘Игровой режим’ перед переключением на вход. Текст на экране использует точно тот же алиасированный шрифт, что и на моем мониторе Acer, и его нельзя закрыть с помощью alt-tab, ctrl-alt-delete или Win-R, а ввод с клавиатуры будет влиять только на систему Windows, так что я думаю, что видео отображается непосредственно через монитор.
Если у кого-то была похожая проблема или если есть что-то явное, что я пропускаю, пожалуйста, дайте знать! Просто пытаюсь преобразовать этот старый ПК с хорошим дисплеем!

P.S. Дисплей обозначен как HWP4224.

Ответ или решение

Использование порта HDMI In на ПК с Linux

Введение

Для пользователей систем Linux, которые владельцы компьютера HP Envy 23 k019 All-In-One и желают использовать порт HDMI In, возникает множество вопросов и проблем. Пользователи, нажимающие кнопку переключения на HDMI, сталкиваются с тем, что стандартные средства управления, такие как ddcutil, не позволяют использовать возможности порта HDMI In так, как это делает программа HP My Display в Windows 8. Давайте разберем этот вопрос более детально.

Технические особенности

Ваш компьютер оборудован портом HDMI In, который позволяет использовать его как монитор для других устройств. Это может быть полезно для подключения игровых консолей, вторых ПК или других мультимедийных устройств. Однако, чтобы HDMI In заработал на Linux, необходимо учитывать несколько нюансов.

  1. Необходимость в DDC/CI: Дисплей должен поддерживать DDC/CI (Display Data Channel/Command Interface). Однако в вашем случае, результаты команды ddcutil показывают значительные проблемы, включая невозможность взаимодействия с устройством.

  2. Ошибки ddcutil:

    • Ошибки с кодом статуса ENXIO указывают на то, что устройство не отвечает на команды управления. Это может свидетельствовать о том, что чип управления дисплеем не поддерживает DDC/CI, или что система не имеет необходимого доступа к нему.
    • Вероятно, что кнопка ‘Game Mode’ напрямую управляет режимом отображения, но без поддержки или драйверов от производителя HP для Linux, её функциональность может быть недоступна.
  3. Отсутствие поддержки в Linux: Как вы заметили, в выводах команд dmesg, lsusb и lspci отсутствуют соответствующие устройства, которые могли бы управлять портом HDMI. Это может свидетельствовать о том, что Linux не распознает HDMI In как отдельное устройство.

Возможно решение

Хотя полноценного решения для вашего случая, к сожалению, не существует, вы можете попробовать следующие шаги:

  1. Обновление системы и драйверов: Убедитесь, что ваша система Linux обновлена, и используемые вами драйверы для видеоадаптера актуальны. Это может улучшить совместимость.

  2. Использование альтернативных программ: Рассмотрите возможность использования программного обеспечения, альтернативного HP My Display. Например, программы для захвата видео, такие как OBS Studio, могут помочь вам в некоторых случаях, если HDMI In будет правильно распознан.

  3. Попробуйте запустить Live-версию Linux: Иногда, Live-версии дистрибутивов (например, Ubuntu, Fedora) могут иметь другие драйвера, которые лучше поддерживают определенные устройства. Это поможет вам проверить работоспособность HDMI In без необходимости установления полной системы.

  4. Обратитесь в сообщество: Сообщества Linux, такие как форумы ArchLinux или AskUbuntu, могут быть полезными для нахождения решения вашей проблемы. Возможно, кто-то уже столкнулся с аналогичной ситуацией и смог её разрешить.

Заключение

К сожалению, без должной поддержки со стороны драйверов и программного обеспечения от производителя HP, использование HDMI In на вашем HP Envy 23 k019 может быть затруднительным на платформе Linux. Если у вас нет возможности или желания возвращаться к Windows 8.1, остается надеяться на развитие поддерживающего программного обеспечения в будущем. Однако реализация этих шагов может помочь вам повысить шансы на успешное использование вашего устройства.

Оцените материал
Добавить комментарий

Капча загружается...