[Hardware] чужая матрица + intel (MSI Wind U100)

Andrey Liakhovets liakh на dol.ru
Пн Дек 13 17:12:07 UTC 2010


On Sun, 05 Dec 2010 21:18:32 +0300 "Andrey Liakhovets" wrote:
>LiveCD из последних сборок centaurus и desktop-kde4, а также eeepc-live
>уходят в чёрный экран примерно на "Populating dev".
>Причём на eeepc-live через некоторое время черноты появляется быстро
>мигающий бело-голубой квадрат во всю высоту экрана, а при переключении в
>консоль вся матрица постепенно "заливается" белым.
>При загрузке с acpi=off всё хорошо за исключением графики: модуль i915
>не грузится (ему нужны какие-то символы из acpi).
>
>В старом altlinux-4.1.0_beta20081221-children-i586-live-cd загрузка
>проходит нормально, но там только VESA.
>
>Сейчас пытаюсь найти, что бы такое acpi-ное отключить, чтобы и не уходил
>в черноту, и i915 грузился.

Прошу прощения за ложную тревогу: на аппарате стояла "неродная" матрица.
И ACPI был не при чём, а "ломалось" внутри i915 и drm.

Как выяснилось, с чужой матрицей всё тоже просто работало бы, если бы
в ней был хороший EDID.
А EDID в ней не совсем хороший, в нём нигде нет флага "preferred mode".
В результате i915 решил, что самый хороший режим можно взять из BIOS'а
(а матрица-то чужая!), drm сравнил с этим режимом полученные из EDID'а
и все их отбросил, а когда после этого ничего не осталось -- создал свой
режим 1024x768, но с V_TOTAL=605 и т.д.

Решилось прописыванием quirk'а для этой матрицы:
diff -Naur a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
--- a/drivers/gpu/drm/drm_edid.c        2010-12-12 10:00:06.472081769 +0000
+++ b/drivers/gpu/drm/drm_edid.c        2010-12-13 05:54:38.863151064 +0000
@@ -107,6 +107,9 @@
        /* Samsung SyncMaster 22[5-6]BW */
        { "SAM", 596, EDID_QUIRK_PREFER_LARGE_60 },
        { "SAM", 638, EDID_QUIRK_PREFER_LARGE_60 },
+
+       /* TNJ panel 1024x768 */
+       { "TNJ", 0x1cad, EDID_QUIRK_PREFER_LARGE_60 },
 };

 /*** DDC fetch and block validation ***/

После чего с удовольствием понаблюдал процесс загрузки и остановки
последней беты centaurus с новым splash :))).

В процессе выяснения пришлось поиграться с параметрами i915.modeset=0,
fbconf=map:1, video=1024x768 на 60, создать xorg.conf и прописать в нём
1024x768 (мерцающий квадрат -- это устанавливалось разрешение 2048x1536, и заливка белым -- скорее всего, из той же оперы).
Да, не успел под конец удалить xorg.conf, там осталось жёстко 1024x768.
Когда снова доберусь до аппарата -- попробую.

Андрей Ляховец

PS. Надо посмотреть на школьных intel'ах, вдруг что-то из этого поможет
воскресить bootsplash (если бы только bootsplash, на некоторых мониторах
при выключении -- что-то странное).


Подробная информация о списке рассылки Hardware