Jump to content

Recommended Posts

Posted (edited)

I have been trying to set up labwc as a replacement for openbox (X11) in my project.

 

I can install it very simply by building a minimal image Trixie (Bookworm does not include labwc), then

* sudo apt install labwc seatd foot

* at the screen with usb keyboard (not from SSH) start: labwc -d -s foot

 

Then I am in labwc, with a terminal emulator on my HDMI screen

 

When I right click on the desktop and choose "Exit", I get a kernel oops:

Spoiler
Armbian-unofficial 25.08.0-trunk Trixie ttyS0

orangepizero3 login: Internal error: Oops - BUG: 00000000f2000800 [#1]  SMP
Modules linked in: rfcomm bnep hci_uart btqca btrtl btintel btbcm bluetooth ecdh_generic ecc sprdwl_ng sunxi_addr zram snd_soc_hdmi_codec sun50i_h6_prcm_ppu snd_soc_sunxi_machine snd_soc_sunxi_ahub panel_mipi_dbi dw_hdmi_i2s_audio dw_hdmi_cec cmdlinepart drm_mipi_dbi snd_soc_sunxi_ahub_dam spi_nor sun8i_ce backlight cfg80211 crypto_engine display_connector binfmt_misc uio_pdrv_genirq uio sprdbt_tty uwe5622_bsp_sdio rfkill configfs sunxi musb_hdrc phy_generic
CPU: 2 UID: 1000 PID: 5465 Comm: labwc Tainted: G        W           6.15.4-edge-sunxi64 #1 NONE
Tainted: [W]=WARN
Hardware name: OrangePi Zero3 (DT)
pstate: 80000005 (Nzcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : dma_buf_release+0x8c/0x98
lr : __dentry_kill+0xb4/0x238
sp : ffff80008779bd40
x29: ffff80008779bd40 x28: ffff0000073d6180 x27: 0000000000000000
x26: 0000000000000000 x25: 0000000000000000 x24: ffff8000820932e8
x23: ffff000007d76220 x22: ffff000002486da0 x21: ffff000023b0c440
x20: ffff000023b0c440 x19: ffff00000746e800 x18: 0000000000000000
x17: 0000000000000000 x16: 0000000000000000 x15: ffff80008779bd10
x14: 0000000000000004 x13: ffff00000890f850 x12: 0000000000000000
x11: ffff000026d434d0 x10: ffff000026d43478 x9 : 0000000000000000
x8 : ffff80008779bb60 x7 : 0000000000000000 x6 : 00000000000009a3
x5 : 0000000000000000 x4 : 0000000000002771 x3 : 0000000000000000
x2 : ffffffffffffffff x1 : ffff800080a6b2d8 x0 : 0000000000000001
Call trace:
 dma_buf_release+0x8c/0x98 (P)
 __dentry_kill+0xb4/0x238
 dput+0xdc/0x224
 __fput+0x10c/0x2d4
 ____fput+0x10/0x18
 task_work_run+0x88/0x110
 do_notify_resume+0x11c/0x138
 el0_svc+0x110/0x120
 el0t_64_sync_handler+0x104/0x130
 el0t_64_sync+0x170/0x174
Code: d65f03c0 d4210000 94001345 17fffff1 (d4210000)
---[ end trace 0000000000000000 ]---
note: labwc[5465] exited with irqs disabled
------------[ cut here ]------------
WARNING: CPU: 2 PID: 0 at kernel/context_tracking.c:127 ct_kernel_exit.constprop.0+0x8c/0x94
Modules linked in: rfcomm bnep hci_uart btqca btrtl btintel btbcm bluetooth ecdh_generic ecc sprdwl_ng sunxi_addr zram snd_soc_hdmi_codec sun50i_h6_prcm_ppu snd_soc_sunxi_machine snd_soc_sunxi_ahub panel_mipi_dbi dw_hdmi_i2s_audio dw_hdmi_cec cmdlinepart drm_mipi_dbi snd_soc_sunxi_ahub_dam spi_nor sun8i_ce backlight cfg80211 crypto_engine display_connector binfmt_misc uio_pdrv_genirq uio sprdbt_tty uwe5622_bsp_sdio rfkill configfs sunxi musb_hdrc phy_generic
CPU: 2 UID: 0 PID: 0 Comm: swapper/2 Tainted: G      D W           6.15.4-edge-sunxi64 #1 NONE
Tainted: [D]=DIE, [W]=WARN
Hardware name: OrangePi Zero3 (DT)
pstate: 200003c5 (nzCv DAIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : ct_kernel_exit.constprop.0+0x8c/0x94
lr : ct_idle_enter+0xc/0x14
sp : ffff800082213dd0
x29: ffff800082213dd0 x28: 0000000000000000 x27: 0000000000000000
x26: 0000000000000000 x25: ffff000002535140 x24: 0000000000000000
x23: 0000000000000000 x22: ffff800081f0ab98 x21: ffff000002535140
x20: ffff800081f0ab38 x19: ffff00003fd8b0f8 x18: 0000000000000001
x17: 3030303030303030 x16: 3030303030303020 x15: 0000016d01e397a2
x14: 0000016dfc674a7c x13: 000000000000005b x12: 0000000000000000
x11: ffff7fffbe127000 x10: 00000000000009e0 x9 : ffff800082213d50
x8 : ffff000002535b80 x7 : 0000000000000000 x6 : 0000000000000000
x5 : 4000000000000002 x4 : ffff7fffbe13f000 x3 : ffff800082213dd0
x2 : 4000000000000000 x1 : ffff800081c4c0f8 x0 : ffff800081c4c0f8
Call trace:
 ct_kernel_exit.constprop.0+0x8c/0x94 (P)
 ct_idle_enter+0xc/0x14
 default_idle_call+0x18/0x34
 do_idle+0x1c0/0x20c
 cpu_startup_entry+0x30/0x38
 secondary_start_kernel+0x110/0x130
 __secondary_switched+0x74/0x78
---[ end trace 0000000000000000 ]---

roberto@orangepizero3:~$ ps ax|grep labwc
   1304 tty1     Zl+    0:01 [labwc] <defunct>
   1574 ttyS0    S+     0:00 grep labwc

 

 

And the labwc process shows "defunct"

 

Has anybody experienced this?

 

Maybe my kernel is too new? I used 6.15.4 (edge). My labwc is 0.8.3

 

The error in the terminal that started labwc (the HDMI screen) is:

...wlr_drm_lease_v1.c:103] Destroying wlr_drm_lease_device_v1 for /dev/dri/cardiationsodifier LINEAR (0x0000.....)

XT_EGL_image_storage_compression GL_EXT_texture_storage_compression GL_MESA_bgra im...

 

Same error message here:

https://github.com/labwc/labwc/issues/1424

 

Source of wlroots, mentioned in the error:

https://github.com/swaywm/wlroots/blob/master/types/wlr_drm_lease_v1.c

 

A developer in the labwc group suggest this might be GPU driver related

https://github.com/labwc/labwc/discussions/2923

 

Can someone with an SBC other than H618 try running labwc and exiting? What about xfce in wayland mode... does it crash?

Is anyone aware of a H618 or sunxi running wayland successfully?

Edited by robertoj
Posted

I see you already went upstream which is probably the best place to discuss this.  OTOH, you identified that this might be GPU driver issue which would likely require us to patch the kernel.

 

May I ask if you got this running on regular Intel-hardware?  Might be best to iron out some bugs there before moving on to the arm-challenge.

 

I'd be happy to test this for you, but my SBC is headless, so I guess I am out?

Posted (edited)

I tried this in a raspberry pi with graphic services stopped. Labwc exits normally

 

I tried it in a virtualbox x86, with Debian trixie netinstall (barebones+labwc+seatd). Labwc exits normally.

 

I think other armbian users (probably non allwinner) have used labwc, but they never complained about Labwc crashes.

 

YES. I will try it with a true intel system.

 

I will also try the stable-version Linux (instead of edge).

Edited by robertoj
Posted

I didn't try to replicate the problem in x86...

 

but I compiled the latest labwc 0.9.0, in Orange Pi Zero 3 with Bookworm, and this problem does not show up

Posted

OK, what does that leave us with?  You tried an armbian image with armbian and debian kernel and binaries and get a kernel oops.  Then you tried an Armbian image with Armbian kernel and Debian userland but a self-compiled labwc and you do not get the crash?  Summary so far correct?

Posted (edited)

Yes. Correct.

 

Start with an armbian minimal or xcfe image that you build, with linux edge.

 

Then install all the compilation dependencies mentioned in https://github.com/labwc/labwc/wiki  and https://github.com/swaywm/sway/wiki/Debian-10-(Buster)-Installation#install-wlroots

Some are mentioned as indicated for raspberry, but I installed them as well

Do not install the debian bookworm libwlroots10 !! (this old wlroots interferes with the wlroots that will be installed now)

Do not install libelogind-dev (it tried to modify my initramfs, it messed up the boot process, I didnt actually need it)

 

You need a meson compiler more recent than bookworm provides. Install the backports repo: https://backports.debian.org/Instructions/

$ sudo apt install meson/bookworm-backports

$ meson -v

1.7.0

 

Getting the labwc source code, and building:

$ sudo apt install foot seatd (a minimal xterm for wayland, and a "seat manager" (may not be needed))

$ git clone https://github.com/labwc/labwc

$ cd labwc

$ meson setup build   <-check that you have at least the GLES2 or EGL renderer

 

If not, check that you have these dependencies: libegl-dev, libegl1-mesa-dev, libgles2-mesa-dev, libgles-dev

If xwayland is desired, install xwayland from the bookworm repo

After installing extra dependencies, run reconfiguration: $ meson setup --reconfigure build

 

You will notice that the labwc build process auto-downloads and compiles a recent wlroots :)

 

Finally compile (it took less than 5 minutes in my orange pi zero 3)

$ meson compile -C build

If it finishes compiling, check that the produced labwc works with: $ ./build/labwc -s foot

 

If there's an error about memory allocation, add to armbianEnv.txt "extraargs=cma=256M", then reboot

 

To install globally:

$ sudo meson install -C build

 

Test by exiting the labwc folder: cd ~

$ labwc -s foot

 

Tomorrow, I will continue installing a display manager and greeter that works with wayland... since I am trying to avoid X11, due to my SPI LCD driver

But all of you who try getting labwc in bookworm, hopefully the meson install command does something that lets lightdm see it is available as an option (I started with a minimal image)

Edited by robertoj

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines