Issues with running Xclient using xwayland.
ashjas
ashjas at gmail.com
Fri Jan 25 04:19:55 PST 2013
In continuation to the previous mail...
In this file ./xserver/hw/xfree86/xwayland/xwayland-drm.c
at line 83 whenever the interface is "wl_drm" ,i.e the following condition
is true,
if (strcmp (interface, "wl_drm") == 0)
xwl_screen->registry always comes to be 0x0
*gdb output:*
Breakpoint 1, drm_handler (data=0x19ca0b0, registry=0x19c25b0, id=11,
interface=0x19cf6e0 "wl_drm", version=1) at xwayland-drm.c:84
84 printf("\nxwl_screen->registry:%d\n",xwl_screen->registry);
(gdb) print xwl_screen
$1 = (struct xwl_screen *) 0x19ca0b0
(gdb) print xwl_screen->registry
$2 = (struct wl_registry *) 0x0
(gdb)
any help?
Thanks.
Ashish.
On Fri, Jan 25, 2013 at 3:43 PM, ashjas <ashjas at gmail.com> wrote:
> Hello,
>
> I tried attaching the Xorg process to gdb to get a more detailed
> backtrace.(by adding sleep to the child process)
>
> here is the full backtrace from gdb:http://pastebin.com/pWE7px0S
>
> as can be seen in the 3rd frame .. all seems to be fine as there are no
> null values.
> xwl_screen->drm = wl_registry_bind(xwl_screen->registry, id,
> &wl_drm_interface, 1);
>
> but when the xwl_screen->registry reaches to wl_registry_bind
> (wl_registry=0x0, name=11, interface=0x7feb89670c60, version=1) here the
> value becomes null. which propagates to function
> wl_proxy_create (factory=0x0, interface=0x7feb89670c60)
> where it segfaults at the line
> struct wl_display *display = factory->display;
>
> Any clues why?
>
> Thanks
>
> Regards,
>
> Ashish
>
>
>
> On Fri, Jan 25, 2013 at 10:07 AM, ashjas <ashjas at gmail.com> wrote:
>
>> Hello Bill,
>>
>> Thanks for sending the patch.
>> But after using it, my crash had no effect its still failing with the
>> same log and at same place.
>> I guess the problem is not what you had thought?
>> Any other clues? Ill dig up more at my end in the meanwhile.
>>
>> Thanks for helping
>>
>> Regards,
>> Ashish
>>
>>
>> On Fri, Jan 25, 2013 at 1:47 AM, Bill Spitzak <spitzak at gmail.com> wrote:
>>
>>> ashjas wrote:
>>> > Thanks Bill for that info.. after searching for your patch i found this
>>> > discussion of what you indicated.. but i couldnot find the patch that
>>> > you mentioned..
>>> > http://lists.freedesktop.org/**archives/wayland-devel/2012-**
>>> September/005203.html<http://lists.freedesktop.org/archives/wayland-devel/2012-September/005203.html>
>>> >
>>> > can you give me some pointers?
>>> >
>>> > Thanks.
>>>
>>> This allows X applications to be run on wayland without having to
>>> delete conf files needed to run the legacy X server on the same
>>> machine.
>>>
>>> The --config and --configdir switches can override these changes.
>>>
>>> An extra patch to xorg was needed, as it *always* looked for
>>> xorg.conf.d. I changed it to not do this if --configdir or
>>> --wayland was given.
>>> ---
>>> hw/xfree86/common/xf86Config.c | 5 ++++-
>>> hw/xfree86/common/xf86Init.c | 4 ++++
>>> 2 files changed, 8 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/hw/xfree86/common/**xf86Config.c b/hw/xfree86/common/**
>>> xf86Config.c
>>> index 3934ff0..2376889 100644
>>> --- a/hw/xfree86/common/**xf86Config.c
>>> +++ b/hw/xfree86/common/**xf86Config.c
>>> @@ -2386,7 +2386,10 @@ xf86HandleConfigFile(Bool autoconfig)
>>> dirfrom = X_CMDLINE;
>>>
>>> xf86initConfigFiles();
>>> - sysdirname = xf86openConfigDirFiles(SYS_**CONFIGDIRPATH, NULL,
>>> + if (xf86ConfigDir)
>>> + sysdirname = 0;
>>> + else
>>> + sysdirname = xf86openConfigDirFiles(SYS_**CONFIGDIRPATH,
>>> NULL,
>>> PROJECTROOT);
>>> dirname = xf86openConfigDirFiles(**dirsearch, xf86ConfigDir,
>>> PROJECTROOT);
>>> filename = xf86openConfigFile(filesearch, xf86ConfigFile,
>>> PROJECTROOT);
>>> diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c
>>> index a062929..b2a668c 100644
>>> --- a/hw/xfree86/common/xf86Init.c
>>> +++ b/hw/xfree86/common/xf86Init.c
>>> @@ -1412,6 +1412,10 @@ ddxProcessArgument(int argc, char **argv, int i)
>>> if (!strcmp(argv[i], "-wayland"))
>>> {
>>> xorgWayland = TRUE;
>>> + if (!xf86ConfigFile)
>>> + xf86ConfigFile = "xwayland.conf";
>>> + if (!xf86ConfigDir)
>>> + xf86ConfigDir = "xwayland.conf.d";
>>> return 1;
>>> }
>>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/wayland-devel/attachments/20130125/6bfbc766/attachment-0001.html>
More information about the wayland-devel
mailing list