From Geert.Uytterhoeven@cs.kuleuven.ac.be Wed Jul 8 01:23:13 1998 Date: Wed, 8 Jul 1998 01:09:11 +0200 (CEST) From: Geert Uytterhoeven To: Linux/pmac , Linux/m68k Subject: L68K: revamped atyfb beta release Hi, I just made available a first beta of the revamped ATI frame buffer device (atyfb). I'm looking for beta testers. If you have never heard about frame buffer devices before (especially about atyfb) you're not suited as a beta tester, sorry... DISCLAIMER: USE THIS AT YOUR OWN RISK. Weird things may happen. If you fry your video card, monitor, pussycat, ... I'm _not_ responsable! Features/caveats/bugs: - Supports arbitrary video modes instead of some limited number of MacOS modes. If you know the timings and your hardware can do it, you should get it. - Text mode acceleration is broken and may disturb the display. Switch VC back and forth to restore the display. Or use `fbset -a' to disable acceleration (per VC). Or disable it in the source (look for accel_flags). - Panning (virtual screen) is broken. - 8 bpp works fine. 16 and 32 bpp sometimes give strange console colors (as before). 24 bpp (real 24 bpp) is untested. - Defaults to 640x480, 8 bpp, 60 Hz. Doesn't use monitor sense yet. - The first frame buffer device corresponds to /dev/fb0: mknod /dev/fb0 c 29 0 Note that my kernel was compiled with egcs, so mknod is broken. But since you complied to the beta tester conditions above you already should have /dev/fb0 :-) - You can change the video mode using `fbset'. I provided a binary for Linux/PPC. E.g. `fbset 1024x768-90' to set the video mode to the mode in /etc/fb.modes with ID `1024x768-90'. I provided a sample video mode database, based on data from ATI. Use `fbset --help' for more help. - I tested various modes (not all), ranging from 640x480 at 60 Hz to 1600x1200 at 66 Hz. I have a Nokia 447Xi monitor, which goes up to 92 kHz. - XF68_FBDev, the XFree86 X server for frame buffer devices still works fine. I'm using it to type this mail. - Builtin PLL (Phase Locked Loop) limits are: o 135 MHz for Mach64 CT o 160 MHz for Mach64 VT o 220 MHz for Mach64 GT I think these are reasonable. I'll ask ATI for the correct values. - Builtin memory clock values: o 50 MHz for Mach64 CT o 60 MHz for Mach64 VT o 67 (SDRAM/SGRAM) or 63 (EDO) MHz for Mach64 GT These are the same as the old driver, except for CT (the old driver didn't care about CT). I'll ask ATI for the correct values. - It works fine on my RAGE II+ (Mach64 GT). I think it will also work fine on other GT chips, e.g. the RAGE PRO. The old driver used incorrect values for the DSP_* registers, causing image distortion on GT chips, especially on the RAGE PRO. - Your mileage may vary with other chips. CT/VT are probably OK. GX is something different. The drivers assumes a GX has an IBM RGB514 RAMDAC/clockchip, which is in most cases (always?) true for Mac boards. Bernd/Petr, you'll have to change the code for your ATI RAMDAC/clockchips. - The atyfb.c fits into the vger tree of yesterday (i.e. before Martin Mares committed his console patches). I haven't tested it with a newer tree yet. For older trees, you have to change at least the open/release functions, and also the memory initialization stuff on m68k. Files (relative to http://www.cs.kuleuven.ac.be/~geert/bin/aty/, all gzipped): - atyfb.c.gz: source; drivers/video/atyfb.c - fb.modes.gz: video mode database; copy this to /etc/fb.modes - fbset.gz: fbset binary for Linux/PPC; copy this to /usr/sbin/fbset - zimage-chrp.gz, .config.gz, System.map.gz: my current kernel binary (CHRP LongTrail). This kernel will _not_ work on a PowerMac! A Linux/PPC binary of the XF68_FBDev X server is still available from http://www.cs.kuleuven.ac.be/~geert/bin/XF68_FBDev-ppc-19980409.gz http://www.cs.kuleuven.ac.be/~geert/bin/XF86Config.gz The XF86Config is a bit out of date. But you can replace the modes inside. Use the `-x' option to make fbset output XF86Config compatible modelines. Things on my list: - Fix the bugs in atyfb - Fix 16 and 32 bpp (maybe even 24 bpp) in XF68_FBDev - Add hardware acceleration for Mach64 to XF68_FBDev Have fun! All comments are welcome... Greetings, Geert -- Geert Uytterhoeven Geert.Uytterhoeven@cs.kuleuven.ac.be Wavelets, Linux/{m68k~Amiga,PPC~CHRP} http://www.cs.kuleuven.ac.be/~geert/ Department of Computer Science -- Katholieke Universiteit Leuven -- Belgium