I too am curious about that.  I've been working on adding duoview
support to the s3 savage driver.  I talked to Tim Roberts a while back
and I figured out the basics of how it works.  I've got a semi-working
driver, but alas, I think I need some help getting the second crtc to
output to the vga port.  Right now it seems to think it's connected to
the LCD.  such is the case of writing drivers blind.  Do any of you
have access to savage MX/IX docs (or know where I could find some) and
would be willing to answer some questions?  I'm working on a Savage IX
on an IBM T20.

BTW, here's my code as well as a binary and a sample XF86Config file:
http://www.botchco.com/alex/new-savage/savage/


Also to any of you would-be developers out there, it's actually not as
hard as it seems, I mean docs are nice (and often necessary), but you
can figure out a lot just looking at code from other drivers.  after
fiddling with duoview for a few weeks I have a pretty good
understanding of 2D.  I haven't messed with 3D...yet.  It's sort of
really daunting for a while and then all of a sudden you get a moment
of clarity and it all starts to make sense.

Which bring me to the subject of this email.  I've been giving this
some thought...  The thing is there isn't really a sample of this to
work from at the moment, but once the first on got converted, I think
it would be pretty easy to convert others (at least for single chips
with dual CRTCs).  here are my thoughts on it, from my perspective
anyway, keep in mind I'm still pretty green.

right now for these chips you set up the entity as shareable and then
divide your framebuffer into two or more frambuffers, one for each
CRTC.  Each instance of the driver then works using its framebuffer. 
each head is distinguished using the "screen 0/1/etc." flag in the
XF86Config file.  (entity functions and operations for this sort of
thing are not so well documented, at least not that I could find). 
Each pscrn gets it's framebuffer size and address mapped to the part of
video ram you allocated for each frambuffer.

For chips with dual crtcs you could do just what the diagram below
shows and create a single frame buffer with two sort of virtual
framebuffers.  I'm not sure how this would work with the existing
entity code.  I guess as far as XF86Config goes you have to create a
custom flag.  As Sven said, this is I think what the matrox and Nvidia
drivers do.  They can also announce xinerama for the benefit of window
managers and such (even though it's technically not two pscrns).

You could add the stuff from the device specific EntRec's to device
specific Rec's.  then each pscrn would be responsible for not only
frambuffer base and address but also primary and secondary virtual
frame buffers and address.  The main framebuffer would hold the whole
contents of the screen and each virtual framebuffer would basically be
a viewport into the total "screen."  I haven't had time to think this
through throughly and I'm already starting to have questions... I
dunno...food for thought I guess.

If and when I finish duoview support, I'd like to work on this, or at
least help out.  Also for anyone out there who's working on 3D support
for the savage IX/MX I'd be happy to help out testing and what not.  

Thanks,

Alex


--------------------------------------

On Mon, Feb 24, 2003 at 07:58:55AM -0700, Jens Owen wrote:
> A short cut to this whole thing would be to work on getting a second 
> head supported on a single X11 screen.  Then 3D comes for free:
> 
>   http://www.tungstengraphics.com/dri/Simple_Xinerama_DH.txt
> 
> This solution provides Xinerama functionality without actually using
the 
> Xinerama wrapper.

Mmm, i am curious about this, how does it get handled in the XFree86
configuration file. Also, i guess this would facilitate the memory
management in dual head configurations.

In general, dual head configuration is pretty poor in the current X
server, at least in the documented part. There is no way from
specifying
mirrored or zoomed window output, or to be able to change the
configuration dynamically, but this would probably not be achievable
without an extension, or maybe incorporated with the RandR stuff. 

I think that matrox did something such in their proprietary drivers.

Friendly,

Sven Luther

__________________________________________________
Do you Yahoo!?
Yahoo! Tax Center - forms, calculators, tips, more
http://taxes.yahoo.com/


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to