tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[PATCHES] sys/dev/videomode



Since the choice of the resolution (with 10.0 BETA) is not optimal, I
have started to review sys/dev/videomode in order to fix the
preferences.

The first step was to update the timings.

Since, with whatever choice for the resolution, a monitor will not do
what it is not able to do, I replaced the modelines, derived from
XFree86, with the specifications taken directly from the latest VESA DMT
specification (this is an update even compared to the current
xsrc/external/mit/xorg-server/dist/hw/xfree86/common/vesamodes).

One of the main difference is that I do not put the specification in the
XFree86 modeline format, but I take all the relevant informations from
the spec, from which the modelines can also---obviously---be derived
(the reverse is not true: a modeline doesn't distinguish between
back/front porch and borders; and the VESA identifiers are not
present even for VESA DMT modes).

I attach the "dmt" file for reference (the awk script is updated and
some modifications to other files are made in order to fit this in the
present code without modifying its behavior for now; so it is useless
alone).

To my surprise, some of the "Established timings" (there is a bitmap in
the EDID for these) are not specified in the VESA DMT.

So I added an "extradmt". I had to derive the pseudo DMT timings from
the XFree86 extramodes modelines, the problem being that, as said above,
the distinction between porch and border is not made. So some values are
fake ones.

A supplementary problem is that some of the Mac II modes are
not in the XFree86 modelines; but I found them in
linux/drivers/video/macmodes.c i.e. in a Linux source file, allowing
me to describe all the Established timing thus getting rid of the
disturbing DIAGNOSTIC "no data for est. mode %s\n".

The Linux source file is GPL 2.

The question is: when it comes to parameters/hardware specs (I'm not
taking code, I'm taking numbers), what is the license? Is it considered
as "public" information or is the license binding? Or is an acknowledge
of the source enough without being tied to the license of the file where
the information (not code) was found? Note: these go to an extradmt
file, i.e. is severed from the VESA DMT.
-- 
        Thierry Laronde <tlaronde +AT+ polynum +dot+ com>
                     http://www.kergis.com/
                    http://kertex.kergis.com/
Key fingerprint = 0FF7 E906 FBAF FE95 FD89  250D 52B1 AE95 6006 F40C
$NetBSD$
# These values were typed by Thierry Laronde <tlaronde%polynum.com@localhost>,
# 2023-02-07, from:
# 
# ----------
# VESA and Industry Standards and Guidelines
# for Computer Display Monitor Timing (DMT)
# Version 1.0, Rev. 12
# November 17, 2008
# Copyright 1994--2008 Video Electronics Standards Association. All
# other rights reserved.
# ----------
# 
# In brief the document above states: USE AT YOUR OWN RISKS.
# 
# This master file has only values as given in the specification
# identified above.
# 
# The values should have been taken as is. From these values, others can
# be derived and there is even some redundancy (see the processing
# script for the computations). The records are in the same order as in
# the document: first line corresponds to page 15; last line to page
# 100. There hence should be 86 different records here.
# 
# In this file, empty lines or lines beginning with a '#' are ignored.
# Remaining are a sequence of line terminated records, with the
# following blank separated fields:
# 
# Timing_Name /* Hor_Pixels 'x' Ver_Pixels '@' Refresh_Rate 'Hz' suffix */
# Ids /* DMT_Id ',' STD_Id ',' CVT_Id (1 hexabyte, [2h] , [3h]) */
# Hor_Pixels
# Ver_Pixels
# Pixel_Clock /* MHz */
# Character_Width
# Flags /* Scan_Type ('I' | 'N') ',' Reduced_Blanking ('RB' | 'N') */
# Hor_Sync_Polarity /* '+' | '-' */
# Ver_Sync_Polarity /* '+' | '-' */
# H_Right_Border
# H_Front_Porch
# Hor_Sync_Time
# H_Back_Porch
# H_Left_Border
# V_Bottom_Border
# V_Front_Porch
# Ver_Sync_Time
# V_Back_Porch
# V_Top_Border
# 
640x350@85Hz 01,, 640 350 31.500 8 N,N + - 0 4 8 12 0 0 32 3 60 0
640x400@85Hz 02,3119, 640 400 31.500 8 N,N - + 0 4 8 12 0 0 1 3 41 0
720x400@85Hz 03,, 720 400 35.500 9 N,N - + 0 4 8 12 0 0 1 3 42 0
640x480@60Hz 04,3140, 640 480 25.175 8 N,N - - 1 1 12 5 1 8 2 2 25 8
640x480@72Hz 05,314C, 640 480 31.500 8 N,N - - 1 2 5 15 1 8 1 3 20 8
640x480@75Hz 06,314F, 640 480 31.500 8 N,N - - 0 2 8 15 0 0 1 3 16 0
640x480@85Hz 07,3159, 640 480 36.000 8 N,N - - 0 7 7 10 0 0 1 3 25 0
800x600@56Hz 08,, 800 600 36.000 8 N,N + + 0 3 9 16 0 0 1 2 22 0
800x600@60Hz 09,4540, 800 600 40.000 8 N,N + + 0 5 16 11 0 0 1 4 23 0
800x600@72Hz 0A,454C, 800 600 50.000 8 N,N + + 0 7 15 8 0 0 37 6 23 0
800x600@75Hz 0B,454F, 800 600 49.500 8 N,N + + 0 2 10 20 0 0 1 3 21 0
800x600@85Hz 0C,4559, 800 600 56.250 8 N,N + + 0 4 8 19 0 0 1 3 27 0
800x600@120Hz_rb 0D,, 800 600 73.25 8 N,RB + - 0 6 4 10 0 0 3 4 29 0
848x480@60Hz 0E,, 848 480 33.750 8 N,N + + 0 2 14 14 0 0 6 8 23 0
1024x768@43Hz_i 0F,, 1024 768 44.900 8 I,N + + 0 1 22 7 0 0 0 4 20 0
1024x768@60Hz 10,6140, 1024 768 65.000 8 N,N - - 0 3 17 20 0 0 3 6 29 0
1024x768@70Hz 11,614A, 1024 768 75.000 8 N,N - - 0 3 17 18 0 0 3 6 29 0
1024x768@75Hz 12,614F, 1024 768 78.750 8 N,N + + 0 2 12 22 0 0 1 3 28 0
1024x768@85Hz 13,6159, 1024 768 94.500 8 N,N + + 0 6 12 26 0 0 1 3 36 0
1024x768@120Hz_rb 14,, 1024 768 115.500 8 N,RB + - 0 6 4 10 0 0 3 4 38 0
1152x864@75Hz 15,714F, 1152 864 108.000 8 N,N + + 0 8 16 32 0 0 1 3 32 0
1280x720@60Hz 55,81C0, 1280 720 74.250 1 N,N + + 0 110 40 220 0 0 5 5 20 0
1280x768@60Hz_rb 16,,7F1C21 1280 768 68.250 8 N,RB + - 0 6 4 10 0 0 3 7 12 0
1280x768@60Hz 17,,7F1C28 1280 768 79.500 8 N,N - + 0 8 16 24 0 0 3 7 20 0
1280x768@75Hz 18,,7F1C44 1280 768 102.250 8 N,N - + 0 10 16 26 0 0 3 7 27 0
1280x768@85Hz 19,,7F1C62 1280 768 117.500 8 N,N - + 0 10 17 27 0 0 3 7 31 0
1280x768@120Hz_rb 1A,, 1280 768 140.250 8 N,RB + - 0 6 4 10 0 0 3 7 35 0
1280x800@60Hz_rb 1B,,8F1821 1280 800 71.000 8 N,RB + - 0 6 4 10 0 0 3 6 14 0
1280x800@60Hz 1C,8100,8F1828 1280 800 83.500 8 N,N - + 0 9 16 25 0 0 3 6 22 0
1280x800@75Hz 1D,810F,8F1844 1280 800 106.500 8 N,N - + 0 10 16 26 0 0 3 6 29 0
1280x800@85Hz 1F,8119,8F1862 1280 800 122.500 8 N,N - + 0 10 17 27 0 0 3 6 34 0
1280x800@120Hz_rb 1F,, 1280 800 146.250 8 N,RB + - 0 6 4 10 0 0 3 6 38 0
1280x960@60Hz 20,8140, 1280 960 108.000 8 N,N + + 0 12 14 39 0 0 1 3 36 0
1280x960@85Hz 21,8159, 1280 960 148.500 8 N,N + + 0 8 20 28 0 0 1 3 47 0
1280x960@120Hz_rb 22,, 1280 960 175.500 8 N,RB + - 0 6 4 10 0 0 3 4 50 0
1280x1024@60Hz 23,8180, 1280 1024 108.000 8 N,N + + 0 6 14 31 0 0 1 3 38 0
1280x1024@75Hz 24,818F, 1280 1024 135.000 8 N,N + + 0 2 18 31 0 0 1 3 38 0
1280x1024@85Hz 25,8199, 1280 1024 157.500 8 N,N + + 0 8 20 28 0 0 1 3 44 0
1280x1024@120Hz_rb 26,, 1280 1024 187.250 8 N,RB + - 0 6 4 10 0 0 3 7 50 0
1360x768@60Hz 27,, 1360 768 85.500 8 N,N + + 0 8 14 32 0 0 3 6 18 0
1360x768@120Hz_rb 28,, 1360 768 148.250 8 N,RB + - 0 6 4 10 0 0 3 5 37 0
1366x768@60Hz 51,, 1366 768 85.500 1 N,N + + 0 70 143 213 0 0 3 3 24 0
1366x768@60Hz_rb 56,, 1366 768 72.000 1 N,RB + + 0 14 56 64 0 0 1 3 28 0
1400x1050@60Hz_rb 29,,0C2021 1400 1050 101.000 8 N,RB + - 0 6 4 10 0 0 3 4 23 0
1400x1050@60Hz 2A,9040,0C2028 1400 1050 121.750 8 N,N - + 0 11 18 29 0 0 3 4 32 0
1400x1050@75Hz 2B,904F,0C2044 1400 1050 156.000 8 N,N - + 0 13 18 31 0 0 3 4 42 0
1400x1050@85Hz 2C,9059,0C2062 1400 1050 179.500 8 N,N - + 0 13 19 32 0 0 3 4 48 0
1400x1050@120Hz_rb 2D,, 1400 1050 208.000 8 N,RB + - 0 6 4 10 0 0 3 4 55 0
1440x900@60Hz_rb 2E,,C11821 1440 900 88.750 8 N,RB + - 0 6 4 10 0 0 3 6 17 0
1440x900@60Hz 2F,9500,C11828 1440 900 106.500 8 N,N - + 0 10 19 29 0 0 3 6 25 0
1440x900@75Hz 30,950F,C11844 1440 900 136.750 8 N,N - + 0 12 19 31 0 0 3 6 33 0
1440x900@85Hz 31,9519,C11868 1440 900 157.000 8 N,N - + 0 13 19 32 0 0 3 6 39 0
1440x900@120Hz_rb 32,, 1440 900 182.750 8 N,RB + - 0 6 4 10 0 0 3 6 44 0
1600x900@60Hz_rb 53,A9C0, 1600 900 108.000 8 N,RB + + 0 3 10 12 0 0 1 3 96 0
1600x1200@60Hz 33,A940, 1600 1200 162.000 8 N,N + + 0 8 24 38 0 0 1 3 46 0
1600x1200@65Hz 34,A945, 1600 1200 175.500 8 N,N + + 0 8 24 38 0 0 1 3 46 0
1600x1200@70Hz 35,A94A, 1600 1200 189.000 8 N,N + + 0 8 24 38 0 0 1 3 46 0
1600x1200@75Hz 36,A94F, 1600 1200 202.500 8 N,N + + 0 8 24 38 0 0 1 3 46 0
1600x1200@85Hz 37,A959, 1600 1200 229.500 8 N,N + + 0 8 24 38 0 0 1 3 46 0
1600x1200@120Hz_rb 38,, 1600 1200 268.250 8 N,RB + - 0 6 4 10 0 0 3 4 64 0
1680x1050@60Hz_rb 39,,0C2821 1680 1050 119.000 8 N,RB + - 0 6 4 10 0 0 3 6 21 0
1680x1050@60Hz 3A,B300,0C2828 1680 1050 146.250 8 N,N - + 0 13 22 35 0 0 3 6 30 0
1680x1050@75Hz 3B,B30F,0C2844 1680 1050 187.000 8 N,N - + 0 15 22 37 0 0 3 6 40 0
1680x1050@85Hz 3C,B319,0C2868 1680 1050 214.750 8 N,N - + 0 16 22 38 0 0 3 6 46 0
1680x1050@120Hz_rb 3D,, 1680 1050 245.500 8 N,RB + - 0 6 4 10 0 0 3 6 53 0
1792x1344@60Hz 3E,C140, 1792 1344 204.750 8 N,N - + 0 16 25 41 0 0 1 3 46 0
1792x1344@75Hz 3F,C14F, 1792 1344 261.000 8 N,N - + 0 12 27 44 0 0 1 3 69 0
1792x1344@120Hz_rb 40,, 1792 1344 333.250 8 N,RB + - 0 6 4 10 0 0 3 4 72 0
1856x1392@60Hz 41,C940, 1856 1392 218.250 8 N,N - + 0 12 28 44 0 0 1 3 43 0
1856x1392@75Hz 42,C94F, 1856 1392 288.000 8 N,N - + 0 16 28 44 0 0 1 3 104 0
1856x1392@120Hz_rb 43,, 1856 1392 356.500 8 N,RB + - 0 6 4 10 0 0 3 4 75 0
1920x1080@60Hz 52,D1C0, 1920 1080 148.500 4 N,N + + 0 22 11 37 0 0 4 5 36 0
1920x1200@60Hz_rb 44,,572821 1920 1200 154.000 8 N,RB + - 0 6 4 10 0 0 3 6 26 0
1920x1200@60Hz 45,D100,572828 1920 1200 193.250 8 N,N - + 0 17 25 42 0 0 3 6 36 0
1920x1200@75Hz 46,D10F,572844 1920 1200 245.250 8 N,N - + 0 17 26 43 0 0 3 6 46 0
1920x1200@85Hz 47,D119,572862 1920 1200 281.250 8 N,N - + 0 18 26 44 0 0 3 6 53 0
1920x1200@120Hz_rb 48,, 1920 1200 317.000 8 N,RB + - 0 6 4 10 0 0 3 6 62 0
1920x1440@60Hz 49,D140, 1920 1440 234.000 8 N,N - + 0 16 26 43 0 0 1 3 56 0
1920x1440@75Hz 4A,D14F, 1920 1440 297.000 8 N,N - + 0 18 28 44 0 0 1 3 56 0
1920x1440@120Hz_rb 4B,, 1920 1440 380.500 8 N,RB + - 0 6 4 10 0 0 3 4 78 0
2048x1152@60Hz 54,E1C0, 2048 1152 162.000 1 N,N + + 0 26 80 96 0 0 1 3 44 0
2560x1600@60Hz_rb 4C,,1F3821 2560 1600 268.500 8 N,RB + - 0 6 4 10 0 0 3 6 37 0
2560x1600@60Hz 4D,,1F3828 2560 1600 348.500 8 N,N - + 0 24 35 59 0 0 3 6 49 0
2560x1600@75Hz 4E,,1F3844 2560 1600 443.250 8 N,N - + 0 26 35 61 0 0 3 6 63 0
2560x1600@85Hz 4F,,1F3862 2560 1600 505.250 8 N,N - + 0 26 35 61 0 0 3 6 73 0
2560x1600@120Hz_rb 50,, 2560 1600 552.750 8 N,RB + - 0 6 4 10 0 0 3 6 85 0


Home | Main Index | Thread Index | Old Index