Linux-Bulgaria.ORG
навигация

 

начало

пощенски списък

архив на групата

семинари ...

документи

как да ...

 

 

Предишно писмо Следващо писмо Предишно по тема Следващо по тема По Дата По тема (thread)

Re: [Lug-bg] драйвер за монитор


  • Subject: Re: [Lug-bg] драйвер за монитор
  • From: Валентин Стойков <vstoykov@xxxxxxxxxxxxxxxxxxxxx>
  • Date: Tue, 21 Aug 2007 19:55:26 +0300

В повечето дистрибуции не би трябвало да има проблеми с това.

Във Васт ГНУ/Линукс се опитвам да направя програмата за създаване 
на /etc/fstab така, че във всички случаи да избира оптималните настройки на 
монитора. При LCD мониторите е много важно да е правилно избрана 
разделителната способност.

В случай, че работи DDC може да се получи информация за модела на монитора 
("EISA ID") и чрез проверка в базата от данни с мониторите да се разбере дали 
даден монитор е LCD или не. За сега правенето на база данни с LCD монитори е 
на етап идея и в момента програмата за построяване на xorg.conf разчита на 
други методи (проверява дали интерфейсът е цифров, проверява дали компютърът 
е лаптоп). В случай, че работи DDC не е проблем да се определи максималната 
разделителна способност, която мониторът поддържа (и ако знаем, че мониторът 
е LCD ще знаем и, че точно тази разделителна способност е оптималната!). В 
случай, че мониторът е CRT, програмата за построяване на xorg.conf избира 
1024x768 (ако според информацията от DDC се поддържа), защото повечето 
монитори поддържат добре тази разделителна способност. Максималната 
разделителна способност при CRT мониторите обикновено не се препоръчва, 
защото честотата на опресняване на много малка (затова не залагам 
правилото "ако има DDC да се ползва максимална разделителна способност").

Това с базата от данни не ми се струва красив вариант. Може би има 
по-интелигентен начин чрез DDC да се получи информация дали мониторът е LCD, 
но до момента не съм намерил...

Обмислям и варианта да направя база от данни с оптималните разделителни 
способности за различните монитори (главно CRT, защото при LCD се знае, че 
оптималната разделителна способност е най-голямата). Но може и да има друг 
по-красив вариант (напр. ако производителят е заложил да се получава чрез DDC 
информацията за оптималната (не максималната) разделителна способност).

Може да се ползват програмите ddcxinfo-kanotix (ddcxinfo-knoppix и т.н.) и 
ddcprobe за да се разберат настройките на монитора:

root@darkstar:~# ddcxinfo-kanotix -modes
Modes "1280x1024" "1152x864" "1024x768" "800x600" "640x480"
root@darkstar:~# ddcxinfo-kanotix -monitor
Section "Monitor"
        Identifier   "Monitor0"
        Option   "DPMS"
        VendorName      "HWP"
        ModelName       "HWP2649"
        HorizSync 30 - 83 # DDC-probed
        VertRefresh 50 - 76 # DDC-probed
        # These are the DDC-probed settings reported by your monitor.
        # 1280x1024, 75.0Hz; hfreq=79.98, vfreq=75.03
        ModeLine "1280x1024"    135.00 1280 1296 1440 1688 1024 1025 1028 1066 
+hsync +vsync
        # 1024x768, 75.0Hz; hfreq=60.02, vfreq=75.03
        ModeLine "1024x768"      78.75 1024 1040 1136 1312  768  769  772  800 
+hsync +vsync
        # 1024x768, 70.0Hz; hfreq=56.48, vfreq=70.07
        ModeLine "1024x768"      75.00 1024 1048 1184 1328  768  771  777  
806 -hsync -vsync
        # 800x600, 75.0Hz; hfreq=46.88, vfreq=75.00
        ModeLine "800x600"       49.50  800  816  896 1056  600  601  604  625 
+hsync +vsync
        # 800x600, 72.0Hz; hfreq=48.08, vfreq=72.19
        ModeLine "800x600"       50.00  800  856  976 1040  600  637  643  666 
+hsync +vsync
        # 800x600, 60.0Hz; hfreq=37.88, vfreq=60.32
        ModeLine "800x600"       40.00  800  840  968 1056  600  601  605  628 
+hsync +vsync
        # 640x480, 75.0Hz; hfreq=37.50, vfreq=75.00
        ModeLine "640x480"       31.50  640  656  720  840  480  481  484  
500 -hsync -vsync
        # 640x480, 60.0Hz; hfreq=31.47, vfreq=59.94
        ModeLine "640x480"       25.17  640  648  744  784  480  482  484  
509 -hsync -vsync
        # Extended modelines with GTF timings
        # 640x480 @ 100.00 Hz (GTF) hsync: 50.90 kHz; pclk: 43.16 MHz
        ModeLine "640x480"  43.16  640 680 744 848  480 481 484 509  -HSync 
+Vsync
        # 768x576 @ 60.00 Hz (GTF) hsync: 35.82 kHz; pclk: 34.96 MHz
        ModeLine "768x576"  34.96  768 792 872 976  576 577 580 597  -HSync 
+Vsync
        # 768x576 @ 72.00 Hz (GTF) hsync: 43.27 kHz; pclk: 42.93 MHz
        ModeLine "768x576"  42.93  768 800 880 992  576 577 580 601  -HSync 
+Vsync
        # 768x576 @ 75.00 Hz (GTF) hsync: 45.15 kHz; pclk: 45.51 MHz
        ModeLine "768x576"  45.51  768 808 888 1008  576 577 580 602  -HSync 
+Vsync
        # 768x576 @ 85.00 Hz (GTF) hsync: 51.42 kHz; pclk: 51.84 MHz
        ModeLine "768x576"  51.84  768 808 888 1008  576 577 580 605  -HSync 
+Vsync
        # 768x576 @ 100.00 Hz (GTF) hsync: 61.10 kHz; pclk: 62.57 MHz
        ModeLine "768x576"  62.57  768 816 896 1024  576 577 580 611  -HSync 
+Vsync
        # 800x600 @ 100.00 Hz (GTF) hsync: 63.60 kHz; pclk: 68.18 MHz
        ModeLine "800x600"  68.18  800 848 936 1072  600 601 604 636  -HSync 
+Vsync
        # 1024x600 @ 60.00 Hz (GTF) hsync: 37.32 kHz; pclk: 48.96 MHz
        ModeLine "1024x600"  48.96  1024 1064 1168 1312  600 601 604 
622  -HSync +Vsync
        # 1024x768 @ 100.00 Hz (GTF) hsync: 81.40 kHz; pclk: 113.31 MHz
        ModeLine "1024x768"  113.31  1024 1096 1208 1392  768 769 772 
814  -HSync +Vsync
        # 1152x864 @ 60.00 Hz (GTF) hsync: 53.70 kHz; pclk: 81.62 MHz
        ModeLine "1152x864"  81.62  1152 1216 1336 1520  864 865 868 
895  -HSync +Vsync
        # 1152x864 @ 85.00 Hz (GTF) hsync: 77.10 kHz; pclk: 119.65 MHz
        ModeLine "1152x864"  119.65  1152 1224 1352 1552  864 865 868 
907  -HSync +Vsync
        # 1152x864 @ 100.00 Hz (GTF) hsync: 91.50 kHz; pclk: 143.47 MHz
        ModeLine "1152x864"  143.47  1152 1232 1360 1568  864 865 868 
915  -HSync +Vsync
        # 1280x768 @ 60.00 Hz (GTF) hsync: 47.70 kHz; pclk: 80.14 MHz
        ModeLine "1280x768"  80.14  1280 1344 1480 1680  768 769 772 
795  -HSync +Vsync
        # 1280x800 @ 60.00 Hz (GTF) hsync: 49.68 kHz; pclk: 83.46 MHz
        ModeLine "1280x800"  83.46  1280 1344 1480 1680  800 801 804 
828  -HSync +Vsync
        # 1280x960 @ 72.00 Hz (GTF) hsync: 72.07 kHz; pclk: 124.54 MHz
        ModeLine "1280x960"  124.54  1280 1368 1504 1728  960 961 964 
1001  -HSync +Vsync
        # 1280x960 @ 75.00 Hz (GTF) hsync: 75.15 kHz; pclk: 129.86 MHz
        ModeLine "1280x960"  129.86  1280 1368 1504 1728  960 961 964 
1002  -HSync +Vsync
        # 1280x960 @ 100.00 Hz (GTF) hsync: 101.70 kHz; pclk: 178.99 MHz
        ModeLine "1280x960"  178.99  1280 1376 1520 1760  960 961 964 
1017  -HSync +Vsync
        # 1280x1024 @ 100.00 Hz (GTF) hsync: 108.50 kHz; pclk: 190.96 MHz
        ModeLine "1280x1024"  190.96  1280 1376 1520 1760  1024 1025 1028 
1085  -HSync +Vsync
        # 1368x768 @ 60.00 Hz (GTF) hsync: 47.70 kHz; pclk: 85.86 MHz
        ModeLine "1368x768"  85.86  1368 1440 1584 1800  768 769 772 
795  -HSync +Vsync
        # 1400x1050 @ 60.00 Hz (GTF) hsync: 65.22 kHz; pclk: 122.61 MHz
        ModeLine "1400x1050"  122.61  1400 1488 1640 1880  1050 1051 1054 
1087  -HSync +Vsync
        # 1400x1050 @ 72.00 Hz (GTF) hsync: 78.77 kHz; pclk: 149.34 MHz
        ModeLine "1400x1050"  149.34  1400 1496 1648 1896  1050 1051 1054 
1094  -HSync +Vsync
        # 1400x1050 @ 75.00 Hz (GTF) hsync: 82.20 kHz; pclk: 155.85 MHz
        ModeLine "1400x1050"  155.85  1400 1496 1648 1896  1050 1051 1054 
1096  -HSync +Vsync
        # 1400x1050 @ 85.00 Hz (GTF) hsync: 93.76 kHz; pclk: 179.26 MHz
        ModeLine "1400x1050"  179.26  1400 1504 1656 1912  1050 1051 1054 
1103  -HSync +Vsync
        # 1400x1050 @ 100.00 Hz (GTF) hsync: 111.20 kHz; pclk: 214.39 MHz
        ModeLine "1400x1050"  214.39  1400 1512 1664 1928  1050 1051 1054 
1112  -HSync +Vsync
        # 1440x900 @ 60.00 Hz (GTF) hsync: 55.92 kHz; pclk: 106.47 MHz
        ModeLine "1440x900"  106.47  1440 1520 1672 1904  900 901 904 
932  -HSync +Vsync
        # 1440x1050 @ 60.00 Hz (GTF) hsync: 65.22 kHz; pclk: 126.27 MHz
        ModeLine "1440x1050"  126.27  1440 1536 1688 1936  1050 1051 1054 
1087  -HSync +Vsync
        # 1600x1200 @ 100.00 Hz (GTF) hsync: 127.10 kHz; pclk: 280.64 MHz
        ModeLine "1600x1200"  280.64  1600 1728 1904 2208  1200 1201 1204 
1271  -HSync +Vsync
        # 1680x1050 @ 60.00 Hz (GTF) hsync: 65.22 kHz; pclk: 147.14 MHz
        ModeLine "1680x1050"  147.14  1680 1784 1968 2256  1050 1051 1054 
1087  -HSync +Vsync
        # 1920x1200 @ 60.00 Hz (GTF) hsync: 74.52 kHz; pclk: 193.16 MHz
        ModeLine "1920x1200"  193.16  1920 2048 2256 2592  1200 1201 1204 
1242  -HSync +Vsync
EndSection
root@darkstar:~#   
root@darkstar:~# ddcprobe
VESA 2.0 detected.
OEM Name: ATI RADEON 9200
Memory installed = 256 * 64k blocks = 16384kb
Supported standard modes:
        800x600x16
        1024x768x16
        320x200x32k
        320x200x64k
        320x200x16m
        1600x1200x256
        640x400x256
        640x480x256
        640x480x32k
        640x480x64k
        640x480x16m
        1600x1200x32k
        800x600x256
        800x600x32k
        800x600x64k
        800x600x16m
        1600x1200x64k
        1024x768x256
        1024x768x32k
        1024x768x64k
        1024x768x16m
        1280x1024x256
        1280x1024x32k
        1280x1024x64k
        1280x1024x16m
        132x25 (text)
        132x43 (text)
EDID ver. 1 rev. 3.
Manufacturer: HWP
ID: 2649
EISA ID: HWP2649
Serial number: 01010101.
Manufactured in week 11 of 2005.
Input signal type: digital signal.
Screen size max 33 cm horizontal, 27 cm vertical.
Gamma: 2.200000.
DPMS flags: RGB, active off, suspend, standby.
Established timings:
        720x400 @ 70 Hz (VGA 640x400, IBM)
        640x480 @ 60 Hz (VGA)
        640x480 @ 67 Hz (Mac II, Apple)
        640x480 @ 75 Hz (VESA)
        800x600 @ 60 Hz (VESA)
        800x600 @ 72 Hz (VESA)
        800x600 @ 75 Hz (VESA)
        832x624 @ 75 Hz (Mac II)
        1024x768 @ 87 Hz Interlaced (8514A)
        1024x768 @ 70 Hz (VESA)
        1024x768 @ 75 Hz (VESA)
        1280x1024 @ 75 Hz (VESA)
Standard timing 0: 60 Hz, 1280x1024
Detailed timing 0:
        Pixel clock: 108000000
        Horizontal active time (pixel width): 256
        Horizontal blank time (pixel width): 1432
        Vertical active time (pixel height): 0
        Vertical blank time (pixel height): 1066
        Horizontal sync offset: 48
        Horizontal sync pulse width: 112
        Vertical sync offset: 3
        Vertical sync pulse width: 1
        Dimensions: 338x270
Monitor details 1:
        Timing ranges: horizontal = 30 - 83, vertical = 50 - 76
Monitor details 2:
        Name: HP L1740
Monitor details 3:
        Serial number: CNK5110GJN
root@darkstar:~#                 

Използвайки изходен код от ddcprobe направих програма monitoriface, която 
връща digital, ако интерфейсът на монитора е цифров, което означава, че е 
LCD. Смятам да напиша monitoris, която да връща lcd, ако е LCD и crt, ако е 
CRT, но след като се поразровя повече в изходните кодове и намеря по-красив 
начин от правенето на база от данни или се окаже, че такъв начин няма. Ако не 
намеря по-красив начин, програмата първо ще проверява интерфейса, и ако е 
цифров - ще връща lcd, а ако е crt - ще се рови в базата от данни и ако 
мониторът е включен в нея, ще върне lcd, ако не - връща crt.

Повече информация по темата:
openfmi.net/viewtopic.php?t=23

-- 
Валентин Стойков
http://vstoykov.hit.bg/

_______________________________________________
Lug-bg mailing list
Lug-bg@xxxxxxxxxxxxxxxxxx
http://linux-bulgaria.org/mailman/listinfo/lug-bg



 

наши приятели

 

линукс за българи
http://linux-bg.org

FSA-BG
http://fsa-bg.org

OpenFest
http://openfest.org

FreeBSD BG
http://bg-freebsd.org

KDE-BG
http://kde.fsa-bg.org/

Gnome-BG
http://gnome.cult.bg/

проект OpenFMI
http://openfmi.net

NetField Forum
http://netField.ludost.net/forum/

 

 

Linux-Bulgaria.ORG

Mailing list messages are © Copyright their authors.