Date: Tue, 30 Nov 1999 17:38:08 +0100 From: "Jose M. Alcaide" <jose@we.lc.ehu.es> To: Jeff <jeff@simplenet.com> Cc: freebsd-mobile@FreeBSD.ORG, yokota@FreeBSD.ORG, msmith@FreeBSD.ORG Subject: Re: ATI Mobility Message-ID: <3843FD70.E074E5F@we.lc.ehu.es> References: <3.0.5.32.19991116114313.0085b320@mail.simplenet.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Jeff wrote: > > I have a Solo 9300 laptop with the ATI Rage Mobility-P 8MB video card. I > cannot get this card to work with X in FreeBSD. I have tried 3.2 and 3.3, > using XF86_Mach64 and XF86_SVGA servers. I get what can be recognized as a > desktop, but it is totally unusable due to extreme crosshatching and > distortion. I have also tried the patched X server which can be found at > http://www.eecs.umich.edu/~steveh/inspiron/ and this made no difference > whatsoever. > > The card does work with Linux. I have installed RedHat 6.0 and 6.1, and was > able to get the video card working perfectly by adding VGA=792 to the > lilo.conf file. I am not entirely sure what this does, but it seems to be > what makes the difference. The video card behaves the same way in Linux > until I add that line. > > Has anyone gotten this card to work with FreeBSD? Does such an equivalent > line exist for FreeBSD? I really cannot use Linux, its got to be FreeBSD or > nothing. > [Note: I am CC'ing this message to Kazutaka Yokota and Mike Smith because they are the authority for the VESA support in FreeBSD] I have just purchased an Inspiron 3700 (I am waiting for it to arrive), which also includes the ATI Rage Mobility-P video adapter, so I am carefully reading all information I can find about the XFree86 (3.3.5) problems with this card. The general consensus from Linux people is that putting the line "vga=791" (or 792) in lilo.conf solves the problems, so that the XF86_Mach64 X server works at 1024x768. That magic number represents a VESA mode: 791=0x317; the real VESA mode is obtained from subtracting 0x200 to that number: 0x317-0x200 = 0x117. And the following definitions can be found in /usr/include/machine/console.h: #define M_VESA_64K_1024 0x117 /* 1024x768, 5:6:5 */ #define SW_VESA_64K_1024 _IO('V', M_VESA_64K_1024 - M_VESA_BASE) I.e.: 1024x768 at 16 bits depth (the same mode that the Xserver tries to configure, and fails). I wrote a very simple program that does an ioctl(0,SW_VESA_64K_1024,NULL) in order to test that video mode setting, and I ran it on a machine which has an ATI Rage Pro. It did not work (yes, the kernel has been compiled with the VM86 and VESA options); then, I searched the mailing list archives to find that ATI cards do not offer standard BIOS services for setting VESA modes. This must be the reason for that ioctl() does not work. However, the Linux kernel *can* set that VESA video mode. How? Obviously, what I am trying to do is the same trick that the Linux people uses, but as a small wrapper for the XF86_Mach64 server that could set the 0x117 VESA mode, start the X server, and restore the old video mode on exit. Any ideas? Or is this simply impossible? Cheers, -- JMA ----------------------------------------------------------------------- José Mª Alcaide | mailto:jose@we.lc.ehu.es Universidad del País Vasco | mailto:jmas@FreeBSD.org Dpto. de Electricidad y Electrónica | http://www.we.lc.ehu.es/~jose Facultad de Ciencias - Campus de Lejona | Tel.: +34-946012479 48940 Lejona (Vizcaya) - SPAIN | Fax: +34-946013071 ----------------------------------------------------------------------- "Beware of Programmers who carry screwdrivers" -- Leonard Brandwein To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-mobile" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3843FD70.E074E5F>