Hi all,
I've written a few notes about my plans to add CardDav support to Ubports in the ubports-dev mailing list:
https://list.ubports.com/pipermail/ubports-dev/2018-March/000005.html
Ciao,
Alberto
Hi all,
I've written a few notes about my plans to add CardDav support to Ubports in the ubports-dev mailing list:
https://list.ubports.com/pipermail/ubports-dev/2018-March/000005.html
Ciao,
Alberto
Hi all!
I've recently spent some time to rebuild the kernels for a handful of BQ devices; while my initial goal was to just enable the FM radio on them, I made an unhappy discovery along the way: just building the kernel sources that we have in github does not produce the same kernel that we are currently running in our devices — a few options are different.
So, I spent some time finding what the differences are, and tried to change the kernel configurations so that they would match what we are currently running (and yes, in the process I also enabled the FM radio on them ). Now it's time to give them a week or two of testing, and then we can decide whether to push these kernels to all users.
Please download the kernel for your device:
/proc/config.gz
to this thread and I'll make a build for it.Then, reboot your device to the fastboot mode (POWER + VOL UP, then select "Reboot to bootloader") and run
# Adjust the path as needed
fastboot flash boot /path/to/the/downloaded/boot.img && fastboot reboot
It does not matter what channel you are running on your device.
Ideally, you should see no changes. If you observe a degradation of the power consumption, or if something stops working, please report it here.
Because this is the first step we need to take in order to hope to move these devices to 20.04; I'm not saying that if these kernels work we are all happy and ready to go, but this is a prerequisite. So, please, if you have one of these devices, give it a try, and report back (maybe after a week or two).
Thanks in advance
Hi there!
During the past weeks I've been working on a complete rewrite of the media-hub
service (the client library is, for the time being, untouched) to port it from a hard to maintain codebase which was using the unmaintained dbus-cpp
library and heavy threading, to an event-driven, single-threaded application (if we exclude GStreamer's own threading, of course, but that's well hidden behind GStreamer's APIs) mostly written using Qt classes.
I've tried hard not to change the D-Bus API, and — at least for now — I've kept most of the program logic exactly the same as it was before. I've done my part of testing, and I solved all the issues I've found so far, but given the magnitude of the changes it's likely that I've still left some bugs in there.
So, to those who love risk, I'll be grateful if you'll find some time to test it. There's only one package that needs to be installed, and it's the media-hub_4.6.2*.deb
package from the CI page; just make sure to download the correct one for your architecture. To install it, run
sudo mount -o remount,rw /
sudo dpkg -i media-hub_4.6.2*.deb
and then reboot your device. If you encounter issues, please report them replying to this thread or adding a comment to the merge request, providing the ~/.cache/upstart/media-hub.log
file and, if possible, also the file bustle.log
obtained by keeping the command
busctl --user monitor core.ubuntu.media.Service > bustle.log
running while reproducing the issue.
Hi all!
I wrote a blog post about my adventures with the Redmi Note 7 Pro FM radio chip, which saw a relatively happy ending. For those interested in technical details (or device porters) it might be an interesting read.
For all the others, the point of my message is that I intend to write a system service to handle FM radio. On the application side, it will be possible to use the QRadioTuner C++ APIs or the QML Radio element. No promise on timelines (I do have a handful of higher priority items on my queue), but it should be coming.
Ciao,
Alberto
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
Hi there!
I've been working on a few branches (you can find all the links here) to allow applications which are actively using the location service to continue running in the background, and therefore continue receiving location updates.
If you'd like to help testing this, please run
sudo ubports-qa install xenial_-_locationbg
on your phone, then reboot, and have fun
Please report any issues (including shortning battery life!) by adding a comment to this merge request.
Ciao,
Alberto
Hi all!
Today I uploaded a new version of account-polld
in the ubports overlay PPA, which as far as I understand will be used to create the image for the "devel" channel.
account-polld
is a background process which is always running in your device, and which gets waken up every 5 minutes to check if you have new notifications from your online services. At the moment, it supports gmail, twitter, google-calendar, caldav and dekko (gmail accounts only). This new version doesn't change anything of that, but takes a few steps towards the plan to allow click packages to install their own account-polld plugins.
In this version, account-polld
has been completely rewritten: it has moved from being a monolithic binary written in go to a slimmer Qt/C++ service which runs the plugins as separate processes, on demand. For simplicity, the existing plugins have been reused and are still written in go, but they could be written in any language (they could even be shell scripts!).
Even though this version doesn't offer noticeable changes for the end user, you might be happy to know that the memory footprint of account-polld
has decreased, as reported by top
. Before:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3391 phablet 20 0 919520 12764 8896 S 0,0 1,3 0:00.89 account-polld
and after:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2979 phablet 20 0 60368 6328 5448 S 0,0 0,6 0:00.20 account-polld
It's just a few megabytes (look at the RES
column, and keep in mind these are kilobytes), but on embedded devices every byte counts.
The new account-polld
has been tested and approved while I was still working in Canonical, but things were moving slowly and we never managed to land it. So, it may be that it hides some dragons
I myself use only the gmail plugin, and I've verified that it's working. Notifications for dekko don't appear to be working, but OTOH I haven't seen them with the old account-polld
either. If you are on the devel
channel or have a writable filesystem (install account-polld
and account-polld-plugins-go
from the PPA) please give these new packages a try and report any regressions.
Last but not least, the code for these projects is here:
@joelandsonja said in Pinephone Rant:
I can't tell you how frustrating it is to see more than 50 other phones on the 'supported devices list' that are leagues ahead of the Pinephone, especially when you consider the fact that the Pinephone was made specifically to support the Linux community and it feels like it's being ignored by the developers.
The problem is that the PinePhone is very different from the other devices we support, so even though it is in many ways the best device we could work on, in practice we have much more experience working on Android-based devices, whereas for the PP we have to redo many things from scratch.
I don't mean to sound so rude, but how long are we expected to wait to see some progress?
Speaking for myself, I can tell you that in the next OTA, if everything goes as planned, two PP-specific bugs will be fixed:
It's a drop in the ocean, I know, but this is just to let you know that we haven't forgotten about it - and I don't even have a PP myself.
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
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:
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.
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.
@rvan said in will ubuntu touch ever be upgraded past ubuntu 16.10:
One of these is currently listed as 'inactive' so I want to refrain from residing in this category if possible.
In addition to what @AppLee wrote, another thing to keep in mind is that most device maintainers are volunteers and might stop contributing all of a sudden (for example, if they break or sell their device) or, on the contrary, a new maintainer might pick up an abandoned port. So, unless you pick a device officially supported by the Foundation, the situation will always be volatile.
In general, if you have a device in your hands that is no longer supported, one option is to find a volunteer and buy them a used device to work on
@applee said in New kernel builds: call for testing:
@josevidal
If I'm not mistaken if you switch channel and go back you should trigger a complete flashing of your device.
But I can be wrong...
I'm not sure if switching channels is enough (I guess it is, but I'm also not sure), but for sure reflashing the device with the installer will do it.
Update: I've created a PPA with the installer:
https://launchpad.net/~mardy/+archive/ubuntu/ubports-tools
Now I'll slowly add more devices
@josevidal said in New kernel builds: call for testing:
During the time I have been using the new kernel it seems to me that when I have internet data enabled the battery consumption is higher. When I have the data connection disabled I have not detected any difference in battery consumption.
Linux ubuntu-phablet 3.4.67 #1 SMP PREEMPT Tue Jan 11 22:54:05 MSK 2022 1.2.1_20140721-1138- armv7l armv7l armv7l GNU/Linux with BQ E4.5
Thanks Jose! It would be valuable if you could run a test where you use the data connection for about 1 hour (or at least half hour) with and without this new kernel, to see if it really makes a sensible difference. Better if both tests start from the same level of charge; in other words, it's better if initially the battery is at 100% level. Maybe you can just leave the device idle, but connected to the internet, and see how the battery is like after 1 hour.
Hi there!
In the last few days I've been working on a command-line installer for Ubuntu Touch. The goal is not to replace the current graphical installer, but to have a piece of software written in a language (shell scripting) that is familiar to more developers, and that hopefully would be easier to modify.
I've tried to write it in such a way that it should not be hard to embed it into a graphical application; it's not fully ready for that yet, but if someone familiar with the graphical installer source code wants to try embedding the command-line installer, I can support him
At the moment, this is in very early stages:
cooler
, frieza
, krilling
and vegetahd
I would appreciate if interested people would try it and report back, but for the time being this is for advanced users only. You need to clone the repository and execute the flasher
script from there:
$ ./flasher -h
Usage: flasher [options] [command]
If no command is given, the 'flash' command will be executed by default.
Options:
-b, --bootstrap Also flash the vendor firmware (this option is needed
if the device is currently running a different OS)
-c, --channel <channel> Uses the given channel (default is 'stable')
-d, --device <dev-id> Specifies the connected device (default: autodetect)
-h, --help Show this help screen
-q, --quiet Reduce verbosity level
-v, --verbose Increase verbosity level
--wipe Erase all user data on the device
If you don't own a BQ device but would still like to try it, the existing files under the device_configs/
directory could serve you as an example; the fact that these files are bash scripts, make it possible for the device maintainer to execute almost any type of operation in there (and it is possible to override the default actions). If you manage to write a working config file for your device, please make sure to submit it with a merge request!
@arubislander said in New kernel builds: call for testing:
@sk @mardy Did you get a chance to compile a new kernel for the M10 FHD? If not could you maybe share what steps are needed? I have compiled my own desktop kernel in the past, so I should be OK following instructions. Point me to a more suitable discussion platform is needed.
Not yet, sorry! I've been busy with something else
If you feel like trying, please have a look at the README I added in https://gitlab.com/ubports-legacy-devices/cooler/kernel_bq_m10, because I expect that the steps will be quite similar.
Hi @ungeskriptet, could you please give a try to the fm-radio-service package at https://ci.ubports.com/blue/organizations/jenkins/UBportsCore%2FFM radio service/detail/MR-4/1/artifacts?
Please write your feedback as a comment to https://gitlab.com/ubports/core/fm-radio-service/-/merge_requests/4
Hi all!
I've recently spent some time to rebuild the kernels for a handful of BQ devices; while my initial goal was to just enable the FM radio on them, I made an unhappy discovery along the way: just building the kernel sources that we have in github does not produce the same kernel that we are currently running in our devices — a few options are different.
So, I spent some time finding what the differences are, and tried to change the kernel configurations so that they would match what we are currently running (and yes, in the process I also enabled the FM radio on them ). Now it's time to give them a week or two of testing, and then we can decide whether to push these kernels to all users.
Please download the kernel for your device:
/proc/config.gz
to this thread and I'll make a build for it.Then, reboot your device to the fastboot mode (POWER + VOL UP, then select "Reboot to bootloader") and run
# Adjust the path as needed
fastboot flash boot /path/to/the/downloaded/boot.img && fastboot reboot
It does not matter what channel you are running on your device.
Ideally, you should see no changes. If you observe a degradation of the power consumption, or if something stops working, please report it here.
Because this is the first step we need to take in order to hope to move these devices to 20.04; I'm not saying that if these kernels work we are all happy and ready to go, but this is a prerequisite. So, please, if you have one of these devices, give it a try, and report back (maybe after a week or two).
Thanks in advance
@ungeskriptet said in FM radio: testing instructions and feedback:
@mardy Found it. It's called
vendor.qcom.bluetooth.soc
on my device.phablet@ubuntu-phablet:~$ getprop|grep cherokee [vendor.qcom.bluetooth.soc]: [cherokee]
OK, I'll update the service to check that property too.
@ungeskriptet said in FM radio: testing instructions and feedback:
Hey @mardy, I modified the vendor partition like on Redmi Note 9 Pro for my Poco X3 NFC, which I ported myself and noticed that the FM radio only works after setting
vendor.bluetooth.soc
tocherokee
(It's empty on my device) manually. I could create an overlay for my port which sets that property, but I don't know if it's the best idea or is there something wrong with the FM service?
Wow, good work!! The fm-radio service explicitly checks for that property to be set to cherokee
, but that's just because I saw that the qualcomm FM radio app does the same. You could try to run a getprop
on the device and see if there's some other property which can be used to identify the bluetooth/radio chipset, and then I could add it to the fm-radio-service. Or, indeed, setting that property in the vendor partition would be a solution.