Navigation

    UBports Robot Logo

    UBports Forum

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    1. Home
    2. mardy
    3. Posts
    • Profile
    • Following 0
    • Followers 2
    • Topics 11
    • Posts 40
    • Best 23
    • Groups 0

    Posts made by mardy

    • Xiaomi Redmi Note 7 Pro (violet)

      Hi all,
      I started working on porting UT to this device (I have the 6/128GB version). Almost nothing is working at the moment, but I got Unity8 working, at last.

      I've written a blog post with all the gory details in my blog.

      BTW, if you own this device and would like to run UT on it, your best bet is to join this Telegram channel (this is not based on my work).

      Ciao,
      Alberto

      posted in Devices
      mardy
      mardy
    • RE: Introducing Miroil

      @alan_g said in Introducing Miroil:

      What follows may not be the best way to hack Qt, so suggestions are welcome. Starting from the previous post:

      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 also try:

      export QT_PLUGIN_PATH=/usr/local/lib/qt5/plugins
      

      instead of symlinking the Qt plugins. I believe there's no need appending the other system plugins directory as it should be somehow already embedded in the Qt libs.

      Though, if you are using a (virtual) marchine specifically setup for this goal, it might be better to just set the install prefix to the system Qt:

      cmake \
          -DCMAKE_INSTALL_PREFIX=/usr/ \
          -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu \
          ..
      
      posted in Lomiri (was Unity8)
      mardy
      mardy
    • RE: Using QBS for UBports applications

      The arm64 version is now in the store. I have no idea if it works, though 🙂

      Please let me know, if it doesn't work.

      posted in App Development
      mardy
      mardy
    • RE: Using QBS for UBports applications

      @kugiigi Thanks. If I didn't make any mistakes in publishing it, it's here: https://open-store.io/app/it.mardy.lomiri-vnc

      Is the Xperia an arm64? If so, indeed, I didn't build it for arm64. But let me give it a try...

      posted in App Development
      mardy
      mardy
    • Using QBS for UBports applications

      Hi there, I just released a VNC client application which I built using clickable + QBS, probably the only build system which I like.

      I wrote a blog post to announce it, but while writing the post, I realized that there was some information that a developer could find useful, so I'm copying that here:

      Development of a UBports Qt/QML app with QBS

      If, like me, you are a fan of QBS, you might want to have a look at the source code of CuteVNC (yes, the project was born as "Lomiri VNC", but since it's a generic QtQuick.Controls 2 application, there was no need to tie it to the Lomiri environment); there you can find a QBS module for UBports applications, which can help in filling in the manifest file and deploying other Ubuntu Touch specific files into their proper install location.

      You can also see the configuration file to make clickable build a QBS-based project. In my mental task backlog I still have the idea of making clickable support QBS out of the box, but the integration of the two technologies is so easy even now, that I gave this task a quite low priority.

      A class for computing viewport transformations

      Last but not least, a developer might find useful the generic Scaler class I wrote to compute the viewport transformations: it's a simple, QtGui-only C++ class which takes an input structure with the viewport information, and returns a similar structure containing a QTransform matrix to map item coordinates to coordinates in the source object coordinates (in my case, the source object is the remote screen served by VNC) and some other useful parameters, such as the scale, center offset, and the painted area rectangle.

      The class has a 100% line and branch coverage in the unit tests, so I hope I can rely on it.

      posted in App Development
      mardy
      mardy
    • RE: Testers needed for video streaming

      2.) issue is when during playing some media network is not fast enough and buffering of content is necessary, playback is not paused and it will skip part of the media

      I think I noticed this too. I've now reported it as a bug. Thanks!

      posted in OS
      mardy
      mardy
    • Testers needed for video streaming

      Note: the instructions in this post are for expert users only, or for those who don't mind having to reflash their device if something goes wrong.


      Hi there!
      I've lately been working on a native application to watch videos from Youtube and other online services, without ads.

      While the application works on the desktop, in Ubuntu Touch it's totally non functional because the media-hub component supports local media files only.

      After some hacking on the media-hub and qtubuntu-media I got the videos to play, even though the application is still far from stable.

      You can see a video here: https://youtu.be/wTygEsa_Er4

      Now I want to have my patches to media-hub reviewed, but first I need to be relatively sure that they don't introduce regressions. The same component is responsible for playing videos and audio files, so both the Media player and the Music app need to be thoroughly tested.

      If you'd like to help, please install this PPA in your device, which can be done by running the following command from a terminal in the device:

      sudo ubports-qa install xenial_-_remotemedia
      

      This should force the update of the media-hub and qtubuntu-media packages; if that's not happening, another option is to just download the deb files for armhf from here and here and install them manually with dpkg. After doing that, issue the command

      initctl restart media-hub
      

      or (better) restart your device, and verify (with the media player and music applications, mainly) that there are no regressions.

      You can then install the MiTubo click package and try to play some videos from Youtube (following the steps I did in the video linked before), keeping in mind that this could crash and not working reliably. But what I'm mostly interested in knowing is that existing device functionality is not being broken.

      Ciao,
      Alberto

      posted in OS
      mardy
      mardy
    • RE: What the future of accounts?

      Hi @manland!
      I'm the one mostly taking care of the Online Accounts feature, but it's a bit bizarre, because I myself make very little use of the online services we support (Google, Twitter and Facebook), so unless someone notifies me of some bugs, I would hardly notice if they stop working. 🙂

      I would appreciate if you could file a bug (or two, if you find issues with both Facebook and Twitter) in https://github.com/ubports/account-plugins/issues, describing the problem in detail. I don't have a device with me right now, but I'll try reproducing the issue ASAP.

      In general, yes, you should use the Online Accounts feature, because it simplifies life both for you and for the end user, who won't have to login multiple times, when different applications use the same account.

      As for the buteo-sync-plugins-social, the long term plan is to use it, at least to fetch the contacts so that you can have them in your address-book; but it will never be a replacement for a full-featured client, so I very much support your idea of creating a native client. 🙂

      Ciao,
      Alberto

      posted in App Development
      mardy
      mardy
    • RE: Language packs as click packages: call to arms!

      @dobey said in Language packs as click packages: call to arms!:

      @mardy Are we discussing language packs as clicks, or a more general solution to "what apps are installed by default" when flashing a phone? Because those seem like two separate things, and we should not use one of them as a reason to do another thing (or to not do some other different thing instead), I think.

      I'm not using one as a reason to do the other, but rather I'm explaining how I imagine this evolving into, to convince you that we can get a nice user experience even with selectable language packs.

      I also disagree with the idea of anecdotal argumentation of well, it's a waste in the rootfs for me, so why should it be there for others. I think it would be best to not go down this route. There are plenty of things in the rootfs which are meaningless for me too.

      And what I'm suggesting is that, if those things could easily be installed as clicks, and if doing so would save a considerable amount of space, then it's something we might want to try out. It's a question on whether it's worth the effort.
      I did start with language packs because I thought that it would be an easy pick, since they are data-only. And so far it looks like it's something easily doable.

      [...]

      Maybe having langpacks is something we will need to do in the future. But I think right now, we should not rush into this as a solution to the problems we have, as there are plenty of larger concerns at the moment. And if we rush into it, we will be stuck for a long time, even if we discover some other solutions to whatever problem this is meant to solve, instead.

      I'm not requesting that people spend their time on this. If @bhdouglass told me that he has no time to review the changes I'll eventually submit to the Open Store, then I certainly wouldn't force him, but it looks like he likes the idea as well.
      And I'll try not to rush: I do want to see a good implementation of this (especially because, as I said, I plan to apply a similar scheme for navigation data, later on).

      Could I spend my time in a better way? Probably, but I'm doing this as a hobby in my spare time, so I tend to work on those things that interest me first 🙂

      posted in OS
      mardy
      mardy
    • RE: Language packs as click packages: call to arms!

      @dobey said in Language packs as click packages: call to arms!:

      We just got rid of gdbserver/libc-dev, which freed up a huge amount of space. The only reason we have size problems with the image now, is because it's never really been optimized, and we just keep adding new things to it.

      Sure, and soon we'll get rid of Oxide, I guess, so the future is at least a bit rosy. But having this lot of data which I don't need in the rootfs is a waste, you'll agree.

      My aversion to langpacks stems from the fact that they are an anti-feature, and a premature optimization. How they are done is implementation details. One doesn't have to install any extra packages on Android to get foreign language keyboards. Core apps may be fully translated, but vast majority of 3rd party apps will be missing translations. To me, langpacks are just another way to sweep some problems under the carpet, so we end up ignoring them, rather than fixing the real problems.

      It's not a premature optimization, it's a way to get rid of 307 MB (and more, in the future). The way that this feature is exposed in the user interface matters a lot: it can range from the ideal situation (the user doesn't notice, and all the langauges he needs are already on the device) from the worst one (the user needs to open a terminal and type some obscure commands to install the language packs, after which the device enters a reboot loop).

      The way I see it, we are close to ideal situation, for the very simple reason that (unless everybody agrees otherwise) downloadable images having all the language data preinstalled are not going away. As long as the device can accomodate them and users don't complain about lack of space, that's undoubtly the best solution.

      Now, what I want to do is part of a greater and much more evil plan: customizable images (and also, possibly, changing the way that clicks are preinstalled on the device). The idea would be that the flasher tool would offer you an option:

      1. Download and install default image
      2. Download minimal image + select individual click packages

      Case #1 is like nowadays: all languages will be preinstalled. In case #2, the flasher tool would let the user select among click packages to be added on top of the base image: language packs, sure, but also ordinary applications and other click packages types that will appear in the future (I've a plan to add click packages with regional map data and wifi information for location lookup). I haven't yet thought how these will be installed on the device, but thinking out loud, I see these possibilities:

      1. The flasher tool downloads and install the clicks itself
      2. The flasher tool simply writes the list of clicks into a configuration file on the device, which will download and install them during the first boot
      3. Something in between (downloading the clicks from the PC, copying them over, but installing them on first boot)

      The nice thing about this, no matter how we implement it, is that the flasher tool could remember the list of clicks the user has selected, and use it as a default selection for the next time. Or it could also try to read the list of the click packages installed on the connected device and prompt to use that, instead. And I bet there are more possibilities for making users' lives easier that I haven't thought of.

      Anyway, the main idea is to let the user select the extra packages, and remember this list across installations and backups. And I believe that if this is done in the right way, users will on the contrary appreciate the feature (and they could see the device boot up in their own language on the first use, imagine that! 🙂 )

      posted in OS
      mardy
      mardy
    • Anyone using a YI action camera?

      Hi there!
      I'm a happy owner of a YI 4K+ action camera, but unfortunately I haven't been able to use the livestreaming feature because it relies on a companion app which is only provided to Android and iOS users. Until today 🙂

      I've uploaded a YI livestream app in the store which allows you to setup a livestream using any custom rtmp URL. To make things more convenient, I've also integrated it with YouTube, so that you can create YouTube livestream directly from the app. I'll work on doing the same for VK — I myself use Facebook as little as possible, so I won't do the app for it (but if you have time to spare and want to contribute a patch, I won't refuse it!).

      A demo video is also available.

      posted in App Development
      mardy
      mardy
    • RE: Language packs as click packages: call to arms!

      @dobey said in Language packs as click packages: call to arms!:

      A) There's a development list?

      Yes, but it feels like I'm the only one using it 😃

      😎 Please nooooooo. We don't need to have langpacks at all. it's an outdated anti-feature in Ubuntu, created to fit the live ISO on smaller CD-ROMs. We really do not need them. We really should just include support for all languages we support, by default, and optimize irrelevant things out of the image if there are space concerns.

      But we do have this size problem. Saving 300 megabytes is a huge thing. And someday we might want to include text to speech or speech recognition programs, or other language-related features (AFAICT, word prediction is now enabled only for a few languages), so it's easy to predict that this size will grow even more. What exactly is the problem with click language packs?

      I suspect that your adversion to the language packs stems from the way they are used in Ubuntu; if so, I fully agree. I do not understand why we need to have locale data in /usr/share/locale-langpack/ in addition to /usr/share/locale/; and even worse, in some cases we do have the translation files in both directories for the same language/program, where the translations files are different, and I have no clue which one is the authoritative one. So yes, it's a mess. But if you read the code in my rootstock-ng branch you'll understand that I'm not depending on the Ubuntu language packs feature: I need to deal with it since it's there, but my solution would work even if the traditional Ubuntu language packs were not there (and actually, it would work better).

      What I'm doing is just taking the final rootfs and moving data out into clicks. It's a solution that works regardless of how translations end up in the rootfs in the first place.

      posted in OS
      mardy
      mardy
    • Language packs as click packages: call to arms!

      Hi all,
      I've written a length e-mail to the development mailing list here.

      Your input is very appreciated, either in the ML or as a reply to this forum message.

      Ciao,
      Alberto

      posted in OS
      mardy
      mardy
    • Ubports at the Linux Piter conference

      Hello everybody 🙂

      I'm glad to announce that on November 2nd I'll be giving a presentation of Ubports at the 4th Linux Piter conference, which will be held in Saint Petersburg, Russia. The sessions will be recorded, and I'll update this thread with a link to the video, once it gets published (approximately one week after the event).

      The audience, as far as I've understand, will for the most part be composed by IT experts which work on different fields than mobile phones, but I still hope that some of them will become curious about our project.

      Time will tell 🙂

      posted in News
      mardy
      mardy
    • RE: Clickable: Errors during compilation of 'system-settings' app

      The vivid image was never on that server. Indeed, the current crossbuilder does not support Vivid; you could try using an older version, for example this one, but to be honest I'm not very optimistic about the chances of success: I haven't been working with Vivid since a long time.

      posted in Support
      mardy
      mardy
    • RE: HowTo: contributing to app development with crossbuilder

      @matteo said in HowTo: contributing to app development with crossbuilder:

      I'm able now to download the repositories and the installation goes further and further.....until to throw an ultimate error complaining about broken packages. Here it is the new complete logfile:

      https://paste.ubuntu.com/p/NNGs9ChB63/

      You need to edit the debian/control file of the project, and add a <!nocheck> next to xvfb, similarly to how it's done here. That's because this package is only used for running the tests, and tests are not run when using crossbuilder. You can do the same for the python packages.

      After you manage to build the package with crossbuilder, it would be nice if you could create a pull request with your changes, so that the next contributor won't have to go through the same pain. 🙂

      posted in App Development
      mardy
      mardy
    • RE: HowTo: contributing to app development with crossbuilder

      Sorry @matteo, it's just that I don't read the forum everyday. 🙂

      Yes, indeed I meant that you need to add set -x
      The setup phase seems to be OK, I cannot spot any problems there. Now can you please try to create a new container and show the output?

      posted in App Development
      mardy
      mardy
    • RE: HowTo: contributing to app development with crossbuilder

      Yes, copying the folder from GutHub works as well 🙂

      About the logs, I need to see those relative to the first time the container is setup: you should delete all your crossbuilder containers, then run crossbuilder again (with the set -e option as well). Those logs will show all the packages being installed, and I'll hopefully understand why dch is not there. The logs you pasted seem to refer to a situation where the container had already been set up.

      posted in App Development
      mardy
      mardy
    • RE: HowTo: contributing to app development with crossbuilder

      Hi @matteo!
      To update crossbuilder, just go to the directory where it's located and run git pull. As for the error, I would really need to see the full logs, as the real error most likely happens much before that dch line.

      posted in App Development
      mardy
      mardy