Re: [PATCH] XShmGetImage: fix censoring
Hi. One more kind ping on this. It has been sent quite a long time ago without any reply. It would really appreciate if someone could let me know if this is a correct mailing list or not? Thanks! 2017-09-21 10:06 GMT-04:00 Nikolay Martynov: > Hi. > > Just a kind ping. Is any additional information needed in this patch? > > Thanks! > > 2017-09-13 23:23 GMT-04:00 Nikolay Martynov : > > It looks like offsets calculated during image censoring are wrong. > > This results in black (empty) images returns. > > > > This fix is very similar to 6c6f09aac7f1d1367a042087b7681c7fdf1d1e0f > > that was applied to XGetImage > > > > Visually this fixes chromium/firefox window sharing in multiscreen > > configurations - without this patch most of the windows on 'secodnary' > > screens are black. > > > > This also should fix https://bugs.freedesktop.org/show_bug.cgi?id=101730 > . > > > > Signed-off-by: Nikolay Martynov > > --- > > Xext/shm.c | 8 ++-- > > 1 file changed, 2 insertions(+), 6 deletions(-) > > > > diff --git a/Xext/shm.c b/Xext/shm.c > > index 91ea90b14..56555c7aa 100644 > > --- a/Xext/shm.c > > +++ b/Xext/shm.c > > @@ -650,9 +650,8 @@ ProcShmGetImage(ClientPtr client) > > wBorderWidth((WindowPtr) pDraw) + (int) pDraw->height) > > return BadMatch; > > visual = wVisual(((WindowPtr) pDraw)); > > -pVisibleRegion = NotClippedByChildren((WindowPtr) pDraw); > > -if (pVisibleRegion) > > -RegionTranslate(pVisibleRegion, -pDraw->x, -pDraw->y); > > +if (pDraw->type == DRAWABLE_WINDOW) > > +pVisibleRegion = &((WindowPtr) pDraw)->borderClip; > > } > > else { > > if (stuff->x < 0 || > > @@ -715,9 +714,6 @@ ProcShmGetImage(ClientPtr client) > > } > > } > > > > -if (pVisibleRegion) > > -RegionDestroy(pVisibleRegion); > > - > > if (client->swapped) { > > swaps(); > > swapl(); > > -- > > 2.11.0 > > > > > > -- > Martynov Nikolay. > Email: mar.ko...@gmail.com > -- Martynov Nikolay. Email: mar.ko...@gmail.com ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel
[PATCH xserver] meson: Don't forget to define DEBUG!
Signed-off-by: Lyude Paul--- include/meson.build | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/include/meson.build b/include/meson.build index 90f8de3cb..8894885c6 100644 --- a/include/meson.build +++ b/include/meson.build @@ -196,6 +196,9 @@ conf_data.set('XvMCExtension', build_xv) conf_data.set('HAVE_SHA1_IN_LIBNETTLE', '1') # XXX +enable_debugging = (get_option('buildtype') == 'debug') or (get_option('buildtype') == 'debugoptimized') +conf_data.set('DEBUG', enable_debugging) + conf_data.set_quoted('XVENDORNAME', get_option('vendor_name')) conf_data.set_quoted('XVENDORNAMESHORT', get_option('vendor_name_short')) conf_data.set_quoted('__VENDORDWEBSUPPORT__', get_option('vendor_web')) @@ -282,7 +285,6 @@ xwin_data.set('HAS_WINSOCK', host_machine.system() == 'windows', description: 'U xwin_data.set('HAS_DEVWINDOWS', host_machine.system() == 'cygwin', description: 'Has /dev/windows for signaling new win32 messages') xwin_data.set('RELOCATE_PROJECTROOT', host_machine.system() == 'windows', description: 'Make paths relative to the xserver installation location') # XXX: these three are all the same as DEBUG so we should just change to that -enable_debugging = (get_option('buildtype') == 'debug') or (get_option('buildtype') == 'debugoptimized') xwin_data.set10('CYGDEBUG', enable_debugging) xwin_data.set10('CYGWINDOWING_DEBUG',enable_debugging) xwin_data.set10('CYGMULTIWINDOW_DEBUG', enable_debugging) -- 2.13.6 ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel
Re: [PATCH xserver] meson: Add xkb_bin_dir option
On Wed, Oct 11, 2017 at 06:03:45PM -0400, Lyude Paul wrote: > Now that we can actually configure all of the directories xkb uses for > finding things, we can (finally, but only with meson) finally make it so > that with the correct meson configuration the Xserver will "just work" > without any additional changes to the installation prefix after > building. > > For the people like me who have since scripted this part out of their > build process and forgotten about it, building and installing the X > server into a non-standard prefix has always required the following (or > something else that makes sure that X has a valid xkbcomp configuration) > commands be run right after doing the installation: > > # start in root of prefix you installed X to > mkdir -pv share/X11/xkb/rules > ln -s /usr/share/X11/xkb/rules/evdev share/X11/xkb/rules/ > rm -f bin/xkbcomp > ln -s /usr/bin/xkbcomp bin/ > > The one last piece of getting rid of this post-install junk is making > sure that we can control the directory that X uses for finding the > xkbcomp binary from meson so we can point it at the system provided > xkbcomp (/usr/bin/xkbcomp or similar). So, this patch adds a > configuration option for controlling this called xkb_bin_dir. > > Signed-off-by: Lyude PaulReviewed-by: Peter Hutterer Cheers, Peter > --- > include/meson.build | 2 +- > meson.build | 5 + > meson_options.txt | 1 + > 3 files changed, 7 insertions(+), 1 deletion(-) > > diff --git a/include/meson.build b/include/meson.build > index 90f8de3cb..5d746eb70 100644 > --- a/include/meson.build > +++ b/include/meson.build > @@ -219,7 +219,7 @@ configure_file(output : 'version-config.h', > > xkb_data = configuration_data() > > -xkb_data.set_quoted('XKB_BIN_DIRECTORY', join_paths(get_option('prefix'), > get_option('bindir'))) > +xkb_data.set_quoted('XKB_BIN_DIRECTORY', xkb_bin_dir) > xkb_data.set_quoted('XKB_BASE_DIRECTORY', xkb_dir) > xkb_data.set_quoted('XKB_DFLT_RULES', get_option('xkb_default_rules')) > xkb_data.set_quoted('XKB_DFLT_MODEL', get_option('xkb_default_model')) > diff --git a/meson.build b/meson.build > index d71cfed5a..f9b21b36c 100644 > --- a/meson.build > +++ b/meson.build > @@ -107,6 +107,11 @@ if xkb_output_dir == '' > xkb_output_dir = join_paths(get_option('prefix'), > 'share/X11/xkb/compiled') > endif > > +xkb_bin_dir = get_option('xkb_bin_dir') > +if xkb_bin_dir == '' > +xkb_bin_dir = join_paths(get_option('prefix'), get_option('bindir')) > +endif > + > hal_option = get_option('hal') > glamor_option = get_option('glamor') > > diff --git a/meson_options.txt b/meson_options.txt > index b1ee6ccc5..1954ea7a0 100644 > --- a/meson_options.txt > +++ b/meson_options.txt > @@ -29,6 +29,7 @@ option('ipv6', type: 'combo', choices: ['yes', 'no', > 'auto'], value: 'auto') > > option('xkb_dir', type: 'string') > option('xkb_output_dir', type: 'string') > +option('xkb_bin_dir', type: 'string') > option('xkb_default_rules', type: 'string', value: 'evdev') > option('xkb_default_model', type: 'string', value: 'pc105') > option('xkb_default_layout', type: 'string', value: 'us') > -- > 2.13.6 > > ___ > xorg-devel@lists.x.org: X.Org development > Archives: http://lists.x.org/archives/xorg-devel > Info: https://lists.x.org/mailman/listinfo/xorg-devel > ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel
[PATCH xserver] meson: Add xkb_bin_dir option
Now that we can actually configure all of the directories xkb uses for finding things, we can (finally, but only with meson) finally make it so that with the correct meson configuration the Xserver will "just work" without any additional changes to the installation prefix after building. For the people like me who have since scripted this part out of their build process and forgotten about it, building and installing the X server into a non-standard prefix has always required the following (or something else that makes sure that X has a valid xkbcomp configuration) commands be run right after doing the installation: # start in root of prefix you installed X to mkdir -pv share/X11/xkb/rules ln -s /usr/share/X11/xkb/rules/evdev share/X11/xkb/rules/ rm -f bin/xkbcomp ln -s /usr/bin/xkbcomp bin/ The one last piece of getting rid of this post-install junk is making sure that we can control the directory that X uses for finding the xkbcomp binary from meson so we can point it at the system provided xkbcomp (/usr/bin/xkbcomp or similar). So, this patch adds a configuration option for controlling this called xkb_bin_dir. Signed-off-by: Lyude Paul--- include/meson.build | 2 +- meson.build | 5 + meson_options.txt | 1 + 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/include/meson.build b/include/meson.build index 90f8de3cb..5d746eb70 100644 --- a/include/meson.build +++ b/include/meson.build @@ -219,7 +219,7 @@ configure_file(output : 'version-config.h', xkb_data = configuration_data() -xkb_data.set_quoted('XKB_BIN_DIRECTORY', join_paths(get_option('prefix'), get_option('bindir'))) +xkb_data.set_quoted('XKB_BIN_DIRECTORY', xkb_bin_dir) xkb_data.set_quoted('XKB_BASE_DIRECTORY', xkb_dir) xkb_data.set_quoted('XKB_DFLT_RULES', get_option('xkb_default_rules')) xkb_data.set_quoted('XKB_DFLT_MODEL', get_option('xkb_default_model')) diff --git a/meson.build b/meson.build index d71cfed5a..f9b21b36c 100644 --- a/meson.build +++ b/meson.build @@ -107,6 +107,11 @@ if xkb_output_dir == '' xkb_output_dir = join_paths(get_option('prefix'), 'share/X11/xkb/compiled') endif +xkb_bin_dir = get_option('xkb_bin_dir') +if xkb_bin_dir == '' +xkb_bin_dir = join_paths(get_option('prefix'), get_option('bindir')) +endif + hal_option = get_option('hal') glamor_option = get_option('glamor') diff --git a/meson_options.txt b/meson_options.txt index b1ee6ccc5..1954ea7a0 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -29,6 +29,7 @@ option('ipv6', type: 'combo', choices: ['yes', 'no', 'auto'], value: 'auto') option('xkb_dir', type: 'string') option('xkb_output_dir', type: 'string') +option('xkb_bin_dir', type: 'string') option('xkb_default_rules', type: 'string', value: 'evdev') option('xkb_default_model', type: 'string', value: 'pc105') option('xkb_default_layout', type: 'string', value: 'us') -- 2.13.6 ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel
Re: X SECURITY: allowed extensions for untrusted clients
On Fri, 2017-10-06 at 19:46 +, Uecker, Martin wrote: > Hi, > > I would like to use untrusted connections for remote > clients. Currently this does not work for me, because it is > too slow, and I always have to use trusted connections. > > So I wonder what it would take to expose some additional > extensions that are required for efficiency to untrusted > clients, in particular the RENDER extension? The first step would be to add RENDER to the SecurityTrustedExtensions list. After that one might need to fix SecurityResource() or SecurityDoCheck() to allow untrusted client to do whatever they want to their own resources (this might already be the case but I haven't tried to understand that code in detail). I continue to maintain that interacting with an "untrusted" remote client is a weird thing to want: if you can't trust it to interact peacefully with other clients, how can you trust it to do what you expect when you type into it? But there's no intrinsic reason why RENDER couldn't be made to work for untrusted clients, in fact extending coverage to _all_ extensions should be pretty straightforward since the selinux work put hooks in all the right places. - ajax ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel
Re: [PATCH xserver] glamor: Use GL_MESA_tile_raster_order for overlapping blits.
Eric Anholtwrites: >> Looks like you're also requiring nv_texture_barrier to use the new >> extension? > > texture_barrier is an explicit requirement of the new extension (it's > how get caches flushed between different overlapping blits). Makes sense to me. No other concerns from me, this is Reviewed-by: Keith Packard -- -keith signature.asc Description: PGP signature ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel
Re: [PATCH xserver] glamor: Use GL_MESA_tile_raster_order for overlapping blits.
Keith Packardwrites: > [ Unknown signature status ] > Eric Anholt writes: > >> +/* Include the enums here for the moment, to keep from needing to bump >> epoxy. */ >> +#ifndef GL_TILE_RASTER_ORDER_FIXED_MESA >> +#define GL_TILE_RASTER_ORDER_FIXED_MESA 0x8BB8 >> +#define GL_TILE_RASTER_ORDER_INCREASING_X_MESA 0x8BB9 >> +#define GL_TILE_RASTER_ORDER_INCREASING_Y_MESA 0x8BBA >> +#endif > > Yuck, but whatever. >> @@ -611,34 +633,36 @@ glamor_copy_needs_temp(DrawablePtr src, >> if (!glamor_priv->has_nv_texture_barrier) >> return TRUE; > > Looks like you're also requiring nv_texture_barrier to use the new > extension? texture_barrier is an explicit requirement of the new extension (it's how get caches flushed between different overlapping blits). signature.asc Description: PGP signature ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel
[PATCH] config/udev: Add sys/sysmacros.h include for major/minor functions for new glibc
Commits d732c36597fa and 84e3b96b5313 added the include to some files, but missed config/udev.c, where the major and minor functions are used as well. This should be Linux-only, so we don't need the sys/mkdev.h case here for Solaris. Signed-off-by: Mart Raudsepp--- Please consider for server-1.19-branch as well. config/udev.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/udev.c b/config/udev.c index 932f230..b3b8d0f 100644 --- a/config/udev.c +++ b/config/udev.c @@ -30,6 +30,9 @@ #include #include #include +#ifdef HAVE_SYS_SYSMACROS_H +#include +#endif #include "input.h" #include "inputstr.h" ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel