Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Liri session does not start #61

Open
schnitzeltony opened this issue Jan 5, 2019 · 4 comments
Open

Liri session does not start #61

schnitzeltony opened this issue Jan 5, 2019 · 4 comments
Assignees
Milestone

Comments

@schnitzeltony
Copy link

After going through cmake/linker issues, starting Liri I get a more or less clean log wayland-session.log. That looks way better than few days ago but there is just a 'little' problem: Liri session does not start...

My environment:

  • Machine: RaspberryPi3 / graphics open source mesa / VC4. That works perfectly fine for all Desktops I have - particularly Wayland based ones as Weston / Plasma Wayland
  • Openembedded build / Image contains the Liri components as of [1]. Don't have https://github.com/lirios/wayland in my images: Opened an issue there and response sounded as if that is going to be deprecated.

I think the point of interest is third line in log file:

No usable crtc/encoder pair for connector "Composite1"

This is created by liri-eglfs / QKmsDevice::createScreenForConnector in case QKmsDevice::crtcForConnector returns -1. And now my problem starts:

  • Have not yet found a solution to remote debug this to see why QKmsDevice::crtcForConnector returns -1.
  • Looking at QKmsDevice::crtcForConnector is not exactly helpful to me: Seems there are some black magic binary flags coded/checked - have no idea how/where isPossible / isAvailable bits are set

So I would be thankful for any advice how to get more information out of current environment to see why it fails.

[1] https://github.com/schnitzeltony/meta-qt5-extra/blob/master/recipes-liri/packagegroups/liri-world.bb

@schnitzeltony
Copy link
Author

Did build qtbase for gles instead of gl (desktop). My idea was egl and GLES are friends so try that but it did not work: liri-eglfs does not build for qtbase build for GLES.

@plfiorini plfiorini self-assigned this Jan 19, 2019
schnitzeltony added a commit to schnitzeltony/meta-qt5-extra that referenced this issue Jan 31, 2019
Initially it was intended to enable remote debugging. Now it seems it is
necessary to get liri session started. More background at [1].

[1] lirios/lirios#61

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
@schnitzeltony
Copy link
Author

Party time: After ages Liri is running again on Raspi!!!

What I did:

  • Modified session script so that it starts gdbserver for liri-shell
  • In the first debug sessions I had strange debug session abortions. gdb complained with: "gdbserver unexpected r_debug version 0". Some investigation lead to LIRI_SHELL_DEVELOPMENT_BUILD.
  • Next debug session with LIRI_SHELL_DEVELOPMENT_BUILD [1] enabled segfaulted in QEglFSKmsGbmScreen::recordFrame: Variable funcs was null and that is no suprise: Raspi's VC4 does support 2.0 GL(ES) only - 3.0 is too much for VC4 :) But what made me wonder was that compositor made it to it's first page flip and all variables seemed to contain reasonable data.
  • Created a patch to disable recording by default [2].

With this liri starts up.

I think it needs both modifications - have the feeling that shell's disablePtrace is not working for me.

Aah and next question: Have no icons - so what is the suggested icon-theme for liri?

[1] schnitzeltony/meta-qt5-extra@32f6933
[2] schnitzeltony/meta-qt5-extra@3bde996

@plfiorini
Copy link
Member

Can I see the modified liri-session script?

disablePtrace() disable ptrace (unless LIRI_SHELL_DEVELOPMENT_BUILD is set to ON), but it still allows you to run through gdb, using gdbserver is not allowed.

But as said enabling LIRI_SHELL_DEVELOPMENT_BUILD should bypass disablePtrace() and you'll be fine.

@schnitzeltony
Copy link
Author

Was something like:

[Desktop Entry]
Comment=QtQuick and Wayland based desktop environment
Exec=gdbserver :5000 /usr/bin/liri-shell -platform liri
Icon=start-here
Name=Liri
TryExec=/usr/bin/liri-session
Type=Application

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants