Re: Intel xf86-intel-video with G45: glxgears synchonised to VSYNC

2008-12-08 Thread Eric Anholt
On Mon, 2008-12-08 at 07:31 +, Terry Barnaby wrote:
 Hi,
 
 I am playing with an Intel G45FC Motherboard with a HDMI connected Samsung 
 HDTV.
 I am using Fedora 10 as the base with the latest DRM/X11/mesa xf86-intel-video
 drivers from the Xorg GIT repository. In general this appears to be working.
 
 One thing I note however, is that when I run glxgears the 3D drawing frame 
 rate, 
 reported by glxgears, is exactly the VSYNC rate. The CPU usage is well down 
 and
 is definitely using DRI. When using the stock xf86-intel-video driver that
 came with Fedora 10, glxgears was reported around 1500.
 
 Is this correct behavior, I thought that glxgears simply drew as fast as 
 possible and was not synchronised to the VSYNC frame rate ?

No, this is correct behavior.

-- 
Eric Anholt
[EMAIL PROTECTED] [EMAIL PROTECTED]




signature.asc
Description: This is a digitally signed message part
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg

[PATCH] mi: streamline CopyGetMasterEvent(), remove code duplication.

2008-12-08 Thread Peter Hutterer
Signed-off-by: Peter Hutterer [EMAIL PROTECTED]
---
 mi/mieq.c |   35 +--
 1 files changed, 17 insertions(+), 18 deletions(-)

diff --git a/mi/mieq.c b/mi/mieq.c
index 971edf9..f0eec26 100644
--- a/mi/mieq.c
+++ b/mi/mieq.c
@@ -277,25 +277,24 @@ void
 CopyGetMasterEvent(DeviceIntPtr mdev, xEvent* original,
xEvent** master, int count)
 {
-if (count  1) {
-*master = xcalloc(count, sizeof(xEvent));
-if (!*master)
-FatalError([mi] No memory left for master event.\n);
-while(count--)
-{
-memcpy((*master)[count], original[count], sizeof(xEvent));
-ChangeDeviceID(mdev, (*master)[count]);
-}
-} else
+int len = count * sizeof(xEvent);
+xEvent *ev;
+
+/* Assumption: GenericEvents always have count 1 */
+
+if (GEV(original)-type == GenericEvent)
+len += GEV(original)-length * 4;
+
+ev = xalloc(len);
+if (!ev)
+FatalError([mi] No memory left for master event.\n);
+memcpy(ev, original, len);
+*master = ev;
+
+while(count--)
 {
-int len = sizeof(xEvent);
-if (original-u.u.type == GenericEvent)
-len += GEV(original)-length * 4;
-*master = xalloc(len);
-if (!*master)
-FatalError([mi] No memory left for master event.\n);
-memcpy(*master, original, len);
-ChangeDeviceID(mdev, *master);
+ChangeDeviceID(mdev, ev);
+ev++;
 }
 }
 
-- 
1.6.0.4

___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


[PATCH] dix: purge dead device-based window access code.

2008-12-08 Thread Peter Hutterer
Signed-off-by: Peter Hutterer [EMAIL PROTECTED]
---
 dix/window.c|   17 -
 include/windowstr.h |9 -
 2 files changed, 0 insertions(+), 26 deletions(-)

diff --git a/dix/window.c b/dix/window.c
index c038799..88ab5e9 100644
--- a/dix/window.c
+++ b/dix/window.c
@@ -413,12 +413,6 @@ CreateRootWindow(ScreenPtr pScreen)
 return FALSE;
 }
 
-pWin-optional-access.perm = NULL;
-pWin-optional-access.deny = NULL;
-pWin-optional-access.nperm = 0;
-pWin-optional-access.ndeny = 0;
-pWin-optional-access.defaultRule = 0;
-
 pWin-optional-colormap = pScreen-defColormap;
 pWin-optional-visual = pScreen-rootVisual;
 
@@ -832,9 +826,6 @@ DisposeWindowOptional (WindowPtr pWin)
 pWin-optional-deviceCursors = NULL;
 }
 
-xfree(pWin-optional-access.perm);
-xfree(pWin-optional-access.deny);
-
 /* Remove generic event mask allocations */
 if (pWin-optional-geMasks)
 gmask = pWin-optional-geMasks-geClients;
@@ -3467,9 +3458,6 @@ CheckWindowOptionalNeed (WindowPtr w)
 pNode = pNode-next;
 }
 }
-if (optional-access.nperm != 0 ||
-optional-access.ndeny != 0)
-return;
 
 if (optional-geMasks != NULL)
 return;
@@ -3530,11 +3518,6 @@ MakeWindowOptional (WindowPtr pWin)
 optional-geMasks-eventMasks[i] = 0;
 }
 
-optional-access.nperm = 0;
-optional-access.ndeny = 0;
-optional-access.perm = NULL;
-optional-access.deny = NULL;
-optional-access.defaultRule = 0;
 parentOptional = FindWindowWithOptional(pWin)-optional;
 optional-visual = parentOptional-visual;
 if (!pWin-cursorIsNone)
diff --git a/include/windowstr.h b/include/windowstr.h
index ccd42a7..b39b351 100644
--- a/include/windowstr.h
+++ b/include/windowstr.h
@@ -89,14 +89,6 @@ typedef struct _GenericClientMasks {
 GenericMaskPtr  geClients;
 } GenericClientMasksRec, *GenericClientMasksPtr;
 
-typedef struct _WindowAccessRec {
-int  defaultRule;  /* WindowAccessDenyAll */
-DeviceIntPtr*perm;
-int  nperm;
-DeviceIntPtr*deny;
-int  ndeny;
-} WindowAccessRec, *WindowAccessPtr;
-
 typedef struct _WindowOpt {
 VisualID   visual;/* default: same as parent */
 CursorPtr  cursor;/* default: window.cursorNone */
@@ -114,7 +106,6 @@ typedef struct _WindowOpt {
 struct _OtherInputMasks *inputMasks;   /* default: NULL */
 DevCursorList   deviceCursors; /* default: NULL */
 struct _GenericClientMasks *geMasks;   /* default: NULL */
-WindowAccessRec access;
 } WindowOptRec, *WindowOptPtr;
 
 #define BackgroundPixel2L
-- 
1.6.0.4

___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


[PATCH] Xext: un-export all XGE functions.

2008-12-08 Thread Peter Hutterer
These functions are only to be used by X server extensions, so let's not
expose them to the world.

Signed-off-by: Peter Hutterer [EMAIL PROTECTED]
---
 Xext/geext.h |   12 ++--
 1 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/Xext/geext.h b/Xext/geext.h
index 3074431..4d2acaf 100644
--- a/Xext/geext.h
+++ b/Xext/geext.h
@@ -66,7 +66,7 @@ typedef struct _GEExtension {
 
 
 /* All registered extensions and their handling functions. */
-extern _X_EXPORT GEExtension GEExtensions[MAXEXTENSIONS];
+extern GEExtension GEExtensions[MAXEXTENSIONS];
 
 /* Returns the extension offset from the event */
 #define GEEXT(ev) (((xGenericEvent*)(ev))-extension)
@@ -95,20 +95,20 @@ extern _X_EXPORT GEExtension GEExtensions[MAXEXTENSIONS];
 
 
 /* Interface for other extensions */
-extern _X_EXPORT void GEWindowSetMask(ClientPtr pClient, DeviceIntPtr pDev,
+extern void GEWindowSetMask(ClientPtr pClient, DeviceIntPtr pDev,
  WindowPtr pWin, int extension, Mask mask);
 
-extern _X_EXPORT void GERegisterExtension(
+extern void GERegisterExtension(
 int extension,
 void (*ev_dispatch)(xGenericEvent* from, xGenericEvent* to),
 void (*ev_fill)(xGenericEvent* ev, DeviceIntPtr pDev,
 WindowPtr pWin, GrabPtr pGrab)
 );
 
-extern _X_EXPORT void GEInitEvent(xGenericEvent* ev, int extension);
-extern _X_EXPORT BOOL GEDeviceMaskIsSet(WindowPtr pWin, DeviceIntPtr pDev,
+extern void GEInitEvent(xGenericEvent* ev, int extension);
+extern BOOL GEDeviceMaskIsSet(WindowPtr pWin, DeviceIntPtr pDev,
int extension, Mask mask);
 
-extern _X_EXPORT void GEExtensionInit(void);
+extern void GEExtensionInit(void);
 
 #endif /* _GEEXT_H_ */
-- 
1.6.0.4

Cheers,
  Peter
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: [PATCH] mi: streamline CopyGetMasterEvent(), remove code duplication.

2008-12-08 Thread Daniel Stone
On Mon, Dec 08, 2008 at 06:13:36PM +1000, Peter Hutterer wrote:
 +int len = count * sizeof(xEvent);
 +xEvent *ev;
 +
 +/* Assumption: GenericEvents always have count 1 */
 +
 +if (GEV(original)-type == GenericEvent)
 +len += GEV(original)-length * 4;
 +
 +ev = xalloc(len);
 +if (!ev)
 +FatalError([mi] No memory left for master event.\n);
 +memcpy(ev, original, len);
 +*master = ev;
 +
 +while(count--)

Hi,
Would it be possible to do something like we do with GPE and friends
where you pessimistically allocate based on the maximum possible number
of events and only reallocate upwards when necessary? Having malloc() in
the event delivery path is a bit of a loss.

Cheers,
Daniel


signature.asc
Description: Digital signature
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg

Re: X-server doesn't start after boot-up

2008-12-08 Thread François-Denis Gonthier
raman narasimhan [EMAIL PROTECTED] writes:

 i've a debian etch system.. i'm using the grub loader.. immediately after the
 boot process when the login screen is to take over, instead of the login
 screen, i get this

This list talks about the development of the X Window system on Linux.

You would have more success with support questions in a mailing list
dedicated to your distribution.  In your case, the list is
[EMAIL PROTECTED]

F-D
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Get raw data of Xrender Picture structure

2008-12-08 Thread Gregoire Gentil
Hello,

I would like to get the raw data of the Picture structure in Xrender.
Basically, I would like to import into a GdkPixbuf, a picture returned
by XRenderCreatePicture. There doesn't seem to be any data export
function in Xrender. Any pointer how I could achieve this?

Grégoire

PS: What do I need to do that? Because I want to preview in a gtk+
application the content of a window that is minimized (like Compiz or
Vista can do). gdk_pixbuf_get_from_drawable returns garbage with a
minimized windows and I think that xrender will return at least the
outdated content of the window. My windows and compositing manager is
xfwm4 which doesn't support this feature. I'm then trying to shortcut
xfwm4 and get what I want directly from Xrender.



___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg

Re: Get raw data of Xrender Picture structure

2008-12-08 Thread Peter Harris
Gregoire Gentil wrote:
 gdk_pixbuf_get_from_drawable returns garbage with a
 minimized windows and I think that xrender will return at least the
 outdated content of the window.

Nope. XRender does not contain any functions that return the contents of
a window, minimized or otherwise.

Maybe you want the Composite extension.

 My windows and compositing manager is
 xfwm4 which doesn't support this feature. I'm then trying to shortcut
 xfwm4 and get what I want directly from Xrender.

Sounds like you're trying to re-implement kompose? You might look there
for ideas. http://kompose.berlios.de/

Peter Harris
-- 
 Hummingbird Connectivity - A Division of Open Text
Peter Harrishttp://connectivity.hummingbird.com
Research and DevelopmentPhone: +1 905 762 6001
[EMAIL PROTECTED]Toll Free: 1 877 359 4866
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Trying to use Radeon driver on Apple eMac

2008-12-08 Thread Joseph Adams
I'm struggling to get the Radeon driver to work on my eMac G4's Radeon
7500 card (the fbdev driver works fine at 1024x768 with no
acceleration).  On both Fedora 8 and Fedora 10 with default xorg.conf,
the screen is blank (the CRT doesn't glow or anything).  I have a CRT
monitor that supports up to 1280x960.  The eMac also has a video out
port.  I suspect that video may show up on an external monitor, but I
can't test that until my adapter arrives.

With an unmodified configuration, Xorg accepts clients and the
/var/log/Xorg.0.log looks good.  However, the screen is blank.  I
suspect this may be bogus modelines.  I tried a modeline I grabbed
from fbset in the working radeonfb Linux terminal:



$ fbset -x
Mode 1024x768
# D: 99.197 MHz, H: 72.090 kHz, V: 89.001 Hz
DotClock 99.198
HTimings 1024 1072 1168 1376
VTimings 768 769 772 810
Flags+HSync +VSync
EndMode



I tried adding this mode through xrandr as follows:



$ xrandr --newmode  1024x768j 99.198 1024 1072 1168 1376 768 769 772
810 +HSync +VSync

$ xrandr --addmode DVI-0 1024x768j

$ xrandr

Screen 0: minimum 320 x 200, current 1024 x 768, maximum 2048 x 1024

DVI-1 disconnected (normal left inverted right x axis y axis)

DVI-0 connected 1024x768+0+0 (normal left inverted right x axis y
axis) 0mm x 0mm

   1024x768   59.9*+

   800x60060.3

   640x48059.9

   1024x768j  89.0

S-video disconnected (normal left inverted right x axis y axis)

$ xrandr --output DVI-0 --mode 1024x768j

xrandr: Configure crtc 0 failed



Just trying to xrandr to a different resolution fails:



$ xrandr -s 800x600

Failed to change the screen configuration!



And VT-switching to 7 (where Xorg is running) results in Xorg
segfaulting whether I do any of the above or not:



xauth:  creating new authority file /home/joey/.serverauth.19680



X.Org X Server 1.5.3

Release Date: 5 November 2008

X Protocol Version 11, Revision 0

Build Operating System: Linux 2.6.18-92.1.10.el5 ppc

Current Operating System: Linux cello 2.6.27.5-117.fc10.ppc #1 Tue Nov
18 11:50:30 EST 2008 ppc

Build Date: 16 November 2008  08:30:07PM

Build ID: xorg-x11-server 1.5.3-5.fc10

Before reporting problems, check http://wiki.x.org

to make sure that you have the latest version.

Markers: (--) probed, (**) from config file, (==) default setting,

(++) from command line, (!!) notice, (II) informational,

(WW) warning, (EE) error, (NI) not implemented, (??) unknown.

(==) Log file: /var/log/Xorg.0.log, Time: Mon Dec  8 13:33:24 2008

(==) Using config file: /etc/X11/xorg.conf

** snip **

Leaving Restore TV

** Message: another SSH agent is running at: /tmp/ssh-igRxa19911/agent.19911

Window manager warning: Failed to read saved session file
/home/joey/.config/metacity/sessions/1042b409dc9a775ef712287612087368560199110021.ms:
Failed to open file
'/home/joey/.config/metacity/sessions/1042b409dc9a775ef712287612087368560199110021.ms':
No such file or directory



Backtrace:

0: /usr/bin/X(xorg_backtrace+0x50) [0x100ffb90]

1: /usr/bin/X(xf86SigHandler+0x68) [0x10082ec8]

2: [0x100364]

3: [0x48002000]

4: /usr/lib/xorg/modules/drivers//radeon_drv.so(radeon_update_dri_buffers+0x8c)
[0xe815ffc]

5: /usr/lib/xorg/modules/drivers//radeon_drv.so(RADEONEnterVT+0xb4) [0xe7e4d94]

6: /usr/lib/xorg/modules//libxaa.so [0xe6e2dc8]

7: /usr/bin/X [0x1009cf70]

8: /usr/bin/X [0x1008cf68]

9: /usr/bin/X(xf86Wakeup+0x4dc) [0x10083e2c]

10: /usr/bin/X(WakeupHandler+0x84) [0x10045d44]

11: /usr/bin/X(WaitForSomething+0x210) [0x100fc570]

12: /usr/bin/X(Dispatch+0xf8) [0x100412e8]

13: /usr/bin/X(main+0x43c) [0x1002261c]

14: /lib/libc.so.6 [0xfe0ebc4]

15: /lib/libc.so.6 [0xfe0ed80]



Fatal server error:

Caught signal 11.  Server aborting

** snip **

waiting for X server to shut down





I tried adding my magic modeline via xorg.conf, but Xorg doesn't seem
to be taking it.  Here is my xorg.conf:



# Xorg configuration created by system-config-display



Section ServerLayout

Identifier single head configuration

Screen  0  Screen0 0 0

InputDeviceKeyboard0 CoreKeyboard

EndSection



Section InputDevice

Identifier  Keyboard0

Driver  kbd

Option  XkbModel pc105

Option  XkbLayout us

Option  XkbVariant dvorak

EndSection



Section Device

Identifier  Videocard0

Driver  radeon

#Option  Accel off

Option  AccelMethod XAA

Option  AccelDFS0

Option  AGPMode 4

Option  AGPFastWrite 0

Option  GARTSize 64

Option  EnablePageFlip 1

Option  ColorTiling 1

#Option  TVDACLoadDetect TRUE

#Option  TVStandard ntsc

#Option  monitor-S-video TV-monitor

#Option  DPMS 0

#Option UseFBDev true

EndSection



Section Monitor

Identifier eMac Monitor


GLX in Xephyr --or-- is there some other way to catch a desktop in a texture?

2008-12-08 Thread Ashi Krishnan
I was poking around the 7.4 release notes, and saw, hey, GLX
passthrough for Xephyr! Great!

I gave the version installed with Ubuntu (Intrepid) a whirl, and while
OpenGL applications work*, they aren't accelerated (indirectly or no)
which is what I would expect passthrough to mean.

So, questions:

1. Am I interpreting GLX passthrough wrong? Is the functionality I'm
hoping for even implemented?
2. If so, does it look like Ubuntu is disabling this feature in their build?
3. Or am I failing to enable it on the command line? I've tried most
variations on +extension GLX, nodri, and so forth, but I could have
missed something.
4. Is there another way to do what I'm trying to do?

What I'm trying to do: I want to capture all the windows of some
arbitrary X application as GL textures, then render them in some way,
without any of this output showing up on screen (except where I
finally render things, obviously).

To get the window contents, I was going to redirect window contents to
a texture with Composite / texture_from_pixmap. This is fine if (1)
the app creates only one window, and (2) is quite cooperative with
respect to where it draws that window -- like, say, the xscreensaver
hacks. If I want to capture Firefox, on the other hand, with dialogs
and menus popping up all over the place, it seems like the thing to do
to do is run another X server, run a window manager on that server,
launch whatever apps I need, then capture the whole screen.

Another way of doing this, of course, is to just launch another X
server. But I don't know if texture_from_pixmap works across servers,
and more saliently, I can't get an X server to launch without
switching me to its VT (-novtswitch having no noticeable effect).

* - Actually, some of the xscreensaver hacks refuse to draw on the
root window, saying it doesn't support GLX visuals. I'm not sure
what's up with that, but I'll also happily not care if everything else
works.

Ideas?

~ violet
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: [PATCH] Xext: un-export all XGE functions.

2008-12-08 Thread Paulo César Pereira de Andrade
 These functions are only to be used by X server extensions, so let's not
 expose them to the world.

  This will not work as expected if the X Server is compiled with
hidden symbols.
  For the moment at least, it must be specified as both
extern _X_EXPORT
(what may be counter intuitive I agree).

  If no modules are going to access these symbols, then they should
really be declared in a non sdk header.

  Using extern will just cause the sdksyms.sh script to add the
symbol address to a vector (to ensure it exists), but without
effect, as it is not being exported.

 Signed-off-by: Peter Hutterer [EMAIL PROTECTED]
 ---
  Xext/geext.h |   12 ++--
  1 files changed, 6 insertions(+), 6 deletions(-)

 diff --git a/Xext/geext.h b/Xext/geext.h
 index 3074431..4d2acaf 100644
 --- a/Xext/geext.h
 +++ b/Xext/geext.h
 @@ -66,7 +66,7 @@ typedef struct _GEExtension {


  /* All registered extensions and their handling functions. */
 -extern _X_EXPORT GEExtension GEExtensions[MAXEXTENSIONS];
 +extern GEExtension GEExtensions[MAXEXTENSIONS];

  /* Returns the extension offset from the event */
  #define GEEXT(ev) (((xGenericEvent*)(ev))-extension)
 @@ -95,20 +95,20 @@ extern _X_EXPORT GEExtension
 GEExtensions[MAXEXTENSIONS];


  /* Interface for other extensions */
 -extern _X_EXPORT void GEWindowSetMask(ClientPtr pClient, DeviceIntPtr
 pDev,
 +extern void GEWindowSetMask(ClientPtr pClient, DeviceIntPtr pDev,
   WindowPtr pWin, int extension, Mask mask);

 -extern _X_EXPORT void GERegisterExtension(
 +extern void GERegisterExtension(
  int extension,
  void (*ev_dispatch)(xGenericEvent* from, xGenericEvent* to),
  void (*ev_fill)(xGenericEvent* ev, DeviceIntPtr pDev,
  WindowPtr pWin, GrabPtr pGrab)
  );

 -extern _X_EXPORT void GEInitEvent(xGenericEvent* ev, int extension);
 -extern _X_EXPORT BOOL GEDeviceMaskIsSet(WindowPtr pWin, DeviceIntPtr
 pDev,
 +extern void GEInitEvent(xGenericEvent* ev, int extension);
 +extern BOOL GEDeviceMaskIsSet(WindowPtr pWin, DeviceIntPtr pDev,
 int extension, Mask mask);

 -extern _X_EXPORT void GEExtensionInit(void);
 +extern void GEExtensionInit(void);

  #endif /* _GEEXT_H_ */
 --
 1.6.0.4

 Cheers,
   Peter

Paulo

___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: GLX in Xephyr --or-- is there some other way to catch a desktop in a texture?

2008-12-08 Thread Peter Harris
Ashi Krishnan wrote:
 What I'm trying to do: I want to capture all the windows of some
 arbitrary X application as GL textures, then render them in some way,
 without any of this output showing up on screen (except where I
 finally render things, obviously).

Sounds like Project Looking Glass or compiz-fusion.

 To get the window contents, I was going to redirect window contents to
 a texture with Composite / texture_from_pixmap.

Yes, that would be the way to go about the problem.

 This is fine if (1)
 the app creates only one window, and (2) is quite cooperative with
 respect to where it draws that window -- like, say, the xscreensaver
 hacks.

Maybe I'm dense, but I'm not seeing how that's a problem. Since you're
acting as the window manager (you are 'managing' that window), you can
manage all the windows of the application. You can decorate and compose
them however you see fit.

 Ideas?

Write a compiz-fusion plugin instead of reinventing the entire wheel?

Peter Harris
-- 
 Hummingbird Connectivity - A Division of Open Text
Peter Harrishttp://connectivity.hummingbird.com
Research and DevelopmentPhone: +1 905 762 6001
[EMAIL PROTECTED]Toll Free: 1 877 359 4866
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


xf86-video-intel DRI broken in git master ( 'Calling driver entry point failed' )

2008-12-08 Thread Christian Beier

Hi there!
Direct rendering is not working in the X.org i built from git
yesterday. It basically complains about 'Calling driver entry point
failed' when i try to start anything related to direct rendering and
switches to SW rendering. I already made a bug report on this issue see
here (maybe I'm being a bit overhasty, dunno):
https://bugs.freedesktop.org/show_bug.cgi?id=18959

Is there any (not too old) git revision known to work?

Thanks,
   Christian

--
what is, is;
what is not is possible.


pgpK1vDChOgYO.pgp
Description: PGP signature
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg

Re: GLX in Xephyr --or-- is there some other way to catch a desktop in a texture?

2008-12-08 Thread Ashi Krishnan
On Mon, Dec 8, 2008 at 2:20 PM, Peter Harris
[EMAIL PROTECTED] wrote:
 Ashi Krishnan wrote:
 This is fine if (1)
 the app creates only one window, and (2) is quite cooperative with
 respect to where it draws that window -- like, say, the xscreensaver
 hacks.

 Maybe I'm dense, but I'm not seeing how that's a problem. Since you're
 acting as the window manager (you are 'managing' that window), you can
 manage all the windows of the application. You can decorate and compose
 them however you see fit.

But I want to manage all the windows of that application and *only*
the windows of that application. And, as far as I'm aware, there's no
reliable way of figuring out the pid of the process that owns a given
window. Does _NET_WM_PID work reliably enough to be useful?

Writing a fusion plugin is a great idea, and I'll look into it, but I
don't think it solves that problem.

~ v
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: [PATCH] Xext: un-export all XGE functions.

2008-12-08 Thread Peter Hutterer
On Mon, Dec 08, 2008 at 09:20:57AM -0800, Alan Coopersmith wrote:
 Peter Hutterer wrote:
 These functions are only to be used by X server extensions, so let's not
 expose them to the world.

 What about extensions in loadable modules?

good point. tbh the main reason for this patch is that I don't think the GE*
functions are quite as flexible as I was hoping for when I wrote them months
ago (especially regarding event masks). Hiding them from all but internal
stuff makes it easier to alter or remove them later.

Cheers,
  Peter
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


RE: Get raw data of Xrender Picture structure

2008-12-08 Thread McDonald, Michael-p7438c
 

 -Original Message-
 From: [EMAIL PROTECTED] 
 [mailto:[EMAIL PROTECTED] On Behalf Of 
 Clemens Eisserer
 Sent: Monday, December 08, 2008 2:27 PM
 To: xorg list
 Subject: Re: Get raw data of Xrender Picture structure

 If its a pixmap, you can read it back using XGetImage or its 
 SHM variation.
 However keep in mind this is slow and suboptimal.

  What's the fast and optimal way?

Mike McDonald
GDC4S/FCS/PVM/SDC 
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: Get raw data of Xrender Picture structure

2008-12-08 Thread Peter Harris
McDonald, Michael-p7438c wrote:
 -Original Message-
 From: [EMAIL PROTECTED] 
 [mailto:[EMAIL PROTECTED] On Behalf Of 
 Clemens Eisserer
 
 If its a pixmap, you can read it back using XGetImage or its 
 SHM variation.
 However keep in mind this is slow and suboptimal.
 
   What's the fast and optimal way?

Don't read it back. Do your image manipulation entirely on the server side.

Peter Harris
-- 
 Hummingbird Connectivity - A Division of Open Text
Peter Harrishttp://connectivity.hummingbird.com
Research and DevelopmentPhone: +1 905 762 6001
[EMAIL PROTECTED]Toll Free: 1 877 359 4866
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: [PATCH] Xext: un-export all XGE functions.

2008-12-08 Thread Peter Hutterer
On Mon, Dec 08, 2008 at 07:09:13PM -0200, Paulo César Pereira de Andrade wrote:
  These functions are only to be used by X server extensions, so let's not
  expose them to the world.
 
   This will not work as expected if the X Server is compiled with
 hidden symbols.
   For the moment at least, it must be specified as both
 extern _X_EXPORT
 (what may be counter intuitive I agree).

Can you please summarize what the purpose of _X_EXPORT, _X_HIDDEN and
_X_INTERNAL is now, and how the are supposed to be used?

I only skimmed your patches and that area was always a bit unclear to me
anyway.
 
Cheers,
  Peter
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


[PATCHBOMB] randr 1.3: primary output infrastructure

2008-12-08 Thread Adam Jackson
Not compile-tested, merely syntactically plausible, just wanted to get
this out for a second look.  This implements the primary output requests
in the DIX, and mangles the appropriate protocol requests to sort the
primary output to the front.

Patch #4 maps the primary output to the RANDR 1.0 first output, which
is sort of vaguely defined but seems like the right thing to do.  The
xf86 DDX also has a compat output which is even more vaguely defined;
I'm not yet sure what the correct thing to do with that is.  Input
appreciated.

Updated protocol specs and client-side library are in git on the
get-set-primary branches of the appropriate modules.

- ajax
From 0a40d1959735ee82cdee80ac937bb2c55385af32 Mon Sep 17 00:00:00 2001
From: Adam Jackson [EMAIL PROTECTED]
Date: Mon, 8 Dec 2008 16:26:49 -0500
Subject: [PATCH] randr: Add [GS]etOutputPrimary

---
 randr/randrstr.h|8 
 randr/rrdispatch.c  |2 +
 randr/rroutput.c|  107 ++-
 randr/rrsdispatch.c |   27 +
 4 files changed, 143 insertions(+), 1 deletions(-)

diff --git a/randr/randrstr.h b/randr/randrstr.h
index 0cc4ff7..b868144 100644
--- a/randr/randrstr.h
+++ b/randr/randrstr.h
@@ -2,6 +2,7 @@
  * Copyright © 2000 Compaq Computer Corporation
  * Copyright © 2002 Hewlett-Packard Company
  * Copyright © 2006 Intel Corporation
+ * Copyright © 2008 Red Hat, Inc.
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
@@ -272,6 +273,7 @@ typedef struct _rrScrPriv {
 
 int			numOutputs;
 RROutputPtr		*outputs;
+RROutputPtr		primaryOutput;
 
 int			numCrtcs;
 RRCrtcPtr		*crtcs;
@@ -811,6 +813,12 @@ RROutputDestroy (RROutputPtr	output);
 extern _X_EXPORT int
 ProcRRGetOutputInfo (ClientPtr client);
 
+extern int
+ProcRRSetOutputPrimary (ClientPtr client);
+
+extern int
+ProcRRGetOutputPrimary (ClientPtr client);
+
 /*
  * Initialize output type
  */
diff --git a/randr/rrdispatch.c b/randr/rrdispatch.c
index 0cc0bca..5a2ea71 100644
--- a/randr/rrdispatch.c
+++ b/randr/rrdispatch.c
@@ -217,5 +217,7 @@ int (*ProcRandrVector[RRNumberRequests])(ClientPtr) = {
 ProcRRGetCrtcTransform,	/* 27 */
 ProcRRGetPanning,		/* 28 */
 ProcRRSetPanning,		/* 29 */
+ProcRRSetOutputPrimary,	/* 30 */
+ProcRRGetOutputPrimary,	/* 31 */
 };
 
diff --git a/randr/rroutput.c b/randr/rroutput.c
index 1ecde31..5eedba3 100644
--- a/randr/rroutput.c
+++ b/randr/rroutput.c
@@ -1,5 +1,6 @@
 /*
  * Copyright © 2006 Keith Packard
+ * Copyright © 2008 Red Hat, Inc.
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
@@ -426,7 +427,7 @@ RROutputInit (void)
 }
 
 #define OutputInfoExtra	(SIZEOF(xRRGetOutputInfoReply) - 32)
-
+
 int
 ProcRRGetOutputInfo (ClientPtr client)
 {
@@ -533,3 +534,107 @@ ProcRRGetOutputInfo (ClientPtr client)
 
 return client-noClientException;
 }
+
+void
+RRSetPrimaryOutput(ScreenPtr pScreen, rrScrPrivPtr pScrPriv,
+		   RROutputPtr output)
+{
+if (pScrPriv-primaryOutput == output)
+	return;
+
+/* clear the old primary */
+if (pScrPriv-primaryOutput) {
+	RROutputChanged(pScrPriv-primaryOutput, 0);
+	pScrPriv-primaryOutput = NULL;
+}
+
+/* set the new primary */
+if (output) {
+	pScrPriv-primaryOutput = output;
+	RROutputChanged(output, 0);
+}
+
+rrScrPriv-layoutChanged = TRUE;
+
+RRTellChanged(pScreen);
+}
+
+int
+ProcRRSetOutputPrimary(ClientPtr client)
+{
+REQUEST(xRRSetOutputPrimary);
+RROutputPtr output = NULL;
+WindowPtr pWin;
+
+REQUEST_SIZE_MATCH(xRRSetOutputPrimary);
+
+pWin = SecurityLookupIDByType(client, stuff-window, RT_WINDOW,
+  DixReadAccess);
+
+if (!pWin) {
+	client-errorValue = stuff-window;
+	return BadWindow;
+}
+
+if (stuff-output) {
+	output = LookupOutput(client, stuff-output, DixReadAccess);
+
+	if (!output) {
+	client-errorValue = stuff-output;
+	return RRErrorBase + BadRROutput;
+	}
+
+	if (output-crtc) {
+	client-errorValue = stuff-output;
+	return BadMatch;
+	}
+
+	if (output-pScreen != pWin-drawable.pScreen) {
+	client-errorValue = stuff-window;
+	return BadMatch;
+	}
+}
+
+RRSetPrimaryOutput(pWin-drawable.pScreen, pScrPriv, output);
+
+return client-noClientException;
+}
+
+int
+ProcRRGetOutputPrimary(ClientPtr client)
+{
+REQUEST(xRRGetOutputPrimaryReq);
+WindowPtr pWin;
+rrScrPrivPtr pScrPriv;
+xRRGetOutputPrimary rep;
+RROutputPtr primary = NULL;
+
+REQUEST_SIZE_MATCH(xRRGetOutputPrimary);
+
+pWin = SecurityLookupIDByType(client, stuff-window, RT_WINDOW,
+  DixReadAccess);
+
+if (!pWin) {
+	client-errorValue = stuff-window;
+	return BadWindow;
+}
+
+pScrPriv = rrGetScrPriv(pWin-drawable.pScreen);
+if (pScrPriv)
+	primary = 

Re: GLX in Xephyr --or-- is there some other way to catch a desktop in a texture?

2008-12-08 Thread Peter Harris
Ashi Krishnan wrote:
 On Mon, Dec 8, 2008 at 2:20 PM, Peter Harris
 [EMAIL PROTECTED] wrote:
 Ashi Krishnan wrote:
 This is fine if (1)
 the app creates only one window, and (2) is quite cooperative with
 respect to where it draws that window -- like, say, the xscreensaver
 hacks.
 Maybe I'm dense, but I'm not seeing how that's a problem. Since you're
 acting as the window manager (you are 'managing' that window), you can
 manage all the windows of the application. You can decorate and compose
 them however you see fit.
 
 But I want to manage all the windows of that application and *only*
 the windows of that application.

I'm not sure that's possible without being part of a larger framework
(such as compiz-fusion) that manages the other windows. To do window
management effectively, you pretty much need to select
SubstructureRedirect on the root. Once you've done that, you have to be
the window manager for the whole screen.

 And, as far as I'm aware, there's no
 reliable way of figuring out the pid of the process that owns a given
 window. Does _NET_WM_PID work reliably enough to be useful?

_NET_WM_PID can be spoofed just as easily as any other property. Better
than that, X is network transparent. You can have 30 different
applications all running with the same PID, even without any _NET_WM_PID
spoofing.

I'm inclined to look at WM_NAME and WM_CLASS (in addition to
_NET_WM_PID). From there, you can look at TRANSIENT_FOR and/or client
mask bits of the xid to associate windows with each other.

 Writing a fusion plugin is a great idea, and I'll look into it, but I
 don't think it solves that problem.

I'm not sure if compiz-fusion plugins can apply to single applications
or not. If not, I'm sure it would still be easier to modify
compiz-fusion to allow plugins to do so than to start from scratch.

Peter Harris
-- 
 Hummingbird Connectivity - A Division of Open Text
Peter Harrishttp://connectivity.hummingbird.com
Research and DevelopmentPhone: +1 905 762 6001
[EMAIL PROTECTED]Toll Free: 1 877 359 4866
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: Trying to use Radeon driver on Apple eMac

2008-12-08 Thread Alex Deucher
On Mon, Dec 8, 2008 at 2:01 PM, Joseph Adams [EMAIL PROTECTED] wrote:
 I'm struggling to get the Radeon driver to work on my eMac G4's Radeon
 7500 card (the fbdev driver works fine at 1024x768 with no
 acceleration).  On both Fedora 8 and Fedora 10 with default xorg.conf,
 the screen is blank (the CRT doesn't glow or anything).  I have a CRT
 monitor that supports up to 1280x960.  The eMac also has a video out
 port.  I suspect that video may show up on an external monitor, but I
 can't test that until my adapter arrives.

Mac cards don't have a connector table and are always wired up
strangely.  We'll probably need to add a custom connector table for
your card as it's currently falling back to the default which is
probably wrong for your card.  Can you send me the output of
/proc/cpuinfo?
Try the following option and let me know which combinations work:
Option ConnectorTable i,1,0,1,j,2,0,1
where i and j are one of the following:
96, 100, 104, or 108
and i != j.
i and j specify the gpio line used for ddc, so when you get the right
combination, you should see the driver picking up an edid if your
monitor supports it.  If the built in monitor doesn't supply an edid,
we'll have to add a quirk for that as well.

Alex
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: Slow exaOffscreenAlloc ?

2008-12-08 Thread Zdenek Kabelac
2008/12/9 Eric Anholt [EMAIL PROTECTED]:
 On Mon, 2008-12-08 at 12:32 +0100, Zdenek Kabelac wrote:
 Hi

 Recently I've noticed that scrolling in firefox is getting very very
 slow on some pages - especially those with some static background on
 the sides of pages. So I've started oprofile - and to my surprise the
 most of the time has been spent in two Xorg libexa functions:

 Of course I could be completely wrong in my interpretation of these
 oprofile results - from the fast look into the exa/exa_offscreen.c
 it seems like a major time is spent in some loop going through
 possible quite large list of offScreenAreas?

 I'm running the latest fedora rawhide 
 xorg-x11-server-Xorg-1.5.3-5.fc10.x86_64
 X.Org X Server 1.5.3
 Release Date: 5 November 2008
 and linus-git kernel tree 2.6.28-rc7

 Any ideas, solution ?

 My suspicion is that firefox is chewing through a lot more temporary
 pixmaps than it used to.  I was just doing some profiling with UXA for
 scrolling in the slashdot comments section, and while things seem to be
 better than described by people using EXA, I'm still seeing unimpressive
 performance and indications that ff is using a lot of pixmaps (working
 set exceeding my 180MB of aperture space).  We've got a few ideas to
 improve things for UXA performance still, so it may get better.  It's
 already a win over EXA, since EXA's stuck with only 50MB of aperture
 space.

 On the other hand I've still got rendering issues with UXA, so you've
 been warned before you go playing with it.


 Zdenek


 CPU: Core 2, speed 2200 MHz (estimated)
 Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a
 unit mask of 0x00 (Unhalted core cycles) count 10
 samples  %image name   app name
 symbol name
 ---
 3576626.1526  libexa.soXorg
 exaOffscreenAlloc
 35766100.000  libexa.so  Xorg
 exaOffscreenAlloc [self]

 This says to me that you're stuck allocating/freeing offscreen memory
 space to handle a working set that exceeds the size of your EXA
 offscreen space.  UXA makes the pixmap offscreen space be unified with
 3D and every other GPU activity.


So there is nothing which could improve the performace here - i.e.
better allocation logic instead of scanning possible very long list of
chunks to allocate/free pixmaps ?

Should I open bugzilla for firefox - so they could play more nicely here?

Zdenek
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: [suggestion] mailing list for newbies

2008-12-08 Thread Corbin Simpson
Mikhail Gusarov wrote:
 Twas brillig at 15:50:35 08.12.2008 UTC+00 when [EMAIL PROTECTED] did gyre 
 and gimble:
 
  CL Well certainly something (whether newbies or not) is preventing the
  CL 'devs' from seeing the wood through the trees.
 
 Lack of devs.
 

Lack of dev time, as well. Out of {agd5f, airlied, glisse, nha, me,
osiris, onestone}, only two are not students IIRC, and of all of us,
only Alex is actually assigned to Radeon stuff. This is why we're behind
the Intel drivers all the time. :C

Well, okay. That, and I suck. But my point still stands.

~ C.
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


sdksyms.sh addition break build on sparc

2008-12-08 Thread David Miller

This change:

commit b1dac41fb3853ca8182048ea57b88b6e84ecceb3
Author: Paulo Cesar Pereira de Andrade [EMAIL PROTECTED]
Date:   Sun Dec 7 02:22:19 2008 -0200

Use libtool convenience libraries and better symbol table.

seems to break the build on sparc:

sdksyms.c:1740: error: ‘sbus_devtable’ undeclared here (not in a function)

The new awk code is not handling:

extern _X_EXPORT struct sbus_devtable {
int devId;
int fbType;
char *promName;
char *driverName;
char *descr;
} sbusDeviceTable[];

properly, as it ends up fetching 'sbus_devtable' instead of
'sbusDeviceTable'
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg

Re: just how much autotools got faster, or: just forget about dolt

2008-12-08 Thread Dan Nicholson
On Sun, Nov 23, 2008 at 6:51 AM, Ralf Wildenhues [EMAIL PROTECTED] wrote:
 For all dolt junkies, and whoever claims autotools and esp. libtool
 are performance hogs: yes, they are still not the fastest thing in
 the world.  But we are getting better:

 As an example, I built the ompi/ subdirectory of OpenMPI on a two-way
 GNU/Linux system using bash, with
 1) Autoconf 2.61, Automake 1.10.1, Libtool 1.5.26,
 2) git master versions of same tools,

 doing
 a) a full 'make -j3',
 b) measuring just build system overhead, which in case of (2) is pretty
 well approximated with
\time make -k -j3 LIBTOOLFLAGS=-n am__mv=:
 and in case of (1) involves placing a fake 'mv' program early in $PATH.

Just for a data point, here is the same experiment on xserver git with
git/old autotools and with/without dolt. This was basically single run
of each test, so I'm sure there's tons of statistical error. I did do
this while the box was otherwise idle, though.

old autotools (full build):
real2m59.809s
user3m25.916s
sys 1m52.775s

old autotools + dolt (full build):
real2m3.060s
user2m50.078s
sys 0m38.099s

old autotools (dry run):
real1m13.512s
user0m46.539s
sys 1m23.739s

old autotools + dolt (dry run):
real0m6.719s
user0m8.574s
sys 0m2.389s

git autotools (full build):
real1m58.631s
user2m58.349s
sys 0m30.855s

git autotools + dolt (full build):
real1m51.437s
user2m48.725s
sys 0m26.904s

git autotools (dry run):
real0m16.292s
user0m21.050s
sys 0m5.069s

git autotools + dolt (dry run):
real0m7.106s
user0m8.859s
sys 0m2.615s

So, it seems that the autotools have improved dramatically. Well done.

This is a Fedora 9 system, so old autotools is autoconf-2.61,
automake-1.10.1 and libtool-1.5.24. I had to patch dolt a bit to get
the dry run behavior. Basically, just prepend the actual command with
: when -n was passed.

--
Dan
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


RE: Get raw data of Xrender Picture structure

2008-12-08 Thread McDonald, Michael-p7438c
 

 -Original Message-
 From: Peter Harris [mailto:[EMAIL PROTECTED] 
 Sent: Monday, December 08, 2008 3:47 PM
 To: McDonald, Michael-p7438c
 Cc: xorg list
 Subject: Re: Get raw data of Xrender Picture structure
 
 McDonald, Michael-p7438c wrote:
  -Original Message-
  From: [EMAIL PROTECTED] 
  [mailto:[EMAIL PROTECTED] On Behalf Of 
  Clemens Eisserer
  
  If its a pixmap, you can read it back using XGetImage or its 
  SHM variation.
  However keep in mind this is slow and suboptimal.
  
What's the fast and optimal way?
 
 Don't read it back. Do your image manipulation entirely on 
 the server side.

  Works as long as there is only one server side. Otherwise, slow and
suboptimal seems to be your only choice.

Mike McDonald
GDC4S/FCS/PVM/SDC 
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: Get raw data of Xrender Picture structure

2008-12-08 Thread Peter Harris
McDonald, Michael-p7438c wrote:
 
 From: Peter Harris [mailto:[EMAIL PROTECTED] 
 Don't read it back. Do your image manipulation entirely on 
 the server side.
 
   Works as long as there is only one server side. Otherwise, slow and
 suboptimal seems to be your only choice.

Fan out is another possibility. Chromium does this for OpenGL; I'm
sure you could do something similar in the 2D space if you needed it.

It does have the potential to use more resources on each server. In
return you avoid GetImage, which is very slow.

Peter Harris
-- 
 Hummingbird Connectivity - A Division of Open Text
Peter Harrishttp://connectivity.hummingbird.com
Research and DevelopmentPhone: +1 905 762 6001
[EMAIL PROTECTED]Toll Free: 1 877 359 4866
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: [PATCH] Xext: un-export all XGE functions.

2008-12-08 Thread Paulo César Pereira de Andrade
Peter Hutterer wrote:
 On Mon, Dec 08, 2008 at 07:09:13PM -0200, Paulo César Pereira de Andrade
 wrote:
  These functions are only to be used by X server extensions, so let's
 not
  expose them to the world.

   This will not work as expected if the X Server is compiled with
 hidden symbols.
   For the moment at least, it must be specified as both
 extern _X_EXPORT
 (what may be counter intuitive I agree).

  If the X Server is compiled with hidden symbols, and those symbols
are accessed by non builtin modules, they must be exported.

 Can you please summarize what the purpose of _X_EXPORT, _X_HIDDEN and
 _X_INTERNAL is now, and how the are supposed to be used?

  I think I did not express myself correctly. The usage has not
changed. But to make things more manageable I am trying to keep
the _X_EXPORT set on the header files. This mainly because there
are several symbols that are expanded from macros, and are not
easy to find or figure out what name they will have...
  _X_INTERNAL must be used with care, as described in the gcc info,
symbols with this attribute cannot be accessed indirectly (using
pointers) by other shared objects.
  _X_EXPORT is still used in sources for symbols accessed via
LoaderSymbol, like the nameModuleData structures, and a few other
cases where the function for sure should not be declared in the sdk.

  There are two kinds of symbols that must be made available by the
X Server. That are the symbols that must be made available to video
and input modules, and symbols that should be accessed only by
modules built in the X Server tree. The procedure should be the
same in the header file, just that the header would not be installed
in the sdk.

  I will try to do as small as possible reorganization on the sdk
headers, and add private and not installed headers. Drivers should not
have access to functions to manage clients, call the *Init functions,
and the like. But it may cause some regressions... (before pushing I
would ensure everything builds and works for me, and test with a few
different setups).

 I only skimmed your patches and that area was always a bit unclear to me
 anyway.

 Cheers,
   Peter

Paulo

___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


RE: Get raw data of Xrender Picture structure

2008-12-08 Thread McDonald, Michael-p7438c
 

 -Original Message-
 From: Peter Harris [mailto:[EMAIL PROTECTED] 
 Sent: Monday, December 08, 2008 5:37 PM
 To: McDonald, Michael-p7438c
 Cc: xorg list
 Subject: Re: Get raw data of Xrender Picture structure
 

 Fan out is another possibility. Chromium does this for OpenGL; I'm
 sure you could do something similar in the 2D space if you needed it.
 
 It does have the potential to use more resources on each server. In
 return you avoid GetImage, which is very slow.

  I'm trying to do just the opposite: take the output of two or more
displays and combine them on a Xserver.

Mike McDonald
GDC4S/FCS/PVM/SDC 
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: [PATCH] Xext: un-export all XGE functions.

2008-12-08 Thread Daniel Stone
Hi,

On Mon, Dec 08, 2008 at 10:44:52PM -0200, Paulo César Pereira de Andrade wrote:
   I will try to do as small as possible reorganization on the sdk
 headers, and add private and not installed headers.

Please run these past the list first.

Cheers,
Daniel


signature.asc
Description: Digital signature
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg

[RFC] Xorg symbols that should not be public

2008-12-08 Thread Paulo César Pereira de Andrade
  Hi,

  In my Linux x86 computer, using only git master, and with X Server
configured with --prefix=/usr --disable-builtin-fonts --enable-dri2
--enable-dri --enable-xephyr

  With all buildable modules also installed, attached is the list
of symbols that are not used by any module.

  There are 2 main kinds of symbols that should be public:
o Symbols accessed by input/video modules
o Symbols accessed by extensions or other kind of modules

  And of course, there is a large amount of symbols in the list
that should not be exported. And some should have a stub when
some feature is disabled.

  I think some private headers, for things like libextmod, libxaa,
libfb, etc, should be created, still with symbols exported at
first, to guarantee binary compatibility. But some symbols that
are currently exported should be made private, and not advertised
in the sdk, as they are only used in the X Server binary.

Paulo



F AbortDDX
F acceleratePointerLightweight
F acceleratePointerPredictable
F AccelerationDefaultCleanup
F AccessUsingXdmcp
F AccessXCancelRepeatKey
F AccessXComputeCurveFactor
F AccessXFilterPressEvent
F AccessXFilterReleaseEvent
F AccessXInit
F ActivateDevice
F ActivateKeyboardGrab
F ActivatePointerGrab
F AddAuthorization
F AddExtensionClient
F AddGeneralSocket
F AddGlyph
F AddHost
F AddInputDevice
F AddLocalHosts
F AddOtherInputDevices
F AddPassiveGrabToList
F AddScreen
F AddTraps
F AllModifierKeysAreUp
F AllocARGBCursor
F AllocateGlyph
F AllocateGlyphHash
F AllocateGlyphSet
F AllocateMotionHistory
F AllocColor
F AllocColorCells
F AllocColorPlanes
F AllocGlyphCursor
F AllocMasterDevice
F AllowSome
F AlterSaveSetForClient
F AnimCurInit
F AnimCursorCreate
F AssignTypeAndName
F AtomError
F AttachDevice
F AuditF
F AugmentSelf
F AuthorizationFromID
F AuthorizationIDOfClient
F AutoResetServer
F BadDeviceMap
F BlockHandler
F BTramdacRestore
F BTramdacSave
F BTramdacSetBpp
F CallCallbacks
F ChangeAccessControl
F ChangeDeviceControl
F ChangeKeyMapping
F ChangePicture
F ChangeWindowDeviceCursor
F CheckAuthorization
F CheckConnections
F CheckCursorConfinement
F CheckDeviceGrabAndHintWindow
F CheckDeviceGrabs
F CheckMotion
F CheckUserAuthorization
F CheckUserParameters
F CirculateWindow
F client_auth_generation
F ClientAuthorized
F ClientIsAsleep
F ClientSignal
F ClientSleep
F ClientWakeup
F CloseDownClient
F CloseDownConnection
F CloseDownDevices
F CloseDownEvents
F CloseDownExtensions
F CloseFont
F CloseInputDevice
F CloseWellKnownConnections
F CompareISOLatin1Lowered
F CompositeGlyphs
F CompositeRects
F CompositeTrapezoids
F CompositeTriangles
F CompositeTriFan
F CompositeTriStrip
F config_fini
F config_init
F ConfigureWindow
F ConfineToShape
F CopyColormapAndFree
F CopyISOLatin1Lowered
F CopySwap16Write
F CopySwap32Write
F CoreProcessKeyboardEvent
F CoreProcessPointerEvent
F CreateBoundingShape
F CreateClassesChangedEvent
F CreateClipShape
F CreateColormap
F CreateConicalGradientPicture
F CreateDefaultStipple
F CreateGCperDepth
F CreateGrab
F CreateLinearGradientPicture
F CreateNewResourceClass
F CreateRadialGradientPicture
F CreateRootCursor
F CreateRootWindow
F CreateScratchPixmapsForScreen
F CreateSolidPicture
F CreateWellKnownSockets
F CursorMetricsFromGlyph
F DamageDrawInternal
F DamageRegionRendered
F DamageSetPostRenderingFunctions
F DamageSubtract
F ddxGiveUp
F ddxProcessArgument
F DDXRingBell
F ddxUseMsg
F DeactivateKeyboardGrab
F DeactivatePointerGrab
F DeepCopyDeviceClasses
F DefineInitialRootWindow
F DefineSelf
F DeleteAllWindowProperties
F DeleteCallbackList
F DeleteClientFontStuff
F DeleteClientFromAnySelections
F DeleteFontClientID
F DeleteGlyph
F DeleteInputDeviceRequest
F DeletePassiveGrab
F DeletePassiveGrabFromList
F DeleteProperty
F DeleteWindow
F DeleteWindowFromAnyEvents
F DeleteWindowFromAnyExtEvents
F DeleteWindowFromAnySaveSet
F DeleteWindowFromAnySelections
F DeliverDeviceEvents
F DeliverEvents
F DeliverEventsToWindow
F DeliverFocusedEvent
F DeliverGrabbedEvent
F DestroySubwindows
F DevHasCursor
F DeviceEventSuppressForWindow
F DeviceFocusEvent
F DeviceIsPointerType
F DGAIsDgaEvent
F DGAReInitModes
F DGAShutdown
F DGAStealButtonEvent
F DGAStealKeyEvent
F DGAStealMotionEvent
F DGAVTSwitch
F DisableLocalHost
F DisableMapUnmapEvents
F dixChangeWindowProperty
F dixDestroyPixmap
F dixLookupClient
F dixLookupDevice
F dixLookupPrivateAddr
F dixLookupPrivateOffset
F dixLookupProperty
F dixLookupSelection
F dixRegisterPrivateDeleteFunc
F dixRegisterPrivateInitFunc
F dixResetPrivates
F dixResetRegistry
F DoConfigure
F DoFocusEvents
F doImageText
F doListFontsWithInfo
F doPolyText
F DoShowOptions
F DPMSGet
F DPMSSupported
F EnableDevice
F EnableDisableExtension
F EnableDisableExtensionError
F EnableLocalHost
F EnableMapUnmapEvents
F EnqueueEvent
F EstablishNewConnections
F EventMaskForClient
F EventSelectForWindow
F EventSuppressForWindow
F ExtGrabDevice
F FakeAllocColor
F FakeFreeColor
F Fclose
F FindColor
F FindGlyph
F FindGlyphByHash
F FindGlyphHashSet
F FindGlyphRef
F find_old_font
F 

Re: MPX window managers?

2008-12-08 Thread Sam Spilsbury
On Mon, Dec 8, 2008 at 4:58 AM, Colin Guthrie [EMAIL PROTECTED] wrote:
 'Twas brillig, and Chris Ball at 07/12/08 18:18 did gyre and gimble:
 Hi Peter,

 mpwm is dead, and it's for the better.  compiz has recently been
 picked up and improved:

 Thanks for the reply.  This is disappointing; the compiz work is an
 unreviewed patchset against unspecified versions of compiz and Xorg,
 with Xorg patches that the author doesn't plan on submitting upstream.

 I'd speak to Sam directly about that. I'm not sure it's that he doesn't
 want to submit them upstream, it's just that they are perhaps not
 appropriate for upstream in their current form.

Well, yes. They are quite buggy at the moment. A lot of the plugins
have memory management issues, but I have tried my best to fix them
all up. The only ones that have real problems are group and thumbnail,
but that is because they are quite complex.

The real problem is the transition to MPX in compiz. At the moment,
not very many people's X Servers support XI2 (Only if you compile from
source). I guess I could fix up the buildsystem to do really accurate
detection as to whether both XI2 and Input-Redirection are supported,
perhaps after I finish a few other things.

As far as I know, the patches won't apply at the moment, however it is
the first thing on my todo list to get them to work again once I get
home.


 I doubt it's his long term goal to maintain separate patches into the
 future.

Ideally, I'd like to see them merged in, it just sounds like a lot of
work at the moment considering all the other big patches flying around
at the moment too (animation reworking, elements, proposed compiz
rewrite to c++, NOMAD etc).

I've leared a few git tricks (like branching and rebasing on a commit
hook) in order to help me maintain more accurate patches.

Would love to keep in touch with Peter about this,

Regards,

Sam.


 Col

 --

 Colin Guthrie
 gmane(at)colin.guthr.ie
 http://colin.guthr.ie/

 Day Job:
   Tribalogic Limited [http://www.tribalogic.net/]
 Open Source:
   Mandriva Linux Contributor [http://www.mandriva.com/]
   PulseAudio Hacker [http://www.pulseaudio.org/]
   Trac Hacker [http://trac.edgewall.org/]

 ___
 xorg mailing list
 xorg@lists.freedesktop.org
 http://lists.freedesktop.org/mailman/listinfo/xorg




-- 
Sam Spilsbury
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: [RFC] Xorg symbols that should not be public

2008-12-08 Thread Aaron Plattner
On Tue, Dec 09, 2008 at 12:36:01AM -0200, Paulo C?sar Pereira de Andrade wrote:
   Hi,
 
   In my Linux x86 computer, using only git master, and with X Server
 configured with --prefix=/usr --disable-builtin-fonts --enable-dri2
 --enable-dri --enable-xephyr
 
   With all buildable modules also installed, attached is the list
 of symbols that are not used by any module.
 
   There are 2 main kinds of symbols that should be public:
 o Symbols accessed by input/video modules
 o Symbols accessed by extensions or other kind of modules
 
   And of course, there is a large amount of symbols in the list
 that should not be exported. And some should have a stub when
 some feature is disabled.
 
   I think some private headers, for things like libextmod, libxaa,
 libfb, etc, should be created, still with symbols exported at
 first, to guarantee binary compatibility. But some symbols that
 are currently exported should be made private, and not advertised
 in the sdk, as they are only used in the X Server binary.

Hi Paulo,

Of these, we need the following:


LoaderGetABIVersion
LoaderShouldIgnoreABI
miCreateAlphaPicture
noRenderExtension
PictureMatchVisual
xf86AddGeneralHandler
xf86DeregisterStateChangeNotificationCallback
xf86DisableGeneralHandler
xf86EnableGeneralHandler
xf86RemoveGeneralHandler
XineramaVisualsEqualPtr


Thanks,
-- Aaron
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: Get raw data of Xrender Picture structure

2008-12-08 Thread Gregoire Gentil
Thanks for all your answers. I appreciate. Unfortunately, so far, I
didn't get anything working:

- I was thinking of gdk_pixbuf_xlib_get_from_drawable but same story:
If the specified drawable is a window, then it must be viewable, i.e.
all of its ancestors up to the root window must be mapped.


- I tried XGetImage:

XImage * x;
x = XGetImage(GDK_DISPLAY(), netk_window_get_xid(window), 0, 0, width,
height, AllPlanes, ZPixmap);
pixbuf = gdk_pixbuf_new_from_data(x-data, GDK_COLORSPACE_RGB, False, 8,
width, height, x-bytes_per_line, NULL, NULL);

but I receive an xserver error The error was 'BadMatch (invalid
parameter attributes)'. when the window is partially hidden or
minimized. Note that it's working when the window is fully visible.


- So, at this point, I consider more patching/hacking the
window/compositing manager xfwm4 to add a screenshot when the window is
about to be umapped. Patching something like no more unmap seems
overkill for what I want to achieve.

Let me know if you have any other comment or idea,

Grégoire


On Mon, 2008-12-08 at 12:17 -0500, Gregoire Gentil wrote:
 Hello,
 
 I would like to get the raw data of the Picture structure in Xrender.
 Basically, I would like to import into a GdkPixbuf, a picture returned
 by XRenderCreatePicture. There doesn't seem to be any data export
 function in Xrender. Any pointer how I could achieve this?
 
 Grégoire
 
 PS: What do I need to do that? Because I want to preview in a gtk+
 application the content of a window that is minimized (like Compiz or
 Vista can do). gdk_pixbuf_get_from_drawable returns garbage with a
 minimized windows and I think that xrender will return at least the
 outdated content of the window. My windows and compositing manager is
 xfwm4 which doesn't support this feature. I'm then trying to shortcut
 xfwm4 and get what I want directly from Xrender.
 
 

___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg

Re: [RFC] Xorg symbols that should not be public

2008-12-08 Thread Paulo César Pereira de Andrade
Aaron Plattner wrote:

   I think some private headers, for things like libextmod, libxaa,
 libfb, etc, should be created, still with symbols exported at
 first, to guarantee binary compatibility. But some symbols that
 are currently exported should be made private, and not advertised
 in the sdk, as they are only used in the X Server binary.

 Hi Paulo,

  Hi Aaron,

  Can you test with a install of the current X Server git master, and
check what symbols are missing if any? Just use the script attached.

  I remember last year/start of this year, when I check, the nvidia
driver required miInitializeCompositeWrapper (don't remember if any
other symbols). Currently that function is not in the sdk, and the
apparently only user, libxaa has it as a hidden symbol, what probably
is wrong.
  libwfb may also need some update, wfbrename.h maybe should not be
installed, but I don't remember if the nvidia driver used it.

  xf86Rename.h probably should not be in the sdk, but bundled with
the drivers that provide fallbacks for older servers.

 Of these, we need the following:


 LoaderGetABIVersion
 LoaderShouldIgnoreABI
 miCreateAlphaPicture
 noRenderExtension
 PictureMatchVisual
 xf86AddGeneralHandler
 xf86DeregisterStateChangeNotificationCallback
 xf86DisableGeneralHandler
 xf86EnableGeneralHandler
 xf86RemoveGeneralHandler
 XineramaVisualsEqualPtr

  I think all of these should always be available. And if one
compiles with --disable-xinerama, the xinerama function should
not be called.

Paulo


xorg-symbols.pl
Description: Perl program
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg

Fatal server error: could not open default font 'fixed'

2008-12-08 Thread Marcos Cunha
Hi Folks...

I´ve been searching along the mailling lists a solution for this damn
error...

The server is the full 7.4 release of Xorg, compiled under a LFS/VMware.

I tried to use mkfontdir and mkfontscale under .../fonts/misc but it still
making a '0' file content =/

And also, symlinking with another fonts dir, from my old Xorg (7.3), but it
still not working...

The console blanks for a while like it being work, but them crashes...

Follows the screen.

[EMAIL PROTECTED]:~# Xorg
_XSERVTransSocketOpenCOTSServer: Unable to open socket for inet6
_XSERVTransOpen: transport open failed for inet6/lfs:0
_XSERVTransMakeAllCOTSServerListeners: failed to open listener for inet6

X.Org X Server 1.5.1
Release Date: 23 September 2008
X Protocol Version 11, Revision 0
Build Operating System: Linux 2.6.27.7 i686
Current Operating System: Linux lfs 2.6.27.7 #2 Thu Nov 27 01:52:18 BRT 2008
i686
Build Date: 09 December 2008  01:14:42AM

Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
Module Loader present
Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: /var/log/Xorg.0.log, Time: Tue Dec  9 02:11:25 2008
(==) Using config file: /etc/X11/xorg.conf

Fatal server error:
could not open default font 'fixed'
[EMAIL PROTECTED]:~#

-- 

Marcos S Cunha
Ciência da Computação, Universidade Salvador
Programador e Webdesigner - Freelancer

MSN e Talk: [EMAIL PROTECTED]
Cel.: +55 71 8135 8340

Hackerism exploits everything.
Linux User # 434123
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg

Re: GLX in Xephyr --or-- is there some other way to catch a desktop in a texture?

2008-12-08 Thread Glynn Clements

Ashi Krishnan wrote:

  This is fine if (1)
  the app creates only one window, and (2) is quite cooperative with
  respect to where it draws that window -- like, say, the xscreensaver
  hacks.
 
  Maybe I'm dense, but I'm not seeing how that's a problem. Since you're
  acting as the window manager (you are 'managing' that window), you can
  manage all the windows of the application. You can decorate and compose
  them however you see fit.
 
 But I want to manage all the windows of that application and *only*
 the windows of that application. And, as far as I'm aware, there's no
 reliable way of figuring out the pid of the process that owns a given
 window. Does _NET_WM_PID work reliably enough to be useful?

If you don't actually need to know the PID, but just want to be able
to distinguish one client from another, you can identify the client
from the Window's XID, e.g. using XResQueryClients().

-- 
Glynn Clements [EMAIL PROTECTED]
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


KeyCode is Zero. Problem with irxevent and Xorg

2008-12-08 Thread Pavel Stoliarov
Hello.

I cannot get working irxevent. ( http://www.lirc.org/html/irxevent.html )
The problem is that keycode is zero in debug log of irxevent
My machine with linux (geexbox distr with X.Org 7.4) without keyboard, I manage 
it by remote control.
Just for check I attached keyboard to machine, and  discovered one strange 
thing,
after pressing any key on keyboard , irxevent work fine and KeyCode value is 
not zero:

for example , I just booting geexbox, ( Xorg and other
necessary application startup automatic ) and not use keyboard else,
irxevent debug log:
 

Received code: c0c4 00 3 /tmp/jvc1
Sending event:
name: feh
found it by wname 0x341
keyname: N   WindowID: 0x341
Key N feh
Unmodified String: N, KeySym: 78 KeyCode: 0
state 0x0, keycode 0x0

After pressing any key on keyboard , irxevent work without problem :

Received code: c0c4 00 3 /tmp/jvc1
Sending event:
name: feh
found it by wname 0x341
keyname: N   WindowID: 0x341
Key N feh
Unmodified String: N, KeySym: 78 KeyCode: 57
state 0x0, keycode 0x39


I don't understand, what happening when I press key on keyboard.
I checked all log files, but there is not anything, that help me solved this 
problem.
Irxevent's mouse button emulation work without problem.

Sorry for bad english please.

___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re[2]: Signal 11 in xorg server

2008-12-08 Thread Руслан Бондарь

On Wed, 3 Dec Pat wrote:
Backtrace:
0: /usr/bin/X(xf86SigHandler+0x7a) [0x80c8836]
1: [0xe400]
2: /usr/bin/X(Dispatch+0x33d) [0x808a67a]
3: /usr/bin/X(main+0x46f) [0x80719b5]
4: /lib/libc.so.6(__libc_start_main+0xe0) [0xb7c1f630]
5: /usr/bin/X [0x8070dd1]

Can you run the X server under a debugger (gdb) or attach to
the running X process before the error occurs, that will get u
a much better  stack traceback.

Pat
---

I've repeated the error under gdb. Results follows:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb7b906c0 (LWP 3974)]
0x081476aa in PanoramiXGetGeometry ()
(gdb) bt
#0  0x081476aa in PanoramiXGetGeometry ()
#1  0x0808a67a in Dispatch ()
#2  0x080719b5 in main ()

I'm going to rebuild xserver with debug switched on. And probably repeat the 
error with -core flag for xserver.

___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: sdksyms.sh addition break build on sparc

2008-12-08 Thread David Miller
From: Paulo César Pereira de Andrade [EMAIL PROTECTED]
Date: Mon, 8 Dec 2008 22:17:27 -0200 (BRST)

   Thanks. I know about that special definition, but my mind did
 some trick on me when I wrote the awk code :-) Should be correct
 now.

Yep, seems to work now, thanks.
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg