Re: does XFree86 need kernel framebuffer support?

2004-02-06 Thread Suresh Chandra Mannava
Dear Sir,

Thanks for your valuable information.

 --- Andrew C Aitchison <[EMAIL PROTECTED]>
wrote: 

> XFree86 does not in general need kernel framebuffer
> support for
> hardware which is supported by an XFree86 driver, as
> it has its own 
> framebuffer interface.

This almost solves our problem because our kernel have
no support for DRI or framebuffer.

> 
> There are two cases where XFree86 does need kernel
> support.
> * Chipsets like the i810/i815/i835/... family have
> no framebuffer memory
> but use main system memory for the framebuffer. This
> requires agpgart 
> support from the kernel.

does agpgard is specificaly for AGP? or can we use it
for PCI?

I need to check whether our integrated PCI-ATI Rage is
having its own memory or sharing system memory. 
 
> The XFree86 mach64 driver does not use kernel
> support, 
> There is an XFree86 driver (fbdev IIRC) which uses
> kernel framebuffer 
> support, and some XFree86 drivers can work with a
> kernel framebuffer

We are going to use Mach64 server and as of now we are
not interested in DRI.
Once we successfuly port Xfree86 to our new platform
with basic server then we can concentrate on other
server implementations.


Thanks & Regards,
Suresh.



=
---
Suresh Chandra Mannava.
Research Scholar, V I T, India.
Abacus, X & GNOME porting
Cornet Tech India
mannavavit.ac.in


Yahoo! India Mobile: Download the latest polyphonic ringtones.
Go to http://in.mobile.yahoo.com
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


bsd_mouse.c - small patch

2004-02-06 Thread Tyler Retzlaff
Don't place tokens after #endif preprocessor directive.

Index: bsd_mouse.c
===
RCS file:
/cvs/xc/programs/Xserver/hw/xfree86/os-support/bsd/bsd_mouse.c,v
retrieving revision 1.27
diff -u -p -r1.27 bsd_mouse.c
--- bsd_mouse.c 17 Jan 2004 15:20:05 -  1.27
+++ bsd_mouse.c 6 Feb 2004 06:55:48 -
@@ -378,7 +378,7 @@ FindDevice(InputInfoPtr pInfo, const cha
 }
 return *pdev;
 }
-#endif (__OpenBSD__)
+#endif /* (__OpenBSD__) */
 
 #ifdef WSCONS_SUPPORT
 #define NUMEVENTS 64


Thanks

-- 

Tyler R. Retzlaff <[EMAIL PROTECTED]> http://www.NetBSD.org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Virtual Xinerama

2004-02-06 Thread Jan Dittmer
Hello,

I recently aquired a second video card, so that I now have a triple 
display. I'm using a Nvidia card (with the binary drivers) in TwinView 
Mode to drive the first two displays and a Ati card for the third 
display. What really annoys me is, that as as soon as you enable 
TwinView together with a second card, the two displays are just seen as 
one screen and so every window manager only 'sees' two screens. So 
maximized windows etc. always strech over (at least) two displays.
As I don't think Nvidia will be fixing this anytime soon and I think 
this could probably useful elsewhere (i.e. dividing your display into 
two screens so that window always are maximized to half the window, 
...), I'm wanting to implement a kind of virtual xinerama support.
I've thought about different ways of implementing this. The easiest 
solution I can see so far is to just extend the screen definitions in my 
ServerLayout like the following example:

Section "ServerLayout"
...
Screen  0 "NvScreen" Geometry 1280 1024 0 0
Screen  1 "NvScreen" Geometry 1280 1024 1280 0 RightOf "0"
Screen  2 "AtiScreen0" RightOf "1"
Of course RightOf, LeftOf, etc. would have to be made to work with 
screen-nums and screen-ids. Also checks for non overlapping of areas 
would have to be done. And only dividing of hole screens will be 
supported, no funny part of this and part of that screen.
So, what do you think of the general idea? Is this just totally bogus or 
may this be useful? Especially, are their other ways (other than hacking 
every wm out there) to do this better/cleaner/faster?

Thanks for any comments, suggestions and hints,

Jan

ps: I already started hacking on this. Seems like I've to dig quite deep 
into the xinerama layer. :-)


pgp0.pgp
Description: PGP signature


Re: Virtual Xinerama

2004-02-06 Thread Jan Dittmer
Jan Dittmer wrote:
ps: I already started hacking on this. Seems like I've to dig quite deep 
into the xinerama layer. :-)
Okay, after looking into this, I think what I really just want to do is 
to fake the reply of PanoramiX{GetScreenCount,GetScreenSize,}, 
XineramaQueryScreens. Emulatins multiple screens, like first thought, 
gets far too complex. Are there any other places window managers get 
there screen information from in xinerama mode other than those 3?

Thanks,

Jan



pgp0.pgp
Description: PGP signature


Re: hi

2004-02-06 Thread o2shop
  -  The following is an automated response
  -  to your message generated on behalf of [EMAIL PROTECTED]



Dear O2 Customer, 
 
Please note that this is an unmonitored email account and we will not be able to 
respond to your query.  If you have a query about your service please visit 
www.o2.co.uk/help or email us at mailto:[EMAIL PROTECTED] where it will receive our 
attention.
 
Regards,
 
O2 Customer Care 

This communication is from O2 (Online) Limited. Registered office: Wellington Street, 
Slough, Berkshire, SL1 1YP. Registered number: 1906156. Business office: The Broadway, 
Hammersmith, London W6 9DL.
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: Manufacturers who fully disclosed specifications for agp cards?

2004-02-06 Thread Alexander Stohr
- Original Message - 
From: "netpython" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, February 04, 2004 9:38 AM
Subject: *** GMX Spamverdacht *** Re: *** GMX Spamverdacht *** Re:
Manufacturers who fully disclosed specifications for agp cards?


[...]
> (reverse engineering)
> Are there any good tools to do that under linux ?

there are a few dis-assemblers and debuggers around for Linux,
but the most promising approach to my understanding is the
emulation approach. there are projects which do make run
e.g. windows printer drivers on Linux via emulation (e.g. Wine),
other driver models will follow that soon and then you should
have full abilities on intercepting nearly anything what goes on.
lets consider even the newly announced coLinux (@sf.net)
approach as some basic approach for an emulation platform.

-Alex.

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


Re: Virtual Xinerama

2004-02-06 Thread Alex Deucher
--- Jan Dittmer <[EMAIL PROTECTED]> wrote:
> Hello,
> 
> I recently aquired a second video card, so that I now have a triple 
> display. I'm using a Nvidia card (with the binary drivers) in
> TwinView 
> Mode to drive the first two displays and a Ati card for the third 
> display. What really annoys me is, that as as soon as you enable 
> TwinView together with a second card, the two displays are just seen
> as 
> one screen and so every window manager only 'sees' two screens. So 
> maximized windows etc. always strech over (at least) two displays.
> As I don't think Nvidia will be fixing this anytime soon and I think 
> this could probably useful elsewhere (i.e. dividing your display into
> 
> two screens so that window always are maximized to half the window, 
> ...), I'm wanting to implement a kind of virtual xinerama support.
> I've thought about different ways of implementing this. The easiest 
> solution I can see so far is to just extend the screen definitions in
> my 
> ServerLayout like the following example:
> 
> Section "ServerLayout"
> ...
>  Screen  0 "NvScreen" Geometry 1280 1024 0 0
>   Screen  1 "NvScreen" Geometry 1280 1024 1280 0 RightOf "0"
>  Screen  2 "AtiScreen0" RightOf "1"
> 
> Of course RightOf, LeftOf, etc. would have to be made to work with 
> screen-nums and screen-ids. Also checks for non overlapping of areas 
> would have to be done. And only dividing of hole screens will be 
> supported, no funny part of this and part of that screen.
> So, what do you think of the general idea? Is this just totally bogus
> or 
> may this be useful? Especially, are their other ways (other than
> hacking 
> every wm out there) to do this better/cleaner/faster?
> 
> Thanks for any comments, suggestions and hints,

Drivers that implement their own xinerama extension are not compatible
with the "official" xinerama extension (It's not that they are
incompatiable, rather you can only have one xinerama extension
registered at a time).  right now you can only have one or the other. 
Torrey Lyons mentioned extending the xinerama extension at one point to
better accomodate things like merged framebuffer modes and other
windowing systems that provide their own multi-mon API such as Apple. 
I don't know that anyone has really done anything on this at the moment
though.  Take a look at the sis driver or the radeon driver in DRI cvs
or the pseudo-xinerama stuff in the quartz code for an idea of how this
should work for driver based xinerama extensions. Ideally the official
extension would be extended to handle both cases.  If you come up with
a patch, please post!

Alex

> 
> Jan
> 
> ps: I already started hacking on this. Seems like I've to dig quite
> deep 
> into the xinerama layer. :-)
> 

> ATTACHMENT part 2 application/pgp-signature 



__
Do you Yahoo!?
Yahoo! Finance: Get your refund fast by filing online.
http://taxes.yahoo.com/filing.html
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: does XFree86 need kernel framebuffer support?

2004-02-06 Thread Andrew C Aitchison
On Fri, 6 Feb 2004, [iso-8859-1] Suresh Chandra Mannava wrote:

> > There are two cases where XFree86 does need kernel
> > support.
> > * Chipsets like the i810/i815/i835/... family have
> > no framebuffer memory
> > but use main system memory for the framebuffer. This
> > requires agpgart 
> > support from the kernel.
> 
> does agpgard is specificaly for AGP? or can we use it
> for PCI?

I've never used it, but I've seen references to pcigart,
which provides (some of) the features of the agpgart kernel
module for PCI devices.
After a quite google, I'm not sure whether it is actually a kernel
module, or part of the Mach64 DRI project:
  http://www.ussg.iu.edu/hypermail/linux/kernel/0102.1/0959.html
suggests that it may come with the DRI, but 
  http://mail-index.netbsd.org/tech-x11/2003/03/19/0006.html
suggests that it may come with the OS kernel.
(The first is quite old, but sugegsts that at the time pcigart
may not have had support for the Mach64).

My Mach64 is about 5 years old, and I've never needed a kernel
module for it, but I know that some of the later, more integrated,
versions were somewhat different.

As Tim Roberts says, even with system memory, you may not
need the gart functions, if the BIOS allocates enough memory
to the graphics unit. Since you are on a custom platform
that may or may not help you.

-- 
Andrew C. Aitchison Cambridge
[EMAIL PROTECTED]


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


Re: bsd_mouse.c - small patch

2004-02-06 Thread Marc Aurele La France
On Fri, 6 Feb 2004, Tyler Retzlaff wrote:

> Don't place tokens after #endif preprocessor directive.

> Index: bsd_mouse.c
> ===
> RCS file:
> /cvs/xc/programs/Xserver/hw/xfree86/os-support/bsd/bsd_mouse.c,v
> retrieving revision 1.27
> diff -u -p -r1.27 bsd_mouse.c
> --- bsd_mouse.c 17 Jan 2004 15:20:05 -  1.27
> +++ bsd_mouse.c 6 Feb 2004 06:55:48 -
> @@ -378,7 +378,7 @@ FindDevice(InputInfoPtr pInfo, const cha
>  }
>  return *pdev;
>  }
> -#endif (__OpenBSD__)
> +#endif /* (__OpenBSD__) */
>
>  #ifdef WSCONS_SUPPORT
>  #define NUMEVENTS 64

> Thanks

Done.  Thanks for the patch.

Marc.

+--+---+
|  Marc Aurele La France   |  work:   1-780-492-9310   |
|  Computing and Network Services  |  fax:1-780-492-1729   |
|  352 General Services Building   |  email:  [EMAIL PROTECTED]  |
|  University of Alberta   +---+
|  Edmonton, Alberta   |   |
|  T6G 2H1 | Standard disclaimers apply|
|  CANADA  |   |
+--+---+
XFree86 developer and VP.  ATI driver and X server internals.

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


Re: does XFree86 need kernel framebuffer support?

2004-02-06 Thread Tim Roberts
Sergey Babkin wrote:

Tim Roberts wrote:
 

Andrew C Aitchison wrote:
   

There are two cases where XFree86 does need kernel support.
* Chipsets like the i810/i815/i835/... family have no framebuffer memory
but use main system memory for the framebuffer. This requires agpgart
support from the kernel.
 

This doesn't actually REQUIRE agpgart support from the kernel unless
you're doing bus mastering.  The ProSavages are UMA chips, with their
frame buffers in main memory, and as long as the BIOS has done the
proper division of memory at boot time, that's all it needs.
   

Many of the cards in the i810 family have only a very limited
amount of video memory on the card. So if you want to get anything over
800x600 on them, you need agpgart. On some of them the i810
driver won't start even in 800x600 mode, so VESA is the only option.
 

I was about to express my utter confusion at these comments, since in 
fact the i810 family (just like the ProSavages and other UMA solutions) 
has exactly zero megabytes on-chip video memory, but after doing some 
reading, I think I understand now.

The issue here, if I understand it, is that the BIOS on i810 systems is 
utterly brain-dead.  It will not allocate more than 1 MB of system RAM 
to the i810.  Thus, if you want more than 1024x768x8 or 800x600x16, you 
do, in fact, need agpgart support to remap the addresses.

This is NOT the case for ProSavage chips, nor for any of the other UMA 
chips I've encountered (like SiS).  In those cases, the BIOS carves up 
the system memory, and is able to allocate 8MB or 16MB or more to the 
graphics chip.  In that case, agpgart is not necessary.

So, I guess I learned something today.

--
- Tim Roberts, [EMAIL PROTECTED]
 Providenza & Boekelheide, Inc.
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


I830M Second display enabling (Intel datasheet)

2004-02-06 Thread Jukka Alasalmi
Not sure if this helps at all, but there is mentioned something
about the enabling of the secondary video device on I830M
chipset. The datasheet is available at following address:
ftp://download.intel.com/design/chipsets/datashts/29833803.pdf

On the page 81, this is said about the GCC1-GMCH Control Register #1
Device #0:

Address Offset 52-53h,
bit 3:  Device #2 Disable - When set to "1" this bit disables
Device #2 and all associated spaces (Default value = 0)
bit 2:  Device #2 Function 1 Enable - When set to "1", enables the
second function within Device #2 (Default Value = 0).

It is said that these "I/O mapped registers reside in the CPU I/O
addres space - the configuration address (CONFIG_ADDRESS) and the
configuration data (CONFIG_DATA) register. The configuration address
register enables/disables the configuration space and determines what
portion of configuration space is visible through the configuration
data window."

There's also information about the CONFIG_ADDRESS and usage of it,
starting at page 65. But I guess there's no reason for me to copy
it all here, as it is available in the mentioned url... :-)

Well, I haven't ever programmed any hardware-related stuff, and
all I can do is hope this information might be for some use..

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


Multiple sessions accessed simultaneously

2004-02-06 Thread Andrew Bevitt
Hello,

I was just trying to get a feel for what people are looking at doing (ie plans 
etc..) in regards to having a X session running on more than one VT, on 
seperate monitors, that can be accessed by two different people 
simultaneously.

This would ovbiously require multiple input devices, two mice and keyboards.

Problem as I see it from the vanilla source tree is that no two VT's can be 
active simultaneously, and that device binding/exclusion for input on that VT 
is not supported. After all it would be a tad hard to work on a system when 
somewhen else move another mouse and your cursor moved with it :)

Thanks
Andrew Bevitt
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: does XFree86 need kernel framebuffer support?

2004-02-06 Thread Michel Dänzer
On Fri, 2004-02-06 at 10:30, Andrew C Aitchison wrote:
> On Fri, 6 Feb 2004, [iso-8859-1] Suresh Chandra Mannava wrote:
> 
> > does agpgard is specificaly for AGP? 

Yes.

> > or can we use it for PCI?
> 
> I've never used it, but I've seen references to pcigart,
> which provides (some of) the features of the agpgart kernel
> module for PCI devices.
> After a quite google, I'm not sure whether it is actually a kernel
> module, or part of the Mach64 DRI project:
>   http://www.ussg.iu.edu/hypermail/linux/kernel/0102.1/0959.html
> suggests that it may come with the DRI, but 
>   http://mail-index.netbsd.org/tech-x11/2003/03/19/0006.html
> suggests that it may come with the OS kernel.
> (The first is quite old, but sugegsts that at the time pcigart
> may not have had support for the Mach64).

As the first post says, PCI GART is a feature of ATI graphics chips;
AFAIK it's only provided by Rage128 and later.


-- 
Earthling Michel DÃnzer  | Debian (powerpc), X and DRI developer
Libre software enthusiast|   http://svcs.affero.net/rm.php?r=daenzer

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


XGetImage and Pixmap/Xvfb

2004-02-06 Thread Carl Nygard

I'm having problems grabbing images from XPixmap objects, whether
created on a visible Display or on a Xvfb display.  Specifically, I'm
drawing a fill which is stippled.  If the Drawable is a visible window,
XGetImage works fine.  When the Drawable is XPixmap, the filled area is
solid.

I tried to boil this down to some simple X test program, and I can't
even get that to capture an image from the pixmap on the normal display,
I get BadWindow errors.  I can however, use identical code and capture
from a visible window, and things work fine.

man pages and Xlib Programming Manual offer no help (that I can find).

I've tried this on my laptop (16bit depth) and my desktop (24bit).  Both
give the same errors.  Can anyone provide some clues?

g++ -o test test.cxx -L/usr/X11R6/lib -lXm -lXt -lx
./test
Creating visible window
Realizing widget
Creating Window
Creating DrawingArea
Getting Display
Allocating GC2
DefaultDepth: 16
Clearing Window1
Getting pixels
Allocating GC
Set foreground
Clearing Window
Allocating fill pixmap2
Setting fill pixmap
Drawing rectangle
Flushing
Done drawing
Capturing image 3c00014
X Error of failed request:  BadWindow (invalid Window parameter)
  Major opcode of failed request:  61 (X_ClearArea)
  Resource id in failed request:  0x3c00014
  Serial number of failed request:  154
  Current serial number in output stream:  164

#define's at top choose whether XImage is captured from Pixmap or
visible window.

Hope this is clear...





#define VIS 1
#define PIXMAP 1
#include 
#include 
#include 
#include 
#include 
#include 

#if VIS
#include 
#include 
#endif


GC CreateGC(Display* dsp, Window win)
{
int screen = DefaultScreen(dsp);

XGCValues   values;

values.function = GXcopy;
values.plane_mask   = AllPlanes;
values.line_width   = 0;
values.line_style   = LineSolid;
values.cap_style= CapButt;
values.fill_style   = FillSolid;
values.join_style   = JoinBevel;
values.subwindow_mode   = ClipByChildren;
values.graphics_exposures   = False;
values.clip_x_origin= 0;
values.clip_y_origin= 0;
values.clip_mask= None;
values.foreground   = WhitePixel(dsp, screen);
values.background   = BlackPixel(dsp, screen);

values.join_style   = JoinRound;

GC gc = XCreateGC(dsp, win,
  GCFunction|GCPlaneMask|GCLineWidth|
  GCLineStyle|GCCapStyle|
  GCFillStyle|GCJoinStyle|GCForeground|
  GCBackground|GCSubwindowMode|
  GCGraphicsExposures|GCClipXOrigin|
  GCClipYOrigin|GCClipMask,
  &values);
if (gc == None) {
printf("Unable to get GC\n");
exit(-1);
}

return gc;
}

void SetFillStipple(Display* dsp, Window win, GC gc)
{
unsigned char opaque_bits[] = {
0x55, 0x50, 0xa0, 0xaa, 0x50, 0x55, 0xaa, 0xa0, 0x55, 0x50, 0xaa, 0xa0,
0x55, 0x50, 0xa0, 0xaa, 0x50, 0x55, 0xaa, 0xa0, 0x55, 0x50, 0xaa, 0xa0,
0x55, 0x50, 0xa0, 0xaa, 0x50, 0x55, 0xaa, 0xaa};

Pixmap fillPix = XCreatePixmapFromBitmapData(dsp, win,
 (char *)opaque_bits, 
 16, 16, 
 1, 0, 1);

printf("Setting fill pixmap\n");
XSetFillStyle(dsp, gc, FillStippled);
XSetStipple(dsp, gc, fillPix);
XFreePixmap(dsp, fillPix);
}

XImage* Capture(Display* dsp, Window win)
{
XImage* ximage = XGetImage(dsp, win, 
   0, 0, 800, 800,
   (unsigned long)0x00ff, ZPixmap);
if(ximage)
printf("Captured image\n");
else{
printf("Unable to grab image\n");
exit(-1);
}
return ximage;
}

void DrawRectangle(Display* dsp, Window win, GC gc)
{
printf("Set foreground\n");
XSetForeground(dsp, gc, 0x00ff00);
XSetBackground(dsp, gc, 0xff);

printf("Clearing Window\n");
XClearWindow(dsp, win);

printf("Allocating fill pixmap2\n");
SetFillStipple(dsp, win, gc);

printf("Drawing rectangle\n");
XFillRectangle(dsp, win, gc, 350, 350, 100, 100);

printf("Flushing\n");
XFlush(dsp);

printf("Done drawing\n");
}

int main(int argc, char** argv)
{

const char* displayName = ":0.0";

#if VIS
printf("Creating visible window\n");
XtAppContext context;
Widget Gwindow, Ggraf;
Widget topLevel = XtVaAppInitialize(&context,
"PG",
NULL,0,
&argc,argv,
NULL,
XmNwidth,800,
XmNheight,800,
  

XVideo seems to work on NeoMagic NM2097

2004-02-06 Thread Karl Oberjohn
Hello,

I have a Mitsubishi AMiTY CN2 notebook with a NeoMagic NM2097 (MagicGraph 
128ZV+) video chipset.  I was excited to see that XVideo support was added 
for NeoMagic chipsets in XFree86 version 4.3, but for the life of me, I could 
not get it to work.  (I did add the OverlayMem option to my XF86Config.)  
xvinfo just gave me the dreaded "No adapers present."

I'm not much of a programmer, but I looked through the neomagic driver source 
code, and apparently the driver only activates a video overlay for chipsets 
NM2160 (MagicGraph 128XD) and newer.

So just for the heck of it, I added the following line to my XF86Config:

   Chipset "neo2160"

I started up X, ran xvinfo... and I got a nice list of all the video modes 
supported by the NeoMagic Video Engine!  Wow!  Could it be that simple?  I 
played an MPEG video in full-screen mode with XINE, and sure enough, video 
performance was significantly improved compared to the XShm output device.  I 
even moved another window on top of the video, and I could see parts of the 
video showing through the colors that matched the chromakey.

The only problem I had was the cursor turned into a scattered mess of dots 
instead of a nice arrow.  I noticed in XFree86.0.log that the neomagic driver 
detected 2 MB of video memory when in fact I only have 1152 kB.  So I added 
one more line to my XF86Config:

   VideoRam 1152

And that fixed the cursor.  All other functions seem to work fine.  I am 
running 800x600 @ 16 bpp.

The other warning I received in the log file was:
"Can not reserve 829440 bytes for overlay. Resize to 218624 bytes."

But I'm still able to play full-screen videos.

Is there any reason the neomagic driver shouldn't activate the video overlay 
on a NM2097 chipset?  (Maybe it would work on even older chipsets?)  It would 
sure be a nice feature addition for the upcoming version 4.4...

Thanks for your support,

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