additonal information
1. on my x86 pc, it is Ubuntu18.04, the software version is lower than that
on device with fc30
2. with WAYLAND_DEBUG=1, some log as below
(create_window,826)#############1############
(create_dmabuf_buffer,686)dmabuf_fd: 8, stride: 1024, modifier: 0
(create_dmabuf_buffer,687)display->dmabuf: 0x5569f9d5f0
[3526048.648]  -> zwp_linux_dmabuf_v1@6.create_params(new id
zwp_linux_buffer_params_v1@10)
(create_dmabuf_buffer, 689)
[3526048.665]  -> zwp_linux_buffer_params...@10.add(fd 9, 0, 0, 1024, 0, 0)
(create_dmabuf_buffer, 698)
(create_dmabuf_buffer, 711)
(create_dmabuf_buffer,723)format: XR24, width: 256, height: 256, flags: 0x0
[3526048.700]  -> zwp_linux_buffer_params_v1@10.create(256, 256, 875713112,
0)
(create_window,826)#############2############
(create_dmabuf_buffer,686)dmabuf_fd: 11, stride: 1024, modifier: 0
(create_dmabuf_buffer,687)display->dmabuf: 0x5569f9d5f0
[3526048.867]  -> zwp_linux_dmabuf_v1@6.create_params(new id
zwp_linux_buffer_params_v1@11)
(create_dmabuf_buffer, 689)
[3526048.883]  -> zwp_linux_buffer_params...@11.add(fd 12, 0, 0, 1024, 0, 0)
(create_dmabuf_buffer, 698)
(create_dmabuf_buffer, 711)
(create_dmabuf_buffer,723)format: XR24, width: 256, height: 256, flags: 0x0
[3526048.918]  -> zwp_linux_buffer_params_v1@11.create(256, 256, 875713112,
0)
[3526048.945]  -> wl_disp...@1.sync(new id wl_callback@12)
[3526062.264] wl_display@1.delete_id(12)
[3526062.345] xdg_toplevel@8.configure(0, 0, array)
[3526062.365] xdg_surface@7.configure(165)
[3526062.418]  -> xdg_surface@7.ack_configure(165)
[3526062.442] zwp_linux_buffer_params_v1@9.failed()
[3526062.467]  -> zwp_linux_buffer_params_v1@9.destroy()
Error: zwp_linux_buffer_params.create failed.
[3526062.502] zwp_linux_buffer_params_v1@10.failed()
[3526062.526]  -> zwp_linux_buffer_params_v1@10.destroy()
Error: zwp_linux_buffer_params.create failed.
[3526062.557] zwp_linux_buffer_params_v1@11.failed()
[3526062.581]  -> zwp_linux_buffer_params_v1@11.destroy()
Error: zwp_linux_buffer_params.create failed.
[3526062.612] wl_callb...@12.done(165)

Halley Zhao <aihua.halley.z...@gmail.com> 于2019年10月12日周六 上午7:57写道:

> on my test device, the wayland connection runs smoothly before create a
> wl_buffer (in weston simple-dmabuf-drm.c
> zwp_linux_buffer_params_v1_create()).
> I do get the response from wayland server and
> bind zwp_linux_dmabuf_v1_interface, and received dmabuf_listener callback
> in dmabuf_format() for the supported color format.
> (a little curious here is: it is not callback in dmabuf_modifiers() but
> the legacy dmabuf_format()).
>
> for graphics part, there is mesa, as well as mali ddk. i don't know more
> detail about it.
>
>
>
> Jonas Ådahl <jad...@gmail.com> 于2019年10月11日周五 下午10:07写道:
>
>> On Fri, Oct 11, 2019 at 08:33:03PM +0800, Halley Zhao wrote:
>> > I gave some try;
>> > log shows on my desktop pc, but not on my test device.
>> > I'm curious why dma_buf_bind () isn't triggered on my device; from
>> client
>> > side, I do see wayland server( mutter ) reports the supported color
>> format.
>> > is there any other place to handle dmabuf interface bind?
>>
>> Could it be that your test device doesn't use DMA-BUF? On your desktop,
>> I assume you're using mesa, which will use the Wayland DMA-BUF if you
>> have a new enough version, but is your test device also using the same
>> mesa version?
>>
>> Assuming your test device is also running mutter or gnome-shell, it
>> should only bind via the dma_buf_bind() function in
>> meta-wayland-dma-buf.c; there is no other entry point.
>>
>> Do you have complete WAYLAND_DEBUG=1 logs from your test device?
>>
>>
>> Jonas
>>
>> >
>> >
>> > Jonas Ådahl <jad...@gmail.com> 于2019年10月11日周五 下午7:49写道:
>> >
>> > > On Fri, Oct 11, 2019 at 06:55:42PM +0800, Halley Zhao via
>> gnome-shell-list
>> > > wrote:
>> > > > Hi experts:
>> > > > I want to debug somthing in mutter, the question is how to add log
>> in
>> > > > mutter?
>> > > >
>> > > > the background is:
>> > > > 1.
>> > > > on my platform(fc30), weston-simple-dmabuf-drm fail to run, it fails
>> > > after
>> > > > call zwp_linux_buffer_params_v1_create().
>> > > > after export WAYLAND_DEBUG=1, I don't get clue.
>> > > > "
>> > > > (create_dmabuf_buffer, 711)
>> > > > (create_dmabuf_buffer,723)format: XR24, width: 256, height: 256,
>> flags:
>> > > 0x0
>> > > > Error: zwp_linux_buffer_params.create failed.
>> > > > Error: zwp_linux_buffer_params.create failed.
>> > > > Error: zwp_linux_buffer_params.create failed.
>> > > > "
>> > > > 2.
>> > > > then I decide to add some log in mutter to see where is the fail.
>> > > > since libmutter-2.0.so is loaded by gnome-shell in the background,
>> I
>> > > try to
>> > > > write my debug log to disk file. but when I add some log in
>> > > dma_buf_bind(),
>> > > > it doesn't take effect. why?
>> > > > what's the correct way to add log in mutter?
>> > >
>> > > You should be able to use e.g.
>> > >
>> > >     fprintf (stderr, "Log this message\n");
>> > >
>> > > ,
>> > >
>> > >     g_message ("Log this message");
>> > >
>> > > or
>> > >
>> > >     g_warning ("Log this warning");
>> > >
>> > > If you run gnome-shell or mutter from GDM, the log entries will end up
>> > > in the journal. You can look in the journal with for example
>> > >
>> > >     journalctl -e $(which gnome-shell)
>> > >
>> > > If you run mutter or gnome-shell manually from a tty, it's easiest to
>> > > run and reroute stdout and stderr directly to a file, e.g mutter >&
>> > > mutter.log.
>> > >
>> > > If your added log entries doesn't show up even though you are sure the
>> > > functions where you added your log entries were called, then double
>> > > check that the libmutter you compiled yourself is the one used by the
>> > > executable when you run.
>> > >
>> > >
>> > > Jonas
>> > >
>> > >
>> > > > thanks
>> > > >
>> > > > here are code piece to add log:
>> > > > static void _my_print_test_log(const char* file_name)
>> > > > {
>> > > >     FILE* _tmp_fp = NULL;
>> > > >     _tmp_fp = fopen(file_name, "w+");
>> > > >     if (_tmp_fp) {
>> > > >       fprintf(_tmp_fp, "#### my test ####");
>> > > >       fclose(_tmp_fp);
>> > > >     }
>> > > > }
>> > > >
>> > > > static void
>> > > > dma_buf_bind (struct wl_client *client,
>> > > >               void             *data,
>> > > >               uint32_t          version,
>> > > >               uint32_t          id)
>> > > > {
>> > > >   MetaWaylandCompositor *compositor = data;
>> > > >   struct wl_resource *resource;
>> > > >
>> > > >   PRINT_MARK;
>> > > >   resource = wl_resource_create (client,
>> &zwp_linux_dmabuf_v1_interface,
>> > > >                                  version, id);
>> > > >   wl_resource_set_implementation (resource, &dma_buf_implementation,
>> > > >                                   compositor, NULL);
>> > > >
>> > > >   _my_print_test_log("/tmp/my_mutter_001.txt");
>> > > >
>> > > >   send_modifiers (resource, DRM_FORMAT_ARGB8888);
>> > > >   send_modifiers (resource, DRM_FORMAT_XRGB8888);
>> > > >   send_modifiers (resource, DRM_FORMAT_ARGB2101010);
>> > > >   send_modifiers (resource, DRM_FORMAT_RGB565);
>> > > > }
>> > >
>> > > > _______________________________________________
>> > > > gnome-shell-list mailing list
>> > > > gnome-shell-list@gnome.org
>> > > > https://mail.gnome.org/mailman/listinfo/gnome-shell-list
>> > >
>> > >
>>
>
_______________________________________________
gnome-shell-list mailing list
gnome-shell-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gnome-shell-list

Reply via email to