home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #30 / NN_1992_30.iso / spool / comp / windows / x / i386unix / 11 < prev    next >
Encoding:
Text File  |  1992-12-15  |  3.8 KB  |  98 lines

  1. Newsgroups: comp.windows.x.i386unix
  2. Path: sparky!uunet!spool.mu.edu!uwm.edu!linac!att!cbnewsk!cbnewsj!dwex
  3. From: dwex@cbnewsj.cb.att.com (david.e.wexelblat)
  4. Subject: Re: X and a Realtek RTVGA Adapter
  5. Organization: AT&T
  6. Date: Tue, 15 Dec 1992 13:37:27 GMT
  7. Message-ID: <1992Dec15.133727.1797@cbnewsj.cb.att.com>
  8. References: <1geg37INN5s5@usenet.INS.CWRU.Edu>
  9. Lines: 87
  10.  
  11. In article <1geg37INN5s5@usenet.INS.CWRU.Edu> sdh@po.CWRU.Edu (Scott D. Heavner) writes:
  12. >     I am currently running Linux on my 486 and would like to
  13. > get X running in color.  Currently I am only able to run the generic
  14. > monochrome server.  What I would like to know is:
  15. >     1) Has anyone else gotten an RTVGA adapter working
  16.  
  17. Not that I'm aware of.  What chipset does it use?
  18.  
  19. >     2) What will I have to do to create my own driver?  Do I
  20. >        just create my own driver in the vga256/drivers directory with
  21. >        driver.c and banks.s and if so, which would be the best 
  22. >        driver to build from (i.e. should I modify a trident original
  23. >        or one of the Tseng cards?
  24.  
  25. You need the programmer's reference/tech manual/whatever for the chipset
  26. (to get details on the extended register definitions).  Once you have that,
  27. study up on what you need to do to handle:
  28.  
  29.     1) Clock selection
  30.     2) Bank switching
  31.     3) Extended mode/timing parameters, if any
  32.  
  33. You then generate a driver.c and bank.s file as appropriate for your
  34. chipset.  You need a probe function that can identify your chipset,
  35. and save/restore functions that handle any extended registers that you
  36. will be manipulating in your other functions.  Each driver specifies
  37. the same functions, beginning with a tag, all in uppercase (e.g.
  38. ET4000Probe, TVGA8900Ident, etc).
  39.  
  40. Which driver to use as a model depends on a few factors:
  41.  
  42.     1) If your chipset only supports one bank register, follow
  43.        the Trident example.
  44.     2) If identifying your chipset requires you look for a
  45.        signature in the BIOS, look at the probe functions for the
  46.        PVGA1 and GVGA drivers.
  47.     3) Otherwise, look at the ET3000 driver.  The ET4000 driver has
  48.        a few complications that are unnecessary for other chipsets.
  49.     4) Avoid the ATI driver (:->).  It is quite different from the
  50.        others in several respects.
  51.  
  52. To link in your new driver, you add the name of your subdirectory under
  53. drivers to Vga256Drivers (or whatever that is - I don't have it in front
  54. of me) in the site.def file under mit/config.  Run 'make Makefiles' in
  55. mit/config, then go to mit/server, run 'make Makefile' followed by 
  56. 'make Makefiles depend all'.  This will cause your new driver to be 
  57. located and compiled in.
  58.  
  59. If this is the first time you've ever hacked SVGA register definitions,
  60. expect things to not work.  Be prepared for it:
  61.  
  62.     1) If at all possible, have an additional terminal hooked up,
  63.        because you will likely lose your console display.
  64.     2) Be sure to 'sync' before starting the server, because you
  65.        may get into a state where the system locks up, and you need
  66.        to hard-reset.
  67.     3) Work incrementally, keeping track of what changes you make in
  68.        wach iteration.
  69.  
  70. Don't get frustrated by failures.  This type of programming is not something
  71. a lot of people do.  The Trident driver, for example, took several weeks of
  72. work for two people.
  73.  
  74. >                 Scott Heavner
  75. > -- 
  76. > HELP! I'm being held prisoner in a .sig file factory.
  77.  
  78. Most important of all (:->) when you get working code, send it to 
  79. xfree86@physics.su.oz.au, so that we can integrate it into the main release.
  80. Anyone who is contemplating this type of development should join our
  81. beta group, if they haven't already.  Send email to the above address to
  82. join.
  83.  
  84. --
  85. David Wexelblat <dwex@mtgzfs3.att.com>  (908) 957-5871
  86. AT&T Bell Laboratories, 200 Laurel Ave - 3F-428, Middletown, NJ  07748
  87.  
  88. "The meaning of life?  That's simple.  Try to be happy, try not to hurt
  89.  other people, and hope to fall in love."  -- Mallory Keaton
  90.