Page 2 of 2

Re: NVIDIA

Posted: Tue Jun 17, 2014 11:56 am
by Serge
Veden
Там и не такое допустимо, всё на усмотрение драйверописателя. Но зачем ?
ATOMBIOS АМД содержит байткод и разработчики используют виртуальную машину для программирования connector->encoder->crtc. Были у них споры на эту тему, победил здравый смысл. По железу NV не в курсе.

Re: NVIDIA

Posted: Tue Jun 17, 2014 10:36 pm
by Veden
Для чего нужны нестандартные видеорежимы (в том, что нужны, не сомневаюсь)?
VESA на GTX 680 даёт следующие режимы для вывода графики: ..., 800x600, 1024x768, 1280x1024, 1600x1200 и 1920x1200. Этого мало?
Режим монитора с этим никак не связан - картинка масштабируется. Думаю, у других производителей тоже самое.
DDC вообще нужен лишь при горячей смене монитора: карточка при инициализации всегда получает EDID и настраивает все связанные с ним регистры, а при установке режима лениво сравнивает сигнатуры.

Хочу понять, чем именно вызван отказа от VESA? Неудобством вызова 16-битного кода? Потребностью в аппаратном курсоре? Другой причиной?
Serge wrote:По железу NV не в курсе.
BIOS NVIDIA содержит свою виртуальную машину.

Насколько древнее железо должен поддерживать драйвер? Как Линукс, с рождения NVIDIA (RivaTNT)?

О будущем Колибри. Что планируется в отношении x86-64 и UEFI, что оставляет процессор в незащищённом 64-битном Long Mode?

Re: NVIDIA

Posted: Tue Jun 17, 2014 11:03 pm
by Mario_r4
Veden wrote:Для чего нужны нестандартные видеорежимы (в том, что нужны, не сомневаюсь)?
VESA на GTX 680 даёт следующие режимы для вывода графики: ..., 800x600, 1024x768, 1280x1024, 1600x1200 и 1920x1200. Этого мало?
Абсолютно нет гарантий, что любой из производителей видеокарт не забьет на Vesa и сделает по минимуму: 640x480, 800x600, 1024x768, 1280x1024. Вообще не раз звучало мнение вендоров, что неплохо бы Vesa уже выбросить совсем. И таки вероятно выбросили на смартфонах с x86 - печалька.
Veden wrote:Хочу понять, чем именно вызван отказа от VESA? Неудобством вызова 16-битного кода? Потребностью в аппаратном курсоре? Другой причиной?
В перспективе поддержкой аппаратного ускорения. Также, если вспомнить про курсор, то даже после моего переписывания кода (когда курсор перестал наконец пропадать и моргать на динамически обновляющихся окнах) все еще есть люди которые стонут "дядиньки а пачиму курсор движется рывками, а не как в моей любимой Шиндовс?"

Re: NVIDIA

Posted: Tue Jun 17, 2014 11:20 pm
by Serge
Veden
"Стандартные" режимы в прошлом веке остались. А сейчас много разного мобильного железа с хитрыми матрицами 1360 - 1366 и т.п. Масштабирование мониторы делают, но с нарушением пропорций. У меня 1920х1080. Десктоп 1024х768 ещё нормально для работы, но смотреть видео с нарушением пропорций уже не очень. Интересно, что у АМД гпу сам масштабирует картинку под родное разрешение монитора, правда драйвер пришлось немного хакнуть.

Re: NVIDIA

Posted: Wed Jun 18, 2014 12:34 am
by Mario_r4
Serge wrote:Интересно, что у АМД гпу сам масштабирует картинку под родное разрешение монитора, правда драйвер пришлось немного хакнуть.
Не знаю как реализация на AMD/ATI, но мои попытки задействовать такое масштабирование на NVidia закончились нецензурной бранью: во первых в играх это заметно притормаживало, во вторых масштабирование было ни сколько не лучше, чем это делает сам монитор, а ожидалось, что будет более сглажено.

Re: NVIDIA

Posted: Wed Jun 18, 2014 1:28 am
by Veden
Serge wrote:Интересно, что у АМД гпу сам масштабирует картинку под родное разрешение монитора, правда драйвер пришлось немного хакнуть.
У NVIDIA точно также. Настраиваются два видеорежима: устанавливаемый и под матрицу монитора (по его EDID). Используются два разных набора регистров CRTC. При установке нового видеорежима можно вообще не трогать регистры режима монитора.

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

Re: NVIDIA

Posted: Wed Jun 18, 2014 1:38 am
by Veden
Mario_r4
У меня масштабирование работает (текст, графика) и поля регулируются, но я не использую при этом аппаратное ускорение. Кроме того, очень сомневаюсь, что будет работать на другой карточке.

Re: NVIDIA

Posted: Wed Jun 18, 2014 1:59 am
by Serge
Mario_r4 wrote: Не знаю как реализация на AMD/ATI, но мои попытки задействовать такое масштабирование на NVidia закончились нецензурной бранью
Для АМД это дефолтный режим. Ни разу не сталкивался с проблемами.
Veden wrote:видео-BIOS ничего не знает про аппаратный курсор и использует массу недокументированных регистров
У NVIDIA есть документация в свободном доступе ?

Курсоры и смена режимов желательны, но не обязательны вместе. Если не получается всё и сразу, хватит чего-то одного.

Re: NVIDIA

Posted: Wed Jun 18, 2014 10:05 am
by Veden
Serge wrote:У NVIDIA есть документация в свободном доступе ?
Теперь есть (исходники на Forth там же, неподалёку). Написать установку 1920x1200 на ассемблере - не проблема. Проблема в том, что работать это будет скорее всего лишь под моей карточкой.

Выдрать работу с аппаратным курсором из линуксовых исходников нетрудно. Вот с комплексной установкой нужного видеорежима придётся повозиться...