Тюнинг иксов или улучшаем производительность и качество X-window

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


    одному вдр-юзеру Thomas Hilber это надоело и он запустил мини-проект, исправляющий эти косяки.


    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.


    Цель проекта - довести качество картинки с графических карт с PAL/RGB выходом до качества картинки с FF карт при просмотре Live TV


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


    Чтобы исправить такую ситуацию, Thomas Hilber выпустил несколько патчей, в первую очередь для радеон-карт. Все подробности на ссылках, которые я дал выше. Там он очень подробно объясняет принципы работы его патча. На русский сложно перевести.


    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    вот здесь, текущая версия патча.


    по моему, надо и кабель перепаять.

  • и как сегодня ответил Томас в вдр-листе, эта проблема актуальна и для новеших видях - HD серии от АТИ, Интел G35/G45


    Он не понимает, почему проблема синхронизации видео с потоком никого не волнует.


  • Цитата

    Со слов пользователя Goga777
    и как сегодня ответил Томас в вдр-листе, эта проблема актуальна и для новеших видях - HD серии от АТИ, Интел G35/G45


    Он не понимает, почему проблема синхронизации видео с потоком никого не волнует.


    А мне понятно почему никого не волнует. Потому что, как он пишет:

    Цитата


    It just a pleasant by-product of the sync that in some cases you need not to
    deinterlace anymore.


    а как мне тут популярно объяснили, в панелях всё равно прогрессивная развёртка и внутренний деинтерлесинг. И тогда смысла во всей этой затее нет, так как в случае деинтерлесинга пофигу в каком порядке идут поля. Т.е. проблема актуальна только для старых ЭЛТ телеков.
    Но я по тупости своей всё равно проверил на своём жк телеке 1680х1050 и обычном ЭЛТ телеке.
    Спаял кабель переходник с ВГА на СКАРТ, видеокарточка радеон 8500.
    Ну во-первых качество через скарт лучше чем через с-видео тв-аут ( ну это понятно)
    Во вторых, схема переходника что прилагалась к патчу не очень, на ЭЛТ телеке не хватило сигнала, синхронизация срывалась при выводе осд. Пришлось спаять другую, где сигналы синхронизации смешивались ттл микросхемой, с питанием от усб.
    Оба телека повели себя совершенно одинаково - без патча перепутанные поля и дёрганье движущихся объектов, с патчем - плавно и красиво. Деинтерлесинг xineliboutput-а выключен.
    При включении деинтерлесинга в xineliboutput - что с патчем, что без патча, что через тв-аут перепутанных полей нет, сильного дёрганья нет, но качество изображения меня вообще не устраивает, загрузка процессора под 90% (р4 2.0)
    Ну и после того, как я испортил вга шнур, сделав из него переходник на скарт, я обнаружил у себя на жк вга вход... :)
    Поэтому попробовать патч при вга -> вга пока не получилось. Но что-то терзают меня сомнения, что смогу я через вга вход загнать жк телек в 576i
    Ну и хотелось бы, чтобы это было заточено под directfb - намного легче система получается в смысле ресурсов.

  • Да, забыл добавить, этот патчик только для 576i. Вывод HD он не исправляет. (надо ли его вообще исправлять - не знаю)

  • Цитата

    Со слов пользователя Yuri6666
    а как мне тут популярно объяснили, в панелях всё равно прогрессивная развёртка и внутренний деинтерлесинг. И тогда смысла во всей этой затее нет, так как в случае деинтерлесинга пофигу в каком порядке идут поля. Т.е. проблема актуальна только для старых ЭЛТ телеков.


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


    Цитата


    Ну во-первых качество через скарт лучше чем через с-видео тв-аут ( ну это понятно)


    качество через VGA лучше, чем через s-video. C этим утверждением согласен.


    Цитата


    Оба телека повели себя совершенно одинаково - без патча перепутанные поля и дёрганье движущихся объектов,


    именно с таким качеством ты до этого и смотрел ТВ с вдр ?


    Цитата


    с патчем - плавно и красиво. Деинтерлесинг xineliboutput-а выключен.


    ну, так это же замечательно ! Как насчет загрузки проца ? она изменилась после патча ?


    Цитата


    При включении деинтерлесинга в xineliboutput - что с патчем, что без патча, что через тв-аут перепутанных полей нет, сильного дёрганья нет, но качество изображения меня вообще не устраивает, загрузка процессора под 90% (р4 2.0)


    а какой метод деинтерлейсинга был включен ? в чем выражалась плохая картинка ?


    Цитата


    Ну и после того, как я испортил вга шнур, сделав из него переходник на скарт, я обнаружил у себя на жк вга вход... :)


    не понял. А как до этого к телику комп подключал ? я как раз понял, что по VGA и подключал.


    Цитата


    Поэтому попробовать патч при вга -> вга пока не получилось. Но что-то терзают меня сомнения, что смогу я через вга вход загнать жк телек в 576i


    по идее должно получиться.


    Цитата


    Ну и хотелось бы, чтобы это было заточено под directfb - намного легче система получается в смысле ресурсов.


    если есть опыт работы с directFB - поделись , пожалуйста, своим опытом и впечатлениями от него (в плане просмотра TV) в
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.

  • Цитата

    Со слов пользователя Goga777
    проблема не только в том, что поля идут в неправильном порядке, а и в том, что некоторые поля и кадры могут дублироваться или пропадать вообще. Этот дефект заметят все аппараты - с прогрессивной разверткой и чрезстрочной.


    Да, скорее всего. Хотя мы говорим про некоторые поля, а субъективно выглядит так, что синхронизация полей срывается секунд на 30-40, потом примерно столько же всё нормально и т.д.
    Природа эффекта такова: В синале идут данные одного полукадра, потом синхроимпульс, потом данные второго полукадра - опять синхроимпульс. По ним телек опрелеляет, когда высвечивать эти полукадры. Т.к. полукадры сдвинуты на строку по высоте и на 20 мс по времени, то выдавать их нужно строго по порядку. Видеокарта видит эти синхроимпульсы, но свой генератор развёртки не синхронихирует с ними и наступает такой момент, когда синхроимпульс с видеокарты идёт для четного поля, а поле идёт нечётное - имеем трясучку, т.к. сдвинуто и по времени и по месту.

    Цитата


    именно с таким качеством ты до этого и смотрел ТВ с вдр ?


    Первую неделю - с интерлесингом. Потом отключил его и получил трясучку. Подумал, почитал эхи и купил на ebay матрокс. Изображение стало отличное, но процессор перестал справляться и греется карточка как печка.
    Почитал эхи, подумал :) И купил VIA EPIA1000, dxr3 и наконец ЕМ8400. Про епиа была отдельная история, хотя там я налетел на те же грабли. У dxr3 мало памяти, поэтому ОСД с ограниченным функционалом. Но вывод видео - отменный. И сейчас у меня основной вдр на em8400, которая меня почти полностью устраивает. Особенно по качеству изображения. Поэтому я и высказывался за настоящий харварный кодер видео.

    Цитата


    ну, так это же замечательно ! Как насчет загрузки проца ? она изменилась после патча ?


    Нет. Примерно 10-15% без sc. Но стал ненужен деинтерлейс, который и жрал процессор.

    Цитата


    а какой метод деинтерлейсинга был включен ? в чем выражалась плохая картинка ?


    Методы пробовал все, какие есть в xineliboutput. Плохая картинка - резкое ухудшение резкости, особенно на движущихся объектах, микроподёргивания... субъективно сильно отличается.

    Цитата


    не понял. А как до этого к телику комп подключал ? я как раз понял, что по VGA и подключал.


    Через SCART - те же RGB, только в вга синхроимпульсы отдельно а в скарте- смешаны. Для этого и преходник. И автор патча тоже говорит про SCART. (не у всех телеков скарты поддерживают RGB - надо проверять, чтобы не налететь)

  • Цитата

    Со слов пользователя Master Yoda


    А что у тебя за девайс с em8400?


    Netstream 2000. На плате на бумажке было написано. Я бумажку отодрал - а там написано Nеtstream 4000 :) Но чип 8400. Твой драйвер грузит ventura2k и девайсов в /dev/sigma не появляется. Кстати, в Makefile нет копирования em840x.ko по mke install :)

    Сообщение было отредактировано 1 раз, последнее редактирование пользователем Yuri6666 ().

  • Цитата

    Со слов пользователя Yuri6666


    Netstream 2000. На плате на бумажке было написано. Я бумажку отодрал - а там написано Nеtstream 4000 :) Но чип 8400. Твой драйвер грузит ventura2k и девайсов в /dev/sigma не появляется.


    Все правильно. Сигма использует слишком хитрый способ для идентификации своих плат (у них одинаковые DeviceID,SubdeviceID и тд :(), поэтому линуксовский hotplug не рюхает тип платы и некорректно загружает драйвер для Ventura2000. Далее драйвер ventura2k изучает устройство более "глубоко", понимает, что это не Ventura и не создает устройство.


    Мне на днях привезут NetStream2000TV, так что поддержка для твоей железяки скоро будет :)


    Цитата

    Со слов пользователя Yuri6666
    Кстати, в Makefile нет копирования em840x.ko по make install :)


    Бывает S.

  • Цитата

    Со слов пользователя 1455
    Где можно почитать про exaa ? Вообще без понятия, что это такое.


    я немного ошибся - правильно - EXA , которое пришло на смену устаревшему методу акселерации - XAA. Вот мой пример xorg.conf - я специально оставил комментарии для того, чтобы немного понять, как и что надо править. Еще раз повторюсь - крайне желательно обновить xorg-server, dri/drm/mesa до самых свежийх версий.



    вот немного новостей по теме


    Цитата


    В открытом драйвере RadeonHD (xf86-video-radeonhd), разрабатываемом при поддержке компаний AMD и Novell, появилась начальная поддержка архитектуры аппаратной 2D акселерации EXA и XAA (XFree86 Acceleration Architecture) для графических карт на базе Radeon X1000 (R500).


    Особый интерес представляют результаты оценки производительности проприетарного драйвера Catalyst 8.01 и свежих сборок открытых драйверов xf86-video-radeonhd и xf86-video-ati. При тестировании утилитой GtkPerf, драйверы xf86-video-radeonhd и xf86-video-ati, работающие в режиме XAA, показали близкую к Catalyst 8.01 производительность. Значительное отставание открытых драйверов в EXA режиме, объясняется отсутствием поддержки DMA пересылок и не полной готовностью кода драйверов.


    Цитата


    In computing, EXA is a graphics acceleration architecture of the X.Org Server (see also X Window System) designed to replace XAA [1] (the XFree86 Acceleration Architecture) and to make the XRender extension more usable, with only minor changes needed to adapt XFree86 video drivers written to use XAA; it was designed by Zack Rusin and announced at LinuxTag 2005[2] and first released with X.Org Server version 6.9/7.0.


    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.


    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    EXA - New acceleration architecture


    а вообще, посоветую вот такую статью


    Цитата


    Состояние графики Линукс.
    Джон Смирл


    После того, как я отошёл от работы над Xgl, я получил много писем по электронной почте и прочитал большое количество сообщений, из которых понял, что люди часто не знают, как обстоят дела с графикой в Линукс. Почему не ясна общая картина, понятно. Графика это большая и сложная область с многими программными составляющими и конкурирующими группами разработчиков. Я написал эту статью, чтобы объяснить, как все части соотносятся между собой.


    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.




  • пипл с hXXp://dvbn.happysat.org/viewtopic.php?t=48085
    рапортует о том, как удалось уменьшить нагрузку на проц при просмотре HDTV