LINUX.ORG.RU

Улучшения X.org в Ubuntu


0

0

Разработчик из Ubuntu работает над новой интересной возможностью по запуску X server'a. Всем хорошо известно, что если вы поменяли монитор или видеокарту, то в этом случае X server может не запуститься, и пользователю придётся исправлять положение, использую командную строку. Система BulletProof-X призвана исправить это положение следующим образом - при ошибке запуска X server'a, он автоматически запускается сначала с драйвером Vesa (800x600/256), а потом с драйвером VGA 640x480/16. А уже в графическом режиме вы можете настроить конфигурацию правильно. Нововведение ожидается в Ubuntu 7.10. Будем надеятся, что другие дистрибутивы Линукса воспользуются этими наработками.

>>> Подробности

★★★★★

Проверено: Shaman007 ()
Ответ на: комментарий от KriK

>Вообщем я рад. Каждый день видеть какие-нить новинки в линуксе... Когда чтоб увидеть что-нить новое в выньде надо лет 5 ждать. И то оказывается смаздаенным бояном у других осей. Еще бы эта штука автоматом полностью настраивала иксы с новой видюхой... Только вопрос появился. Например если сменить моник, который не поддерживает разрешение, которые было для старого моника, как он автоматом то определит, что на монике то ничего не показывается?

Для этого есть такая вещь, как EDID (можно считать из моника инфу). То есть можно гарантирвоанно выставить те параметры, при которых все будет ОК.

dikiy ★★☆☆☆
()
Ответ на: комментарий от svu

> Начнем с ядра.

Воистину.

> Конструктивные предложения? Все равно оставлять так, как оно есть - нельзя. Считать, что пользователя надо выкидывать в консоль - 90s.

Сделать онлайн-сервис или автогенератор xorg.conf на основе вывода lspci?

darkstar ~ # lspci | grep Display

darkstar ~ # lspci | grep VGA
01:00.0 VGA compatible controller: ATI Technologies Inc R480 [Radeon X850 XT] (PCIe)

01:00.1 Display controller: ATI Technologies Inc R480 [Radeon X850 XT] (PCIe) Secondary

И так далее, э?

Gharik
()
Ответ на: комментарий от madcore

> Меня настройка раскладки в xorg.conf устраивает, но спорить не буду. Судя по лору, некоторым только из-за кде-шной раскладушки приходится гном терпеть.

setxkbmap(1), xmodmap(1)

В нормальных дистрибутивах раскладки в xorg.conf уже давно не используюся. Используется /etc/X11/xinit/Xkbmap и ~/.Xkbmap

led
()
Ответ на: комментарий от Gharik

> Сделать онлайн-сервис или автогенератор xorg.conf на основе вывода lspci?

Надеюсь, это шютка? Зачем оно надо? Почему X Server не может все это проделывать самостоятельно? Тем более что оно должно работать и без интернета, правда?

svu ★★★★★
()
Ответ на: комментарий от madcore

>Но по-идее, в ltsp5 изначально ведь нет никаких приблуд из альта?

В LTSP изначально практически нет никаких приблуд - только набор скриптов. один только маааленький бинарник ltscfg.

>В 4.2 тоже ведь ядра 2.6. уже с удевом...

В LTSP5 нет никаких ядер - всё из дистрибутива:)

led
()
Ответ на: комментарий от svu

>Конструктивные предложения? Все равно оставлять так, как оно есть - нельзя. Считать, что пользователя надо выкидывать в консоль - 90s.

Дополнить startx и/или xinit: анализируем код выхода X, если с ошибкой - генерим /etc/X11/xorg.org.auto и запускаемся с ним, если и это не получилось - смотрим наличие /dev/fb0 и пытаемся запуститься с /etc/X11/xorg.conf.fbdeb, иначе - с /etc/X11/xorg.conf.vesa?

led
()
Ответ на: комментарий от led

>В LTSP изначально практически нет никаких приблуд

Сорри, "недопечатал": имелось ввиду "в LTSP5"

led
()
Ответ на: комментарий от SilentLexx

> Блин а какой чайник себе сам видуху/монитор меняит?

Между черным и белым есть 256 оттенков серого. Да и монитор перевотнуть можно и чайника обучить.

> ИМХО если человек может видяху сам смеить, то зайти в консоль и поправить конфиг несоставит труда..

Человек может разбиратся в компах и в винде, а в линуксе не разбиратся.

szh ★★★★
()
Ответ на: комментарий от led

А вот теперь расскажите - нафига в этой последовательности нужен конфигурационный файл (даже много)? Их же еще мейнтейнить надо... Туда еще ошибок можно напихать сгоряча. Почему просто не запускать соотв. серверы?

Что в этих файлах есть такого (для тривиальных ситуаций), что минимально разумный иксовый сервер сам не может отрюхать?

svu ★★★★★
()
Ответ на: комментарий от led

> Дополнить startx и/или xinit

во первых кому затруднительно xorg редактировать грузятся в 5 runlevel.

> анализируем код выхода X, если с ошибкой - генерим /etc/X11/xorg.org.auto и запускаемся с ним

Недостаточно. Надо не только загрузить X, но и сразу предложить пользователю в GUI указать какая видяха/монитор, чтобы он мог перезагрузиться в нормальном разрешении, а не сидеть в 800x600 до переустановки ОС.

szh ★★★★
()
Ответ на: комментарий от svu

>Что в этих файлах есть такого (для тривиальных ситуаций), что минимально разумный иксовый сервер сам не может отрюхать?

Например моделайны. Текущие конфигураторы не выдают то что нужно. X-сервер знает кучу моделей мониторов, и про такую же кучу он не знает ничего. И это не редкость.

anonymous
()
Ответ на: комментарий от anonymous

> Текущие конфигураторы не выдают то что нужно.

Фиксить.

> X-сервер знает кучу моделей мониторов, и про такую же кучу он не знает ничего. И это не редкость.

Современные мониторы сами про себя рассказать могут.

Да, для старых или кривых мониторов - нужен xorg.conf, это я уже сказал выше. Но если монитор (и видяха) ведут себя прилично - скрипач не нужен.

svu ★★★★★
()
Ответ на: комментарий от szh

>Недостаточно. Надо не только загрузить X, но и сразу предложить пользователю в GUI указать какая видяха/монитор, чтобы он мог перезагрузиться в нормальном разрешении, а не сидеть в 800x600 до переустановки ОС.

Не надо ничего "предлагать". Нужно сгенерить нормальный xorg.conf.auto и запуститься с ним.

led
()
Ответ на: комментарий от svu

>нафига в этой последовательности нужен конфигурационный файл (даже много)? Их же еще мейнтейнить надо...

*.fbdev и *.vesa мейнтейнить - много ума не надо - они стандартные:)

>Что в этих файлах есть такого (для тривиальных ситуаций), что минимально разумный иксовый сервер сам не может отрюхать?

А вы поизучайте исходники Xorg/XFree86 - такие вопросы сразу отпадут, и энтузиазм тоже:)

led
()
Ответ на: комментарий от anonymous

>Например моделайны. Текущие конфигураторы не выдают то что нужно. X-сервер знает кучу моделей мониторов, и про такую же кучу он не знает ничего. И это не редкость.

Какие "моделайны"? купите себе монитор, которому меньше 5 лет и обновите свою слаку 3.5.

led
()
Ответ на: комментарий от led

> *.fbdev и *.vesa мейнтейнить - много ума не надо - они стандартные:)

А как же раскладки?;) Опять же, если они стандартные - пусть эти два файла будут неявно "забиты" в код икс сервера. НАВСЕГДА.

> А вы поизучайте исходники Xorg/XFree86 - такие вопросы сразу отпадут, и энтузиазм тоже:)

Не изучал сырцы дальше xkbcomp/libxkbfile. Но это к делу не относится. Это детали реализации. Мы же говорим о том, как оно должно быть, а не как оно есть. И исходя из той инфы, которую мы сегодня видим в xorg.conf - можно уверенно сказать, что _почти_ вся эта информация лишняя. Она из времен, когда мониторы и видяхи были тупыми.

svu ★★★★★
()
Ответ на: комментарий от svu

А как же раскладки?;)

Раскладки - в /etc/X11/xinit/Xkbmap и (при необходимости) в ~/.Xkbmap

>пусть эти два файла будут неявно "забиты" в код икс сервера. НАВСЕГДА.

Стандартная раскладка и так "забита":)

>Не изучал сырцы дальше xkbcomp/libxkbfile. Но это к делу не относится. Это детали реализации.

Эти "детали реализации" очень даже "к делу относятся". Потому как у разрабочиков Xorg две большие проблемы: мультиплатформенность (из-за этого там костыль на костыле и воркэраунд на воркэраунде) и большой бюджет (от "богатых дядек", которые и диктуют направление развития). Из-за этого не принимаются никакие патчи, которые в какой-то мере правят достаточно кривую внутренню архитектуру Xorg, в коде - сплошное велосипедо-изобретательство (чтобы покрыть все поддерживаемые архитектуры).

> И исходя из той инфы, которую мы сегодня видим в xorg.conf - можно уверенно сказать, что _почти_ вся эта информация лишняя.

Да, это так. Было бы лучше, если бы те оставшиеся параметры, которые всё ещё нельзя установить с помощью xmodmap/setxkbmap/xrandr/etc, можно было бы указать хотя бы в параметрах /usr/bin/Xorg. Но, хоть и медленно, оно движется в эту строну. Например FontPath уже не нужен:)

led
()
Ответ на: комментарий от mihalych

> Кстати, в режиме VGA (да и стандартных режимах VESA), refresh rate такой, что пожалели бы свои глаза (даже на LCD заметна разница, не говоря уже о нормальных мониторах).

А у одного из моих приятелей есть ЖК монитор, который с драйвером VESA и карточкой от NVIDIA ругается на частоты синхронизации. Как, интересно, Ubuntu справится с этим зверем?

AEP ★★★★★
()
Ответ на: комментарий от fMad

> на моей памяти только, перекошенный экран, в котором попамяти надо открыть 10 менюшек, куда то нажать, и тогда может получиться.

При загрузке нажать F8 - выбрать VGA Mode и перекошенного экрана не будет - ничего изменять не надо, т.к. это было всегда.

gggg
()
Ответ на: комментарий от led

> Да, это так.

Ну, в общем, мы друг друга поняли. Кстати, xmodmap - тоже костыль тот еще, его б тоже уконтрапупить...

svu ★★★★★
()
Ответ на: комментарий от AEP

>А у одного из моих приятелей есть ЖК монитор, который с драйвером VESA и карточкой от NVIDIA ругается на частоты синхронизации.

Используйте uvesafb для консоли и тогда c драйвером fbdev Xorg запустится всегда, если видяха поддерживает VBE 2.0+

led
()

Гм. А почему бы сначала все же не запустить определение видеокарты, а потом уж в vesa падать?

jackill ★★★★★
()
Ответ на: комментарий от jackill

>А почему бы сначала все же не запустить определение видеокарты, а потом уж в vesa падать?

Ну, наверное, для того, чтобы было "как в венде":)

led
()
Ответ на: комментарий от svu

> Надеюсь, это шютка? Зачем оно надо? Почему X Server не может все это проделывать самостоятельно? Тем более что оно должно работать и без интернета, правда?

Почему нет? С учётом того, что большинство пользователей не занимаются наколенным самосбором, то вести базу моделей с готовыми настройками и т.п. - очень даже реально.

Впрочем я так и знал, что по второй части возражений не будет ;)

Gharik
()
Ответ на: комментарий от svu

>Что в этих файлах есть такого (для тривиальных ситуаций), что минимально разумный иксовый сервер сам не может отрюхать?

Предсказуемость поведения системы. Если конфиги будут генерится каждый раз во время загрузки заново получим вторую винду - перезагрузился и слетели дрова звукавухи. Так что конфиги не трогать.

DNA_Seq ★★☆☆☆
()
Ответ на: комментарий от DNA_Seq

>Если конфиги будут генерится каждый раз во время загрузки заново получим вторую винду

Они будут генериться только если с существующими конфигами X-ы не стартуют. Разницу улавливаете?

led
()
Ответ на: комментарий от Gharik

>то вести базу моделей с готовыми настройками и т.п.

Возражение было - нахрена размещать её в инете =)

DNA_Seq ★★☆☆☆
()
Ответ на: комментарий от led

>Они будут генериться только если с существующими конфигами X-ы не стартуют.

Против этого варианта ничего не имею. Остаётся добавить возможность отката и ручного выбора модулей (хотя бы на уровне открытый/закрытый, с ускорением и без) Мне казалось, разговор ушёл на тему отказа от конфигов вообще.

DNA_Seq ★★☆☆☆
()
Ответ на: комментарий от anonymous

>safemode :)

Сейфмод уже давно есть - однопользовательский режим или по простому runlevel(3)

DNA_Seq ★★☆☆☆
()
Ответ на: комментарий от DNA_Seq

> Возражение было - нахрена размещать её в инете =)

Потому как легкодоступная и основная база. А в дистры включать снэпшоты и т.п. Маленькие все чтоль? ;)

Gharik
()

ну молодцы, что придёмали.... ждёмс.

и кста, оффтопег тут не при чём, кт ото там бухтел что это оффтопная фича (чтоб у него win32k.sys похерилсо :-))))

anonymous
()
Ответ на: комментарий от Gharik

>навести разработчиков Гнома на мысль интеграции х-сервера в сам Гном?

Лучше ядро интегрировать в кеды.

Xellos ★★★★★
()
Ответ на: комментарий от Xellos

>Лучше ядро интегрировать в кеды.

А откуда по-твоему буква k в названии? ;)

DNA_Seq ★★☆☆☆
()
Ответ на: комментарий от Xellos

> А если я хочу nvidia? Или nouveau?

Давайте уж определимся: или "как в Винде", или свобода выбора. :)

По хорошему, драйвер одной и той же железяки должен быть один. На худой конец можно поиграться символическими ссылками на драйверный модуль, если уж хочется "свободы выбора", которая в этом месте нужна, пожалуй, только разработчикам. Так что "хотелки" еще не повод поддерживать это в _конфигурационном_файле_

annoynimous ★★★★★
()
Ответ на: комментарий от annoynimous

> если руки у разработчиков видеоконтроллеров не из ж.пы (кстати, Intel тут умудрился отличиться)

Интел отличился или "отличился" ?

sv75 ★★★★★
()
Ответ на: комментарий от madcore

> Раскладку, нужное мне разрешение и тп он сам угадает?

Раскладска должна ставится в зависимости от пользователя при входе в ДЕ-консоль.

Разрешение у мониторов в целом у нас сейчас одно единственное.

> xorg.conf все равно нужен.

Не нужен. Случаи настройки правильной частоты у древних CRT отметаем.

sv75 ★★★★★
()
Ответ на: комментарий от anonymous

> Молчите, очень вас прошу. А то сейчас сюда JB с geek'ом заявляться.

А кто все эти люди, я что-то давно их не видел?

sv75 ★★★★★
()
Ответ на: комментарий от sv75

> Интел отличился или "отличился" ?

В кавычках. Сейчас поясню в чем дело (по крайней мере выскажу своё понимание: если кто что имеет поправить - поправьте). Так вот, VideoBIOS встроенных карт на чипах 915 (возможно 945 и 965, я за них не уверен) содержит только "стандартные" разрешения с отношением сторон 4:3 для глубины цвета в 8, 16 и 24 бит. Владельцы ноутов с широкоформатными матрицами (или просто с "нестандартным" разрешением типа 1400х1050) имеют следующую проблему: Х-сервер не стартует или стартует с неродным для матрицы разрешением, причём ни то, ни другое не лечится modeline'ами. Почему так происходит? А вот почему: Х-сервер спрашивает карточку и получает зашитые в VideoBIOS разрешения; затем спрашивает по ddc монитор и получает от него свои разрешения. И чаще всего оказывается, что пересечение этих двух множеств пусто, после чего он вываливается с ошибкой, которую вольно можно перевести как: "братан, ну не нашел я подходящего режима!". Получается, что строго следуя спекам мы имеем не функционирующий графический режим. Самое интересное, что допустимые vesa-режимы обычно прописаны правильно. Как же работает тот же оффтопик? А я так понимаю, что он вообще тупо игнорирует VideoBIOS, форсируя использование "не описанных" в нем режимов. В Linux это обходится хаком типа 915resolution, который просто прописывает нужную строчку в shadow-copy VideoBIOS'а в оперативной памяти. Самое смешное, что такое решение работает с suspend-to-ram, но ломается на suspend-to-disk, поскольку в последнем случае происходит реинициализация устройств и переписывание образа VideoBIOS в оперативной памяти. Я эту проблему полгода решал, пока не прописал вызов 915resolution в скриптах, выполняемых после просыпания.

annoynimous ★★★★★
()
Ответ на: комментарий от annoynimous

> Я эту проблему полгода решал, пока не прописал вызов 915resolution в скриптах, выполняемых после просыпания.

А, это. Да, есть такая буква. Да, тоже поразвлекался, пока не доперло вставить 915 в перезарускаемые службы, иначе было 1024x768 :(

sv75 ★★★★★
()
Ответ на: комментарий от annoynimous

Не прошло и 10 лет, как линуксоеды всё же задумались - "а как же на етом ероплане летают простые люди"? Которым работать, а не компилять...

anonymous
()
Ответ на: комментарий от sv75

> Да, тоже поразвлекался, пока не доперло вставить 915 в перезарускаемые службы, иначе было 1024x768 :(

Все было гораздо хуже. Суспендюсь, значит, я на диск. Программы, естественно, запущены в графической сессии.

Открываю крышку, нажимаю кнопочку. Ноут просыпается потихоньку. Наконец приходит время пробуждения Х-сервера. А он, проснувшись, обнаруживает (точнее не обнаруживает) нужного видеорежима и со словами "Ик, херня какая-то, хозяин, случилась..." помирает. Вместе с программами. А рестартанувшая копия восстаёт с 1280x1024 вместо 1400x1050 отчего замыляется всё неимоверно. :)

annoynimous ★★★★★
()
Ответ на: комментарий от anonymous

> Не прошло и 10 лет, как линуксоеды всё же задумались - "а как же на етом ероплане летают простые люди"? Которым работать, а не компилять...

Помолчи, коль сказать нечего. Между прочим Винда сыграла не последнюю роль в игнорировании производителями железяк спецификаций и соглашений, потому что приветствовала сооружение костылей и подпорок. Некоторые фирмы оборзели настолько, что не просто стали пользоваться костылями и подпорками, а писать на них.

annoynimous ★★★★★
()
Ответ на: комментарий от sv75

>Не нужен. Случаи настройки правильной частоты у древних CRT отметаем.

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

DNA_Seq ★★☆☆☆
()
Ответ на: комментарий от annoynimous

>По хорошему, драйвер одной и той же железяки должен быть один.

Это по хорошему, но их как минимум 2. Представь ситуацию - стоит у человека драйвер nvidia. Друг принёс для проверки видяху от ати. Проверил, унес. Человек включает комп и вместо драйвера nvidia обнаруживает nv

DNA_Seq ★★☆☆☆
()
Ответ на: комментарий от DNA_Seq

> Человек включает комп и вместо драйвера nvidia обнаруживает nv

Я уже предложил способ "обхода" - просто использовать символические ссылки, у которой на одном конце nv.so а на другом - любой бинарный модуль, поддерживающий карты nVidia

annoynimous ★★★★★
()
Ответ на: комментарий от sa22

вот придурки, они ещё этого не сделали? Видеодрайверы тормозные, виджеты убогие, после смены карты не запускается - класс!

anonymous
()
Ответ на: комментарий от DNA_Seq

> В Редмонде тоже так решили и в результате при переходе в 3д решим частота рефереша сбрасывается до 60 герц, что даже на жк-мониках мягко говоря, маловато.

Даёшь права мутантам! Даёшь 200Гц на LCD мониторах!

Gharik
()
Ответ на: комментарий от sv75

>Интел отличился или "отличился" ?

Отлечился.

madcore ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.