• 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 7 Jan 2021, 19:17

      @alan_g said in Introducing Miroil:

      mir-smoke-test-runner

      I: The following clients failed to execute successfully:
      I:     mir_demo_client_prerendered_frames
      I:     mir_demo_client_animated_cursor
      I:     mir_demo_client_render_surface
      I:     mir_demo_client_basic
      I:     mir_demo_client_flicker
      I:     mir_demo_client_fingerpaint
      I:     mir_demo_client_release_at_exit
      I:     mir_demo_client_eglstateswitcher
      I:     mir_demo_client_wayland
      I:     mir_demo_client_target
      I:     mir_demo_client_tooltip
      I:     mir_demo_client_eglsquare
      I:     mir_demo_client_cursors
      I:     mir_demo_client_egldiamond_render_surface
      I:     mir_demo_client_egltriangle
      I:     mir_demo_client_chain_jumping_buffers
      I:     mir_demo_client_touch_validator
      I:     mir_demo_client_wayland_egl_spinner
      I:     mir_demo_client_progressbar
      I:     mir_demo_client_camera
      I:     mir_demo_client_prompt_session
      I:     mir_demo_client_multiwin
      I:     mir_demo_client_scroll
      I:     mir_demo_client_display_config
      I:     mir_demo_client_screencast
      I:     mir_demo_client_eglcounter
      I:     mir_demo_client_multistream
      I:     mir_demo_client_input_shapes
      I:     mir_demo_client_eglplasma
      I:     mir_demo_client_eglflash
      I:     mir_demo_client_pointer_confinement
      I: Smoke testing complete with returncode -1
      

      I am using VirtualBox. I am not sure how to apply the suggestions in the link. Which VM solution would you suggest? Otherwise I'll install the system again on a separate partition without VM.

      A 1 Reply Last reply 7 Jan 2021, 20:26 Reply Quote 0
      • A Offline
        alan_g @jonius
        last edited by 7 Jan 2021, 20:26

        @jonius I don't have VirtualBox to hand to give detailed instructions. But it should work if you enable "the right" graphics options. Not sure what it's called. Something like 'passthrough' or '3D' maybe?

        J 1 Reply Last reply 8 Jan 2021, 18:47 Reply Quote 0
        • 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