Параметры дисплея

Предыдущая  Содержание  Следующая V*D*V

Иногда настройка свойств, связанных с вашим дисплеем, может быть сделана только изменениями в драйвере, которые вам необходимо сделать, чтобы включить видео на вашем устройстве, так что давайте начнём изучение драйверов видео, глядя на общие параметры отображения. Будем считать, что соответствующий драйвер удовлетворяет интерфейсу кадрового буфера, и используем для получения характеристик дисплея утилиту fbset:

 

bash> fbset

mode "1024x768-60"

    # D: 65.003 MHz, H: 48.365 kHz, V: 60.006 Hz

    geometry 1024 768 1024 768 8

    timings 15384 168 16 30 2 136 6

    hsync high

    vsync high

    rgba 8/0,8/0,8/0,0/0

endmode

 

D: значение выхода, установленное для частоты точки, dotclock, которая является скоростью, с которой видео оборудование рисует на экране пиксели. Значение 65.003 МГц в предыдущей распечатке означает, что это займёт у видео контроллера для отрисовки одного пикселя (1/65.003*1000000), или около 15 384 пикосекунд. Такая продолжительность называется pixclock и показывается как первый цифровой параметра в строке, начинающейся с timings. Числа после "geometry" сообщают, что в видимое и виртуальное разрешение  экрана 1024x768 (SVGA), и что числом битов, необходимых для хранения информации для пикселя, является 8.

 

H: значение определяет горизонтальную частоту сканирования, которая является числом горизонтальных линий отображения, сканируемых видеокартой за одну секунду. Эта величина является обратной времени pixclock, умноженному на разрешения по оси X. V: значение частоты обновления всего экрана. Это величина, обратная pixclock, умноженной на видимое разрешение по оси X и видимое разрешение по оси Y, которая составляет в этом примере около 60 Гц. Другими словами, ЖК дисплей обновляется 60 раз в секунду.

 

Видео контроллеры вырабатывают в конце каждой строки импульс горизонтальной синхронизации (HSYNC), а после отображения каждого кадра - импульс вертикальной синхронизации (VSYNC). Продолжительность HSYNC (в терминах пикселей) и VSYNC (в пересчете на линию пикселей) показывается как два последних параметра в строке, начинающейся с "timings". Чем больше дисплей, тем больше вероятные значения HSYNC и VSYNC. Четыре числа до продолжительности HSYNC в строке timings сообщают длину отступа от правого края дисплея, левый отступ, отступ снизу и верхний отступ, соответственно. Эти параметры наглядно показывают Documentation/fb/framebuffer.txt и страница справки fb.modes.

 

Чтобы связать эти параметры вместе, давайте вычислим значение pixclock для данной частоты обновления, которая в нашем примере равна 60.006 Гц:

 

dotclock = (разрешение по X + левый отступ + правый отступ

          + длительность HSYNC) * (разрешение по Y + верхний отступ

          + нижний отступ + длительность VSYNC) * частота обновления

         = (1024 + 168 + 16 + 136) * (768 + 30 + 2 + 6) * 60.006

         = 65.003 MHz

pixclock = 1/dotclock

         = 15384 пикосекунд (которая соответствует показанному выше выводу fbset)

 

Предыдущая  Содержание  Следующая