@thrrgilag nice!
May I ask what keeps you from uploading the app to the OpenStore? I think it is useful the way it is right now.
@thrrgilag nice!
May I ask what keeps you from uploading the app to the OpenStore? I think it is useful the way it is right now.
@alan_g does that mean no need for a PR from my side?
@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?
@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
.
@povoq with latest Clickable you can test your app in Desktop Mode with CLICKABLE_QT_VERSION=5.12 clickable desktop
. That env var works for debugging on device as well, given you got Qt 5.12 installed there.
@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.
@jonius next issue is a failing test (ApplicationManager
), which fails here.
The demo runs into a segfault as well. (MIR_SERVER_CURSOR=null QT_QPA_PLATFORM=mirserver qmlscene qml-demo-shell/qml-demo-shell.qml
).
btw, I am on Ubuntu 16.04 in a VM.
I can workaround the issue by adding the include directories to the target directly (see Commit). Weird issue...
@alan_g pkg-config
lists the include dir correctly (/usr/local/include/miroil
). I also printed the include dirs in CMake and the directory was there. Running make with VERBOSE=1
shows that it does not get passed to the compiler for some reason:
cd /home/miroil/qtmir/cmake-build-debug/tests/modules/SurfaceManager && /usr/bin/c++ -DGTEST_VERSION_MAJOR=1 -DGTEST_VERSION_MINOR=7 -DGTEST_VERSION_PATCH=0 -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_DISABLE_DEPRECATED_BEFORE=0x050900 -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_NO_KEYWORDS -DQT_QML_LIB -DQT_QUICK_LIB -DQT_SENSORS_LIB -DQT_TESTCASE_BUILDDIR=\"/home/miroil/qtmir/cmake-build-debug\" -DQT_TESTLIB_LIB -DQT_USE_QSTRINGBUILDER -DQT_USING_OPENGL -I/home/miroil/qtmir/cmake-build-debug/tests/modules/SurfaceManager -I/home/miroil/qtmir/tests/modules/SurfaceManager -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/libdrm -I/home/miroil/qtmir/tests/include -I/home/miroil/qtmir/src/common -I/home/miroil/qtmir/src/platforms/mirserver -I/home/miroil/qtmir/src/modules -I/home/miroil/qtmir/tests/framework -isystem /usr/local/include/miral -isystem /usr/local/include/mirclient -isystem /usr/local/include/mircookie -isystem /usr/local/include/mircore -isystem /usr/local/include/mirtest -isystem /usr/local/include/mirserver -isystem /usr/local/include/mirplatform -isystem /usr/local/include/mircommon -isystem /usr/local/include/mirrenderer -isystem /usr/include/uuid -isystem /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -isystem /usr/include/x86_64-linux-gnu/qt5/QtDBus -isystem /usr/include/x86_64-linux-gnu/qt5/QtQml -isystem /usr/include/x86_64-linux-gnu/qt5/QtNetwork -isystem /usr/include/x86_64-linux-gnu/qt5/QtQuick -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtFontDatabaseSupport/5.12.9 -isystem /usr/include/x86_64-linux-gnu/qt5/QtThemeSupport/5.12.9 -isystem /usr/include/x86_64-linux-gnu/qt5/QtEventDispatcherSupport/5.12.9 -isystem /usr/include/x86_64-linux-gnu/qt5/QtEglSupport/5.12.9 -isystem /usr/include/x86_64-linux-gnu/qt5/QtServiceSupport/5.12.9 -isystem /usr/include/x86_64-linux-gnu/qt5/QtSensors -isystem /usr/include/x86_64-linux-gnu/qt5/QtTest -fPIC -Wall -fno-strict-aliasing -Werror -Wextra -O2 -g -DNDEBUG -fPIC -DQT_GUI_LIB -DQT_CORE_LIB -std=gnu++14 -o CMakeFiles/surfacemanager_test.dir/surface_manager_test.cpp.o -c /home/miroil/qtmir/tests/modules/SurfaceManager/surface_manager_test.cpp
At building QtMir I run into
/home/miroil/qtmir/src/modules/Unity/Application/mirbuffersgtexture.h:20:30: fatal error: miroil/mirbuffer.h: No such file or directory
the file is installed at /usr/local/include/miroil/miroil/mirbuffer.h
. It looks like there is one miroil
too much in there. Or is GCC supposed to find it in a sub folder?
See Documentation for how to build the click with dependencies. You can check which dependencies can be installed from Ubuntu 16.04 Xenial repos in a version that fits the requirement. Maybe you'll find also PPAs to provide them. Otherwise you need to build them yourself.
But all of this is mentioned in the documentation linked above.
Great you solved it. Improved documentation is always a big help!
@guru it should be possible, but you would probably need to build and ship a build of GTK+3 with the app. Porting a Qt or HTML based app would be much easier.
@aarontheissueguy does it work in Desktop Mode (clickable desktop
)? Could you upload the whole app and clickable config somewhere (e.g. Gitlab) and provide the link?
Marius mentioned he documented how to build the Lomiri stack in the last Q&A. Are those notes available somewhere already?
I think the biggest hassle in the short run is neither packaging nor the store, but the QML framework and System Integration. It is not too hard to have different packaging configurations in your repo and deploy to different stores.
Pure Maps by @rinigus is a great example on how platform independent mobile linux apps can be done. The most interesting part is the platform abstraction in QML, in my opinion. The app assumes some QML files in a folder called platform, which is just an imaginary interface to Elements like a Button, a Dialog, Clipboard or file chooser (aka Content Hub in UT). Adding support to another platform means to create a new platform folder and implement the interface using the specific platform frameworks stuff. The packager then just links the desired platform folder to platform and builds the app.
Now you may wonder whether it is necessary for each and every app developer to implement each platform support over and over again. And of course it is not. That could be done in one place shared by all apps. Someone has already started that meta-framework-project as a spin-off from Pure Maps, which just needs to be explored and picked up by app developers.
Sure, this won't solve all problems like (push) notification and background services. But it should help a majority of all apps to become available on many platforms.
sudo
should never be necessary when working with Clickable. I guess the spaces in your path caused the issue. If it persists even without spaces, please file a bug. I'd also suggest you have a look at the Clickable Documentation.
The sudo apt install ubuntu-sdk
does not help. Clickable comes with its own docker images containing everything it needs.
Instead of using libertine you could put your server in your home directory and add an upstart service for it. Or create an unconfined app that does the very same, allowing you to use Clickable for compiling, adding dependencies and such.
I didn't touch the README. You downloaded the old 15.04 version. Please build the app for 16.04 using Clickable instead. I don't plan to maintain the app, just wanted to show it is still mostly functional, in case anyone wants to pick it up.
Just my personal opinion: I'd suggest skipping the cross-compiling for now and focus on publishing the app to the Open Store, maybe with a bit of polishing first. I have tried to do the cross-compiling once and it is not straight-forward. Btw, the links on your releases page give 404ers.