On Mon, 03 Nov 2003 10:08:37 -0800, "Tim Roberts" <[EMAIL PROTECTED]> wrote:

>The video driver is part of XFree86.

I don't think that this is neccessarily true, or is it? I don'tknow how it is
for other cards but in case of NVidia you have this kernel module nvidia.o
which you need to load and in the Device section I specify as driver nvidia.
Of course it could be that this is just a name which coincides with the kernel
module name. I assumed that it is the name of the module that is the driver,
but I realize that this is not neccessarily so. Do you mean that this driver
also has some part within X itself? It owuld make sense I guess. But then
where is this particular module? Is this also some closed source stuff from
nVidia? At least I only had to download the kernel module and nothing else
because Suse is not allowed to bundle it with their distribution. I suppose,
that this would be true for a module within X as well.

>Basically, yes.  It isn't usually necessary to save the graphics state;
>the driver put the card in a graphics state initially, and since it still
>knows the parameters requested in the XF86Config file, it can put the card
>back into that state whenever it wishes.  However, the driver does have to

Well, at least it needs to know which mode it was, because I can configure
several modes and the switch shold restore the one that has been active when I
switched console.

>The driver is part of XFree86.  Each driver has functions called
>xxxxEnterVT and xxxxLeaveVT (where xxxx depends on the driver name) that
>implement the switch to and from a console (VT = virtual terminal).  Go
>look through some of the drivers and you can see how it is done.

Is this the name of the driver mentioned in the XF86Config Device section? In
my case this would then be called nvidiaLeaveVT?

>Absolutely not.  XFree86 drivers are just user-mode shared object files
>loaded by the XFree86 executable.  They use a custom API and call a bunch
>of user-mode functions.  They will not work in kernel mode.

But the call of the EnterVT/LeaveVT has to end up in the kernel module
somewhere, so I guess it should be possible to trace that and see what is
called.

>>Another thing is, that I would like to take advantage of the current display
>>and draw my window directly into the framebuffer. Is this possible?
>
>Haven't we had this conversation before?

Well, it could be, because I asked this in several newsgroups. :) I sure never
posted it on the XFree mailinglist I think. :)

>The XFree86 driver has INTIMATE knowledge of the specific graphics card. 
>Typically, the driver goes out and reads the PCI configuration registers
>(or allows XFree86 to do it) to get the physical addresses assigned to the
>board.  Because the driver knows the card, it knows which of the addresses
>is the frame buffer and which has the memory-mapped registers.  It maps
>that space into user-mode address space, and starts writing.

And where can I find that code, which interacts with the driver? I think this
EnterLeaveVT functions are only a small part of this. Is the most of that card
dependent stuff in there as well?

>nvidia.o is part of XFree86.  It is a dynamically-loaded library that
>implements the same interface as all other XFree86 video drivers, and it
>calls back in to the XFree86 executable and its other drivers for most of
>its services.

Thanks. I see if I can locate this functions and what they do.

>DGA is one was for you to take ownership of the frame buffer, but like all
>of XFree86, it is a user-mode service.

Where can I find information about this?

-- 
Gerhard Gruber

Für jedes menschliche Problem gibt es immer eine einfache Lösung:
Klar, einleuchtend und falsch. (Henry Louis Mencken)

_______________________________________________
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel

Reply via email to