Last week I was in Bluesystems GmbH meeting in Germany, almost 7000 km away from home. While one would hope that this journey is smooth, of-course this was not case for my journey. I missed my phone in first segment of journey (which now is on route to my home as I write). In 4 hours of layover I tried to retrieve my phone but unfortunately it was already with Lost and Found team and getting that would require me going through immigration etc. Thankfuly I had a LG Nexus 5X which I generally use to test out Plasma Mobile builds, In hurry I flashed LineageOS on it and downloaded some basic applications I needed on it. In second lag of journey I spent time copying some of required documents and files to mobile device.
Fast-forward 2 days, my Nexus 5X decided that it is time to give up. After turning off screen, it won’t turn back on. I tried charging it for few hours but no luck. I did not need mobile while I was in meeting, since I was having meeting and stay at same place. I was able to communicate with my family and friends over telegram. But when I needed to travel back home, I realized while I can survive without mobile device, it won’t be largely fun.Preparing PinePhone
While I had no android device with me, I had a PinePhone developer prototype1, which can run Plasma Mobile among others! So I decided to see if I can make use of Plasma Mobile while traveling back? My use-case was in general very limited,
- Minor web browsing
- Hotel check-in
- Boarding train and flights
- Searching for public transport options
I generally don’t use my SIM cards abroad due to high international roaming charges so I didn’t need working calls yet. So with absolute minimal requirement in mind I started setting up my pinephone.Web browsing
Plasma Mobile have a Angelfish web browser, which is using QtWebengine and Kirigami user interface. Out of the box the QtWebengine doesn’t work with Mali400-MP2 being used in the PinePhone, however internally chromium manages the workarounds specific to graphics drivers. One such workaround is available already for the Mali400, however it is tested only with binary driver released by Allwinner, and not opensource Lima driver. So we needed to adjust the workaround to match opensource lima driver as well.--- qtwebengine-everywhere-src-5.13.2/src/3rdparty/chromium/gpu/config/gpu_driver_bug_list.json 2019-08-09 21:46:06.000000000 +0800 +++ qtwebengine-everywhere-src-5.13.2.new/src/3rdparty/chromium/gpu/config/gpu_driver_bug_list.json 2019-12-03 23:49:02.230915250 +0800 @@ -908,8 +908,7 @@ "id": 108, "cr_bugs": , "description": "Mali-4xx does not support GL_RGB format", - "gl_vendor": "ARM.*", - "gl_renderer": ".*Mali-4.*", + "gl_renderer": ".*Mali-*4.*", "features": [ "disable_gl_rgb_format" ]
This patch allows one to browse web using angelfish.Hotel check-in and Boarding train/flights
I was staying in Frankfurt for one day since my flight was early morning next day. So I needed to check in the hotel and also board two trains to reach Frankfurt. While I had paper copy of the bookings with me, using them is boring! wink
I decided to use the itinerary application for checking in the hotel and traveling on trains. Itinerary allows you to import and manage various bookings and boarding passes. While I managed to import the booking for my hotel, I had trouble importing booking for train and my flight’s boarding passes. Investigation of the issue showed that itinerary was not built in neon with zxing-cpp dependency. zxing-cpp allows to scan and decode various types of barcodes and QR codes; Which are commonly used in Flight and Train boarding passes.
I needed to search for public transportation while in Frankfurt. I used ktrip application to find my way around the Frankfurt, in general it is quite easy to use,
- Enter your start point and end point
- Enter the time you want to depart at
- Find connections!
While I can make use of the maps at train station and bus station as well, Being able to get this information directly from your mobile device was quite useful.Communication
During travel I was able to connect with friends, family and colleagues using Telegram messanger, I was able to easily install it using Discover software center. Since I was on KDE Neon, which have it’s own Qt packages I decided to use the version from flathub. While telegram itself worked flowlessly, I had minor annoying issue that if someone sends animated sticker in chat, my Telegram application would crash opening that chat. I haven’t investigated issue further, but it could be bug in telegram or issue with graphics driver, it is hard to tell at moment. While I only wanted to use the Telegram, one can use Kaidan for XMPP and Spectral for Matrix chats as well.Conclusion
Overall it was much smoother experience to use the Plasma Mobile as a daily driver. I realized that while it is definitely not ready for the average user, there are variouse areas where we can improve most and make a impact.
- Working calls: This is absolute must for using daily driver. I hope that we can solve audio routing issues on Pinephone soon.
- Power management: Currently in case of Plasma Mobile, operating system is not optimized for this at all. It is definitely a new horizon for us and we can do lot there.
- User interface responsiveness: I realized that there are lot of places where we can improve the general responsiveness of user interface and application
- More applications: While my usecase was quite limited in terms of what I wanted to do with my phone, I am sure people have very different usecases of their phone and that includes lot more applications then we have currently.
While this blog post is focused on my usage of software on Pine64 PinePhone, If you are looking for hardware review, you can take a look at post by Martijn Braam comparing the Librem 5 and PinePhone hardware. That provides much more detail on hardware of PinePhone.
If you are excited about Linux smartphones and want to help us progressing Plasma Mobile forward, you can reach us at #plasmamobile:kde.org matrix room.
I am happy to announce the v0.1 release of the keysmith.
Keysmith is Two-factor code generator for Plasma Mobile and Desktop.
You can get first release from the
It has been gpg signed by my personal key with fingerprint
0AAC 775B B643 7A8D 9AF7 A3AC FE07 8411 7FBC E11D
Please note that this is a v 0.1 release and there are known issues with Keysmith. In particular the storage of secrets for tokens is not implemented securely yet. Only use this for testing purposes, do not use this with real account data just yet. This release is for you if:
- you are excited about an app for KDE for 2 factor authentication and want to get involved
- you are a packager who want to get a head’s start so you are well prepared for v1.0 when it finally lands
Again, please do not use this for real accounts yet: Keysmith is not secure at this point. But you can help! If you want to help out head over to https://invent.kde.org/kde/keysmith/issues/.
Akademy 2019 was hosted in the Milan, Italy. I had opportunity to attend the event and meet the other KDE developers, designers and users.Talks
There were many interesting talks, including use of opensource in government, flying drones, virtual reality and several community related topics. Honestly it is impossible to list all the awesome talks I attended here, so go and check schedule for list of talks and slides. However I want to highlight the one talk which I gave,Plasma on embedded devices
In Akademy 2018, I gave a talk about Plasma on mobile devices. Talk discussed why it is harder to run a Linux userland on the off-the-shelf mobile devices. This year I and Marco presented a slightly different topic, Plasma on embedded devices. Talk was about what solutions are offered by the KDE community for such embedded devices, and what efforts are being made.
Marco Martin also presented a new shell package, plasma-nano, which is a minimal shell you can extend to create a Plasma based user interfaces for embedded devices.Birds of Feather sessions Gitlab community & Workflow
Gitlab developers Alessio Caiazza, Jacopo Beschi and Ray Paik hosted a BoF session about the Gitlab workflow, and how to contribute to Gitlab. It was interesting BoF to attend. Seeing as KDE is working on adoption of the Gitlab for it’s code-hosting. It was quite useful session to attend.Plasma Mobile
On Tuesday, We hosted a Plasma Mobile BoF, where we discussed topics ranging from general shell user-interface to the applications, topics which were discussed includes,
- File chooser implementation for Plasma Mobile: Currently it just shows the desktop based file dialog, which is not user friendly on mobile
- Start-up speed improvements for shell and applications
- Updating the information on Plasma Mobile website
- Documentation and developer experience, and how to improve it
- Various application specific issues
- Hosting a Plasma Mobile sprint in 2020
- Status of Packaging for Plasma Mobile in various distribution
Overall, it was quite productive BoF, even though we were constrained by the time!Plasma on Devices
As a extension to our talk, Marco and I hosted a “Plasma on devices” BoF. Where we demostrated the Plasma Nano shell. Talked about the infrastructure we have currently in the Plasma, and also talked about how we can make this more interesting for hardware vendors.KDE PIM
As Plasma Mobile is making various improvements, one of the requirement is the personal information management applications like Calender, Email, Contacts will be needed, I attended the KDE PIM BoF to discuss how best these two teams (Plasma Mobile and KDE PIM) can work together, you can find out more details abut this in Volker Krause blog. In general we discussed following topics,
- Moving of KCalendarCore and Kcontacts to KDE Frameworks
- Moving of the KDAV protocol library to KDE Frameworks
- Plugin Infrastructure in the KCalendarCore
- KAccounts integration in the KDEPIM
Indian KDE-ers (is it even word? I made it up) met together to discuss the possible location and dates for next conf.kde.in, and how better we can improve the conf.kde.in organization procedure. There were several possible venues and dates were suggested by the attendees.Sysadmin
Ben Cooksley hosted a KDE sysadmin BoF, where we discussed various topics related to our infrastructure, and scale of data/traffic we have to handle. We also agreed upon some internal todo items to work on in future.Online Accounts Integration in KDE
As a follow-up to KDE PIM BoF, I and Daniel Vrátil hosted a Online Accounts integration BoF, where we discussed various topics,
- Current state of kaccounts infrastructure
- Possible API improvements for KAccounts
- Where we can make use of the KAccounts in KDE
We hosted a BoF session to talk about the KDE Student Programs, Google summer of Code, Season of KDE, and GCI. We also discussed the timeline and structure of Season of KDE program. Short note that I will be attending Google Summer of Code 2019 Mentor summit in Munich later this week.Closing thoughts
Overall quite exciting event, I would like to thank KDE e.V. for sponsoring the accomodation and travel. It is quite awesome to meet community in-person and share ideas, and learn new things!
Calligra sprint 2013 started today. The venue was Thoughtworks office Bangalore. I reached Thoughtworks around 10.45 AM. Shantanu had already booked a room at Thoughtworks for the sprint. There were 5 new faces for me in sprint. 4 were from DA-IICT College and Mani. We talked to each other for a while. Shantanu showed demo of calligra active. Fixed couple of bugs in active( more detail about them will follow in the next blog post). There was a major issue in sheets(when calligra active loads sheets) which we couldn’t resolve. Around 7.30 PM(IST), team in Europe arrived at Linux hotel. The first session was Krita BoF. And we did with help of google hangout. It was nice to see most of them. By 9 PM we had to move out of Thoughtworks. That was the time limit given to us. I had uploaded snaps of today here.