Skip site navigation (1)Skip section navigation (2)
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>