Re: how to add some log in mutter?
- From: Halley Zhao <aihua halley zhao gmail com>
- To: Jonas Ådahl <jadahl gmail com>
- Cc: gnome-shell-list gnome org
- Subject: Re: how to add some log in mutter?
- Date: Sat, 12 Oct 2019 07:57:55 +0800
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.
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 <jadahl 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
> >
> >
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]