[ANNOUNCE] xorg-server 1.11.2

2011-11-04 Thread Jeremy Huddleston
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

== Description ==

This is the second release candidate for xorg-server 1.11.2 and contains
fixes for various crashes and correctness issues fixed since the previous
release.

== Known Issues ==

Important issues are listed in the 1.11 tracker bug:
https://bugs.freedesktop.org/show_bug.cgi?id=xserver-1.11

* #17013: Issues when mising Xinerama and XCopyArea/Xdamage
  * Patch on xorg-devel for review, will hopefully be in 1.11.3
* #17431: xorg can segfault in VidModeGetFirstModeline
  * A workaround is ready.  Please review and submit to master first.
* #29251: [from 1.8.x] server crash destroying GLX pixmaps
* #39580: [from 1.9.x] crash in GLX when resizing a window
* #39949: [from 1.9.x] RandR panning  scaling don't work
* #41124: [from 1.9.x] Another crash in GLX/DRI2 when resizing a window
* #41211: [from 1.10.x] A DRI2 crash regression
  * A workaround is ready.  Please review and submit to master first.
* #42008: Double free using intel drivers
  * A fix is ready.  Please review and submit to master first.
* #42219: [from 1.10.x] Composite bug sometimes shows empty tooltips

Some additional known issues from the 1.12 tracker would be considered for
1.11 if a fix becomes available:
https://bugs.freedesktop.org/show_bug.cgi?id=xserver-1.12

* #11053: Buffer overflow in fbCopyArea()
  * Has a patch, ajax thinks the patch is wrong
* #23938: [from 1.6.x] keys occasionally get stuck
* #24094: CTRL-ALT-F1 doesn't switch to VT1 (provides garbage input to terminal 
instead)
  * XKB weirdness.  This looks diagnosed, so let's get a patch tested.
* #27428: xrandr events delayed until a key is pressed
* #27804: Enter/Leave event woes with multiple master devices
* #31501: [from 1.8.x] crash accessing font info with xfs in fontpath
* #32765: [from 1.8.x] Xephyr segfaults on 24bpp hosts
  * A possible fix is discussed, but Keith didn't like it.
* #39094: WaitFor does not handle EIO (causes 100% cpu load)
* #41141: Wrong physical size reported for Acer Aspire One screen
  * A reviewed patch is idle on the list.  Please get it merged into master.

== New Issues ==

If you encounter an issue that you think should block a future 1.11 release,
please follow the instructions listed in the wiki to raise this to our
attention.

http://www.x.org/wiki/Server111Branch

== Changes since 1.11.1 RC1 ==

Alan Hourihane (1):
  dixfonts: Don't overwrite local c variable until new_closure is safely 
initialized.

Carlos Garnacho (1):
  Xi: Fix passive XI2 ungrabs on XIAll[Master]Devices

Jamey Sharp (1):
  Fix pixmap double-frees on error paths.

Jeremy Huddleston (13):
  XQuartz: Use set_front_process rather than X11ApplicationSetFrontProcess 
since we're already in the AppKit thread
  XQuartz: pbproxy: Add missing AM_OBJCFLAGS
  configure.ac: Bump to 1.11.1.901 (1.11.2 RC1)
  Xnest: Match the host's keymap
  XQuartz: appledri: Set the correct reply length for XAppleDRICreatePixmap
  XQuartz: appledri: Fix byte swapping in replies
  XQuartz: appledri: Allow byte swapped requests
  XQuartz: applewm: Correct byte swapping in event notifications
  XQuartz: appledri: Correct byte swapping in event notifications
  XWin: windowswm: Correct byte swapping in event notifications
  configure.ac: Bump to 1.11.1.902 (1.11.2 RC2)
  Revert dix: don't XWarpPointer through the last slave anymore (#38313)
  configure.ac: Bump to 1.11.2

Jesse Barnes (1):
  crtc: match full preferred modes if possible when choosing an initial 
config

Kirill Elagin (1):
  Fix server crash due to invalid images

Matthieu Herrb (2):
  Fix CVE-2011-4028: File disclosure vulnerability.
  Fix CVE-2011-4029: File permission change vulnerability.

Nobuhiro Iwamatsu (1):
  Disable check of double-aligned in test/input.c on Renesas SH

Peter Harris (1):
  xkb: add missing swaps for xkbGetDeviceInfoReply

Peter Hutterer (5):
  config: fix a log message
  dix: avoid using the VCP as modifier device
  dix: ignore devices when adding passive core grabs to list (#39545)
  dix: don't use the pointer as modifier device in UngrabKey.
  dix: don't XWarpPointer through the last slave anymore (#38313)

Sam Spilsbury (1):
  Remove the SendEvent bit (0x80) before doing range checks on event type.

Tomáš Trnka (1):
  Fix drain_console unregistration

Ville Syrjala (1):
  composite: Update borderClip in compAllocPixmap()

v...@picaros.org (1):
  Fix a rare memory leak

git tag: xorg-server-1.11.2

http://xorg.freedesktop.org/archive/individual/xserver/xorg-server-1.11.2.tar.bz2
MD5:  8796fff441e5435ee36a72579008af24  xorg-server-1.11.2.tar.bz2
SHA1: b4de5c599c90bd08d3122866ba68152cd59a880e  xorg-server-1.11.2.tar.bz2
SHA256: fa415decf02027ca278b06254ccfbcceba2a83c2741405257ebf749da4a73cf2  
xorg-server-1.11.2.tar.bz2

http://xorg.freedesktop.org/archive/individual/xserver/xorg-server-1.11.2.tar.gz
MD5:  

Re: rotate display

2011-11-04 Thread Neil Whelchel
This has been a major thorn in my side with Nvidia. Their driver does not 
support rotating a single display, it is all or nothing.
The work-around is to use Xinerama. I have included the related parts of my 
config file, monitor 0 is normal and monitors 1 and 2 are rotated.
As far as I can tell, both Damage and Composite extensions are not working 
with Xinerama, but I left the related configuration in the config file, so that 
if this ever changes, the configuration may be valid. If you wish to use 
rotation that differs between monitors along with Damage and Composite, you are 
likely out of luck with the Nvidia driver, and my talks with Nvidia revealed 
that they are not likely to fix this any time in the near future.
-Neil-

Section ServerLayout
Identifier Layout0
Screen  0  Screen0 0 500
Screen  1  Screen1 1920 0
Screen  2  Screen2 3120 120
Option Xinerama 1
EndSection

Section Device
Identifier  Device0
VendorName NVIDIA Corporation
BoardName  GeForce GT 440
Driver  nvidia
BusID   PCI:1:0:0
Option backingstore true
Option  DamageEvents True
Option TripleBuffer True
Option  AllowGLXWithComposite  true
Option  RenderAccel   true
Screen  0
EndSection


Section Device
Identifier  Device1
VendorName NVIDIA Corporation
BoardName  GeForce GT 440
Driver  nvidia
BusID   PCI:1:0:0
Option backingstore true
Option  DamageEvents True
Option TripleBuffer True
Option  AllowGLXWithComposite  true
Option  RenderAccel   true
Option   Rotate   left
Screen  1
EndSection


Section Device
Identifier Device2
Driver nvidia
VendorName NVIDIA Corporation
BoardName  GeForce 9500 GT
BusID  PCI:2:0:0
Option backingstore true
Option  DamageEvents True
Option TripleBuffer True
Option  AllowGLXWithComposite  true
Option  RenderAccel   true
Option   Rotate  left
Screen  0
EndSection



On Thursday, November 03, 2011 16:45:11 Gergely Buday wrote:
 Hi,
 
 I have my X display as 2560x1024, two monitors in one, so I cannot
 rotate one of them. How I should modify my xorg.conf so that I can
 rotate the left one?
 
 - Gergely
 
 # nvidia-xconfig: X configuration file generated by nvidia-xconfig
 # nvidia-xconfig:  version 270.41.06  (mockbuild@)  Sun May  1 14:42:45 EDT
 2011
 
 
 Section ServerLayout
 
  #Screen1 at the right of Screen0
 Identifier DualSreen
 Screen  0  Screen0 0 0
 Screen  1  Screen1 RightOf Screen0
 InputDeviceKeyboard0 CoreKeyboard
 InputDeviceMouse0 CorePointer
 Option TwinView 1 #To move windows between screens
 EndSection
 
 Section InputDevice
 
 # generated from data in /etc/sysconfig/keyboard
 Identifier Keyboard0
 Driver keyboard
 Option XkbLayout us
 Option XkbModel pc105
 EndSection
 
 Section InputDevice
 
 # generated from default
 Identifier Mouse0
 Driver mouse
 Option Protocol auto
 Option Device /dev/input/mice
 Option Emulate3Buttons no
 Option ZAxisMapping 4 5
 EndSection
 
 Section Monitor
 Identifier Monitor0
 VendorName Unknown
 ModelName  Unknown
 HorizSync   28.0 - 33.0
 VertRefresh 43.0 - 72.0
 Option DPMS
 EndSection
 
 Section Monitor
 Identifier Monitor1
 HorizSync   28.0 - 33.0
 VertRefresh 43.0 - 72.0
 Option Enable true
 EndSection
 
 Section Device
 Identifier Videocard0
 Driver nvidia
 EndSection
 
 Section Screen
 Identifier Screen0
 Device Videocard0
 MonitorMonitor0
 DefaultDepth24
 Option TwinView True
 SubSection Display
 Depth   24
 Modes  1280x800_75.00
 EndSubSection
 EndSection
 
 Section Screen
 Identifier Screen1
 Device Videocard0
 MonitorMonitor1
 DefaultDepth24
 Option TwinView True
 SubSection Display
 Depth   24
 EndSubSection
 EndSection
 ___
 xorg@lists.freedesktop.org: X.Org support
 Archives: http://lists.freedesktop.org/archives/xorg
 Info: http://lists.freedesktop.org/mailman/listinfo/xorg
 Your subscription address: neil.whelc...@gmail.com
___
xorg@lists.freedesktop.org: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: http://lists.freedesktop.org/mailman/listinfo/xorg
Your subscription address: arch...@mail-archive.com


xrender issue

2011-11-04 Thread Hans-Peter Budek
Hi,
if I set an alpha-map to a destination picture via
XRenderChangePicture(s-Dpy, Dest, CPAlphaMap, Att) ;
the following XRenderComposite() call crash my X-server:

Backtrace:
[  9911.289] 0: /usr/X11R6/bin/X (xorg_backtrace+0x37) [0x80e8997]
[  9911.289] Segmentation fault at address (nil)
[  9911.289]
Fatal server error:
[  9911.289] Caught signal 11 (Segmentation fault). Server aborting
[  9911.289]
[  9911.289]
Please consult the The X.Org Foundation support

X.Org X Server 1.9.5
[  9887.642] (II) Module intel: vendor=X.Org Foundation
[  9887.642]   compiled for 1.9.5, module version = 2.14.0

is this a known bug?

Thanks in advance.
Peter
___
xorg@lists.freedesktop.org: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: http://lists.freedesktop.org/mailman/listinfo/xorg
Your subscription address: arch...@mail-archive.com


Re: Simulating a mouse click

2011-11-04 Thread Markus Kramer

Thanks for the help.
I was able to fix this now by setting the time member correctly. I had 
it set to CurrentTime before, but that didn't fix it.


Cheers, Markus

On 03.11.2011 00:34, Peter Hutterer wrote:

On Wed, Nov 02, 2011 at 03:27:42PM +0100, Markus Kramer wrote:

Hi,
I'm attempting to use xlib to simulate a series of mouse clicks in an
application (gedit). I found some posts that describe how to do this
and it essentially works. I can do left clicks on buttons and so on.
But if I generate a click on the menu bar, a menu opens and something
breaks and no further ButtonPress/ButtonRelease events that I send
will be processed by the application.

When debugging it with xtrace I noticed that my events look slightly
different than real left click events.

Real:
ButtonPress(4) [1]button=left button(0x01) [4]time=0x03752355
[8]root=0x0102 [12]event=0x01a3 [16]child=None(0x)
[20]root-x=428 [22]root-y=33 [24]event-x=295 [26]event-y=10 state=0
[30]same-screen=true(0x01)


My simulated event:
SendEvent [1]propagate=true(0x01)
[4]destination=PointerWindow(0x) event-mask=ButtonPress
ButtonPress(4) [1]button=left button(0x01) [4]time=0x
[8]root=0x0102 [12]event=0x012000a3 [16]child=None(0x)
[20]root-x=407 [22]root-y=40 [24]event-x=274 [26]event-y=19 state=0
[30]same-screen=true(0x01)


The field event of the real event says 0x01a3 mine is
0x012000a3. What is this event field about? It is not part of the
ButtonPress struct.


event is the window the event happens on. once you send a button down on a
menu, the client usually grabs the device that sent the event and the event
window from then on is the grab window, not necessarily the window
underneath the cursor.

If you're tyring to emulate click events, I recommend to use the XTest
extension instead, it's much simpler to handle.

Cheers,
   Peter



This is the code that I use to simulate a left click:

---
XEvent event;
memset(event, 0, sizeof(XEvent));

XWindowAttributes attr;
XGetWindowAttributes(dpy, windowId,attr);
event.type = ButtonPress;
event.xbutton.same_screen = TRUE;
event.xbutton.root = root;
event.xbutton.window = windowId;
event.xbutton.subwindow = None;
event.xbutton.x = x;
event.xbutton.y = y;
event.xbutton.x_root = attr.x + x;
event.xbutton.y_root = attr.y + y;
event.xbutton.state = 0;
event.xbutton.button = Button1;

XSendEvent(dpy, PointerWindow, True, ButtonPressMask,event);
XFlush(dpy);

// the same for ButtonRelease, with modified state and mask
--


Thanks in advance.
Markus
___
xorg@lists.freedesktop.org: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: http://lists.freedesktop.org/mailman/listinfo/xorg
Your subscription address: peter.hutte...@who-t.net



___
xorg@lists.freedesktop.org: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: http://lists.freedesktop.org/mailman/listinfo/xorg
Your subscription address: arch...@mail-archive.com


Re: xrender issue

2011-11-04 Thread Chris Wilson
On Fri, 04 Nov 2011 11:26:07 +0100, Hans-Peter Budek peter.bu...@gmx.de wrote:
 Hi,
 if I set an alpha-map to a destination picture via
 XRenderChangePicture(s-Dpy, Dest, CPAlphaMap, Att) ;
 the following XRenderComposite() call crash my X-server:
 
 Backtrace:
 [  9911.289] 0: /usr/X11R6/bin/X (xorg_backtrace+0x37) [0x80e8997]
 [  9911.289] Segmentation fault at address (nil)
 [  9911.289]
 Fatal server error:
 [  9911.289] Caught signal 11 (Segmentation fault). Server aborting
 [  9911.289]
 [  9911.289]
 Please consult the The X.Org Foundation support
 
 X.Org X Server 1.9.5
 [  9887.642] (II) Module intel: vendor=X.Org Foundation
 [  9887.642]   compiled for 1.9.5, module version = 2.14.0
 
 is this a known bug?
It is now. I'll have a fix shortly, though you will still be triggering
CPU fallbacks.

Do you mind describing you use-case for alphamaps and could you create a
little benchmark for your workload?
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre
___
xorg@lists.freedesktop.org: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: http://lists.freedesktop.org/mailman/listinfo/xorg
Your subscription address: arch...@mail-archive.com


Re: xrender issue

2011-11-04 Thread Chris Wilson
On Fri, 04 Nov 2011 15:11:28 +0100, Hans-Peter Budek peter.bu...@gmx.de wrote:
 Chris Wilson wrote:
 
  
  Do you mind describing you use-case for alphamaps and could you create a
  little benchmark for your workload?
  -Chris
  
 
 
 I´am programming a animated crossfade from one window to another.
 Both windows are not created by my application. The content
 of both windows is previously stored in a ARGB32 picture
 (without a usable alpha channel). To apply an alpha channel, I use:

So what I think you want to achieve is:

  dst = a * srcA + (1-a) * srcB

which can be acheived (and hitting the accelerated paths) with:

  Picture a = XRenderCreateSolidFill(dpy, (XRenderColor){.alpha = 0x * 
Fade});
  Picture ia = XRenderCreateSolidFill(dpy, (XRenderColor){.alpha = 0x * 
(1-Fade)});
  XRenderComposite(dpy, PictOpSrc, srcA, a, dst, 0, 0, 0, 0, 0, 0, width, 
height);
  XRenderComposite(dpy, PictOpAdd, srcB, ia, dst, 0, 0, 0, 0, 0, 0, width, 
height);
  XRenderFreePicture(dpy, ia);
  XRenderFreePicture(dpy, a);
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre
___
xorg@lists.freedesktop.org: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: http://lists.freedesktop.org/mailman/listinfo/xorg
Your subscription address: arch...@mail-archive.com

Re: xrender issue

2011-11-04 Thread Hans-Peter Budek
Chris Wilson wrote:

 
 Do you mind describing you use-case for alphamaps and could you create a
 little benchmark for your workload?
 -Chris
 


I´am programming a animated crossfade from one window to another.
Both windows are not created by my application. The content
of both windows is previously stored in a ARGB32 picture
(without a usable alpha channel). To apply an alpha channel, I use:

uint16_t  v = a-Fade * 600 ;
XRenderColor  Fade = {.red = v, .green = v, .blue = v, .alpha = v} ;
PixmapMap = XCreatePixmap(s-Dpy, f-Win, 1, 1, 8) ;
XRenderPictFormat *Format8 = XRenderFindStandardFormat(s-Dpy, PictStandardA8) ;
XRenderPictureAttributes Rep = {.repeat = RepeatNormal,
.subwindow_mode = IncludeInferiors} ;
Picture   Alpha = XRenderCreatePicture(s-Dpy, Map, Format8,
   CPRepeat, Rep) ;
Picture   Dest = XRenderCreatePicture(s-Dpy, f-Win,
  s-RenderFormat,
  CPSubwindowMode, Rep) ;
XRenderPictureAttributes Att = {.alpha_map = Alpha} ;

XRenderFillRectangle(s-Dpy, PictOpSrc, Alpha, Fade, 0, 0, 1, 1) ;

XRenderChangePicture(s-Dpy, a-OldPic, CPAlphaMap, Att) ;
XRenderChangePicture(s-Dpy, a-NewPic, CPAlphaMap, Att) ;
XRenderChangePicture(s-Dpy, Dest, CPAlphaMap, Att) ;

Rendering to 'Dest' cause the described crash (even PictOpClear).

I tried out 'PictStandardARGB32' alpha maps and maps with the same size
as the windows (no 'RepeatNormal'). But that makes no difference.

Unfortunately a copy of a 'PictStandardA8' picture to a 'PictStandardARGB32'
(via PictOpSrc) does not only modifies the alpha values (it also clears the RGB
 values).

Peter

___
xorg@lists.freedesktop.org: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: http://lists.freedesktop.org/mailman/listinfo/xorg
Your subscription address: arch...@mail-archive.com

Re: xrender issue

2011-11-04 Thread Hans-Peter Budek
Hi,
 
 So what I think you want to achieve is:
 
   dst = a * srcA + (1-a) * srcB

yes, that's my intension

 
 which can be acheived (and hitting the accelerated paths) with:
 
   Picture a = XRenderCreateSolidFill(dpy, (XRenderColor){.alpha = 0x * 
 Fade});
   Picture ia = XRenderCreateSolidFill(dpy, (XRenderColor){.alpha = 0x * 
 (1-Fade)});
   XRenderComposite(dpy, PictOpSrc, srcA, a, dst, 0, 0, 0, 0, 0, 0, width, 
 height);
   XRenderComposite(dpy, PictOpAdd, srcB, ia, dst, 0, 0, 0, 0, 0, 0, width, 
 height);
   XRenderFreePicture(dpy, ia);
   XRenderFreePicture(dpy, a);
 -Chris
 
That work's much better (and avoids the crash). I thought the third parameter
of XRenderComposite() is something like a clipmask (after reading
http://www.x.org/releases/current/doc/renderproto/renderproto.txt), but it is
the missing multiplier.

I will use your approach.
Thank you very much.

Peter

Anyway, I wrote a little programm to reproduce the bug.
/**/
/**/
#include stdint.h
#include stdlib.h
#include X11/Xlib.h
#include X11/extensions/Xrender.h

/**/
/**/
int main(int argc, char *argv[])
{
	const char *Host = (argc == 2) ? argv[1] : getenv(DISPLAY) ;
	
	if(Host != NULL) {
		Display *Dpy = XOpenDisplay(Host) ;
		
		if(Dpy != NULL) {
			Window Root = RootWindowOfScreen(DefaultScreenOfDisplay(Dpy)) ;
			Pixmap s = XCreatePixmap(Dpy, Root, 100, 100, 32) ;
			Pixmap d = XCreatePixmap(Dpy, Root, 100, 100, 32) ;
			Pixmap Map = XCreatePixmap(Dpy, Root, 1, 1, 8) ;
			XRenderPictFormat *Format32 = XRenderFindStandardFormat(Dpy,
			PictStandardARGB32) ;
			XRenderPictFormat	*Format8 = XRenderFindStandardFormat(Dpy,
	PictStandardA8) ;
			uint16_t v = 0x8000 ;
			XRenderColor c = {.red = v, .green = v, .blue = v, .alpha = v} ;
			XRenderPictureAttributes Rep = {.repeat = RepeatNormal} ;
			Picture Alpha = XRenderCreatePicture(Dpy, Map, Format8,
			 CPRepeat, Rep) ;
			Picture Src = XRenderCreatePicture(Dpy, s, Format32, 0, NULL) ;
			Picture Dest = XRenderCreatePicture(Dpy, d, Format32, 0, NULL) ;
			XRenderPictureAttributes Att = {.alpha_map = Alpha} ;
			
			XRenderFillRectangle(Dpy, PictOpSrc, Alpha, c, 0, 0, 1, 1) ;
			XRenderChangePicture(Dpy, Src, CPAlphaMap, Att) ;
			XRenderChangePicture(Dpy, Dest, CPAlphaMap, Att) ;

			XRenderComposite(Dpy, PictOpClear, Src, None, Dest,
  0, 0, 0, 0, 0, 0, 100, 100) ;
			XSync(Dpy, False) ;
			XRenderFreePicture(Dpy, Dest) ;
			XRenderFreePicture(Dpy, Src) ;
			XRenderFreePicture(Dpy, Alpha) ;
			XFreePixmap(Dpy, s) ;
			XFreePixmap(Dpy, d) ;
			XCloseDisplay(Dpy) ;
		}
	}
	return(0) ;
}
___
xorg@lists.freedesktop.org: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: http://lists.freedesktop.org/mailman/listinfo/xorg
Your subscription address: arch...@mail-archive.com