Differences between current version and predecessor to the previous major change of HowToXFree86XInside.
Other diffs: Previous Revision, Previous Author, or view the Annotated Edit History
Newer page: | version 3 | Last edited on Thursday, October 21, 2004 5:35:57 pm | by AristotlePagaltzis | |
Older page: | version 2 | Last edited on Friday, June 7, 2002 1:07:52 am | by perry | Revert |
@@ -1,548 +1 @@
-
-
-
-Linux XFree-to-Xinside mini-HOWTO
-
-
-
-----
-
-!!!Linux XFree-to-Xinside mini-HOWTO
-
-!!by Marco Melgazzi, marco@techie.comv1.3, September 1997
-
-
-----
-''How to convert an XFree86 modeline into an XInside/!XiGraphics one''
-----
-
-
-
-
-!!1. Introduction
-
-
-
-
-!!2. Why should I need it ?
-
-
-
-
-!!3. Let's go
-
-
-
-
-!!4. Fixing up things
-
-
-
-
-!!5. The end...
-
-
-
-
-!!6. Automating the process
-
-
-
-
-!!7. Thanks to
-
-
-
-
-!!8. Copyright/legalese
-----
-
-!!1. Introduction
-
-
-During the spring of 1996 I've seen a lot of posts in comp.os.linux.x
-asking how to convert video modes between XFree86 and one of its
-commercial alternatives: XInside ( now named !XiGraphics, note anyway
-that in this document I'll use the old product name, since I will mainly
-refer to that version )
-
-
-I had evaluated before the product and had this evaluation version still
-floating on my hard disk: since I like problem solving, I've decided to
-give it a try and, after a couple of hours of fiddling and calculating,
-I came up with a supposedly informative article that was promptly posted.
-
-
-The discussions about how to convert suddendly vanished and I received
-1 (one) mail thanking me for the article so, since maybe somebody else
-could need this information in the future, I decided to transform that
-post in the mini-HOWTO you are reading.
-
-
-Let me state something first: I do NOT work for XInside and I only had
-access to the evaluation 1.2 version for Linux. I know that nowadays (
-May 97 ) AccelX has reached revision 3.1, but I do think that the
-information included in this document, if not verbatim, is still
-applicable.
-
-
-Due to the fact that this HOWTO has been written with the help of a
-pretty old Xinside version, it may well happen that some of the
-information contained here is not completely accurate: as you will read
-later, thanks to the birth of XFree 3.2, I haven't bought this
-commercial server, so if you have, and if you notice any incorrect
-information here please take the time to email me.
-
-
-Notice anyway that fiddling with monitor timings can be
-hazardous and, for this reason, I absolutely make no guarantees. If it
-works for you , fine, if you blow up your computer I shall not be held
-responsible for it.
-
-
-As you may have noticed from may name, I'm not a native speaker of English
-so you will probably find some errors here and there, I apologize for them
-and I ask you to please avoid flooding my mailbox with language-related
-flames. Thanks !
-
-
-
-
-
-
-----
-
-!!2. Why should I need it ?
-
-
-
-
-
-I think that the Xinside policy of not giving you an utility to tweak
-your video modes ( like xvidtune ) and/or to import your existing XFree
-ones in the evaluation ( and AFAIK commercial ) version is
-incomprehensible. I've spent about three hours putting this together (
-hint: I've compared the VESA 1024x768@70Hz entry in the two formats (
-and I'm nearly an electronic engineer ;-)) while an Xinside programmer
-could have written a comparable article in a fraction of this time...
-
-
-I haven't downloaded any evaluation version from 1.3 onwards and I
-really hope they have fixed this. Well, if they have, this mini-HOWTO
-could be considered useless but, alas, if you read it you will learn
-something more about how everything works...
-
-
-
-----
-
-!!3. Let's go
-
-
-Let's suppose that you have your oh-so-tweaked XFree86
-mode and you want to evaluate Xinside in the same conditions:
-follow the steps described below and you should be able to
-do it; we will use my default video mode as a real-life example and I will
-explain what you will have to do to convert it.
-
-
-An Xfree86 entry looks like this:
-
-
-
-
-
-Modeline "blahblah" DOTCLK A B C D a b c d
-
-
-
-
-Every one of the A-D and a-d numbers has a meaning: if you
-want you can search for it in the 'The Hitchhiker's Guide to X386/XFree86
-Video Timing' ( /usr/lib/X11/doc/!VideoModes.doc ) but
-you don't need to know the theory behind all this to
-perform a succesful conversion...
-
-
-My modeline in /usr/lib/X11/XF86Config is:
-
-
-
-
-
-Modeline "1168x876" 105 1168 1256 1544 1640 876 877 891 900
-| | | | | | | | |
-DOT_CLK A B C D a b c d
-
-
-
-
-In Xinside, you have to add an entry in the Xtimings file, which
-should be located in etc/ ( from now on we suppose you are in
-the top Xaccel directory that should be something like
-/usr/X11/lib/X11/AcceleratedX )
-
-
-
-
-
-! Somewhere in the file, put here the name you want
-
[[PREADJUSTED_TIMING
]
-!PreadjustedTimingName = "1168x876 @ 72Hz";
-!
-! These four are obvious
-!
-!HorPixel = 1168; // pixels
-!VerPixel = 876; // lines
-!PixelWidthRatio = 4;
-!PixelHeightRatio = 3;
-!
-! hsync: DOT_CLK / D * 1000 [[KHz]
-!
-! hsync = 105 / 1640 * 1000 = 64.024 KHz
-!
-! vsync: ( 1 / (( D / DOT_CLK ) * d) ) * 1,000,000 [[Hz]
-!
-! vsync: ( 1 / (( 1640 / 105 ) * 900) ) * 1,000,000
-! ( 1 / 14057.1428571 ) * 1,000,000 = 71.138 Hz
-!
-!HorFrequency = 64.180; // kHz
-!VerFrequency = 71.138; // Hz
-! Obvious
-!ScanType = NONINTERLACED;
-!
-! Put
here the +/-hsync +/-vsync XFree86 options
-!
-!HorSyncPolarity = POSITIVE;
-!VerSyncPolarity = POSITIVE;
-! Shouldn't change
-!CharacterWidth = 8; // pixels
-! DOT_CLK here
-!PixelClock = 105.000; // MHz
-!
-!
-! horizontal timings section: [[usec]
-!
-!HorTotalTime = D / DOT_CLK = 15.619;
-!HorAddrTime = A / DOT_CLK = 11.124;
-!HorBlankStart = A / DOT_CLK = 11.124;
-!HorBlankTime = !HorTotalTime - !HorBlankStart = 4.495;
-!HorSyncStart = B / DOT_CLK = 11.962;
-!HorSyncTime = C / DOT_CLK - !HorSyncStart = 2.743;
-!
-! vertical timings section: [[msec]
-!
-!VerTotalTime = ( !HorTotalTime * d ) / 1000 = 14.057;
-!VerAddrTime = ( !HorTotalTime * a ) / 1000 = 13.682;
-!VerBlankStart = ( !HorTotalTime * a ) / 1000 = 13.682;
-!VerBlankTime = !VerTotalTime - !VerBlankStart = .375;
-!VerSyncStart = ( !HorTotalTime * b ) / 1000 = 13.698;
-!VerSyncTime = ( !HorTotalTime * ( c - b ) ) / 1000
-= .219
-! Finished !
-
-
-
-
-Now you have to put this newly created mode in the
-files shown below in the appropriate place.
-
-
-
-----
-
-!!4. Fixing up things
-
-
-In the excerpts shown below the -> sign tells you what was modified:
-do NOT include it in your files!
-
-
-Monitor entry ( mine is monitors/mfreq/mfreq64.vda)
-
-
-
-
-
-[[ESTABLISHED_TIMINGS]
-"640x480 @ 60Hz",
-"640x480 @ 72Hz",
-"640x480 @ 75Hz",
-"800x600 @ 56Hz",
-"800x600 @ 60Hz",
-"800x600 @ 72Hz",
-"800x600 @ 75Hz",
-"1024x768 Interlaced",
-"1024x768 @ 60Hz",
-"1024x768 @ 70Hz",
-"1024x768 @ 75Hz",
-"1152x900 Interlaced",
-"1152x900 @ 60Hz",
-"1152x900 @ 67Hz",
--> "1168x876 @ 72Hz",
-"1280x1024 Interlaced",
-"1280x1024 @ 60Hz",
-"1600x1200 Interlaced";
-
-
-
-
-Board info file ( mine is boards/s3/764-2.xqa , I wonder
-why they have nearly all the Hercules boards but not MINE:
-Terminator 64/Dram )
-
-
-
-
-
-[[VISUAL]
-!BitsPerPixel = 8;
-!MemoryModel = Packed;
-!ColorModel = Indexed;
-BitsRGB = 6;
-!NumberOfColors = 256;
-[[RESOLUTIONS]
-640x480,
-800x600,
-1024x768,
--> 1168x876,
-1152x900,
-1280x1024
-[[DESKTOPS]
-640x480,
-800x600,
-1024x768,
-1152x900,
--> 1168x876,
-1280x1024,
-1600x1200
-
-
-
-
-If the dot clock is low enough ( NOT in this case for my
-board ) you can put the entry even in the 16bpp and 32bpp sec-
-tions.
-
-
-The /etc/Xaccel.ini will look something like this
-
-
-
-
-
---------------------------------------------------------------
-Board = "s3/764-2.xqa";
-Monitor = "mfreq/mfreq64.vda";
-Depth = 8;
--> Desktop = 1168x876;
-[[RESOLUTIONS]
--> 1168x876,
-1024x768;
-
-
-
-
-The actual Xinside mode entry in etc/Xtimings
-
-
-
-
-
---------------------------------------------------------------
-[[PREADJUSTED_TIMING]
-!PreadjustedTimingName = "1168x876 @ 72Hz";
-!HorPixel = 1168; // pixels
-!VerPixel = 876; // lines
-!PixelWidthRatio = 4;
-!PixelHeightRatio = 3;
-!HorFrequency = 64.024; // kHz
-!VerFrequency = 71.138; // Hz
-!ScanType = NONINTERLACED;
-!HorSyncPolarity = POSITIVE;
-!VerSyncPolarity = POSITIVE;
-!CharacterWidth = 8; // pixels
-!PixelClock = 105.000; // MHz
-!HorTotalTime = 15.619; // (usec) = 205 chars
-!HorAddrTime = 11.124; // (usec) = 146 chars
-!HorBlankStart = 11.124; // (usec) = 146 chars
-!HorBlankTime = 4.495; // (usec) = 59 chars
-!HorSyncStart = 11.962; // (usec) = 157 chars
-!HorSyncTime = 2.743; // (usec) = 36 chars
-!VerTotalTime = 14.057; // (msec) = 900 lines
-!VerAddrTime = 13.682; // (msec) = 876 lines
-!VerBlankStart = 13.682; // (msec) = 876 lines
-!VerBlankTime = .375; // (msec) = 24 lines
-!VerSyncStart = 13.698; // (msec) = 877 lines
-!VerSyncTime = .219; // (msec) = 14 lines
-
-
-
-
-You can check your conversion by running the vgaset program
-with no parameters while running the Xinside server: it will output
-an XFree-like line and, if everything went OK, this line will
-be equal to the line you started from ( except if b and c
-are equal, I haven't been able to reproduce this situation
-in Xinside: the best case was c=b+1 ).
-
-
-
-----
-
-!!5. The end...
-
-
-That's all folks ! I hope this will be useful to you. I don't think
-I'll buy the !XiGraphics server in the near future for one simple reason:
-the release of XFree86 3.2 solved all of the text speed problems I was
-having on my humble Trio 64 video board ;)
-
-
-It seems anyway that the !XiGraphics server supports a much wider array
-of chipsets and video boards than XFree, so it may well happen that the
-commercial 'alternative' is the only viable one for you. If this is the
-case, and you bought the !XiGraphics server, I would really like to hear
-from you to know if the information presented here has been useful to
-you, or if you found it too complex or whatever.
-
-
-
-----
-
-!!6. Automating the process
-
-
-This small script automates most of the work. Be very careful with the
-!ScanType and with the two Polarity lines: the script do not set them
-and, if you are too lazy to correct them, the risks of blowing up your
-monitor increase quite a lot.
-
-
-Notice that I don't know if the 'Doublescan' flag has meaning in XInside:
-if you try to convert a low-res doublescan mode BE CAREFUL, you can easily
-kill your monitor since the refresh rate that you get is doubled ( in
-fact my 400x300@72Hz became a 400x300@144Hz !).
-
-
-
-
-
-
-
-
-#!/bin/sh
-##########################################################################
-# XF2XInside
-#
-# This script converts modelines from XF86Config format to XInside
-# format as needed for the etc/Xtiming file.
-#
-# This is a quick hack, so don't expect much error checking (not to
-# speak of anything like user friendlyness).
-#
-# If you call it without arguments it should tell you what to do.
-#
-# ( July 1996, hcz@tazlwurm.bb.bawue.de)
-#
-# Btw: New modes created as described in the HOWTO work, but don't
-# show up in Xsetup's menu. Anybody who knows why?
-#
-##########################################################################
-#----------------------------------------------- Here we go:
-# Change this if your modeline file lives somewhere else:
-XF=/usr/X11/lib/X11/XF86Config
-if [[ $# -ne 1 ] ; then
-echo "usage: ${##*/} <mode>"
-echo " example: ${##*/} 1024x764"
-echo -e " function: converts $XF modeline entry into\n Xinside Format (stdout)"
-exit 1
-fi
-egrep -i "^[[\t ]*modeline.+\"$1\"" /usr/X11/lib/X11/XF86Config |
-gawk '
-NF < 11 { print "! invalid Modeline:\n! " $0 "\n!"; next }
-{
-print "//", $0 ":"
-name = $2
-DOT_CLK = $3;
-A = $4;
-B = $5;
-C = $6;
-D = $7;
-a = $8;
-b = $9;
-c = $10;
-d = $11;
-!VerFrequency = 1000000 / ((D / DOT_CLK) * d)
-print "[[PREADJUSTED_TIMING]"
-printf " !PreadjustedTimingName = \"%dx%d @ %.0dHz\";\n", A, a, !VerFrequency
-print " !HorPixel\t\t= " A ";"
-print " !VerPixel\t\t= " a ";"
-print " !PixelWidthRatio\t= 4;\n !PixelHeightRatio\t= 3;"
-print " !HorFrequency\t\t= " DOT_CLK / D * 1000 ";\t// kHz"
-print " !VerFrequency\t\t= " !VerFrequency ";\t// Hz"
-print " !ScanType\t\t= NONINTERLACED;\t\t// *CHECK*"
-print " !HorSyncPolarity\t= NEGATIVE;\t\t\t// *CHECK*"
-print " !VerSyncPolarity\t= NEGATIVE;\t\t\t// *CHECK*"
-print " !CharacterWidth\t= 8;"
-print " !PixelClock\t\t= " DOT_CLK ";"
-!HorTotalTime = D / DOT_CLK
-print " !HorTotalTime\t\t= " !HorTotalTime ";"
-print " !HorAddrTime \t\t= " A / DOT_CLK ";"
-print " !HorBlankStart\t\t= " A / DOT_CLK ";"
-print " !HorBlankTime\t\t= " D / DOT_CLK - A / DOT_CLK ";"
-print " !HorSyncStart\t\t= " B / DOT_CLK ";"
-print " !HorSyncTime\t\t= " C / DOT_CLK - B / DOT_CLK ";"
-!VerTotalTime = ( !HorTotalTime * d ) / 1000
-print " !VerTotalTime\t\t= " !VerTotalTime ";"
-print " !VerAddrTime\t\t= " ( !HorTotalTime * a ) / 1000 ";"
-!VerBlankStart = ( !HorTotalTime * a ) / 1000
-print " !VerBlankStart\t\t= " !VerBlankStart ";"
-print " !VerBlankTime\t\t= " !VerTotalTime - !VerBlankStart ";"
-print " !VerSyncStart\t\t= " ( !HorTotalTime * b ) / 1000 ";"
-print " !VerSyncTime\t\t= " ( !HorTotalTime * ( c - b ) ) / 1000
-print ""
-}'
-
-
-
-
-
-----
-
-!!7. Thanks to
-
-
-
-
-
-*Heike Claudia Zimmerer
-hcz@tazlwurm.bb.bawue.de for pointing out a small inconsistency and
-for sending me a script that automates most of the work.
-*
-
-*Bartosz Maruszewski
-B.Maruszewski@zsmeie.torun.pl for translating this mini HOWTO in Polish
-and for pointing out a small typo.
-*
-
-
-
-
-----
-
-!!8. Copyright/legalese
-
-
-(c)opyright 1996-7 by Marco Melgazzi (marco@techie.com) -
-the GPL (Gnu Public License) applies. To obtain a copy of the GPL
-write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge,
-MA 02139, USA.
-
-
-Trademarks are owned by their owners. There is no warranty on the
-accuracy and/or the usefulness of the information given in this document
.
-
-
-
-----
+Describe
[HowToXFree86XInside
] here.