The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

чем можно создать ModeLine? (X video-mode)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: X, video-mode,  (найти похожие документы)
_ RU.UNIX (2:5077/15.22) ____________________________________________ RU.UNIX _ From : Alexey Mahotkin 2:5020/433 14 Dec 99 01:28:08 Subj : чем можно создать ModeLine? _______________________________________________________________________________ Reply-To: [email protected] >>>>> "G" == GrAndAGSoft <[email protected]> writes: G> Чем можно создать ModeLine в XF86Config для нестандартных режимов (типа G> 960х720) и/или нестандатрных частот. Chipset RIVATNT. Hе слушай Тоботраса, он пугает, думать и считать вовсе не надо. Есть приблуда, называется modeline. Ищется на freshmeat.net и умеет ещё и ModeLine'ы для frame-buffer'ов линуксовых. Я пользуюсь рабоче-крестьянской тулзой, которую давно-давно постил Сергей Оськин: # # xconfig.awk - awk script for calculating Xconfig parameters for # XFree86, given the monitor specs and dot clock frequencies. # # Example Usage: # awk -f xconfig.awk HR=1024 VR=768 DCF=110 < /dev/null (or ^D input) # # The variable names and meanings are given below. # BEGIN{ # Sensible defaults if not specified: HR = 1024 # Horizontal Resolution VR = 768 # Vertical Resolution DCF = 110.0 # Dot Clock Frequency (MHz) HFrontMIN = 0.50 # Horizontal Front Porch Minimum (us) HsyncMIN = 1.20 # Horizontal Sync Pulse Width Minimum (us) HBackMIN = 1.25 # Horizontal Back Porch Minimum (us) HBlankMIN = 4.00 # Horizontal Blank Period Minimum (us) HSFMAX = 64.0 # Max Horizontal Scan Frequency (kHz) VFrontMIN = 0.0 # Vertical Front Porch Minimum VsyncMIN = 45.0 # Vertical Sync Pulse Width Minimum VBackMIN = 500.0 # Vertical Back Porch Minimum VBlankMIN = 600.0 # Vertical Blank Period Minimum VSFMAX = 90.0 # Max Vertical Scan Frequency (Hz) verbose = 0 } END{ # Horizontal Scan Lines: Hfront = HFrontMIN * DCF + HR if( Hfront%8 ) Hfront = 8 * (1 + int(Hfront/8) ) # if( (Hfront - HR) < HFrontMIN * DCF ) Hfront += 8 Hsync = HsyncMIN * DCF + Hfront if( Hsync%8 ) Hsync = 8 * (1 + int(Hsync/8) ) Hblank = HBlankMIN * DCF HFL = HR + Hblank if( HFL%8 ) HFL = 8 * (1 + int(HFL/8) ) # Vertical: Vtick = HFL / DCF # us Vfront = VR + VfrontMIN / Vtick Vsync = Vfront + VsyncMIN / Vtick Vback = VBackMIN / Vtick Vblank = VBlankMIN / Vtick VFL = Vsync + Vback if( VFL < VR + Vblank ) VFL = VR + Vblank RR = 1000000 * DCF / (HFL * VFL) HSF = 1000 * DCF / HFL # Done: generate some output: if( verbose ) { printf "\n# Horizontal:\n" printf "# Front Porch = %.2f us, Sync = %.2f, Back Porch = %.2f, ", (Hfront - HR) / DCF, (Hsync - Hfront) / DCF, (HFL - Hsync) / DCF printf "Blank = %.2f\n\n", (HFL - HR) / DCF } printf "# Refresh Rate: %.2f Hz, Horizontal Sync Frequency: %.2f kHz\n", RR, HSF printf " \"%dx%d\"\t%.2f\t%d %d %d %d %d %d %d %d\n", HR, VR, DCF, HR, Hfront, Hsync, HFL, VR, Vfront, Vsync, VFL if( HSF > HSFMAX ) printf("\nWarning: the Horizontal sync frequency may be too high for the monitor!\n") if( RR > VSFMAX ) printf("\nWarning: this refresh rate may be too high for the monitor!\n") } -- Пусть тени обходят тебя стороной // рецессивная святость --- Gnus v5.7/XEmacs 20.4 - "Emerald" * Origin: Snowvision (2:5020/433@fidonet)

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру