Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 25 Jan 1995 22:43:43 +0000 (MST)
From:      Jeremy Chatfield <jdc@crab.xinside.com>
To:        fbsd@clem.systemsix.com (Steve Passe)
Cc:        freebsd-hackers@freefall.cdrom.com
Subject:   MultiHeaded X Servers on PCI
Message-ID:  <199501260543.WAA08677@crab.xinside.com>
In-Reply-To: <199501251827.LAA01230@clem.systemsix.com> from "Steve Passe" at Jan 25, 95 11:27:00 am

next in thread | previous in thread | raw e-mail | index | archive | help
Ah, now I know where the question came from... this arrived long
after the question that followed this. 

"Eddies in the time-space continuum" "Is he?"

Steve Passe writes:
> 
> (semi-)unrelated question.  I have been thinking multiheaded display
> for freeBSD/XFree86 for awhile now.  I know there is a server available
> using 1 vga, 1 mono card, but I would like to have a box with
> 3 accelerated cards in a true multiheaded setup.
> 
> 1: take several PCI vga cards, clip a couple address traces and wire 
> 	in an inverter.  Might need to mess with several groups
> 	to re-address board in both io and mem spaces.

No need.  The PCI BIOS and the BIOS on each of the graphics boards is
supposed to handle this.  Of course, not everyone has this right,
yet.  Most board vendors are still getting to grips with *one* PCI 
board in a machine :-)

> 2: modify X server to probe for cards in new ranges.

You need a PCI BIOS probe routine.  The hardest part for us has been
all the slightly different ways to read the PCI BIOS specs, resulting
in some machines where we've had problems reading the data we need.

> 3: ???

This must be the stage where you work out which chipsets can't
possibly be made to work because of fundamental design problems,
which will often work, and which will work consistently, unless
paired with one of the design problem chips/boards...

We're deep in this phase at the moment.

> Some questions:
> 
> 1: would it be necessary to hack the kernel paging code to provide
> 	a 'safe' area to put them into?  anyone care to venture
> 	possible addresses for memory and io?  would kernel mods
> 	be avoidable by putting these boards above 128/256(?)MB,
> 	and what about the io addresses?

Not needed.

> 2: what limitations are there as to caching circuits, ie. non-cachable
> 	memory holes, snooping, etc?

For most UNIX systems, users have become used to disabling VGA BIOS
caches and shadowing.  We need the VGA BIOS caches and shadowing
turned on, for PCI systems, as there is a 32-bit PCI BIOS spec.  We
dip into that for a few bits and pieces during the initialisation,
and then keep well away from it :-)

> 3: anyone have suggestions for specific boards that would be 
> 	suitable for this?  I favor PCI for the full 32 bit
> 	address range they have.  

Absolutely the best boards for multihead displays are:

	Matrox Impression Plus, Ultima Plus
	ColorGraphics boards (already have 2 or 4 graphics chipsets
		and RAMDACs on each board)

The #9 Imagine-128 is designed to permit two per system, which does
not rule out their use with Matrox or ColorGraphics boards.

> This is a half-baked plan at best, anyone interested in cooking?
> 
> 						Steve Passe
> 						smp@clem.systemsix.com

Oh, we've been half-baked for months, already ;-)

Umm, isn't System Six the US vendor of the Russian based Usix
microkernel SVR4 clone, based in Golden, just up the road from me?
Is Usix now FreeBSD compatible?

Cheers, JeremyC.
-- 
Jeremy Chatfield, +1(303)470-5302, FAX:+1(303)470-5513, email:jdc@xinside.com
        X Inside Inc, P O Box 10774, Golden, CO 80401-0610, USA.
   Commercial X Server - for more information please try these services
http://www.xinside.com            info@xinside.com            ftp.xinside.com



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199501260543.WAA08677>