Принудительное обнаружение монитора, низкий уровень

Я не уверен, но похоже, что вы говорите о вырезанных буферах.

Для получения дополнительной информации о том, как работает буфер обмена и буферы вырезания, ознакомьтесь с этими ссылками:

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

Удачного рытья!

2
19.08.2018, 13:17
2 ответа

Это не решение, а возможный обходной путь:

$ env DISPLAY=:0 xset dpms force off
$ env DISPLAY=:0 xset dpms force on

Описанный выше метод взят из раздела вопросов и ответов AU под названием:Монитор DisplayPort не обнаруживается при выключении и повторном включении имелись и другие решения аналогичной проблемы.

Ответы на вопросы U&L под названием:Как определить, подключен или отключен монитор? У есть метод опроса, который может помочь и здесь.

1
27.01.2020, 22:08

Это не совсем ответ на ваш вопрос как таковой, но, возможно, это технически правильный ответ, поэтому я воспользуюсь преимуществами более удобного форматирования ответов, так что это не 30 стена -из -текста Комментарии.

Вы вряд ли получите ответ по SO/SE, потому что просто не хватает -знаний по предметной области. Гораздо лучше поговорить напрямую с разработчиками драйверов ядра i915.

https://01.org/linuxgraphics/documentation/how-report-bugsсодержит очень исчерпывающие инструкции о том, как сделать это организованно.

То, как вы сформулировали свой отчет об ошибке, подразумевает, что/sys/class/drm/card0-DP-2/statusсуществует, когда вы подключаете кабель DisplayPort после загрузки, но не существует, когда кабель и экран не подключены. Что ж, все, что связано с /sys/*, определенно не связано с X11 -, и drmв пути абсолютно подтверждает, что вы хотите следовать разделу1.1 - DRM Kernelиз приведенной выше ссылки.

Я ознакомился с деталями, запрошенными в этом разделе, и вполне уверен, что невозможные -для -биты понимания на самом деле не нужны. При этом информация о ядре и дистрибутиве, полная dmesgпосле перезагрузки с drm.debug=0xeи т. д. — все это очень хорошие идеи.

Очевидно, что два dmesgs были бы здесь логически уместны; один из багажника без разъема, а другой с. Может быть очень полезно указать точную или приблизительную точку, в которую вы на самом деле подключаете разъем.

5 минут размышлений привели к подходящему хакерскому -, но -успешному способу легко комментировать:

script -c 'dmesg -w | cat' dmesg.txt

запустит dmesg -w, а также позволит вам вводить строки текста непосредственно в терминал для добавления аннотаций , и вы можете ^C, когда закончите сбор информации dmesg.(dmesg -w | catкороче dmesg -w --color=never.)

Одна, возможно, -маловероятная вещь, просто на всякий случай :это когда-нибудь работало? Если да, то не помните, в какое время? Если да, попробуйте установить старые версии дистрибутивов, которые вы использовали в тех точках, и если они работают, соберите версии ядра!

Кроме того... вы можете не захотеть это слышать, но, как всегда, нельзя быть на 100% уверенным в том, что неохотное получение последней работающей версии ядра не исправит все волшебным образом.:)

К счастью, это гораздо менее страшно, чем вы могли бы опасаться:https://cgit.freedesktop.org/drm-tip/— это полный клон ядра Linux с уже свернутыми подсказками drm -из -древовидных патчей. Насколько я могу судить, просто клонируйте и соберите это, и вы должны быть готовы к работе.

...При этом из соображений осторожности вы можете загрузить последнюю версию ядра и сначала получить тот известный -, а затем скопировать .configв дерево drm-tip. Если вы не сделаете этого в первую очередь, и все взорвется вбок, проверка того, что вы можете собрать и загрузить основное ядро, может быть хорошей первой проверкой -подавления -работоспособности.

Вот нужная страница багзиллы:https://bugs.freedesktop.org/enter_bug.cgi?product=DRI

На самом деле, это почти наверняка покажет вам окно входа в систему; в этом случае вам сначала понадобится этот URL:https://bugs.freedesktop.org/createaccount.cgi

Наконец, если вы хотите задать вопросы,https://01.org/linuxgraphics/community/kernelупоминает #gfx -информацию о freenode.

FWIW, то, что я описал выше, является идеальным набором шагов. Вы можете открыть предварительную ошибку на freedesktop.org, прежде чем, например, пойти и выполнить пересборку ядра, чтобы узнать, нет ли других шагов отладки, которые вы могли бы попробовать.(На странице сообщения об ошибке в разделе версии указан только "drm git", поэтому они действительно хотят, чтобы вы использовали версию git... хех)

На самом деле у меня есть хороший вопрос для канала IRC. -Я перечислил репозиторий drm-tipgit, потому что он упоминается в документации, но есть также репозиторий drm-intel, и я не знаю, что это актуальность есть. Он также выглядит как дерево ядра и тоже обновляется каждые несколько минут.

3
27.01.2020, 22:08

Теги

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