• Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Register
  • Login
UBports Robot Logo UBports Forum
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Register
  • Login

Introducing Miroil

Scheduled Pinned Locked Moved Lomiri (was Unity8)
31 Posts 5 Posters 10.0k Views 6 Watching
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • J Offline
      jonius @alan_g
      last edited by jonius 1 Aug 2021, 19:00 8 Jan 2021, 18:47

      @alan_g
      I was hit by this bug. Now with 3D acceleration enabled most of the smoke tests succeed. Only mir_demo_client_eglplasma still failes. And the unit test I mentioned above continues to fail as well. Will test on separate installation without VM this weekend.

      MIR_SERVER_CURSOR=null QT_QPA_PLATFORM=mirserver qmlscene qml-demo-shell/qml-demo-shell.qml works partially. The circle rotates, but the mouse cursor is not visible and clicking the scale buttons results in file:///home/miroil/qtmir/demos/qml-demo-shell/qml-demo-shell.qml:28: Error: Unknown method parameter type: FormFactor.

      A 1 Reply Last reply 8 Jan 2021, 23:53 Reply Quote 0
      • A Offline
        alan_g @jonius
        last edited by 8 Jan 2021, 23:53

        @jonius said in Introducing Miroil:

        the mouse cursor is not visible

        That's sort of expected. I disabled the cursor in Mir because QtMir tries to set a zero sized image instead of hiding it. And Mir treats that as an error.

        I've not looked at how it works for Lomiri. I suspect it renders its own cursor.

        J 1 Reply Last reply 9 Jan 2021, 23:48 Reply Quote 0
        • J Offline
          jonius @alan_g
          last edited by 9 Jan 2021, 23:48

          @alan_g installed Ubuntu 16.04 on my notebook directly via Ubuntu Touch (ISODrive is a great tool). Unfortunately the situation here is worse than in my VM on an Ubuntu 20.04 host. I guess the outdated amdgpu for my Radeon Vega 8 Graphics in Ubuntu 16.04 is to blame. The demo runs like in the VM, the same unit test fails, but many smoke tests fail:

          I:     mir_demo_client_camera
          I:     mir_demo_client_tooltip
          I:     mir_demo_client_eglsquare
          I:     mir_demo_client_eglplasma
          I:     mir_demo_client_eglstateswitcher
          I:     mir_demo_client_target
          I:     mir_demo_client_scroll
          I:     mir_demo_client_cursors
          I:     mir_demo_client_egltriangle
          I:     mir_demo_client_egldiamond_render_surface
          I:     mir_demo_client_display_config
          I:     mir_demo_client_eglcounter
          I:     mir_demo_client_touch_validator
          I:     mir_demo_client_animated_cursor
          I:     mir_demo_client_pointer_confinement
          I:     mir_demo_client_input_shapes
          I:     mir_demo_client_eglflash
          

          So I guess best is to switch back to my VM? Is the failing tests something I could ignore for now?

          A 1 Reply Last reply 10 Jan 2021, 00:12 Reply Quote 0
          • A Offline
            alan_g @jonius
            last edited by 10 Jan 2021, 00:12

            @jonius said in Introducing Miroil:

            Is the failing tests something I could ignore for now?

            Of course. It will get annoying, but if you know you didn't break the code...

            You've clearly got enough working to try stuff out.

            1 Reply Last reply Reply Quote 0
            • G Offline
              greyback @alan_g
              last edited by 12 Jan 2021, 19:10

              Hey folks,
              I can make this slightly easier with a few handy env vars.

              @alan_g said in Introducing Miroil:

              sudo ln -s /usr/local/lib/qt5/plugins/platforms/libqpa-mirserver.so /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/
              

              Allows Qt to find the platform.

              You can avoid this soft link by setting this env var instead:

              export QT_QPA_PLATFORM_PLUGIN_PATH=/usr/local/lib/qt5/plugins/platforms
              

              @alan_g said in Introducing Miroil:

              So Let's make that easier to find too:

              sudo ln -s /usr/local/lib/qt5/qml/Unity/ /usr/lib/x86_64-linux-gnu/qt5/qml/
              

              Similarly, you can avoid the soft link again and point Qt directly to where those QML plugins live with:

              export QML2_IMPORT_PATH=/usr/local/lib/qt5/qml
              

              Hope this helps
              -G

              1 Reply Last reply Reply Quote 2
              • A Offline
                Aury88
                last edited by Aury88 17 Jan 2021, 10:58

                during the QtMir build with make -j 6 all test I also had the fatal error described by @jonius :

                [ 87%] Building CXX object tests/mirserver/ScreensModel/CMakeFiles/ScreensModelTest.dir/screensmodel_test.cpp.o
                In file included from /home/aurelio/qtmir/src/modules/Unity/Application/mirsurface.h:35:0,
                                 from /home/aurelio/qtmir/tests/modules/SurfaceManager/surface_manager_test.cpp:22:
                /home/aurelio/qtmir/src/modules/Unity/Application/mirbuffersgtexture.h:20:30: fatal error: miroil/mirbuffer.h: Not existing file or directory 
                compilation terminated.
                tests/modules/SurfaceManager/CMakeFiles/surfacemanager_test.dir/build.make:62:  instruction set  for the target "tests/modules/SurfaceManager/CMakeFiles/surfacemanager_test.dir/surface_manager_test.cpp.o" failed
                make[2]: *** [tests/modules/SurfaceManager/CMakeFiles/surfacemanager_test.dir/surface_manager_test.cpp.o] Error 1
                CMakeFiles/Makefile2:2146:  instruction set  for the target "tests/modules/SurfaceManager/CMakeFiles/surfacemanager_test.dir/all" failed
                make[1]: *** [tests/modules/SurfaceManager/CMakeFiles/surfacemanager_test.dir/all] Error 2
                make[1]: *** waiting incomplete process....
                

                and after that

                [ 95%] Built target applicationmanager_test
                Makefile:138: instruction set  for the target  "all" failed
                make: *** [all] Error 2
                
                A 2 Replies Last reply 17 Jan 2021, 11:22 Reply Quote 0
                • A Offline
                  alan_g @Aury88
                  last edited by 17 Jan 2021, 11:22

                  @jonius can you PR your fix? It looks to tidy up the cmake code too.

                  1 Reply Last reply Reply Quote 0
                  • A Offline
                    alan_g @Aury88
                    last edited by alan_g 17 Jan 2021, 11:40

                    @aury88 I'm not sure when I'll be at a computer where I can fix this. In the meantime you could google enough git magic to cherry-pick @jonius's fix.

                    UPDATE: I've pushed a fix for the build error. There's still the test failure noted above.

                    @Aury88 You can get the fix with git pull

                    J 1 Reply Last reply 17 Jan 2021, 17:06 Reply Quote 0
                    • J Offline
                      jonius @alan_g
                      last edited by 17 Jan 2021, 17:06

                      @alan_g does that mean no need for a PR from my side?

                      A A 2 Replies Last reply 17 Jan 2021, 17:38 Reply Quote 0
                      • A Offline
                        Aury88 @jonius
                        last edited by 17 Jan 2021, 17:38

                        @jonius i tried again after the git pull but obtain the same error

                        A 1 Reply Last reply 17 Jan 2021, 17:54 Reply Quote 0
                        • A Offline
                          alan_g @Aury88
                          last edited by 17 Jan 2021, 17:54

                          @aury88 said in Introducing Miroil:

                          @jonius i tried again after the git pull but obtain the same error

                          Sorry, you'll need a git fetch first.

                          A 1 Reply Last reply 17 Jan 2021, 18:06 Reply Quote 0
                          • A Offline
                            alan_g @jonius
                            last edited by 17 Jan 2021, 17:56

                            @jonius said in Introducing Miroil:

                            @alan_g does that mean no need for a PR from my side?

                            Well, I've fixed the compile error, but you modernized the code as well. I think that's still worth a PR.

                            1 Reply Last reply Reply Quote 0
                            • A Offline
                              Aury88 @alan_g
                              last edited by 17 Jan 2021, 18:06

                              @alan_g
                              Oh! so I totally misunderstood that command...reading the documentation seemed to me git pull already encompass a git fetch and a git merge. also I tried the git pull after the make command and that confirmed the local branch was up-to-date. ok, i will try again after the fetch. thank you.

                              1 Reply Last reply Reply Quote 0
                              • A Offline
                                alan_g @jonius
                                last edited by 25 Jan 2021, 09:39

                                @jonius said in Introducing Miroil:

                                @jonius next issue is a failing test (ApplicationManager), which fails here.

                                I had a look over the weekend. The test is failing in the branch I based this off, and I didn't see an obvious cause for it.

                                I probably need to find a better base branch for this work. I really find all these QtMir branches a mystery. Maybe the best one is one of those in the gitlab repo?

                                1 Reply Last reply Reply Quote 0
                                • First post
                                  Last post