Chromium and weston on i.MX8m Mini

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Chromium and weston on i.MX8m Mini

1,423 Views
bdlr2
Contributor II

Hello,

I'm trying to start-up chromium on an i.MX8m mini-based system.

I built a Linux distro with Yocto and the meta-imx layers, version langdale.I can compile chromium-ozone-wayland version 101.0.4951.54, but the issue is to start it on the device.

First, I start weston with

 

 

/usr/bin/weston --log=/run/user/0/weston.log --modules=systemd-notify.so

 

 

and I see the weston desktop, from where I can open weston-terminal (or example).

Then I start chromium with 

 

 

XDG_RUNTIME_DIR=/run/user/0/ WAYLAND_DISPLAY=wayland-1 WESTON_USER=root WAYLAND_DEBUG=1 chromium --no-sandbox --disable-features=VizDisplayCompositor --in-process-gpu --disable-gpu-rasterization --enable-features=UseOzonePlatform --ozone-platform=wayland chrome://gpu &

 

 

Chromium seems to start, because I get the following output 

 

 

[4154121.061]  -> wl_display@1.get_registry(new id wl_registry@2)

[4154121.949]  -> wl_display@1.sync(new id wl_callback@3)

[4154122.315] wl_display@1.delete_id(3)

[4154122.367] wl_registry@2.global(1, "wl_compositor", 5)

[4154122.404]  -> wl_registry@2.bind(1, "wl_compositor", 4, new id [unknown]@4)

[4154122.462] wl_registry@2.global(2, "wl_subcompositor", 1)

[4154122.494]  -> wl_registry@2.bind(2, "wl_subcompositor", 1, new id [unknown]@5)

[4154122.525] wl_registry@2.global(3, "wp_viewporter", 1)

[4154122.557]  -> wl_registry@2.bind(3, "wp_viewporter", 1, new id [unknown]@6)

[4154122.588] wl_registry@2.global(4, "zxdg_output_manager_v1", 2)

[4154122.621]  -> wl_registry@2.bind(4, "zxdg_output_manager_v1", 2, new id [unknown]@7)

[4154122.652] wl_registry@2.global(5, "wp_presentation", 1)

[4154122.681]  -> wl_registry@2.bind(5, "wp_presentation", 1, new id [unknown]@8)

[4154122.713] wl_registry@2.global(6, "wp_single_pixel_buffer_manager_v1", 1)

[4154122.784] wl_registry@2.global(7, "zwp_alpha_compositing_v1", 1)

[4154122.823] wl_registry@2.global(8, "zwp_relative_pointer_manager_v1", 1)

[4154122.862]  -> wl_registry@2.bind(8, "zwp_relative_pointer_manager_v1", 1, new id [unknown]@9)

[4154122.895] wl_registry@2.global(9, "zwp_pointer_constraints_v1", 1)

[4154122.925]  -> wl_registry@2.bind(9, "zwp_pointer_constraints_v1", 1, new id [unknown]@10)

[4154122.964] wl_registry@2.global(10, "zwp_input_timestamps_manager_v1", 1)

[4154122.994] wl_registry@2.global(11, "wl_data_device_manager", 3)

[4154123.364]  -> wl_registry@2.bind(11, "wl_data_device_manager", 3, new id [unknown]@11)

[4154123.405] wl_registry@2.global(12, "wl_shm", 1)

[4154123.438]  -> wl_registry@2.bind(12, "wl_shm", 1, new id [unknown]@12)

[4154123.469] wl_registry@2.global(13, "weston_touch_calibration", 1)

[4154123.499] wl_registry@2.global(14, "wl_viv", 1)

[4154123.528] wl_registry@2.global(15, "wl_drm", 2)

[4154123.557]  -> wl_registry@2.bind(15, "wl_drm", 2, new id [unknown]@13)

[4154123.589]  -> wl_display@1.sync(new id wl_callback@14)

[4154123.630] wl_registry@2.global(16, "wl_seat", 7)

[4154123.744]  -> wl_registry@2.bind(16, "wl_seat", 5, new id [unknown]@15)

[4154123.781]  -> wl_data_device_manager@11.get_data_device(new id wl_data_device@16, wl_seat@15)

[4154123.839] wl_registry@2.global(17, "zwp_linux_dmabuf_v1", 4)

[4154123.913]  -> wl_registry@2.bind(17, "zwp_linux_dmabuf_v1", 3, new id [unknown]@17)

[4154123.946]  -> wl_display@1.sync(new id wl_callback@18)

[4154123.975] wl_registry@2.global(18, "weston_direct_display_v1", 1)

[4154124.005] wl_registry@2.global(19, "zwp_linux_explicit_synchronization_v1", 2)

[4154124.036]  -> wl_registry@2.bind(19, "zwp_linux_explicit_synchronization_v1", 2, new id [unknown]@19)

[4154124.069] wl_registry@2.global(20, "weston_content_protection", 1)

[4154124.099] wl_registry@2.global(21, "zwp_hdr10_metadata_v1", 1)

[4154124.128] wl_registry@2.global(22, "wl_output", 3)

[4154124.189]  -> wl_registry@2.bind(22, "wl_output", 2, new id [unknown]@20)

[4154124.223]  -> zxdg_output_manager_v1@7.get_xdg_output(new id zxdg_output_v1@21, wl_output@20)

[4154124.256] wl_registry@2.global(23, "zwp_input_panel_v1", 1)

[4154124.286] wl_registry@2.global(24, "zwp_input_method_v1", 1)

[4154124.315] wl_registry@2.global(25, "zwp_text_input_manager_v1", 1)

[4154124.345]  -> wl_registry@2.bind(25, "zwp_text_input_manager_v1", 1, new id [unknown]@22)

[4154124.376] wl_registry@2.global(26, "xdg_wm_base", 5)

[4154124.405]  -> wl_registry@2.bind(26, "xdg_wm_base", 3, new id [unknown]@23)

[4154124.482] wl_registry@2.global(27, "weston_desktop_shell", 1)

[4154124.513] wl_registry@2.global(28, "weston_screenshooter", 1)

[4154124.542] wl_callback@3.done(1)

[4154126.524] wl_display@1.delete_id(14)

[4154126.646] wl_display@1.delete_id(18)

[4154126.674] wp_presentation@8.clock_id(1)

[4154126.704] wl_drm@13.device("/dev/dri/card0")

[4154126.830]  -> wl_drm@13.authenticate(2)

[4154126.868]  -> wl_display@1.sync(new id wl_callback@3)

[4154126.898] wl_drm@13.format(808669761)

[4154126.929] wl_drm@13.format(808669784)

[4154126.955] wl_drm@13.format(808665665)

[4154126.981] wl_drm@13.format(808665688)

[4154127.006] wl_drm@13.format(875713089)

[4154127.019] wl_drm@13.format(875713112)

[4154127.030] wl_drm@13.format(909199186)

[4154127.040] wl_drm@13.format(961959257)

[4154127.048] wl_drm@13.format(825316697)

[4154127.057] wl_drm@13.format(842093913)

[4154127.066] wl_drm@13.format(909202777)

[4154127.075] wl_drm@13.format(875713881)

[4154127.083] wl_drm@13.format(842094158)

[4154127.092] wl_drm@13.format(909203022)

[4154127.102] wl_drm@13.format(1448695129)

[4154127.110] wl_drm@13.capabilities(0)

[4154127.251] wl_callback@14.done(1)

[4154127.266] wl_seat@15.capabilities(6)

[4154127.277]  -> wl_seat@15.get_keyboard(new id wl_keyboard@14)

[4154128.391]  -> wl_seat@15.get_touch(new id wl_touch@24)

[4154128.419] wl_seat@15.name("default")

[4154128.430] zwp_linux_dmabuf_v1@17.modifier(875713089, 16777215, 4294967295)

[4154128.444] zwp_linux_dmabuf_v1@17.modifier(875713089, 0, 0)

[4154128.456] zwp_linux_dmabuf_v1@17.modifier(875708993, 16777215, 4294967295)

[4154128.467] zwp_linux_dmabuf_v1@17.modifier(875708993, 0, 0)

[4154128.478] zwp_linux_dmabuf_v1@17.modifier(875713112, 16777215, 4294967295)

[4154128.491] zwp_linux_dmabuf_v1@17.modifier(875713112, 0, 0)

[4154128.503] zwp_linux_dmabuf_v1@17.modifier(909199186, 16777215, 4294967295)

[4154128.516] zwp_linux_dmabuf_v1@17.modifier(909199186, 0, 0)

[4154128.528] zwp_linux_dmabuf_[  148.350870] audit: type=1334 audit(1667920344.264:14): prog-id=13 op=LOAD

v1@17.modifier(1448695129, 16777215, 4294967295)

[4154128.542] zwp_linux_dmabuf_v1@17.modifier(1448695129, 0, 0)

[4154128.554] zwp_linux_dmabuf_v1@17.modif[  148.370676] audit: type=1334 audit(1667920344.276:15): prog-id=14 op=LOAD

ier(842094158, 16777215, 4294967295)

[4154128.566] zwp_linux_dmabuf_v1@17.modifier(842094158, 0, 0)

[4154128.577] zwp_linux_dmabuf_v1@17.modifier(842093913, 16777215, 4294967295)

[4154128.589] zwp_linux_dmabuf_v1@17.modifier(842093913, 0, 0)

[4154128.601] wl_callback@18.done(1)

[4154128.612] wl_output@20.geometry(0, 0, 72, 72, 0, "unknown", "unknown", 0)

[4154128.630] wl_output@20.scale(1)

[4154128.641] wl_output@20.mode(3, 720, 720, 109191)

[4154128.655] wl_output@20.done()

[4154128.666] zxdg_output_v1@21.logical_position(0, 0)

[4154128.676] zxdg_output_v1@21.logical_size(720, 720)

[4154128.688] zxdg_output_v1@21.name("DSI-1")

[4154128.698] zxdg_output_v1@21.done()

[4154129.668] discarded [unknown]@13.[event 2](0 fd, 8 byte)

[4154129.704] wl_display@1.delete_id(3)

[4154129.726] wl_callback@3.done(1)

[4154129.737] wl_keyboard@14.repeat_info(40, 400)

[4154129.749] wl_keyboard@14.keymap(1, fd 32, 63970)

[4154240.061]  -> wl_shm@12.create_pool(new id wl_shm_pool@3, fd 41, 2304)

[4154240.454]  -> wl_shm_pool@3.resize(5568)

[4154240.532]  -> wl_shm_pool@3.resize(12096)

[4154380.573]  -> wl_display@1.get_registry(new id wl_registry@18)

[4154380.626]  -> wl_display@1.sync(new id wl_callback@25)

[4154382.090] wl_display@1.delete_id(25)

[4154382.137] wl_registry@18.global(1, "wl_compositor", 5)

[4154382.150] wl_registry@18.global(2, "wl_subcompositor", 1)

[4154382.160] wl_registry@18.global(3, "wp_viewporter", 1)

[4154382.170] wl_registry@18.global(4, "zxdg_output_manager_v1", 2)

[4154382.180] wl_registry@18.global(5, "wp_presentation", 1)

[4154382.190] wl_registry@18.global(6, "wp_single_pixel_buffer_manager_v1", 1)

[4154382.200] wl_registry@18.global(7, "zwp_alpha_compositing_v1", 1)

[4154382.228] wl_registry@18.global(8, "zwp_relative_pointer_manager_v1", 1)

[4154382.239] wl_registry@18.global(9, "zwp_pointer_constraints_v1", 1)

[4154382.248] wl_registry@18.global(10, "zwp_input_timestamps_manager_v1", 1)

[4154382.258] wl_registry@18.global(11, "wl_data_device_manager", 3)

[4154382.268] wl_registry@18.global(12, "wl_shm", 1)

[4154382.278] wl_registry@18.global(13, "weston_touch_calibration", 1)

[4154382.287] wl_registry@18.global(14, "wl_viv", 1)

[4154382.301]  -> wl_registry@18.bind(14, "wl_viv", 1, new id [unknown]@26)

[4154382.317] wl_registry@18.global(15, "wl_drm", 2)

[4154382.327] wl_registry@18.global(16, "wl_seat", 7)

[4154382.337] wl_registry@18.global(17, "zwp_linux_dmabuf_v1", 4)

[4154382.347] wl_registry@18.global(18, "weston_direct_display_v1", 1)

[4154382.356] wl_registry@18.global(19, "zwp_linux_explicit_synchronization_v1", 2)

[4154382.439]  -> wl_registry@18.bind(19, "zwp_linux_explicit_synchronization_v1", 1, new id [unknown]@27)

[4154382.458] wl_registry@18.global(20, "weston_content_protection", 1)

[4154382.469] wl_registry@18.global(21, "zwp_hdr10_metadata_v1", 1)

[4154382.478] wl_registry@18.global(22, "wl_output", 3)

[4154382.488] wl_registry@18.global(23, "zwp_input_panel_v1", 1)

[4154382.498] wl_registry@18.global(24, "zwp_input_method_v1", 1)

[4154382.507] wl_registry@18.global(25, "zwp_text_input_manager_v1", 1)

[4154382.519] wl_registry@18.global(26, "xdg_wm_base", 5)

[4154382.529] wl_registry@18.global(27, "weston_desktop_shell", 1)

[4154382.538] wl_registry@18.global(28, "weston_screenshooter", 1)

[4154382.548] wl_callback@25.done(1)

[4155225.055]  -> wl_compositor@4.create_surface(new id wl_surface@25)

[4155225.229]  -> wp_viewporter@6.get_viewport(new id wp_viewport@28, wl_surface@25)

[4155225.395]  -> wl_compositor@4.create_surface(new id wl_surface@29)

[4155225.436]  -> wp_viewporter@6.get_viewport(new id wp_viewport@30, wl_surface@29)

[4155225.574]  -> wl_surface@25.set_buffer_scale(1)

[4155225.613]  -> wp_viewport@28.set_source(-1.00000000, -1.00000000, -1.00000000, -1.00000000)

[4155225.654]  -> wp_viewport@28.set_destination(-1, -1)

[381:381:1108/151224.894690:ERROR:cursor_loader.cc(116)] Failed to load a platform cursor of type kNull

[4155448.138]  -> wl_surface@25.attach(nil, 0, 0)

[4155448.272]  -> wl_surface@25.commit()

[4155448.307]  -> xdg_wm_base@23.get_xdg_surface(new id xdg_surface@31, wl_surface@25)

[4155448.346]  -> xdg_surface@31.get_toplevel(new id xdg_toplevel@32)

[4155448.426]  -> xdg_toplevel@32.set_app_id("chromium-browser")

[4155448.459]  -> xdg_toplevel@32.set_title("New Tab - Chromium")

[4155449.119]  -> xdg_toplevel@32.set_min_size(532, 121)

[4155449.168]  -> xdg_toplevel@32.set_max_size(0, 0)

[4155449.201]  -> xdg_toplevel@32.unset_maximized()

[4155449.447]  -> xdg_toplevel@32.set_min_size(532, 121)

[4155449.481]  -> xdg_toplevel@32.set_max_size(0, 0)

[4155449.515]  -> wl_surface@25.commit()

[4155523.967] xdg_toplevel@32.configure(0, 0, array[0])

[4155524.663] xdg_surface@31.configure(2)

[4155525.585]  -> xdg_toplevel@32.set_min_size(532, 164)

[4155529.560]  -> xdg_toplevel@32.set_max_size(0, 0)

[  149.501397] audit: type=1334 audit(1667920345.416:16): prog-id=15 op=LOAD

[  149.518026] audit: type=1334 audit(1667920345.428:17): prog-id=16 op=LOAD

[  149.694732] audit: type=1701 audit(1667920345.608:18): auid=4294967295 uid=0 gid=0 ses=4294967295 pid=434 comm="chromium-bin" exe="/usr/lib/chromium/chromium-bin" sig=4 res=1

 

 

 Then the display freeze to the state it was before I typed the chromium command (so weston shell, with 1 terminal opened on it). No chromium window shown.

The only way to unblock the system is to reboot.

Has anyone experience with this ?

0 Kudos
Reply
4 Replies

1,291 Views
bdlr2
Contributor II

Following this issue, I continued to make my researches.

It turns out that I have a more general GPU problem. The GPU seems to crash and gives this debug info:

[   33.400449] **************************

[   33.410773] ***   GPU STATE DUMP   ***

[   33.414541] **************************

[   33.425562]   axi      = 0x00000050

[   33.434749]   idle     = 0x7FFFFFFE

[   33.438271]     FE not idle

[   33.446763]   AQ_HI_CLOCK_CONTROL  = 0x00040100

[   33.458773]   DMA appears to be stuck at this address:

[   33.466761]     0x18402090

[   33.469487]   dmaLow   = 0x00000000

[   33.481367]   dmaHigh  = 0x00000004

[   33.489663]   dmaState = 0x00000000

[   33.498761]     command state       = 0 (PAR_IDLE_ST)

[   33.508865]     command DMA state   = 0 (CMD_IDLE_ST)

[   33.522735]     command fetch state = 0 (FET_IDLE_ST)

[   33.530752]     DMA request state   = 0 (REQ_IDLE_ST)

[   33.542731]     cal state           = 0 (CAL_IDLE_ST)

[   33.554721]     VE request state    = 0 (VER_IDLE_ST)

 The above happened after starting gputop from command line.

How can this be solved ?

0 Kudos
Reply

1,180 Views
Sanket_Parekh
NXP TechSupport
NXP TechSupport

Hello @bdlr2,

I hope you are doing well.
Please accept my apology for the delayed response.

->One can check if it is caused by GPU supply,
-The GPU is powered by a dedicated power VDD_GPU. In order to support DVFS for both high-performance and low-power use cases, it should support the following operating range:
• 0.8V (0.8V +/-10%), up to 800MHz
• 0.9V (0.9V +5%/-10%), up to 1000MHz

In case of if frequency might be a root problem then please refer to this link for reference.
https://community.nxp.com/t5/i-MX-Processors/i-MX8M-Mini-GPU-Frequency-500MHz-How-to-increase/td-p/1...

It appears from the logs you have provided that at the address 0x18402090 GPU cannot fetch the correct command.
can you check the buffer content for the address?

Thanks & Regards,
Sanket Parekh

0 Kudos
Reply

1,362 Views
Sanket_Parekh
NXP TechSupport
NXP TechSupport
Hi @bdlr2 
 
I hope you are doing well.
 
Please try with the below command.
 
chromium chrome://gpu  --no-sandbox  --enable-gpu-rasterization
 
Thanks & Regards,
Sanket Parekh
0 Kudos
Reply

1,336 Views
bdlr2
Contributor II

Hello,

Unfortunately, the result is the same...

Best regards

0 Kudos
Reply