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?


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