[PATCH xserver 3/7] randr: Support "non-desktop" property

Michel Dänzer michel at daenzer.net
Wed Feb 28 15:30:35 UTC 2018

On 2018-02-12 10:51 PM, Keith Packard wrote:
> Tracks changes to the non-desktop property so that when non-zero,
> outputs will always appear to be disconnected.
> Signed-off-by: Keith Packard <keithp at keithp.com>
> Reviewed-by: Adam Jackson <ajax at nwnk.net>

This crashes on startup with a GPU screen, see below.
pScreen->current_master == NULL.

Thread 1 "X" received signal SIGSEGV, Segmentation fault.
RRTellChanged (pScreen=<optimized out>) at ../../randr/randr.c:576
576	        mastersp = rrGetScrPriv(master);
(gdb) bt
#0  RRTellChanged (pScreen=<optimized out>) at ../../randr/randr.c:576
#1  0x000055555566f1e9 in RRNoticePropertyChange (value=0x555555bfbf28, property=70, output=0x555555bfef10) at ../../randr/rrproperty.c:153
#2  RRChangeOutputProperty (output=output at entry=0x555555bfef10, property=<optimized out>, type=type at entry=19, format=format at entry=32, mode=<optimized out>, mode at entry=0, len=len at entry=1, value=0x7fffffffe77c, sendevent=1, pending=0)
    at ../../randr/rrproperty.c:263
#3  0x000055555566dba5 in RROutputSetNonDesktop (output=output at entry=0x555555bfef10, nonDesktop=nonDesktop at entry=0) at ../../randr/rroutput.c:333
#4  0x000055555566dd7d in RROutputCreate (pScreen=pScreen at entry=0x5555559efb10, name=name at entry=0x555555bc0a08 "DisplayPort-2-0", nameLength=15, devPrivate=devPrivate at entry=0x555555bc0940) at ../../randr/rroutput.c:122
#5  0x000055555562d5aa in xf86RandR12CreateObjects12 (pScreen=0x5555559efb10) at ../../../../hw/xfree86/modes/xf86RandR12.c:1734
#6  xf86RandR12Init12 (pScreen=0x5555559efb10) at ../../../../hw/xfree86/modes/xf86RandR12.c:2247
#7  xf86RandR12Init (pScreen=pScreen at entry=0x5555559efb10) at ../../../../hw/xfree86/modes/xf86RandR12.c:895
#8  0x00005555556200bc in xf86CrtcScreenInit (screen=screen at entry=0x5555559efb10) at ../../../../hw/xfree86/modes/xf86Crtc.c:774
#9  0x00007ffff0deaa6c in RADEONScreenInit_KMS (pScreen=0x5555559efb10, argc=<optimized out>, argv=<optimized out>) at ../../src/radeon_kms.c:2438
#10 0x00005555555aced5 in AddGPUScreen (pfnInit=pfnInit at entry=0x5555555edc40 <xf86ScreenInit>, argc=argc at entry=4, argv=argv at entry=0x7fffffffeb08) at ../../dix/dispatch.c:3966
#11 0x00005555555ef8b7 in InitOutput (pScreenInfo=pScreenInfo at entry=0x5555559b1f60 <screenInfo>, argc=argc at entry=4, argv=argv at entry=0x7fffffffeb08) at ../../../../hw/xfree86/common/xf86Init.c:763
#12 0x00005555555b0f38 in dix_main (argc=4, argv=0x7fffffffeb08, envp=<optimized out>) at ../../dix/main.c:193
#13 0x00007ffff58a3f2a in __libc_start_main (main=0x55555559a3f0 <main>, argc=4, argv=0x7fffffffeb08, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffeaf8) at ../csu/libc-start.c:310
#14 0x000055555559a42a in _start ()

Earthling Michel Dänzer               |               http://www.amd.com
Libre software enthusiast             |             Mesa and X developer

More information about the xorg-devel mailing list