From mboxrd@z Thu Jan 1 00:00:00 1970 Message-Id: <5.1.0.14.0.20010826222312.00cc13c0@pop.noos.fr> To: 9fans@cse.psu.edu From: Philippe Anel Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=====================_47675814==_" Subject: [9fans] Fwd: G4xx Driver Bundle, /lib/vgadb, Vesa DPMS, Howto and Help needed... Date: Sun, 26 Aug 2001 22:24:23 +0200 Topicbox-Message-UUID: e69f69d4-eac9-11e9-9e20-41e7f4b1d025 --=====================_47675814==_ Content-Type: text/plain; charset="us-ascii"; format=flowed Oooppss, with the attachment now ... >Date: Sun, 26 Aug 2001 22:20:54 +0200 >To: 9fans@cse.psu.edu >From: Philippe Anel >Subject: G4xx Driver Bundle, /lib/vgadb, Vesa DPMS, Howto and Help needed... > > Dear Plan9 users > >You'll find attached the newest version of the G400 and G450 cards >driver. Unfortunatly, the 2D accel feature isn't yet implemented for >I wasn't home last week. I'm working on it and I ask you to be >patient a little more > >In order to install this driver, you must run this bundle (man bundle) >which will copy two files "vgamga4xx.c" in "/sys/src/9/pc" and >"mga4xx" in "/sys/src/cmd/aux/vga". After that, you must do the >following : > >In the directory /sys/src/cmd/aux/vga : in the file "data.c", you must >add the two next lines to ctlrs[] : > >--------------------------------------------cut-here---- > &mga4xx, > &mga4xxhwgc, >--------------------------------------------cut-here---- > >In the file "mkfile", you must add the line to OFILES : > >--------------------------------------------cut-here---- > mga4xx.$O \ >--------------------------------------------cut-here---- > >In the file "vga.h", ou must add the two next lines : > >--------------------------------------------cut-here---- > extern Ctlr mga4xx; > extern Ctlr mga4xxhwgc; >--------------------------------------------cut-here---- > >In the directory /sys/src/9/pc (or alphapc - alpha not tested though): >in your kernel config file ("pcdisk" for example) add the next line : > >--------------------------------------------cut-here---- > vgamga4xx +cur >--------------------------------------------cut-here---- > >Finally here are a few lines from my /lib/vgadb : > >--------------------------------------------cut-here---- >ctlr > 0xC002D="MATROX/Matrox G400" > 0xC002D="MATROX/Matrox G450" > link=vga > ctlr=mga4xx linear=1 > hwgc=mga4xxhwgc >--------------------------------------------cut-here---- > >I hope everything will be all right on your config and I wait for any >feedback. However, I found two bugs as of yet which I cant seem to be >able to get rid off : > > First, the resolutions 1920x1440x8 and 1800x1350x8 don't work on my >computer .. sounds like the hsync and vsync were badly set. But I took >the following values (for my vgadb) with the help of xvidtune from >X11R6. (Here are my vgadb monitor lines) > > # > # IIYAMA Vision Master Pro 450 > # > a901ht > videobw=300 > alias=multisync > a901ht = 1920x1440 > defaultclock=297 > shb=2064 ehb=2288 ht=2640 > shs=2030 > vrs=1441 vre=1444 vt=1500 > hsync=- vsync=- > a901ht = 1800x1350 # 60Hz, 89.4KHz > defaultclock=220 # 219.5MHz @ 1800x1440 > shb=1872 ehb=2128 ht=2248 > shs=1824 ehs=1896 > vrs=1356 vre=1368 vt=1394 > a901ht = 1600x1200 # 72Hz, 90.0KHz > defaultclock=200 # 195.9MHz > shb=1664 ehb=2088 ht=2144 > shs=1648 > vrs=1202 vre=1208 vt=1240 > a901ht = 1024x768 > clock=79 > include=1024x768 > >The driver features some code to take care of the blanking directly >with the hardware. In order to take care of the various blanking modes, >I've used a variable in plan9.ini, which can take the following values : > > *dpms=off > *dpms=suspend > *dpms=standby > >However, the 32 bits mode runs strangely. The CRTC seems correctly >initialized since I can see the mouse cursor. But nothing's printed on >the screen !. But when launching "rio", the screen becomes black (the >frame buffer seems full) !. When I click on the right mouse button, >the menu appears with the current selection on mauve/purple. So, it >seems the CRTC and the DAC ( for the pixel clock at least) are >correctly initialized. if someone happens to come by an idea, or a >patch to fix one or both problems, please, tell me for I'm interested >by any suggestion and/or comment. > > Philippe, > >PS: I've decided not to support 15 or 16 bits resolutions which I >consider being fake modes and only for game addicts (no hard feeling there). >If, however, some of you are interested by these color depth, I'll add them >when the driver will be finished (after the bugs fix and after the 2d >accel feature). > >PS2: a thousand apologizes to Kenji Okatomo and to Carl D. Todaro for >not having replied faster than that. I hope this message will help >them to forgive me. --=====================_47675814==_ Content-Type: application/octet-stream; name="mga_bundle.rc.bz2" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="mga_bundle.rc.bz2" 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 CJI6twA= --=====================_47675814==_--