Проблема с FrameBuffer. [Решено]
Подскажите пожалуйста, как правильно настроить разрешение в консоли.
На данный момент использую следующие параметры запуска ядра:
"... vga=0x31B video=vesafb:mtrr:3,ywrap"
0x31B отвечает за разрешение 1280x1024,
При этом разрешение при загрузке linux изменяется следующим образом:
1. Grub - стандартное, если не ошибаюсь 640х480,
2. Идет загрузка системы - 1280x1024,
3. В момент когда идет загрузка модулей (собирал genkernel'ом) разрешение меняется на 1024x768, и таким остается до перезагрузки.
Опытным путем установил что при отключенном параметре Device Drivers -> Graphics support -> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) -> Enable modesetting on intel by default (CONFIG_DRM_I915_KMS)
Разрешение в последний раз не изменяется, но вывод очень тормозит - при emerge --sync, видно как идет построчная перерисовка кадра, при этом нагрузка на ЦП возрастает. Также не стартует Xorg - X -configure завершается с ошибкой - No sreens found.
Видео Intel:
00:02.0 VGA compatible controller: Intel Corporation 82865G Integrated Graphics Controller (rev 02)
По хендбуку, с uvesafb разрешение не изменяется вообще, он то ли не работает, то ли выключен.
С intelfb тоже самое что и с vesafb - если kms включен, происходит переключение на меньшее разрешение.
- Для комментирования войдите или зарегистрируйтесь
.
При использовании KMS я лично ничего из
vga=0x31B video=vesafb:mtrr:3,ywrap
встроке ядерных параметров не пишу, ибо ведро само выбирает наиболее "удобоваримое" для видеоподсистемы разрешение.
У меня в строке груба :
При загрузке ядро безупречно определяет разрешение монитора; не стану умствовать/гадать на кофейной гуще, ибо не знаю, но возможно, в этом помогает подключение "моник_через_DVI".
Суть не в этом, у вас
Суть не в этом, у вас поддержка frambuffer`а собрана с KMS, kernel mode sttings и вы используете открытые драйверы, на этапе инициализации фрэймбуфера благодаря поддержки KMS определяются параметры работы монитора через интерфейс EDID, работает как с D-SUB (VGA) так и DVI.
Но в случае использования KVM switches могут быть проблемы.
в сучае KMS разрешение
в сучае KMS разрешение передается просто
Так вот в том то и дело что
Так вот в том то и дело что ядро игнорирует этот параметр, и оставляет стандартные 80 на 25 строк.
NFS_Daemon написал(а): Так
Убрать из ядра все фреймбуферы (vesafb, intelfb и пр.), включить KMS. Убрать из комстрочки ядра vga= и прописать video=1027x768. Если не поможет, показать dmesg
Спасибо, помогло, но тепер
Спасибо, помогло, но тепер другой баг - справа появилась черная полоска (шириной приблизительно в 1,5 см, на мониторе в 19"), автоподстройка монитора ее не убирает, если не ошибаюсь можно указать параметр видео как video=1280x1024-32@60?
Попробую сейчас так сделать.
UPD: не помогло, полоска осталась. Такое впечатление что справа есть вертикальная черта толщиной в пару пикселей, но ее отделяет от рабочей области консоли темная, вертикальная полоса.
В добавок еще верхняя строка наполовину обрезана (не видно верхних частей символов). автоподстройка монитора ничего не изменяет.
вот dmesg - link
странный дмесг какой-то (У
странный дмесг какой-то (
У меня вот так (правда на радеоне. На интеле нет пока возможности посмотреть)
http://paste.pocoo.org/show/509609/
Еще попрошу версию и конфиг ядра
UPD. Хотя, сейчас посмотрел на интеле - то же самое. За исключением того, что ошибок у меня нет.
#uname -a Linux server
конфиг вот - link
но! В консоли полоски уже не наблюдаю, То есть в консоли разрешение то что мне нужно.
Из того что делал могу припомнить только загрузку со старым ядром, без kvm-switch'a (и без указания разрешения), затем загрузка с нынешним ядром с указаными выше параметрами и конфигом. Немного непонимаю что мог сделать что привело к такому результату.
Зачем в случае с KMS
Зачем в случае с KMS передавать разрешение, он для того и придуман, что бы выставлялось оптимальное рабочее разрешение монитора, т.е. максимальное, которое и является самым оптимальным, т.к. матрицы современных TFT LCD мониторов расчитываются на одно разрешение в расчёте одно зерно - один пиксель, если разрешение выставляется меньшее то тут уже происходит перерасчёт и получается где то боьлше зёрен на один пиксель и изображение уже получается не таким качественным.
То есть парамерт VGA=0x??? и
То есть параметр VGA=0x??? и video=????x???? можно убирать из параметров ядра?
При KMS да, если нормально
При KMS да, если нормально получаются данные по EDID от монитора.
Цитата: Зачем в случае с KMS
Бывает, что не всегда определяет правильно. И дело не только в EDID. В качестве примера: у меня дома к компу подключен телевизор через S-video. Соответственно ядро ставит разрешение 1024х768. А на мониторе 1280х1024. Приходится руками указывать...
У S-VIDEO есть интерфейс EDID
У S-VIDEO есть интерфейс EDID ?
Для того, что бы нормально определялось автоматически нужен EDID адаптер http://www.hdtvsupply.com/edidadapters.html
И не надо здесь кричать что зачем покупать, а проще руками указать.
Я только сказал, что при правильном подключении монитора, напрямую без KVM swtich`а по интерфейсу D-SUB (VGA) или DVI через интерфейс EDID будут считываться параметры работы монитора. Только в этом случае. Для этого KMS и был придуман.
Прочтите сначала все мои сообщения, или хотя бы это: http://www.gentoo.ru/node/24194#comment-179613
Где вы прочитали про s-video ??? Ответьте пожалуйста.
Цитата: У S-VIDEO есть
Нет.
Мне не нужен. У меня все работает прекрасно.
Никто тут не кричит вроде...
Я привел пример того, что иногда, в некоторых ситуациях, как в моем примере, или же
может возникнуть необходимость в выставлении разрешения вручную. В этом случае поможет параметр video в комстрочке ядра. Это все, что я хотел сказать.
Ну ё-моё, ну я же русским
Ну ё-моё, ну я же русским языком говорю: что я описал только два конкретных способа подключения D-SUB и DVI, EDID передаётся только по этим интерфейсам и только для них реализован KMS как следствие. Я вам и написал что не надо кричать по поводу того что в некоторых случаях оно не работает, когда оно и не должно работать и я описал почему. И я указал KVM свич и про s-video тоже ясно написал.
Будете дальше кричать?
Прошу прошения. Где ты видишь
Прошу прошения. Где ты видишь эмоциональность в моих постах?
Ну а где я сказал что-нибудь, что противоречит этому?
Моё сообщение, на которое вы
Моё сообщение, на которое вы дали комментарий:
"Зачем в случае с KMS передавать разрешение, он для того и придуман, что бы выставлялось оптимальное рабочее разрешение монитора, т.е. максимальное, которое и является самым оптимальным, т.к. матрицы современных TFT LCD мониторов расчитываются на одно разрешение в расчёте одно зерно - один пиксель, если разрешение выставляется меньшее то тут уже происходит перерасчёт и получается где то боьлше зёрен на один пиксель и изображение уже получается не таким качественным."
Вы вобрали часть этого сообщения в качестве цитаты:
"Зачем в случае с KMS передавать разрешение, он для того и придуман, что бы выставлялось оптимальное рабочее разрешение монитора"
И ответили на него:
"Бывает, что не всегда определяет правильно. И дело не только в EDID. В качестве примера: у меня дома к компу подключен телевизор через S-video. Соответственно ядро ставит разрешение 1024х768. А на мониторе 1280х1024. Приходится руками указывать..."
Но я вам ещё раз говорю я говорил о случае, когда можно использовать KMS, это только два случая: подключение D-SUB или DVI без дополнительных посредников (KVM switch).
А вы мне опять про s-video, при котором нельзя использовать KMS.
И в этом случае нужно указывать параметр vga= или video=, но при чём здесь это. Вы описываете ситуацию, к которой не применимы условия описанной мной ситуации, а именно задействование KMS. Поэтому я вам еще раз говорю к чему ваше сообщение здесь.
Если хотите потроллить то ступайте на Windows F.A.Q..
[qoute]А вы мне опять про
А мужики то не знают! ©
Ты что обкуренный?
велкам ту
Тут на твои посты я отвечать больше не собираюсь...
Мдя, ну подключите монитор
Мдя, ну подключите монитор через s-video и пусть для него определится его максимально разрешение.
Гражданин kostik87,
Гражданин kostik87, заканчивайте нести бред.
Во-первых, eegorov общается корректно и спокойно, чего нельзя сказать о некоторых.
Во-вторых, параметр `video=...` упоминается в документации по KMS (например), так что хватит разводить демагогию.
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
Ну во-первых, я не считаю это
Ну во-первых, я не считаю это бредом, так что говорить о корректности высказываний можно кому угодно, но только не вам.
По поводу высказываний eegorov, я ни чего не говорил о их корректности и не отрицаю их правильность, но они не применимы к описанному мной случаю.
EDID по s-video передаётся? Я считаю что нет, возможно я ошибаюсь, но вряд ли.
Я не против использования параметра video, но зачем ?
Демагогию я не развожу, а высказываю своё мнение, опровергнуть которое для меня можно только ссылкой на компетентный источник указывающий обратное или на не точность в нём.
Еще раз. В последний. KMS -
Еще раз. В последний. KMS - это просто фреймбуфер, работающий в пространстве ядра (в отличие от того же vesafb или intelfb, которые работают в пространстве пользователя). Одной из возможностей его является автоматическое определение разрешения монитора по EDID. Если автоматическое определение не работает, можно указать разрешение вручную. Или ты считаешь, что если EDID недоступен, то KMS использовать нельзя? В таком случае, это лично твое заблуждение. Теперь точно все.
.
Неправда ваша (HDMI, DisplayPort)
Нет
Любое без исключения автоопределение чего бы там ни было при некотором стечении обстоятельств (и хард- и софт- верных) может выдать ошибочный результат. Если же вы знаете параметры вашего дисплея, то указание их вручную (в данном случае - посредством параметра video) позволяет избежать ошибки, пусть даже маловероятной...
Мы тоже не всего читали Шнитке!.. © В. Вишневский
Ну значит я всё равно ошибся
Ну значит я всё равно ошибся не сильно ибо я изначально egorov указывал на то, что s-video не поддерживает edid и как следствие KMS. Ибо основные разногласия у нас с egorov в том, что он привёл в пример s-video, в то время как этот пример не корректен, по описанным мной выше причинам.
С не правильным определением через KMS при выполнении указанных мной условий я не встречался, прямое подключение монитора (без KVM switch). И ещё раз я не против того, что бы указывать video или vga, но это только целесообразно только при не задействованном kms или использовании закрытого драйвера, во всех остальных случаях указывать разрешение вручную не нужно, должен отработать kms, иначе зачем его вообще включать в ядре.
kostik87
Курите матчасть: закрытые драйверы не работают с KMS в принципе, так что никакого «или».
За тем, чтобы был KMS. Название «Kernel ModeSetting» не подразумевает угадывание одного разрешения монитора. Но, к счастью, чаще всего он на это способен.
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
Не выдёргивайте слова из
Не выдёргивайте слова из предложения, если вы ещё раз прочитайте целиком предложение:
"И ещё раз я не против того, что бы указывать video или vga, но это только целесообразно только при не задействованном kms или использовании закрытого драйвера, во всех остальных случаях указывать разрешение вручную не нужно, должен отработать kms, иначе зачем его вообще включать в ядре."
То вам станет ясно, что я имел ввиду. А именно: опции нужно использовать только в случае не задействования kms (выключен в ядре) или в случае использования закрытого драйвера, т.к. kms в этом случае не используется.
С чего вы решили, что я не знаю о том, что kms используется только с открытыми драйверами ? Где я это написал дословно, покажите.
Если в не умеете читать предложения и понимать смысл того, что написано, то не стоит писать в ответ облачающие в незнании человека высказывания.
Поучитесь формальной логике и
Поучитесь формальной логике и умению выражать мысли. «Если число отрицательно или меньше двух».
Сколько раз и сколько людей должны повторять Вам, гражданин, что это ситуация из идеального мира с идеально работающим и стопроцентно определяющим разрешение KMS? Если бы эта опция вообще не нужна была для KMS, модули ядра должны бы вообще игнорировать её, как полагаете, а?
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
krigstask
Научитесь читать и понимать, что написано, а не искать то чего нет.
Используйте как хотите, у меня, на всех ПК, где я использовал открытые драйверы с KMS у меня корректно определялось разрешение экрана, без всяких дополнительных опций, передаваемых ядру. Я использую эти опции только в некоторых случаях, которые я выше описал, в общем случае они не нужны.
Но думаю что вы, что я останемся при своём мнении, которое зависит от личного опыта, просто вам больше попадалось "глючной" техники, где не отрабатывал качественно KMS, мне же повезло.
И ещё раз повторюсь я ответил изначально пользователю egorov, если вы проследите все мои ответы, только из-за того, что он привёл не корректный пример про s-video и kms., а не потому, что хочет использовать указанные опции, в его примере их использование целесообразно.
kostik87
Искал логику и здравый смысл. Больше не буду.
У меня тоже. И?
Обычно — действительно не нужны, но в случае проблем с выставлением разрешения сто́ит попробовать `video=`.
Он привёл корректный пример, когда KMS не мог определить разрешение. Почему — дело десятое, но передача параметра ядру помогла. Вот так это выглядит с третьей стороны. И со стороны меня, как модератора форума (это намёк).
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
Пример не корректен, потому,
Пример не корректен, потому, что у S-VIDEO нет edid и как KMS по вашему выставит разрешение.
Насчёт логики и здравого смысла делайте как хотите, но научиться общаться нормально всё же лучше. Считайте как хотите я не буду ни чего доказывать
kostik87 написал(а): Пример
Никак, для подобных случаев и нужен параметр `video=`. Сколько мне это придётся ещё повторять?
Я не против, а очень даже за, приступайте.
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
KVM Switch... Не счел
KVM Switch... Не счел важным.. Действительно использую... Сейчас попробую без него.
UPD: Забавно-забавно, без kvm switch'a переключение во время поиска модулей тоже происходит (видно что экран гаснет на мгновение), но разрешение остается 1280 на 1024 (то ли цветность меняет, то ли частоту).
Теперь только косметичесский вопрос: а можно это как-то жестко указать чтобы и с kvm switch работало?
Это не так принципиально - комп перезагружаю редко, так что могу свитч и отключать.. Но если можно то почему не использовать?
либо используйте параметр
либо используйте параметр vga=0xXXX и указывайте видеорежим, а KMS выключите, но параметр vga будет работать в случае с grub-legacy, lilo или syslinux / extlinux, grub-2 при использовании этого праметра говорит что он устарел и убирает из апарметров передаваемых ядру.
Либо вкмопильте монолитно в ядро модуль вашей видеокарты и KMS, тогда при старте ядра будет выставляться правильное разрешение сразу, а не после загрузки модуля.
Насчёт KVM switch`а, скорее всего с ним не получится, если только в нём нет возможности выставлять как-либо параметры EDID, что бы KMS их получал.
По поводу первого пункта,
По поводу первого пункта, буду выяснять почему video моим ядром игнорируется, чувствую будет много опыта с виртуалками, т.к. часто перезагружать комп не могу.
По второму, в graphics support все опции касающиеся intel собраны в ядре, монолитно, надо с genkernel-а уходить, а то входит не владею ситуацией.
По третьему, да тупой, примитивный свитч, никакой настройки. Может когда со вторым пунктом разберусь потребность в третьем отпадет..
Всем спасибо!