UBports Robot Logo UBports Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login
    1. Home
    2. PerlMax
    P
    Offline
    • Profile
    • Following 0
    • Followers 0
    • Topics 2
    • Posts 12
    • Groups 0

    PerlMax

    @PerlMax

    0
    Reputation
    2
    Profile views
    12
    Posts
    0
    Followers
    0
    Following
    Joined
    Last Online

    PerlMax Unfollow Follow

    Latest posts made by PerlMax

    • RE: Custom builder for a library

      I've finished a first small test application (a simple video player). You can find it under https://github.com/MaxPerl/pefl.maxperl

      All in all, it works pretty well. However, there are a few limitations:

      • I haven't yet managed to get the Wayland engine from efl to work (I'm hoping for Mir 2.x). This may lead to suboptimal performance (especially at the moment no hw acceleration), but more importantly, to an error with rotation. In landscape mode there is a well known Issue with Xwayland: Inputs on the right side of the screen do not work in landscape mode (see also the problem in uWolf, fix could come when this is merged: https://gitlab.com/ubports/development/core/lomiri/-/merge_requests/207). I also can't resolve it through settings X-Lomiri-Rotates-Window-Contents=false and/or X-Lomiri-Supported-Orientations=portrait at the moment (see ubports/development/core/lomiri#184)

      • Maliit virtual keyboard does not work at the moment. Apparently, there’s also a way for Xwayland apps to integrate this via the DBus interface. But right now, that’s too complicated for me. In the meantime, I’ve programmed my own little virtual keyboard (though it’s not really necessary for a video player. You can test it in the file-open dialog at the search field. Works pretty well for me).

      • I’m currently working on a connection to the Content Hub (at least receiving data from other apps would be nice). But it doesn't seem that straightforward if an app doesn't use Qt or QML at all. I've already tried launching the app via Qt/QML instead of a Bash script, but apparently that doesn't work with Xwayland apps? If anyone here has experience with this, I'd appreciate any suggestions. Maybe I’ll start a separate thread regarding Content Hub as well. Surely that should work without Qt/QML????

      Best wishes, Max

      posted in App Development
      P
      PerlMax
    • RE: Custom builder for a library

      Thank you very much for all the suggestions. As a first step, I’m now trying to get the elementary_config configuration program up and running.

      I have now compiled efl for this purpose in a Libertine container under the prefix /opt/click.ubuntu.com/pefl.maxperl/current and am trying to start the program as suggested using the shell script run_config.sh. This allowed me to resolve the error message regarding efreetd and the missing configuration 🙂

      Unfortunately, it still isn't working. Here's the error message I've been getting so far:

      ERR<90576>:elementary ../src/lib/elementary/elm_module.c:114 _elm_module_find_as() Failed to load elementary module: 'prefs_iface': No such file or directory
      ## Copy & Paste the below (until EOF) into a terminal, then hit Enter
      
      eina_btlog << EOF
      
      EOF
      
      ERR<90576>:eina_safety ../src/lib/ecore_evas/ecore_evas.c:3941 ecore_evas_software_x11_new() safety check failed: m == NULL
      ## Copy & Paste the below (until EOF) into a terminal, then hit Enter
      
      eina_btlog << EOF
      [...]
      EOF
      
      ERR<90576>:eina_safety ../src/lib/ecore_evas/ecore_evas.c:4056 ecore_evas_gl_x11_options_new() safety check failed: m == NULL
      ## Copy & Paste the below (until EOF) into a terminal, then hit Enter
      
      eina_btlog << EOF
      [...]
      EOF
      
      ERR<90576>:elementary ../src/lib/elementary/efl_ui_win.c:5572 _elm_win_finalize_internal() Cannot create window.
      ## Copy & Paste the below (until EOF) into a terminal, then hit Enter
      
      eina_btlog << EOF
      [...]
      EOF
      
      ERR<90576>:eo ../src/lib/eo/eo.c:1137 _efl_add_internal_end() Object of class 'Efl.Ui.Win_Legacy' - Not all of the object constructors have been executed.
      ## Copy & Paste the below (until EOF) into a terminal, then hit Enter
      
      eina_btlog << EOF
      [...]
      EOF
      
      ERR<90576>:ecore ../src/lib/ecore/ecore.c:796 _ecore_magic_fail() *** ECORE ERROR: Ecore Magic Check Failed!!! in: ecore_evas_callback_selection_changed_set()
      ## Copy & Paste the below (until EOF) into a terminal, then hit Enter
      
      eina_btlog << EOF
      [...]
      EOF
      
      ERR<90576>:ecore ../src/lib/ecore/ecore.c:798 _ecore_magic_fail()     Input handle pointer is NULL!
      ## Copy & Paste the below (until EOF) into a terminal, then hit Enter
      
      eina_btlog << EOF
      [....]
      EOF
      
      ERR<90576>:ecore ../src/lib/ecore/ecore.c:796 _ecore_magic_fail() *** ECORE ERROR: Ecore Magic Check Failed!!! in: ecore_evas_callback_drop_drop_set()
      ## Copy & Paste the below (until EOF) into a terminal, then hit Enter
      
      eina_btlog << EOF
      [...]
      EOF
      
      ERR<90576>:ecore ../src/lib/ecore/ecore.c:798 _ecore_magic_fail()     Input handle pointer is NULL!
      ## Copy & Paste the below (until EOF) into a terminal, then hit Enter
      
      eina_btlog << EOF
      [...]
      EOF
      
      ERR<90576>:ecore ../src/lib/ecore/ecore.c:796 _ecore_magic_fail() *** ECORE ERROR: Ecore Magic Check Failed!!! in: ecore_evas_callback_drop_motion_set()
      ## Copy & Paste the below (until EOF) into a terminal, then hit Enter
      
      eina_btlog << EOF
      [...]
      EOF
      
      ERR<90576>:ecore ../src/lib/ecore/ecore.c:798 _ecore_magic_fail()     Input handle pointer is NULL!
      ## Copy & Paste the below (until EOF) into a terminal, then hit Enter
      
      eina_btlog << EOF
      [...]
      EOF
      
      ERR<90576>:ecore ../src/lib/ecore/ecore.c:796 _ecore_magic_fail() *** ECORE ERROR: Ecore Magic Check Failed!!! in: ecore_evas_callback_drop_state_changed_set()
      ## Copy & Paste the below (until EOF) into a terminal, then hit Enter
      
      eina_btlog << EOF
      [...]
      EOF
      
      ERR<90576>:ecore ../src/lib/ecore/ecore.c:798 _ecore_magic_fail()     Input handle pointer is NULL!
      ## Copy & Paste the below (until EOF) into a terminal, then hit Enter
      
      eina_btlog << EOF
      [...]
      EOF
      
      ERR<90576>:evas_main ../src/lib/evas/canvas/evas_object_smart.c:746 _efl_canvas_group_efl_object_destructor() efl_canvas_group_del() was not called on this object: 0x40000000638f (Efl.Ui.Win_Legacy)
      ## Copy & Paste the below (until EOF) into a terminal, then hit Enter
      
      eina_btlog << EOF
      [...]
      EOF
      

      Maybe it's because EFL doesn't support Wayland? Or maybe EFL can't find the right display? Everything works perfectly in Libertine... Right now, I'm just at a loss...

      You can find the current status at https://github.com/MaxPerl/pefl.maxperl

      Thanks in advance, Max

      posted in App Development
      P
      PerlMax
    • RE: Custom builder for a library

      @projectmoon Unfortunately this is not enough. The c library searches for config files etc. under the installation prefix (e.g. /usr/share/elementary). Perhaps it would be possible to compile efl at the UT XDG data-dir, but I didn't have luck with this so far 😞 That's why the solution would be to run in a chroot environment (where I could copy the files from the libertine container.. Best wishes, Max

      posted in App Development
      P
      PerlMax
    • RE: Custom builder for a library

      Hello everybody,

      I am trying again to develop a simple pEFL test app. In libertine everything works great. Unfortunately the app won't start outside the libertine environment. Apparently, efl needs to be able to read files in the $HOME directory and some other directories (see https://sourceforge.net/p/enlightenment/mailman/message/58751741/).

      My idea now is to run the app in a chroot environment. Would that be possible for a normal click app? Are there any examples of other apps that do this? Or is that not such a good idea?

      Thanks in advance!
      Max

      posted in App Development
      P
      PerlMax
    • RE: Wi-Fi connection unstable with several websites on UT 24.04

      Changing the DNS server solved the problem 🙂

      posted in Support
      P
      PerlMax
    • RE: Wi-Fi connection unstable with several websites on UT 24.04

      On the tablet manual setting the DNS and setting the option ipv6|4.ignore-auto to "yes" as decribed under https://forums.ubports.com/topic/3857/set-dns-in-ut/4 seems to make the wifi connection much more stable (I used Cloudflare DNS provider). But I have to test it more and longer and let you know whether this solves my problems.

      I also noticed the options edns0 and trust-ad in the /etc/resolv.conf file. Maybe these are causing problems too, but I don't know how to disable them.

      posted in Support
      P
      PerlMax
    • Wi-Fi connection unstable with several websites on UT 24.04

      Dear UT community,

      I have two devices running Ubuntu Touch 24.04 (stable) (FP4 and Lenovo M10 Gen2). Unfortunately, when accessing certain websites (especially my private Matrix server (a subdomain of my private homepage), but also regularly the search with DuckDuckGo), the Wi-Fi connection is unstable in Morph-Browser or the Cinny UT app. In Morph the error "Error: net::ERR_NAME_NOT_RESOLVED" is displayed. In the logs of Cinny the error messages "QObject::killTimer: Timers cannot be started from another thread" and "js: /sync error %s ConnectionError fetch failed: Failed to fetch" stands out. Strangely enough, these sites are accessible in the Min browser or the Waydroid browser. But when I run a ping command in the terminal, I get "Name or service unknown" (though I can ping the IP address).

      Has anyone else had similar issues? What could be causing this?

      I'd really appreciate any help!

      Best regards,
      Max

      posted in Support
      P
      PerlMax
    • RE: Custom builder for a library

      I could built the lib, but starting doesn't work:

      Launching app
      terminate called after throwing an instance of 'std::runtime_error'
        what():  Lost our connection with the registry
      -bash: line 1: 151018 Aborted                 lomiri-app-launch hellopefl.maxperl_hellopefl_1.0.0
      Started: hellopefl.maxperl_hellopefl_1.0.0
      ADB_COMMAND_FAILED
      

      How can I start a app from the terminal, so that I can see error messages?

      Thanks for the hint for the dev group, I will look into it the next days...

      Best wishes
      Max

      posted in App Development
      P
      PerlMax
    • RE: Custom builder for a library

      Good morning, i could compile the app for amd64 architecture 🤗 but cross compiling didn't work:

      /usr/bin/ld: skipping incompatible /usr/lib/aarch64-linux-gnu/libm.a when searching for -lm
      collect2: error: ld returned 1 exit status
      make: *** [Makefile:4178: blib/arch/auto/pEFL/pEFL.so] Error 1
      

      Has someone a clue what's the problem here? Ist arm64 the same as aarch64?

      And for armfh I get the following error:

      In file included from /usr/include/features.h:485,
                       from /usr/include/arm-linux-gnueabihf/sys/types.h:25,
                       from /usr/lib/x86_64-linux-gnu/perl/5.30/CORE/perl.h:697,
                       from lib/pEFL.xs:3:
      /usr/include/arm-linux-gnueabihf/gnu/stubs.h:7:11: fatal error: gnu/stubs-soft.h: No such file or directory
          7 | # include <gnu/stubs-soft.h>
            |           ^~~~~~~~~~~~~~~~~~
      compilation terminated.
      make: *** [Makefile:1057: lib/pEFL.o] Error 1
      

      Thanks in advance,
      Max

      posted in App Development
      P
      PerlMax
    • RE: Custom builder for a library

      Okay, I could build the module with a custom perl script. Now I have the perl module files under build/all/pEFL/install or so.

      How do I get these files into the click package? And what path will these file have when installed?

      Thanks,
      Max

      posted in App Development
      P
      PerlMax