<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Heather Ellsworth &#8211; Purism</title>
	<atom:link href="https://puri.sm/posts/author/heather-ellsworth/feed/" rel="self" type="application/rss+xml" />
	<link>https://puri.sm/</link>
	<description>High-quality laptops that protect your freedom and privacy</description>
	<lastBuildDate>Mon, 09 Nov 2020 16:41:35 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.9.16</generator>

<image>
	<url>https://puri.sm/wp-content/uploads/2020/04/cropped-purism-logo-rectangle-1-32x32.png</url>
	<title>Heather Ellsworth &#8211; Purism</title>
	<link>https://puri.sm/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Librem 5 August Update</title>
		<link>https://puri.sm/posts/librem-5-august-update/</link>
		<pubDate>Wed, 21 Aug 2019 14:36:07 +0000</pubDate>
		<dc:creator><![CDATA[Heather Ellsworth]]></dc:creator>
				<category><![CDATA[Librem 5]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Phones]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=65135</guid>
		<description><![CDATA[<p>Hi Everyone! The Librem 5 team has been hard at work again, and we want to update you all on our software progress. We are preparing everything for the Librem 5 to be delivered soon, and its software will focus on the most critical applications a phone needs: calls, messages and web browsing. There are [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-5-august-update/">Librem 5 August Update</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Hi Everyone! The Librem 5 team has been hard at work again, and we want to update you all on our software progress.</p>
<p dir="auto" data-sourcepos="4:1-9:24">We are preparing everything for the Librem 5 to be delivered soon, and its software will focus on the most critical applications a phone needs: calls, messages and web browsing. There are supporting projects that will be delivered too, like GNOME Settings, the shell, GNOME Initial Setup, and GNOME Contacts. So without further ado, let’s take a tour through the software we will deliver–as well as some other applications that have seen some major changes.</p>
<h2 dir="auto" data-sourcepos="11:1-11:15"><a id="user-content-applications" class="anchor" href="#applications" aria-hidden="true"></a>Applications</h2>
<h3 dir="auto" data-sourcepos="13:1-13:12"><a id="user-content-libhandy" class="anchor" href="#libhandy" aria-hidden="true"></a>Libhandy</h3>
<p dir="auto" data-sourcepos="14:1-20:8">We have made some adaptive dialog improvements to HdyHeaderBar’s back button. There is a really nice <a href="https://gitlab.gnome.org/exalm/pagination-widget" target="_blank" rel="nofollow noreferrer noopener">new pagination widget</a> for the app drawer. A <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/libhandy/merge_requests/297" data-original="general overhaul of the app drawer" data-link="true" data-link-reference="true" data-project="131" data-merge-request="2210" data-project-path="Librem5/libhandy" data-iid="297" data-mr-title="Add HdyPaginator" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">general overhaul of the app drawer</a> is almost finished&#8211;thanks so much, Alexander Mikhaylenko, for all of your hard work on this!</p>
<p dir="auto" data-sourcepos="22:1-23:65">Also, be sure to check out the newly packaged <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/libhandy/merge_requests/295" data-original="demo app" data-link="true" data-link-reference="true" data-project="131" data-merge-request="2155" data-project-path="Librem5/libhandy" data-iid="295" data-mr-title="install libhandy demo and examples" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">demo app</a>.</p>
<p dir="auto" data-sourcepos="22:1-23:65"><img class="aligncenter wp-image-65155 size-large" src="https://puri.sm/wp-content/uploads/2019/08/1024-1017-1024x1017.png" alt="hdy demo" width="640" height="636" srcset="https://puri.sm/wp-content/uploads/2019/08/1024-1017.png 1024w, https://puri.sm/wp-content/uploads/2019/08/1024-1017-150x150.png 150w, https://puri.sm/wp-content/uploads/2019/08/1024-1017-300x298.png 300w, https://puri.sm/wp-content/uploads/2019/08/1024-1017-768x763.png 768w" sizes="(max-width: 640px) 100vw, 640px" /></p>
<p dir="auto" data-sourcepos="25:1-27:69">And Libhandy 0.0.10 has been uploaded to <a href="https://packages.debian.org/sid/libhandy-0.0-0" target="_blank" rel="nofollow noreferrer noopener">Debian</a> and to <a href="https://software.pureos.net/search_pkg?term=libhandy-0.0-0" target="_blank" rel="nofollow noreferrer noopener">PureOS</a>.</p>
<h3 dir="auto" data-sourcepos="29:1-29:9"><a id="user-content-calls" class="anchor" href="#calls" aria-hidden="true"></a>Calls</h3>
<p dir="auto" data-sourcepos="30:1-32:42">We have worked on a few recent main efforts on Calls: adding a calls history, allowing the Contacts app to dial numbers, and enabling the system to receive calls when the shell is locked.</p>
<p dir="auto" data-sourcepos="34:1-37:66">To lay the foundation for the calls history, the <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/calls/merge_requests/58" data-original="records have to be recorded in an SQLite database" data-link="true" data-link-reference="true" data-project="240" data-merge-request="2117" data-project-path="Librem5/calls" data-iid="58" data-mr-title="Call records" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true" data-original-title="" aria-describedby="__BV_popover_1__ __BV_popover_2__">records have to be recorded in an SQLite database</a>. Then, to complete the work, the database was <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/calls/merge_requests/59" data-original="connected to the UI" data-link="true" data-link-reference="true" data-project="240" data-merge-request="2184" data-project-path="Librem5/calls" data-iid="59" data-mr-title="Hook up Recent Calls list to database" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">connected to the UI</a>.</p>
<p dir="auto" data-sourcepos="34:1-37:66"><img class="aligncenter" style="max-width: 256px; margin: 0 auto;" src="https://puri.sm/wp-content/uploads/2019/08/256a-512.png" alt="Calls history" width="256" height="512" /></p>
<p dir="auto" data-sourcepos="39:1-40:62">In order to allow Contacts&#8211;or any other application&#8211;to dial calls, a <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/calls/merge_requests/60" data-original="tel url handler was added to Calls" data-link="true" data-link-reference="true" data-project="240" data-merge-request="2215" data-project-path="Librem5/calls" data-iid="60" data-mr-title="Tel url handler" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true" data-original-title="" aria-describedby="__BV_popover_4__ __BV_popover_5__">tel url handler was added to Calls</a>.</p>
<p dir="auto" data-sourcepos="42:1-46:64">Calls now <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/calls/merge_requests/62" data-original="starts up in a daemon mode when GNOME starts" data-link="true" data-link-reference="true" data-project="240" data-merge-request="2246" data-project-path="Librem5/calls" data-iid="62" data-mr-title="Start up in a new daemon mode when GNOME starts" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true" data-original-title="" aria-describedby="__BV_popover_6__">starts up in a new daemon mode when GNOME starts</a>, so that incoming calls can always be received.</p>
<h3 dir="auto" data-sourcepos="48:1-48:13"><a id="user-content-messaging" class="anchor" href="#messaging" aria-hidden="true"></a>Messaging</h3>
<p dir="auto" data-sourcepos="49:1-51:10">The team fixed several crashes, and the welcome screen was reworked; there is also an ongoing effort to integrate with libfolks, which is used by Contacts.</p>
<p dir="auto" data-sourcepos="53:1-56:90">We continue to improve the SMS plugin, too, and fixed an issue with multipart SMS reception: <a href="https://gitlab.freedesktop.org/mobile-broadband/ModemManager/merge_requests/127" target="_blank" rel="nofollow noreferrer noopener">all SMS fields are initialized as soon as the first part is received</a> (thanks a lot, Aleksander Morgado, for the patch). There is also handling for SMS messages that were received by the modem when Chatty isn’t running, support for delivery reports, and <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/chatty/merge_requests/83" data-original="phone number formatting according to E164" data-link="true" data-link-reference="true" data-project="440" data-merge-request="2125" data-project-path="Librem5/chatty" data-iid="83" data-mr-title="Phone number formatting according to E164" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true" data-original-title="" aria-describedby="__BV_popover_11__">phone number formatting according to E164</a>.</p>
<p dir="auto" data-sourcepos="62:1-63:72">The conversation view was improved by introducing <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/chatty/merge_requests/80" data-original="lazy loading for pulling the chat history" data-link="true" data-link-reference="true" data-project="440" data-merge-request="2056" data-project-path="Librem5/chatty" data-iid="80" data-mr-title="Leland/lazy loading" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true" data-original-title="" aria-describedby="__BV_popover_9__">lazy loading for pulling the chat history</a> patch, which gradually loads the chat log into the conversation view as the user scrolls up. Thanks, Leland Carlye, for the awesome patch!</p>
<h3 dir="auto" data-sourcepos="65:1-65:7"><a id="user-content-gtk" class="anchor" href="#gtk" aria-hidden="true"></a>GTK</h3>
<p dir="auto" data-sourcepos="66:1-68:28">The team added many mobile tweaks: from file chooser dialogs to about dialogs, message dialogs, adaptive presentation dialogs, dialog maximization, and info bars.</p>
<h3 dir="auto" data-sourcepos="70:1-70:16"><a id="user-content-web-browsing" class="anchor" href="#web-browsing" aria-hidden="true"></a>Web Browsing</h3>
<p dir="auto" data-sourcepos="71:1-76:82">We have backported many mobile improvements, which we also included on the devkit image. The <a href="https://gitlab.gnome.org/GNOME/epiphany/merge_requests/370" target="_blank" rel="nofollow noreferrer noopener">Epiphany &#8220;new tab&#8221; page and several other in-viewport pages have been made adaptive</a>, and there is a continued effort to push for <a href="https://gitlab.gnome.org/GNOME/epiphany/merge_requests/357" target="_blank" rel="nofollow noreferrer noopener">Epiphany to adopt HdyPreferencesWindow</a>.</p>
<p dir="auto" data-sourcepos="71:1-76:82"><img class="aligncenter wp-image-65160 size-large" src="https://puri.sm/wp-content/uploads/2019/08/1024a-1016-1024x1016.png" alt="web" width="640" height="635" srcset="https://puri.sm/wp-content/uploads/2019/08/1024a-1016.png 1024w, https://puri.sm/wp-content/uploads/2019/08/1024a-1016-150x150.png 150w, https://puri.sm/wp-content/uploads/2019/08/1024a-1016-300x298.png 300w, https://puri.sm/wp-content/uploads/2019/08/1024a-1016-768x762.png 768w" sizes="(max-width: 640px) 100vw, 640px" /></p>
<p dir="auto" data-sourcepos="78:1-80:52">Soon, you will be able to <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/librem5-base/merge_requests/53" data-original="edit CSS from Epiphany's preferences" data-link="true" data-link-reference="true" data-project="134" data-merge-request="2291" data-project-path="Librem5/librem5-base" data-iid="53" data-mr-title="gnome-all: Add gedit" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">edit CSS from Epiphany&#8217;s preferences</a>; and the search engine management dialog has been ported.</p>
<p dir="auto" data-sourcepos="78:1-80:52">In order to address the <a class="gfm gfm-issue has-tooltip" title="" href="https://source.puri.sm/Librem5/Apps_Issues/issues/92" data-original="application manager overflow issue" data-link="true" data-link-reference="true" data-project="116" data-issue="2524" data-reference-type="issue" data-container="body" data-placement="bottom" data-original-title="GNOME Web Open Application Manager Text Overflow">application manager overflow issue</a>, the <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/epiphany/merge_requests/2" data-original="about: applications now has improved css for responsiveness" data-link="true" data-link-reference="true" data-project="832" data-merge-request="2299" data-project-path="Librem5/epiphany" data-iid="2" data-mr-title="about:applications - improve css for responsiveness" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true" data-original-title="" aria-describedby="__BV_popover_13__">about: applications now has improved CSS for responsiveness</a>.</p>
<h3 dir="auto" data-sourcepos="82:1-82:17"><a id="user-content-initial-setup" class="anchor" href="#initial-setup" aria-hidden="true"></a>Initial Setup</h3>
<p dir="auto" data-sourcepos="83:1-84:136">We have refactored adaptive changes for some long-needed cleanups, which will be submitted upstream eventually.</p>
<p dir="auto" data-sourcepos="83:1-84:136"><img class="aligncenter wp-image-65162 size-full" src="https://puri.sm/wp-content/uploads/2019/08/1024-505.png" alt="gis" width="1024" height="505" srcset="https://puri.sm/wp-content/uploads/2019/08/1024-505.png 1024w, https://puri.sm/wp-content/uploads/2019/08/1024-505-300x148.png 300w, https://puri.sm/wp-content/uploads/2019/08/1024-505-768x379.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<h3 dir="auto" data-sourcepos="86:1-86:12"><a id="user-content-contacts" class="anchor" href="#contacts" aria-hidden="true"></a>Contacts</h3>
<p dir="auto" data-sourcepos="87:1-94:22">We have some brand new functionalities, such as <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/gnome-contacts/merge_requests/18" data-original="new buttons added for making a call and sending and sms" data-link="true" data-link-reference="true" data-project="874" data-merge-request="2207" data-project-path="Librem5/gnome-contacts" data-iid="18" data-mr-title="ContactSheet: Add make call and send sms button" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">new buttons, added for making a call and sending sms</a>.</p>
<p dir="auto" data-sourcepos="87:1-94:22">In preparation for Contacts integration with Calls and Chatty, we have been doing some investigation into <a href="https://wiki.gnome.org/Projects/Folks" target="_blank" rel="nofollow noreferrer noopener">libfolks</a>, <a href="https://github.com/GNOME/gnome-contacts" target="_blank" rel="nofollow noreferrer noopener">gnome-contacts-search-provider</a>, and <a href="https://github.com/GNOME/evolution-data-server" target="_blank" rel="nofollow noreferrer noopener">evolution-data-server</a>. This led us to a <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/gnome-contacts/merge_requests/13" data-original="major refactor of GNOME Contacts" data-link="true" data-link-reference="true" data-project="874" data-merge-request="2101" data-project-path="Librem5/gnome-contacts" data-iid="13" data-mr-title="Use individual directly" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">major refactoring of GNOME Contacts</a>, so as to reduce complexity.</p>
<p dir="auto" data-sourcepos="96:1-104:22">We have added some fixes to <a href="https://gitlab.gnome.org/GNOME/gnome-contacts/merge_requests/81" target="_blank" rel="nofollow noreferrer noopener">avoid crashing when taking a webcam picture</a>, <a href="https://gitlab.gnome.org/GNOME/gnome-contacts/merge_requests/86" target="_blank" rel="nofollow noreferrer noopener">using GNOME 3.32 avatar styles for fallback</a>&#8211;and <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/gnome-contacts/merge_requests/17" data-original="the avatar is no longer cut off" data-link="true" data-link-reference="true" data-project="874" data-merge-request="2172" data-project-path="Librem5/gnome-contacts" data-iid="17" data-mr-title="Avatar: fix #24 avatar is cut off" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">the avatar is no longer cut off</a>. <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/gnome-contacts/merge_requests/14" data-original="A long press for selecting contacts" data-link="true" data-link-reference="true" data-project="874" data-merge-request="2136" data-project-path="Librem5/gnome-contacts" data-iid="14" data-mr-title="Add longpress gesture for selecting contacts" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true" data-original-title="" aria-describedby="__BV_popover_14__">A long press for selecting contacts</a> was also implemented.</p>
<p dir="auto" data-sourcepos="106:1-107:74">We are still working on <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/gnome-contacts/merge_requests/16" data-original="fake persona" data-link="true" data-link-reference="true" data-project="874" data-merge-request="2162" data-project-path="Librem5/gnome-contacts" data-iid="16" data-mr-title="WIP: Fake persona" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">fake persona</a>.</p>
<p dir="auto" data-sourcepos="109:1-110:69"><img class="aligncenter wp-image-65165 size-full" src="https://puri.sm/wp-content/uploads/2019/08/1024-675.png" alt="Contacts" width="1024" height="675" srcset="https://puri.sm/wp-content/uploads/2019/08/1024-675.png 1024w, https://puri.sm/wp-content/uploads/2019/08/1024-675-300x198.png 300w, https://puri.sm/wp-content/uploads/2019/08/1024-675-768x506.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<h3 dir="auto" data-sourcepos="112:1-112:10"><a id="user-content-clocks" class="anchor" href="#clocks" aria-hidden="true"></a>Clocks</h3>
<p dir="auto" data-sourcepos="113:1-115:65">We are working hard to redesign GNOME Clocks for mobile/adaptiveness&#8211;and to <a href="https://gitlab.gnome.org/GNOME/gnome-clocks/issues/30" target="_blank" rel="nofollow noreferrer noopener">get the Alarm UI to use new list patterns</a>.</p>
<h3 dir="auto" data-sourcepos="117:1-117:8">Help</h3>
<p dir="auto" data-sourcepos="118:1-118:35">We did it&#8211;GNOME Help now works on the devkit!</p>
<p dir="auto" data-sourcepos="113:1-115:65"><img class="aligncenter wp-image-65167 style=" style="max-width: 256px; margin: 0 auto;" src="https://puri.sm/wp-content/uploads/2019/08/256b-512.png" alt="GNOME help" width="256" height="512" srcset="https://puri.sm/wp-content/uploads/2019/08/256b-512.png 256w, https://puri.sm/wp-content/uploads/2019/08/256b-512-150x300.png 150w" sizes="(max-width: 256px) 100vw, 256px" /></p>
<h3 dir="auto" data-sourcepos="120:1-120:12"><a id="user-content-settings" class="anchor" href="#settings" aria-hidden="true"></a>Settings</h3>
<p dir="auto" data-sourcepos="121:1-129:48">We are focusing a lot of effort on the WWAN panel, where locked SIM cards are now handled (and there&#8217;s a dialog to enter a PIN to unlock the SIM), data can be enabled and APN can be set, and auto-connect for default APN is also enabled so that it is persistent across device restarts. The UX has been improved too, by <a href="https://gitlab.gnome.org/GNOME/gnome-control-center/merge_requests/505" target="_blank" rel="nofollow noreferrer noopener">using HdyColumn to center align the panel</a> and <a href="https://gitlab.gnome.org/GNOME/gnome-control-center/merge_requests/504" target="_blank" rel="nofollow noreferrer noopener">porting to HdyDialog</a>. Finally, the WWAN panel now also detects multiple modems!</p>
<p dir="auto" data-sourcepos="131:1-146:65">But that&#8217;s not everything: other areas of GNOME Settings have seen adaptive changes too, such as the <a href="https://gitlab.gnome.org/GNOME/gnome-control-center/merge_requests/509" target="_blank" rel="nofollow noreferrer noopener">background panel</a>, <a href="https://gitlab.gnome.org/GNOME/gnome-control-center/merge_requests/510" target="_blank" rel="nofollow noreferrer noopener">search locations dialog</a>, and <a href="https://gitlab.gnome.org/GNOME/gnome-control-center/merge_requests/511" target="_blank" rel="nofollow noreferrer noopener">notifications dialog</a>, which have been made adaptive; the GNOME Online Accounts has also been made adaptive, by <a href="https://gitlab.gnome.org/GNOME/gnome-online-accounts/merge_requests/24" target="_blank" rel="nofollow noreferrer noopener">reducing the account widget margins</a> and <a href="https://gitlab.gnome.org/GNOME/gnome-online-accounts/merge_requests/25" target="_blank" rel="nofollow noreferrer noopener">setting a minimum and natural size</a>&#8211;which required the <a href="https://gitlab.gnome.org/pksadiq/gnome-control-center/commit/65c3bd617f02884b564bd7b43bab83c4e9bf2dc2" target="_blank" rel="nofollow noreferrer noopener">account dialog to be adapted</a>. Plus, we are currently updating the <a href="https://gitlab.gnome.org/GNOME/gnome-control-center/merge_requests/525" target="_blank" rel="nofollow noreferrer noopener">format dialog</a> for the Region panel (in GNOME Online Accounts).</p>
<p dir="auto" data-sourcepos="148:1-152:66"><img class="aligncenter wp-image-65211 size-full" src="https://puri.sm/wp-content/uploads/2019/08/3125-1024.png" alt="Settings" width="3125" height="1024" srcset="https://puri.sm/wp-content/uploads/2019/08/3125-1024.png 3125w, https://puri.sm/wp-content/uploads/2019/08/3125-1024-300x98.png 300w, https://puri.sm/wp-content/uploads/2019/08/3125-1024-768x252.png 768w, https://puri.sm/wp-content/uploads/2019/08/3125-1024-1024x336.png 1024w" sizes="(max-width: 3125px) 100vw, 3125px" /></p>
<p dir="auto" data-sourcepos="148:1-152:66">There&#8217;s a <a href="https://teams.pages.gitlab.gnome.org/Design/web-experiments/adaptive-settings/wifi/" target="_blank" rel="noopener" class="broken_link">new design</a> for the WiFi panel being discussed <a href="https://gitlab.gnome.org/Teams/Design/settings-mockups/issues/8" target="_blank" rel="noopener">upstream</a>, which will need to be implemented once consensus is reached.</p>
<p dir="auto" data-sourcepos="154:1-160:81">Additional adaptive fixes are still under review upstream, and include <a href="https://gitlab.gnome.org/GNOME/gnome-control-center/merge_requests/517" target="_blank" rel="nofollow noreferrer noopener">fixing HiDPi scaling issue of background images</a>, <a href="https://gitlab.gnome.org/GNOME/gnome-control-center/merge_requests/516" target="_blank" rel="nofollow noreferrer noopener">region panel</a>, and <a href="https://gitlab.gnome.org/GNOME/gnome-control-center/merge_requests/518" target="_blank" rel="nofollow noreferrer noopener">privacy panel dialogs</a>.</p>
<h2 dir="auto" data-sourcepos="162:1-162:9"><a id="user-content-system" class="anchor" href="#system" aria-hidden="true"></a>System</h2>
<p dir="auto" data-sourcepos="163:1-165:68">We have a shiny, new, user-friendly terminal for mobile screens called <a href="https://gitlab.gnome.org/ZanderBrown/kgx" target="_blank" rel="nofollow noreferrer noopener">Kings Cross</a>, which is now default on the Librem 5. Thank you so much, Zander Brown, for all of your hard work on this!</p>
<p dir="auto" data-sourcepos="163:1-165:68"><img class="aligncenter wp-image-65170 size-full" style="max-width: 256px; margin: 0 auto;" src="https://puri.sm/wp-content/uploads/2019/08/256c-512.png" alt="" width="256" height="512" srcset="https://puri.sm/wp-content/uploads/2019/08/256c-512.png 256w, https://puri.sm/wp-content/uploads/2019/08/256c-512-150x300.png 150w" sizes="(max-width: 256px) 100vw, 256px" /></p>
<p dir="auto" data-sourcepos="167:1-173:43">We have also set <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/librem5-base/merge_requests/46" data-original="now a default background image" data-link="true" data-link-reference="true" data-project="134" data-merge-request="2055" data-project-path="Librem5/librem5-base" data-iid="46" data-mr-title="Set adwaita phone as background" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true" data-original-title="" aria-describedby="__BV_popover_20__">a default background image</a>. In order to help debugging efforts, <a href="https://source.puri.sm/Librem5/librem5-base/merge_requests/47">debug symbol packages have been added by default</a>. We&#8217;re now <a href="https://source.puri.sm/Librem5/deb-build-jobs/merge_requests/71" target="_blank" rel="noopener">shipping</a> a patched <a href="https://gitlab.freedesktop.org/upower/upower/merge_requests/34" target="_blank" rel="noopener">UPower</a> that detects the devkit&#8217;s charger and power supply.</p>
<p dir="auto" data-sourcepos="175:1-176:79"><a href="https://salsa.debian.org/installer-team/flash-kernel/merge_requests/7" target="_blank" rel="noopener">Support for the Librem 5 has been upstreamed in Debian&#8217;s flash-kernel</a>.</p>
<h3 dir="auto" data-sourcepos="178:1-178:12"><a id="user-content-keyboard" class="anchor" href="#keyboard" aria-hidden="true"></a>Keyboard</h3>
<p dir="auto" data-sourcepos="179:1-192:17">Our team fixed several keyboard crashes, too: <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/squeekboard/merge_requests/80" data-original="keyboard visibility on DBus is properly toggled now" data-link="true" data-link-reference="true" data-project="626" data-merge-request="2072" data-project-path="Librem5/squeekboard" data-iid="80" data-mr-title="EekboardService: Properly toggle keyboard visibility on DBus" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true" data-original-title="" aria-describedby="__BV_popover_22__">keyboard visibility on DBus is properly toggled now</a>, for example, and a <a href="https://github.com/swaywm/wlroots/pull/1759/files" target="_blank" rel="nofollow noreferrer noopener">text-input issue preventing the OSK from showing up automatically in the correct windows</a> is fixed. We also made lots of cleanups across the code base (see <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/squeekboard/merge_requests/39" data-original="some cleanups" data-link="true" data-link-reference="true" data-project="626" data-merge-request="1977" data-project-path="Librem5/squeekboard" data-iid="39" data-mr-title="Some cleanups, and some FIXME hints for future work (no functional changes)" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">some cleanups</a> and <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/squeekboard/merge_requests/105" data-original="imservice cleanups" data-link="true" data-link-reference="true" data-project="626" data-merge-request="2174" data-project-path="Librem5/squeekboard" data-iid="105" data-mr-title="Imservice cleanups" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">imservice cleanups</a> for more detail) as well as getting <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/squeekboard/merge_requests/106" data-original="tests added" data-link="true" data-link-reference="true" data-project="626" data-merge-request="2176" data-project-path="Librem5/squeekboard" data-iid="106" data-mr-title="Rust tests" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">tests added</a>, <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/squeekboard/merge_requests/107" data-original="error-checking made stricter" data-link="true" data-link-reference="true" data-project="626" data-merge-request="2177" data-project-path="Librem5/squeekboard" data-iid="107" data-mr-title="Errors" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">error-checking made stricter</a>, and many other fixes.</p>
<p dir="auto" data-sourcepos="194:1-199:70">Some scaling improvements were made by <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/squeekboard/merge_requests/102" data-original="calculating the scale factor instead of pre-scaling" data-link="true" data-link-reference="true" data-project="626" data-merge-request="2170" data-project-path="Librem5/squeekboard" data-iid="102" data-mr-title="Simplify layout and rendering" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true" data-original-title="" aria-describedby="__BV_popover_25__">calculating the scale factor instead of pre-scaling</a>; <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/squeekboard/merge_requests/56" data-original="honoring the widget scale factor" data-link="true" data-link-reference="true" data-project="626" data-merge-request="2020" data-project-path="Librem5/squeekboard" data-iid="56" data-mr-title="Honor widget scale factor" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true" data-original-title="" aria-describedby="__BV_popover_23__ __BV_popover_27__">honoring the widget scale factor</a>, and <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/squeekboard/merge_requests/112" data-original="setting a constant font size" data-link="true" data-link-reference="true" data-project="626" data-merge-request="2189" data-project-path="Librem5/squeekboard" data-iid="112" data-mr-title="fonts: Reset font size to a constant" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true" data-original-title="" aria-describedby="__BV_popover_21__ __BV_popover_28__ __BV_popover_29__">setting a constant font size</a>.</p>
<p dir="auto" data-sourcepos="201:1-209:73">Additional rendering upgrades included <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/squeekboard/merge_requests/75" data-original="avoiding infinitely redrawing the keyboard" data-link="true" data-link-reference="true" data-project="626" data-merge-request="2063" data-project-path="Librem5/squeekboard" data-iid="75" data-mr-title="keyboard: Schedule widget redraw instead of gdk_window_invalidate_rect" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">avoiding infinitely redrawing the keyboard</a> (since this was making the keyboard blurry, as well as eating up battery and CPU cycles), fixing the <a class="gfm gfm-issue has-tooltip" title="A work in progress: an aspiring young alternative keyboard" href="https://source.puri.sm/Librem5/squeekboard/issues/63" data-original="blurry text and icons" data-link="true" data-link-reference="true" data-project="626" data-issue="4374" data-reference-type="issue" data-container="body" data-placement="bottom">blurry text and icons</a> and <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/squeekboard/merge_requests/108" data-original="making the widget easier to style" data-link="true" data-link-reference="true" data-project="626" data-merge-request="2179" data-project-path="Librem5/squeekboard" data-iid="108" data-mr-title="Use CSS provider instead of custom classes" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">making the widget easier to style</a>. We also <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/squeekboard/merge_requests/123" data-original="added frame rendering" data-link="true" data-link-reference="true" data-project="626" data-merge-request="2225" data-project-path="Librem5/squeekboard" data-iid="123" data-mr-title="Add frame rendering, fix style sheet to show key borders" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">added frame rendering</a>, in order to make the keyboard match the design.</p>
<p dir="auto" data-sourcepos="211:1-217:73"><a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/squeekboard/merge_requests/72" data-original="To avoid hiding content behind the keyboard, LayerSurface improvements were made" data-link="true" data-link-reference="true" data-project="626" data-merge-request="2060" data-project-path="Librem5/squeekboard" data-iid="72" data-mr-title="LayerSurface: Make exclusive zone identical to height" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">To avoid hiding content behind the keyboard, LayerSurface improvements were made</a>&#8211;and newer layer shell code from phosh implemented&#8211;to <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/squeekboard/merge_requests/76" data-original="hide/show the window" data-link="true" data-link-reference="true" data-project="626" data-merge-request="2067" data-project-path="Librem5/squeekboard" data-iid="76" data-mr-title="Hide/show window instead of destroying it" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true" data-original-title="" aria-describedby="__BV_popover_4__ __BV_popover_5__ __BV_popover_6__">hide/show the window</a>, instead of destroying and redrawing it every time. This helped us <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/librem5-base/merge_requests/49" data-original="make squeekboard our default keyboard" data-link="true" data-link-reference="true" data-project="134" data-merge-request="2088" data-project-path="Librem5/librem5-base" data-iid="49" data-mr-title="gnome-base: Make squeekboard the default" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">make squeekboard our default keyboard</a>.</p>
<p dir="auto" data-sourcepos="219:1-220:72"><a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/squeekboard/merge_requests/77" data-original="Sound support is being added in the keyboard" data-link="true" data-link-reference="true" data-project="626" data-merge-request="2069" data-project-path="Librem5/squeekboard" data-iid="77" data-mr-title="WIP Key press sound support" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">Sound support is being added in the keyboard</a>.</p>
<p dir="auto" data-sourcepos="222:1-223:67">And, thanks to Piotr Tworek, we <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/squeekboard/merge_requests/97" data-original="fixed an out-of-bounds memory-read bug" data-link="true" data-link-reference="true" data-project="626" data-merge-request="2137" data-project-path="Librem5/squeekboard" data-iid="97" data-mr-title="Fix out of bounds memory read in get_keymap_from_resource." data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true" data-original-title="" aria-describedby="__BV_popover_7__">fixed an out-of-bounds memory-read bug</a>!</p>
<p dir="auto" data-sourcepos="225:1-229:21"><a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/squeekboard/merge_requests/90" data-original="XKB keymaps are being generated from XML instead of using premade ones" data-link="true" data-link-reference="true" data-project="626" data-merge-request="2111" data-project-path="Librem5/squeekboard" data-iid="90" data-mr-title="Generate XKB keymaps from XML instead of using pre-made ones" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">XKB keymaps are being generated from XML instead of using premade ones</a>, to allow for more keymap flexibility, so we have also decided to make some <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/squeekboard/merge_requests/103" data-original="keyboard geometry adjustments" data-link="true" data-link-reference="true" data-project="626" data-merge-request="2171" data-project-path="Librem5/squeekboard" data-iid="103" data-mr-title="Adjust keyboard geometry" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">keyboard geometry adjustments</a> to make the XML simpler.</p>
<p dir="auto" data-sourcepos="231:1-239:32">The <a class="gfm gfm-issue has-tooltip" title="Navigation between keyboard views" href="https://source.puri.sm/Librem5/squeekboard/issues/38" data-original="navigation between keyboard views" data-link="true" data-link-reference="true" data-project="626" data-issue="4179" data-reference-type="issue" data-container="body" data-placement="bottom">navigation between keyboard views</a> was significantly improved, and <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/squeekboard/merge_requests/99" data-original="landscape orientation" data-link="true" data-link-reference="true" data-project="626" data-merge-request="2153" data-project-path="Librem5/squeekboard" data-iid="99" data-mr-title="Add landscape orientation" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">landscape orientation</a> was added so the keyboard no longer takes up the full screen, being centered instead. Similarly, the keyboard is now <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/squeekboard/merge_requests/104" data-original="centered horizontally" data-link="true" data-link-reference="true" data-project="626" data-merge-request="2173" data-project-path="Librem5/squeekboard" data-iid="104" data-mr-title="Center the keyboard horizontally" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">centered horizontally</a>. We have also started working on improving symbol input, and adding support for non-ASCII languages.</p>
<p dir="auto" data-sourcepos="241:1-242:7">The text-input protocol has been updated; it now supports notifying when no OSK is needed.</p>
<h3 dir="auto" data-sourcepos="244:1-244:22"><a id="user-content-compositor-shell" class="anchor" href="#compositor-shell" aria-hidden="true"></a>Compositor + Shell</h3>
<p dir="auto" data-sourcepos="245:1-257:72">The compositor has seen many fixes by now&#8211;although at first you may hardly notice them. <a href="https://github.com/swaywm/wlroots/pull/1748" target="_blank" rel="nofollow noreferrer noopener">Stack handling</a> works better now, and <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phoc/merge_requests/43" data-original="unmapped surfaces won't be raised in the stack" data-link="true" data-link-reference="true" data-project="686" data-merge-request="2064" data-project-path="Librem5/phoc" data-iid="43" data-mr-title="seat: Don't try to raise unmapped surfaces in stacks" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">unmapped surfaces won&#8217;t be raised in the stack</a>. In order to mitigate any accidental rendering bugs when, for instance, focus rules cause the function to return early, the <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phoc/merge_requests/37" data-original="view damage in set_focus, to where the drawing list is handled, has been moved" data-link="true" data-link-reference="true" data-project="686" data-merge-request="1988" data-project-path="Librem5/phoc" data-iid="37" data-mr-title="seat: Move view damage in set_focus to where the drawing list is handled" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">view damage in set_focus, to where the drawing list is handled, has been moved</a>. Additional work has been done to <a href="https://github.com/swaywm/wlroots/pull/1752" target="_blank" rel="nofollow noreferrer noopener">move the focus back to first shell surface when unfocusing layer surface</a>. To make recent GTK dialog fixes behave properly, <a href="https://github.com/swaywm/wlroots/pull/1753" target="_blank" rel="nofollow noreferrer noopener">maximize/fullscreen state is now taken into account on view init</a>.</p>
<p dir="auto" data-sourcepos="259:1-272:60">The team has also made a few layer surface changes: a <a href="https://github.com/swaywm/wlroots/pull/1756" target="_blank" rel="nofollow noreferrer noopener">layer shell crash</a> was fixed and <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phoc/merge_requests/45" data-original="unused protocols were removed" data-link="true" data-link-reference="true" data-project="686" data-merge-request="2082" data-project-path="Librem5/phoc" data-iid="45" data-mr-title="Remove unused protocols" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">unused protocols were removed</a>.The <a href="https://source.puri.sm/Librem5/phosh/merge_requests/256" target="_blank" rel="noopener">system modal dialogs now match the design much better</a>; the <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phoc/merge_requests/48" data-original="ability to unmaximize auto-maximized layers was removed" data-link="true" data-link-reference="true" data-project="686" data-merge-request="2094" data-project-path="Librem5/phoc" data-iid="48" data-mr-title="view: Don't allow to unmaximize auto-maximized surfaces" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">ability to unmaximize auto-maximized layers was removed</a> to avoid a broken state; we <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phosh/merge_requests/258" data-original="fixed the layer shell show/hide" data-link="true" data-link-reference="true" data-project="118" data-merge-request="2131" data-project-path="Librem5/phosh" data-iid="258" data-mr-title="PhoshLayerSurface: Destroy layer surface on unmap" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">fixed the layer shell show/hide</a>, and now have the ability to <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phosh/merge_requests/263" data-original="use enums as types" data-link="true" data-link-reference="true" data-project="118" data-merge-request="2158" data-project-path="Librem5/phosh" data-iid="263" data-mr-title="Use glib-mkenum" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">use enums as types</a>. Some protection was put in place to <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phoc/merge_requests/57" data-original="guard against negative exclusive zone" data-link="true" data-link-reference="true" data-project="686" data-merge-request="2276" data-project-path="Librem5/phoc" data-iid="57" data-mr-title="layer_shell: Guard against negative exclusive zone" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">guard against negative exclusive zone</a> when surfaces set negative margins.</p>
<p dir="auto" data-sourcepos="274:1-281:22">Other noticeable changes are that you can now <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phosh/merge_requests/248" data-original="close an app from the overview" data-link="true" data-link-reference="true" data-project="118" data-merge-request="2010" data-project-path="Librem5/phosh" data-iid="248" data-mr-title="App closing" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">close an app from the overview</a>, and the <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phosh/merge_requests/279" data-original="keyboard button is hidden when the keyboard is unfolded" data-link="true" data-link-reference="true" data-project="118" data-merge-request="2263" data-project-path="Librem5/phosh" data-iid="279" data-mr-title="PhoshHome: Hide the keyboard button when unfolded" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true" data-original-title="" aria-describedby="__BV_popover_9__">keyboard button is hidden when the keyboard is unfolded</a>.</p>
<p dir="auto" data-sourcepos="283:1-284:11"><img class="aligncenter wp-image-65173 size-full" style="max-width: 256px; margin: 0 auto;" src="https://puri.sm/wp-content/uploads/2019/08/256d-512.png" alt="App overview" width="256" height="512" srcset="https://puri.sm/wp-content/uploads/2019/08/256d-512.png 256w, https://puri.sm/wp-content/uploads/2019/08/256d-512-150x300.png 150w" sizes="(max-width: 256px) 100vw, 256px" /></p>
<p dir="auto" data-sourcepos="283:1-284:11">We have also added <a href="https://github.com/swaywm/wlroots/pull/1757" target="_blank" rel="nofollow noreferrer noopener">touch support in X11 backend</a>!</p>
<p dir="auto" data-sourcepos="286:1-290:31">We were worried about a few compositor crashes, which led us to <a href="https://github.com/swaywm/wlroots/pull/1783">make some input grab fixes for xdg_popups</a> and <a href="https://github.com/swaywm/wlroots/pull/1782" target="_blank" rel="nofollow noreferrer noopener">remove input method&#8217;s resource from the list on destroy</a>.</p>
<p dir="auto" data-sourcepos="292:1-296:64">Other changes we made include <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phoc/merge_requests/51" data-original="dropping the pointer emulation on touch" data-link="true" data-link-reference="true" data-project="686" data-merge-request="2130" data-project-path="Librem5/phoc" data-iid="51" data-mr-title="cursor: Drop btn left emulation for touch" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">dropping the pointer emulation on touch</a> and <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phoc/merge_requests/53" data-original="auto-maximizing before mapping the surface" data-link="true" data-link-reference="true" data-project="686" data-merge-request="2211" data-project-path="Librem5/phoc" data-iid="53" data-mr-title="Auto-maximize before mapping the surface" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">auto-maximizing before mapping the surface</a>, to avoid flicker for example when starting new applications.</p>
<p dir="auto" data-sourcepos="305:1-312:68">Phosh has seen the <a href="https://source.puri.sm/Librem5/phosh/merge_requests/265" target="_blank" rel="noopener">addition of PhoshToplevelManager and PhoshToplevel classes for managing and representing toplevel surfaces</a>; this switches from a private protocol to <a href="https://github.com/swaywm/wlroots/blob/master/protocol/wlr-foreign-toplevel-management-unstable-v1.xml" target="_blank" rel="noopener">wlr-foreign-toplevel-management</a>, which is more complete than our previous private protocol and makes phosh usable with other compositors that implements the new protocol. <a href="https://github.com/swaywm/wlr-protocols/pull/52" target="_blank" rel="noopener">Reporting the surface&#8217;s parent</a> is still pending upstream review.</p>
<p dir="auto" data-sourcepos="282:1-288:91">As you boot your devkit now you&#8217;ll notice that you see your list of favorite apps immediately. This is the result of our recent effort to <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phosh/merge_requests/264" data-original="move the favorites to home screen" data-link="true" data-link-reference="true" data-project="118" data-merge-request="2159" data-project-path="Librem5/phosh" data-iid="264" data-mr-title="Move favorites to home screen" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">move the favorites to home screen</a>&#8211;once again, thanks to Alexander Mikhaylenko, in this case for fixing the sizing of the activities! You&#8217;ll also notice our new <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phosh/merge_requests/270" data-original="animated arrows when folding/unfolding the home screen" data-link="true" data-link-reference="true" data-project="118" data-merge-request="2231" data-project-path="Librem5/phosh" data-iid="270" data-mr-title="PhoshHome: Use CSS animations to change home button arrow direction" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">animated arrows when folding/unfolding the home screen</a>, and <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phosh/merge_requests/269" data-original="fix favorites changing via gsettings" data-link="true" data-link-reference="true" data-project="118" data-merge-request="2230" data-project-path="Librem5/phosh" data-iid="269" data-mr-title="Fix favorites changing via gsettings" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">fix favorites changing via gsettings</a>.</p>
<h3 dir="auto" data-sourcepos="314:1-314:10"><a id="user-content-kernel" class="anchor" href="#kernel" aria-hidden="true"></a>Kernel</h3>
<p dir="auto" data-sourcepos="315:1-317:48">If you haven&#8217;t already, take a moment to read <a href="https://puri.sm/posts/purism-and-the-linux-5-2-kernel/" target="_blank" rel="nofollow noreferrer noopener">our blog post</a> that details the Librem 5 team&#8217;s contributions to the 5.2 kernel.</p>
<p dir="auto" data-sourcepos="319:1-327:49">But a few things have happened since: <a href="https://source.puri.sm/martin.kepplinger/linux-next/tree/i/imx8-5.2-devkit/accel_gyro" class="broken_link">support has been added for our accelerometer and gyroscope</a>, and it&#8217;s been <a href="https://lkml.org/lkml/2019/7/15/357" target="_blank" rel="nofollow noreferrer noopener">submitted upstream</a>. In order to make IIO-sensor-proxy work correctly, we mainlined an <a href="https://lore.kernel.org/linux-iio/20190805164136.6541af1f@archlinux/T/#t" target="_blank" rel="nofollow noreferrer noopener">accelerometer driver bugfix</a>&#8211;meaning we will soon be able to use IIO-sensor-proxy by default and auto-rotate so that we can remove the &#8220;Rotation&#8221; switch in the top bar.. and rely on the sensors to decide the orientation that should be displayed!</p>
<p dir="auto" data-sourcepos="329:1-337:79">We have been working very hard to improve the graphics stack too. <a href="https://gitlab.freedesktop.org/mesa/mesa/merge_requests/1409" target="_blank" rel="nofollow noreferrer noopener">MXSFB support has been added into mesa</a>, and several patches are in review upstream: <a href="https://patchwork.freedesktop.org/series/64185/" target="_blank" rel="nofollow noreferrer noopener">v1 and v2 of the NWL MIPI DSI driver</a>, <a href="https://patchwork.freedesktop.org/series/64292/">v2 of the LCD panel patches to make it work embedded in a <code>panel_bridge</code></a>(which is used by the NWL driver), <a href="https://patchwork.freedesktop.org/series/64300" target="_blank" rel="nofollow noreferrer noopener">v1 of the MXSFB patch to handle NWL timing requirements</a>. <a href="https://lists.freedesktop.org/archives/dri-devel/2019-July/228582.html" target="_blank" rel="nofollow noreferrer noopener">Some tests with MXSFB were fixed</a>.</p>
<p dir="auto" data-sourcepos="339:1-341:69">A couple of minor patches were made to <a href="https://lists.infradead.org/pipermail/linux-arm-kernel/2019-August/670406.html" target="_blank" rel="nofollow noreferrer noopener" class="broken_link">fix a typo in i.MX8MQ reset names</a> and <a href="https://patchwork.freedesktop.org/series/64602/" target="_blank" rel="nofollow noreferrer noopener">IPUV3 kconfig</a>.</p>
<h3 dir="auto" data-sourcepos="343:1-343:74"><a id="user-content-power-management-there-is-an-ongoing-effort-to-better-manage-the-power" class="anchor" href="#power-management-there-is-an-ongoing-effort-to-better-manage-the-power" aria-hidden="true"></a>Power Management</h3>
<p dir="auto" data-sourcepos="343:1-343:74">The team is trying very hard to better manage the power consumption of the phone and reduce the overall temperature: to make sure we don&#8217;t lose basic kernel support, we now <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/librem5-devkit-tools/merge_requests/68" data-original="check for cpuidle sysfs nodes" data-link="true" data-link-reference="true" data-project="448" data-merge-request="2139" data-project-path="Librem5/librem5-devkit-tools" data-iid="68" data-mr-title="tests: Check for cpuidle sysfs nodes" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">check for cpuidle sysfs nodes</a> and <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/librem5-devkit-tools/merge_requests/69" data-original="DRM render node" data-link="true" data-link-reference="true" data-project="448" data-merge-request="2140" data-project-path="Librem5/librem5-devkit-tools" data-iid="69" data-mr-title="tests: Check for drm render node" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">DRM render node</a>. <a href="https://lore.kernel.org/linux-pm/55edd1a1-0120-0f5e-5105-050a4f93e713@puri.sm/T/#t" target="_blank" rel="nofollow noreferrer noopener">We are also working on </a><a href="https://lore.kernel.org/linux-pm/55edd1a1-0120-0f5e-5105-050a4f93e713@puri.sm/T/#mecf31da979ab3e2b05de023ccfe8ab103b025942" target="_blank" rel="noopener">helping NXP to mainline thermal-idle</a> to cool the CPU by idle-injection; to ease kernel updates, we improved kernel tests&#8211;and the CPUs now slow down when hot, instead of overheating and shutting down.</p>
<p dir="auto" data-sourcepos="357:1-358:69">Also, thermal management investigations have led us to a focused effort on <a class="gfm gfm-issue has-tooltip" title="" href="https://source.puri.sm/Librem5/linux-next/issues/64" data-original="S3 suspend/resume" data-link="true" data-link-reference="true" data-project="566" data-issue="4207" data-reference-type="issue" data-container="body" data-placement="bottom" data-original-title="rtcwake can't wake the system from suspend">S3 suspend/resume</a>.</p>
<h2 dir="auto" data-sourcepos="360:1-360:9"><a id="user-content-builds" class="anchor" href="#builds" aria-hidden="true"></a>Builds</h2>
<p dir="auto" data-sourcepos="361:1-365:16"><a href="https://source.puri.sm/Librem5/deb-build-jobs/merge_requests/74/">The mailing list now receives build status mails</a>&#8211;if you&#8217;re interested, you can <a href="https://lists.community.puri.sm/listinfo/librem5-builds" target="_blank" rel="nofollow noreferrer noopener">sign up for librem5-builds@lists.community.puri.sm</a> and receive them.</p>
<p dir="auto" data-sourcepos="367:1-368:87">And the images will soon include <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/deb-build-jobs/merge_requests/83" data-original="our patched version of gnome-settings-daemon" data-link="true" data-link-reference="true" data-project="107" data-merge-request="2214" data-project-path="Librem5/deb-build-jobs" data-iid="83" data-mr-title="Ship patched g-s-d" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true" data-original-title="" aria-describedby="__BV_popover_12__ __BV_popover_13__">our patched version of gnome-settings-daemon</a>.</p>
<h2 dir="auto" data-sourcepos="370:1-370:16"><a id="user-content-documentation" class="anchor" href="#documentation" aria-hidden="true"></a>Documentation</h2>
<p dir="auto" data-sourcepos="371:1-379:41">We have made several updates to the existing documentation: the <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/developer.puri.sm/merge_requests/304" data-original="low-level touchscreen reading hints" data-link="true" data-link-reference="true" data-project="222" data-merge-request="2013" data-project-path="Librem5/developer.puri.sm" data-iid="304" data-mr-title="Update low-level touchscreen reading hints" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">low-level touchscreen reading hints</a>, <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/squeekboard/merge_requests/99" data-original="GNOME platform section" data-link="true" data-link-reference="true" data-project="626" data-merge-request="2153" data-project-path="Librem5/squeekboard" data-iid="99" data-mr-title="Add landscape orientation" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true" data-original-title="" aria-describedby="__BV_popover_14__">GNOME platform section</a>, and <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/developer.puri.sm/merge_requests/307" data-original="application settings" data-link="true" data-link-reference="true" data-project="222" data-merge-request="2160" data-project-path="Librem5/developer.puri.sm" data-iid="307" data-mr-title="Resolve &quot;Clarify how application settings are stored and accessed&quot;" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">application settings</a> have all been updated, for example. We have also made many one-line updates to be able to use recent links, a more recent version of GNOME, etc.</p>
<p dir="auto" data-sourcepos="381:1-383:64">As always, a big “Thanks!” to everyone that has helped review and merge changes into upstream projects; your time and contribution are much appreciated. That’s all for now, folks&#8211;stay tuned for more exciting updates to come!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-5-august-update/">Librem 5 August Update</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Librem 5 July Update</title>
		<link>https://puri.sm/posts/librem-5-july-update/</link>
		<pubDate>Fri, 12 Jul 2019 16:25:24 +0000</pubDate>
		<dc:creator><![CDATA[Heather Ellsworth]]></dc:creator>
				<category><![CDATA[Librem 5]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[FLOSS applications]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Linux kernel]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Videos]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=64648</guid>
		<description><![CDATA[<p>Hi Everyone! The Librem 5 team has been hard at work. and we want to update you all on our software progress. These last few weeks have been heavily focused on polishing the UI and bug fixes, in order to get ready for a string of journalist demos. When we deliver the Librem 5, its [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-5-july-update/">Librem 5 July Update</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p dir="auto" data-sourcepos="1:1-3:78">Hi Everyone! The Librem 5 team has been hard at work. and we want to update you all on our software progress. These last few weeks have been heavily focused on polishing the UI and bug fixes, in order to get ready for a string of journalist demos.</p>
<p dir="auto" data-sourcepos="5:1-10:24">When we deliver the Librem 5, its software will focus on the most critical applications a phone needs: calls, messages, and web browsing. Some supporting projects will be delivered too, like GNOME Settings, the shell, and GNOME Initial Setup. So without further ado, let&#8217;s take a tour through the software we guarantee we&#8217;ll deliver, as well as some other applications that have seen some major changes.</p>
<h2 dir="auto" data-sourcepos="12:1-12:15"><a id="user-content-applications" class="anchor" href="#applications" aria-hidden="true"></a>Applications</h2>
<h3 dir="auto" data-sourcepos="14:1-14:12"><a id="user-content-libhandy" class="anchor" href="#libhandy" aria-hidden="true"></a>Libhandy</h3>
<p dir="auto" data-sourcepos="15:1-21:32">We have made a few minor fixes to libhandy, like <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/libhandy/merge_requests/284" data-original="improving the homogeneity of the login screen buttons" data-link="true" data-link-reference="true" data-project="131" data-merge-request="1778" data-project-path="Librem5/libhandy" data-iid="284" data-mr-title="dialer: Work around GtkGrid row homogeneity" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">improving the homogeneity of the login screen buttons</a>. And <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/libhandy/merge_requests/287" data-original="HdyHeaderBar now has a back button instead of its window decorations if it is placed inside a HdyDialog" data-link="true" data-link-reference="true" data-project="131" data-merge-request="1903" data-project-path="Librem5/libhandy" data-iid="287" data-mr-title="Make HdyHeaderBar have a back button in HdyDialog" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">HdyHeaderBar now has a back button instead of its window decorations if it is placed inside a HdyDialog</a>, to further enable adaptive dialogs.</p>
<h3 dir="auto" data-sourcepos="23:1-23:9"><a id="user-content-calls" class="anchor" href="#calls" aria-hidden="true"></a>Calls</h3>
<p dir="auto" data-sourcepos="24:1-29:54">We made some changes to calls&#8217; UI, to <a class="gfm gfm-issue has-tooltip" title="" href="https://source.puri.sm/Librem5/calls/issues/57" data-original="display digits pressed during a phone call" data-link="true" data-link-reference="true" data-project="240" data-issue="3953" data-reference-type="issue" data-container="body" data-placement="bottom" data-original-title="Add dialed-number display to the pop-up dial pad in the call display">display digits pressed during a phone call</a> and <a class="gfm gfm-issue has-tooltip" title="Use new libhandy widget to lay out the Recent/Contacts/Dial pad parts of the main window" href="https://source.puri.sm/Librem5/calls/issues/56" data-original="use a libhandy widget to switch between recent calls and the dial pad" data-link="true" data-link-reference="true" data-project="240" data-issue="3952" data-reference-type="issue" data-container="body" data-placement="bottom">use a libhandy widget to switch between recent calls and the dial pad</a>. Also, messages (error or otherwise) are now <a class="gfm gfm-issue has-tooltip" title="Fix message display" href="https://source.puri.sm/Librem5/calls/issues/35" data-original="displayed for only a short time" data-link="true" data-link-reference="true" data-project="240" data-issue="1235" data-reference-type="issue" data-container="body" data-placement="bottom">displayed for only a short time</a>. An <a href="https://source.puri.sm/Librem5/use-cases/issues/76">ALSA use case-configuration was added for the devkit&#8217;s SGTL5000 sound card</a>, which also keeps PulseAudio from setting the microphone to mute.</p>
<p dir="auto" data-sourcepos="35:1-36:25"><img class="aligncenter wp-image-64650 size-large" src="https://puri.sm/wp-content/uploads/2019/07/1024-1016-1024x1016.png" alt="Calls" width="640" height="635" srcset="https://puri.sm/wp-content/uploads/2019/07/1024-1016.png 1024w, https://puri.sm/wp-content/uploads/2019/07/1024-1016-150x150.png 150w, https://puri.sm/wp-content/uploads/2019/07/1024-1016-300x298.png 300w, https://puri.sm/wp-content/uploads/2019/07/1024-1016-768x762.png 768w" sizes="(max-width: 640px) 100vw, 640px" /></p>
<h3 dir="auto" data-sourcepos="38:1-38:13">Messages</h3>
<p dir="auto" data-sourcepos="39:1-54:20">We have also made some minor feature additions to Chatty recently. <a class="gfm gfm-issue has-tooltip" title="Please add &#96;--safe-mode&#96;" href="https://source.puri.sm/Librem5/chatty/issues/113" data-original="A &lt;code&gt;--safe-mode&lt;/code&gt; option has been added" data-link="true" data-link-reference="true" data-project="440" data-issue="2797" data-reference-type="issue" data-container="body" data-placement="bottom">A <code>--safe-mode</code> option has been added</a>, so that if one of a user&#8217;s many accounts is failing, it becomes easier to find which one is at fault. If an account validation fails, there is now an <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/chatty/merge_requests/53" data-original="account validation retry" data-link="true" data-link-reference="true" data-project="440" data-merge-request="1789" data-project-path="Librem5/chatty" data-iid="53" data-mr-title="Reactivate account validation for retry" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">account validation retry</a>; and the <a class="gfm gfm-issue has-tooltip" title="About dialog has no close button" href="https://source.puri.sm/Librem5/chatty/issues/122" data-original="about dialog is easier to close" data-link="true" data-link-reference="true" data-project="440" data-issue="3337" data-reference-type="issue" data-container="body" data-placement="bottom">about dialog is easier to close</a>. When a new contact is added, <a class="gfm gfm-issue has-tooltip" title="Adding a second contact should start out empty" href="https://source.puri.sm/Librem5/chatty/issues/143" data-original="the template is cleared of previous info" data-link="true" data-link-reference="true" data-project="440" data-issue="4073" data-reference-type="issue" data-container="body" data-placement="bottom">the template is cleared of previous info</a>, and the chat history list is now ordered so that <a class="gfm gfm-issue has-tooltip" title="Sort order conversations list" href="https://source.puri.sm/Librem5/chatty/issues/26" data-original="the newest chat is at the top of the history" data-link="true" data-link-reference="true" data-project="440" data-issue="1018" data-reference-type="issue" data-container="body" data-placement="bottom">the newest chat is at the top of the history</a>. <a class="gfm gfm-issue has-tooltip" title="Determine message-list height for proper content placement" href="https://source.puri.sm/Librem5/chatty/issues/45" data-original="Message list height is now used to improve content placement" data-link="true" data-link-reference="true" data-project="440" data-issue="1139" data-reference-type="issue" data-container="body" data-placement="bottom">Message list height is now used to improve content placement</a>, and the <a class="gfm gfm-commit has-tooltip" title="Message bubbles: de-duplicate CSS, nicer shadows, color tweaks" href="https://source.puri.sm/tobias.bernard/chatty/commit/4555b661ce37fd473075ea7e55cd0cdf3b77ca7b" data-original="styling of the message bubbles has been improved" data-link="true" data-link-reference="true" data-project="899" data-commit="4555b661ce37fd473075ea7e55cd0cdf3b77ca7b" data-reference-type="commit" data-container="body" data-placement="bottom">styling of the message bubbles has also been improved</a> by tweaking the CSS.</p>
<p dir="auto" data-sourcepos="56:1-65:22">We have addressed some severe issues as well: a <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/chatty/merge_requests/76" data-original="crash related to buddy list" data-link="true" data-link-reference="true" data-project="440" data-merge-request="1983" data-project-path="Librem5/chatty" data-iid="76" data-mr-title="buddy list: Steal pointer that is g_autofree()" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">buddy list-</a><a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/chatty/merge_requests/76" data-original="crash related to buddy list" data-link="true" data-link-reference="true" data-project="440" data-merge-request="1983" data-project-path="Librem5/chatty" data-iid="76" data-mr-title="buddy list: Steal pointer that is g_autofree()" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">related </a><a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/chatty/merge_requests/76" data-original="crash related to buddy list" data-link="true" data-link-reference="true" data-project="440" data-merge-request="1983" data-project-path="Librem5/chatty" data-iid="76" data-mr-title="buddy list: Steal pointer that is g_autofree()" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">crash</a>, a <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/chatty/merge_requests/54" data-original="crash related to the history" data-link="true" data-link-reference="true" data-project="440" data-merge-request="1806" data-project-path="Librem5/chatty" data-iid="54" data-mr-title="history: Use a sufficiently sized string" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">history-related crash</a> and a <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/chatty/merge_requests/55" data-original="memory leak" data-link="true" data-link-reference="true" data-project="440" data-merge-request="1835" data-project-path="Librem5/chatty" data-iid="55" data-mr-title="chatty_conv_parse_message: Plug a leak" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">memory leak</a> were fixed. <a class="gfm gfm-issue has-tooltip" title="Chatty crashes if open before SIM activates" href="https://source.puri.sm/Librem5/chatty/issues/138" data-original="chatty waits until the modem is ready before the SMS account is active" data-link="true" data-link-reference="true" data-project="440" data-issue="3690" data-reference-type="issue" data-container="body" data-placement="bottom">Chatty now waits until the modem is ready, before the SMS account is active</a>&#8211;and <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/chatty/merge_requests/65" data-original="Some remaining purple_log parsing functions were removed" data-link="true" data-link-reference="true" data-project="440" data-merge-request="1922" data-project-path="Librem5/chatty" data-iid="65" data-mr-title="added ddbb support for last message info, replacing log-parsing impl" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">some remaining purple_log parsing functions were removed</a> so as to fix a <a class="gfm gfm-issue has-tooltip" title="Chatty coredumps (on empty message file?) after startup" href="https://source.puri.sm/Librem5/chatty/issues/142" data-original="crash" data-link="true" data-link-reference="true" data-project="440" data-issue="4058" data-reference-type="issue" data-container="body" data-placement="bottom">crash</a>&#8211;thanks to Leland Carlyle for the patch!</p>
<h4 dir="auto" data-sourcepos="67:1-67:8"><a id="user-content-sms" class="anchor" href="#sms" aria-hidden="true"></a>SMS</h4>
<p dir="auto" data-sourcepos="68:1-71:6"><a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/purple-mm-sms/merge_requests/2" data-original="startup connection, reconnection and plugin state have been improved" data-link="true" data-link-reference="true" data-project="405" data-merge-request="1911" data-project-path="Librem5/purple-mm-sms" data-iid="2" data-mr-title="Improve startup connection, reconnection and plugin state handling" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">Startup connection, reconnection and plugin state have been improved</a>&#8211;and an <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/chatty/merge_requests/59" data-original="auto-reconnect" data-link="true" data-link-reference="true" data-project="440" data-merge-request="1893" data-project-path="Librem5/chatty" data-iid="59" data-mr-title="Add auto-reconnect for IM and SMS accounts" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">auto-reconnect</a> was added.</p>
<p dir="auto" data-sourcepos="73:1-75:20"><img class="aligncenter wp-image-64652 size-full" style="max-width: 256px; margin: 0 auto;" src="https://puri.sm/wp-content/uploads/2019/07/256-512.png" alt="Chatty sms" width="256" height="512" srcset="https://puri.sm/wp-content/uploads/2019/07/256-512.png 256w, https://puri.sm/wp-content/uploads/2019/07/256-512-150x300.png 150w" sizes="(max-width: 256px) 100vw, 256px" /></p>
<h4 dir="auto" data-sourcepos="77:1-77:9"><a id="user-content-xmpp" class="anchor" href="#xmpp" aria-hidden="true"></a>XMPP</h4>
<p dir="auto" data-sourcepos="78:1-81:64"><a class="gfm gfm-issue has-tooltip" title="Integrate and test an interface for the Lurch plugin" href="https://source.puri.sm/Librem5/chatty/issues/118" data-original="Testing and integration of the Lurch plugin" data-link="true" data-link-reference="true" data-project="440" data-issue="3145" data-reference-type="issue" data-container="body" data-placement="bottom">Testing and integration of the Lurch plugin</a> is completed, and it is even being <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/lurch/merge_requests/1" data-original="built as a package" data-link="true" data-link-reference="true" data-project="863" data-merge-request="1941" data-project-path="Librem5/lurch" data-iid="1" data-mr-title="build: link against -lpurple too" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">built as a package</a>!</p>
<h3 dir="auto" data-sourcepos="83:1-83:7"><a id="user-content-gtk" class="anchor" href="#gtk" aria-hidden="true"></a>GTK</h3>
<p dir="auto" data-sourcepos="84:1-89:6">GTK 3 is stable upstream, but we need to make some parts of it adaptive for the phone (e.g. the open file dialog), and so we will ship it with some downstream patches&#8211;but we are still interested in upstreaming the changes to GTK 3 (if there is interest), and aim to get them into GTK 4. These downstream changes have been added to our build jobs, so that it is shipped on the devkit image.</p>
<p dir="auto" data-sourcepos="91:1-95:54">Our GTK 3 changes also include a lot of dialog work: the file chooser and about dialogs have been ported to the phone; the message dialog has also been ported to the phone, by making their buttons vertical. Also, transient windows and dialogs with a close-button will now have a back-button instead. Resizable windows (hence, most of them minus message dialogs) will be maximized to fill the screen.</p>
<h3 dir="auto" data-sourcepos="97:1-97:16"><a id="user-content-web-browsing" class="anchor" href="#web-browsing" aria-hidden="true"></a>Web Browsing</h3>
<p dir="auto" data-sourcepos="98:1-106:42">In general, we made a serious effort to <a href="https://gitlab.gnome.org/GNOME/epiphany/merge_requests/162" target="_blank" rel="nofollow noreferrer noopener">overhaul the preferences windows</a>. The <a class="gfm gfm-issue has-tooltip" title="Make Web's history windows fit the phone" href="https://source.puri.sm/Librem5/Apps_Issues/issues/74" data-original="history also does not overflow the screen" data-link="true" data-link-reference="true" data-project="116" data-issue="1295" data-reference-type="issue" data-container="body" data-placement="bottom">history does not overflow the screen</a> anymore, and all the <a href="https://gitlab.gnome.org/GNOME/epiphany/merge_requests/368" target="_blank" rel="nofollow noreferrer noopener">data management dialogs have been overhauled</a> to work better on the phone and look nicer in general (&#8220;history&#8221;, &#8220;cookies&#8221;, &#8220;passwords&#8221; and &#8220;personal data&#8221; dialogs). Web is now using a mobile user agent too, and most websites look better on the phone.</p>
<p dir="auto" data-sourcepos="98:1-106:42"><a href="https://gitlab.gnome.org/GNOME/epiphany/merge_requests/275" target="_blank" rel="nofollow noreferrer noopener">The tabs popover has been turned into a tabs page</a>, taking the whole window, and it looks great. Plus, the tabs icon has been replaced by a new <a href="https://gitlab.gnome.org/GNOME/epiphany/merge_requests/318" target="_blank" rel="nofollow noreferrer noopener">icon, showing the number of tabs you have open</a>. Thanks so much to Christopher Davis and Alexander Mikhaylenko for these additions!</p>
<p dir="auto" data-sourcepos="114:1-115:66">We are also building WebKit now, to provide <a class="gfm gfm-issue has-tooltip" title="Fling gesture for rapid scroll" href="https://source.puri.sm/Librem5/Apps_Issues/issues/121" data-original="rapid scrolling" data-link="true" data-link-reference="true" data-project="116" data-issue="3643" data-reference-type="issue" data-container="body" data-placement="bottom">rapid scrolling</a>.</p>
<p dir="auto" data-sourcepos="117:1-118:25"><img class="aligncenter wp-image-64653 size-large" src="https://puri.sm/wp-content/uploads/2019/07/1024-1020-1024x1020.png" alt="Epiphany" width="640" height="638" srcset="https://puri.sm/wp-content/uploads/2019/07/1024-1020.png 1024w, https://puri.sm/wp-content/uploads/2019/07/1024-1020-150x150.png 150w, https://puri.sm/wp-content/uploads/2019/07/1024-1020-300x300.png 300w, https://puri.sm/wp-content/uploads/2019/07/1024-1020-768x765.png 768w" sizes="(max-width: 640px) 100vw, 640px" /></p>
<h3 dir="auto" data-sourcepos="120:1-120:17"><a id="user-content-initial-setup" class="anchor" href="#initial-setup" aria-hidden="true"></a>Initial Setup</h3>
<p dir="auto" data-sourcepos="121:1-121:59">GNOME initial setup has mostly been ported to the Librem 5!</p>
<h3 dir="auto" data-sourcepos="123:1-123:12"><a id="user-content-contacts" class="anchor" href="#contacts" aria-hidden="true"></a>Contacts</h3>
<p dir="auto" data-sourcepos="124:1-129:74"><a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/gnome-contacts/merge_requests/6" data-original="Work is underway to port GNOME Contacts to the Librem 5" data-link="true" data-link-reference="true" data-project="874" data-merge-request="1865" data-project-path="Librem5/gnome-contacts" data-iid="6" data-mr-title="Librem5 port" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">We are working hard to port GNOME Contacts to the Librem 5</a>. One of the issues we tackled was <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/gnome-contacts/merge_requests/8" data-original="fix the birthday picker and make it adaptive" data-link="true" data-link-reference="true" data-project="874" data-merge-request="1880" data-project-path="Librem5/gnome-contacts" data-iid="8" data-mr-title="contact-editor: fix birthday picker and make it adaptive" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">fixing the birthday picker and making it adaptive</a>&#8211;and one other awesome change was <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/gnome-contacts/merge_requests/9" data-original="the UX/UI has been improved for unlinking contacts" data-link="true" data-link-reference="true" data-project="874" data-merge-request="1912" data-project-path="Librem5/gnome-contacts" data-iid="9" data-mr-title="contact-editor: improve UX/UI for unlinking contacts" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">improving </a><a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/gnome-contacts/merge_requests/9" data-original="the UX/UI has been improved for unlinking contacts" data-link="true" data-link-reference="true" data-project="874" data-merge-request="1912" data-project-path="Librem5/gnome-contacts" data-iid="9" data-mr-title="contact-editor: improve UX/UI for unlinking contacts" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">the UX/UI for unlinking contacts</a>.</p>
<p dir="auto" data-sourcepos="131:1-132:25"><img class="aligncenter wp-image-64654 size-full" src="https://puri.sm/wp-content/uploads/2019/07/727-661-max.png" alt="Contacts" width="727" height="661" srcset="https://puri.sm/wp-content/uploads/2019/07/727-661-max.png 727w, https://puri.sm/wp-content/uploads/2019/07/727-661-max-300x273.png 300w" sizes="(max-width: 727px) 100vw, 727px" /></p>
<h3 dir="auto" data-sourcepos="134:1-134:10"><a id="user-content-clocks" class="anchor" href="#clocks" aria-hidden="true"></a>Clocks</h3>
<p dir="auto" data-sourcepos="135:1-137:70">We all know that time is important and cannot be ignored&#8230; and that is why <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/deb-build-jobs/merge_requests/56" data-original="GNOME Clocks has been ported to the dev kit" data-link="true" data-link-reference="true" data-project="107" data-merge-request="1798" data-project-path="Librem5/deb-build-jobs" data-iid="56" data-mr-title="Add GNOME Clocks" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">GNOME Clocks has been ported to the devkit</a>!</p>
<p dir="auto" data-sourcepos="139:1-140:25"><img class="aligncenter wp-image-64655 size-large" src="https://puri.sm/wp-content/uploads/2019/07/1024-507-1024x507.png" alt="Clocks" width="640" height="317" srcset="https://puri.sm/wp-content/uploads/2019/07/1024-507.png 1024w, https://puri.sm/wp-content/uploads/2019/07/1024-507-300x149.png 300w, https://puri.sm/wp-content/uploads/2019/07/1024-507-768x380.png 768w" sizes="(max-width: 640px) 100vw, 640px" /></p>
<h3 dir="auto" data-sourcepos="142:1-142:12"><a id="user-content-settings" class="anchor" href="#settings" aria-hidden="true"></a>Settings</h3>
<p dir="auto" data-sourcepos="143:1-152:66">We are currently working on porting GNOME Settings to the Librem 5, and so far, our effort has been mostly focused on the <a href="https://source.puri.sm/Librem5/gnome-control-center/tree/wip/sadiq/wwan-panel">WWAN/Cellular panel</a> (see the <a href="https://gitlab.gnome.org/Teams/Design/settings-mockups/blob/master/cellular/cellular-panel-adaptive.png" target="_blank" rel="noopener">cellular panel design</a>); users can now select Network Operator, either manually or automatic, set the allowed modem mode (like 2G only, 3G only, 3G and 4G, etc), and set/change/disable the PIN for their SIM card. The groundwork has also been laid for configuring the APN settings tied to the SIM card, by using <a href="https://gitlab.gnome.org/GNOME/mobile-broadband-provider-info" target="_blank" rel="nofollow noreferrer noopener">mobile-broadband-provider-info</a> and nm-applet APIs, so users can select a default APN via the dialog&#8211;and also save them to NetworkManager connections. Roaming can now be set/unset as well.</p>
<p dir="auto" data-sourcepos="154:1-156:20"><img class="aligncenter wp-image-64656 size-full" style="max-width: 256px; margin: 0 auto;" src="https://puri.sm/wp-content/uploads/2019/07/256-512a.png" alt="Cellular" width="256" height="512" srcset="https://puri.sm/wp-content/uploads/2019/07/256-512a.png 256w, https://puri.sm/wp-content/uploads/2019/07/256-512a-150x300.png 150w" sizes="(max-width: 256px) 100vw, 256px" /></p>
<h2 dir="auto" data-sourcepos="158:1-158:9"><a id="user-content-system" class="anchor" href="#system" aria-hidden="true"></a>System</h2>
<p dir="auto" data-sourcepos="160:1-161:80">The <a href="https://arm01.puri.sm/job/Images/job/Image%20Build/" target="_blank" rel="nofollow noreferrer noopener">latest images</a> are now using a 5.2 kernel, have a new keyboard, lots of UI improvements, and more!</p>
<h3 dir="auto" data-sourcepos="163:1-163:12"><a id="user-content-keyboard" class="anchor" href="#keyboard" aria-hidden="true"></a>Keyboard</h3>
<p dir="auto" data-sourcepos="164:1-165:73">We are so happy to tell you about one of the major changes since the last blog post: we now have a new keyboard, <a href="https://source.puri.sm/Librem5/squeekboard/">squeekboard</a>!</p>
<p dir="auto" data-sourcepos="167:1-169:20"><img class="aligncenter wp-image-64657 size-full" style="max-width: 256px; margin: 0 auto;" src="https://puri.sm/wp-content/uploads/2019/07/256-512b.png" alt="Squeekboard" width="256" height="512" srcset="https://puri.sm/wp-content/uploads/2019/07/256-512b.png 256w, https://puri.sm/wp-content/uploads/2019/07/256-512b-150x300.png 150w" sizes="(max-width: 256px) 100vw, 256px" /></p>
<p dir="auto" data-sourcepos="171:1-173:53">The <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/squeekboard/merge_requests/33" data-original="keyboard now indicates when you've pressed a key" data-link="true" data-link-reference="true" data-project="626" data-merge-request="1952" data-project-path="Librem5/squeekboard" data-iid="33" data-mr-title="Improve key rendering and eliminate two deprecation warnings" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">keyboard now indicates when you&#8217;ve pressed a key</a>&#8211;many thanks to Hysterical Raisins for helping us <em>prune</em> this issue!</p>
<h3 dir="auto" data-sourcepos="175:1-175:22"><a id="user-content-compositor-shell" class="anchor" href="#compositor-shell" aria-hidden="true"></a>Compositor + Shell</h3>
<p dir="auto" data-sourcepos="176:1-185:67">We have mentioned before that the compositor will be switched from rootston to a new phone compositor using the wlroots library (<a href="https://source.puri.sm/Librem5/phoc">phoc</a>), and now <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/librem5-base/merge_requests/40" data-original="phoc is the default" data-link="true" data-link-reference="true" data-project="134" data-merge-request="1840" data-project-path="Librem5/librem5-base" data-iid="40" data-mr-title="Use phoc by default" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">phoc <em>is</em> the default</a> compositor. Phoc has seen some recent bug fixes, like <a class="gfm gfm-issue has-tooltip" title="Compositor freezes after 5 minutes of inactivity" href="https://source.puri.sm/Librem5/phoc/issues/30" data-original="regarding logind integration" data-link="true" data-link-reference="true" data-project="686" data-issue="3977" data-reference-type="issue" data-container="body" data-placement="bottom">regarding login integration</a> and <a class="gfm gfm-issue has-tooltip" title="Hide the mouse cursor when no mouse is connected" href="https://source.puri.sm/Librem5/phoc/issues/31" data-original="hiding the cursor when there is no external mouse connected" data-link="true" data-link-reference="true" data-project="686" data-issue="3978" data-reference-type="issue" data-container="body" data-placement="bottom">hiding the cursor when there is no external mouse connected</a>. <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/wlroots/merge_requests/45" data-original="touch events are not lost when destroying a surface" data-link="true" data-link-reference="true" data-project="121" data-merge-request="1830" data-project-path="Librem5/wlroots" data-iid="45" data-mr-title="wlr_seat_touch: Don't destroy touch point with surface" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">Touch events are now not lost when destroying a surface</a>.</p>
<p dir="auto" data-sourcepos="176:1-185:67">The look and feel of the shell is always improving, getting closer to what we are familiar with on smart phones&#8211;and there have been lots of changes in the shell! <a href="https://source.puri.sm/Librem5/phosh/tags/v0.0.3">Phosh v0.0.3 has just been released</a>, featuring so many of these cool changes!</p>
<p dir="auto" data-sourcepos="193:1-201:67">We also made sure dialogs are <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phosh/merge_requests/214" data-original="now wrapped" data-link="true" data-link-reference="true" data-project="118" data-merge-request="1792" data-project-path="Librem5/phosh" data-iid="214" data-mr-title="Wrap system model gcr dialogs" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">now wrapped</a> to better fit the narrow screen, there have been some <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phosh/merge_requests/217" data-original="spacing improvements" data-link="true" data-link-reference="true" data-project="118" data-merge-request="1799" data-project-path="Librem5/phosh" data-iid="217" data-mr-title="Minor visual fixes" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">spacing improvements</a>, <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phosh/merge_requests/199" data-original="CSS changes to phosh" data-link="true" data-link-reference="true" data-project="118" data-merge-request="1757" data-project-path="Librem5/phosh" data-iid="199" data-mr-title="Css" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">CSS changes to phosh</a> (to bring the shell closer to matching the <a href="https://gitlab.gnome.org/Teams/Design/os-mockups/tree/master/mobile-shell" target="_blank" rel="nofollow noreferrer noopener">design</a>), and improvements in the <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phosh/merge_requests/209" data-original="system modal dialogs have been improved" data-link="true" data-link-reference="true" data-project="118" data-merge-request="1782" data-project-path="Librem5/phosh" data-iid="209" data-mr-title="System dialogs css" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">system modal dialogs</a>. <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phosh/merge_requests/215" data-original="Many translations have been added and updated to phosh" data-link="true" data-link-reference="true" data-project="118" data-merge-request="1795" data-project-path="Librem5/phosh" data-iid="215" data-mr-title="po: Update translations from zanata" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">Many translations have been added and updated to phosh</a>&#8211;thanks to the community for <a href="https://developer.puri.sm/Librem5/Contact/Contributing/Translations.html" target="_blank" rel="nofollow noreferrer noopener">contributing</a> them via zanata&#8211;and <a href="https://source.puri.sm/Librem5/phosh/merge_requests/241/">Libhandy is now built as a subproject of phosh</a>, so thanks, Zander Brown, for the patch!</p>
<p dir="auto" data-sourcepos="211:1-219:55">The lockscreen looks much more modern than it did a few weeks ago; we added <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phosh/merge_requests/211" data-original="The date has been added" data-link="true" data-link-reference="true" data-project="118" data-merge-request="1787" data-project-path="Librem5/phosh" data-iid="211" data-mr-title="Add date to lockscreen" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">the date</a>, and fixed an issue regarding <a class="gfm gfm-issue has-tooltip" title="Phosh WiFi doesn't show on time-out lock-screen" href="https://source.puri.sm/Librem5/phosh/issues/111" data-original="WiFi not showing on the lock screen all the time" data-link="true" data-link-reference="true" data-project="118" data-issue="4028" data-reference-type="issue" data-container="body" data-placement="bottom">WiFi not showing on the lock screen all the time</a>. To keep the lockscreen arrow animation from eating up too much battery, <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phosh/merge_requests/229" data-original="the arrow animation is stopped after 15 cycles" data-link="true" data-link-reference="true" data-project="118" data-merge-request="1921" data-project-path="Librem5/phosh" data-iid="229" data-mr-title="Lockscreen: Stop arrow animation after 15 cycles" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">that arrow animation is stopped after 15 cycles</a>. Also, the battery icon now indicates when the board is receiving power too&#8211;take a look at the new start screen below, as it now <a class="gfm gfm-issue has-tooltip" title="Add weekday and date to lockscreen" href="https://source.puri.sm/Librem5/phosh/issues/101" data-original="includes a weekday and date" data-link="true" data-link-reference="true" data-project="118" data-issue="3858" data-reference-type="issue" data-container="body" data-placement="bottom">includes the weekday and date</a>!</p>
<p dir="auto" data-sourcepos="221:1-223:20"><img class="aligncenter wp-image-64664 size-full" style="max-width: 256px; margin: 0 auto;" src="https://puri.sm/wp-content/uploads/2019/07/256-512c.png" alt="Login screen" width="256" height="512" srcset="https://puri.sm/wp-content/uploads/2019/07/256-512c.png 256w, https://puri.sm/wp-content/uploads/2019/07/256-512c-150x300.png 150w" sizes="(max-width: 256px) 100vw, 256px" /></p>
<p dir="auto" data-sourcepos="225:1-229:66">We have been making some <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phosh/merge_requests/216" data-original="changes to the overview too" data-link="true" data-link-reference="true" data-project="118" data-merge-request="1796" data-project-path="Librem5/phosh" data-iid="216" data-mr-title="Home screen fixes" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">changes to the overview too</a>, to make sure the user is focused on the main applications. The <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phosh/merge_requests/210" data-original="system prompter LayerSurface has been made to behave more like regular GTK+ widgets" data-link="true" data-link-reference="true" data-project="118" data-merge-request="1786" data-project-path="Librem5/phosh" data-iid="210" data-mr-title="PhoshLayerShell: Don't realize layer shell's right away" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">system prompter LayerSurface has been made to behave more like regular GTK widgets</a>.</p>
<p dir="auto" data-sourcepos="231:1-244:54">And since wallpapers are important to most of us, there was a focus on the background: we added a <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phosh/merge_requests/227" data-original="PhoshBackgroundManager" data-link="true" data-link-reference="true" data-project="118" data-merge-request="1885" data-project-path="Librem5/phosh" data-iid="227" data-mr-title="PhoshBackgroundManager: Add manager to handle multiple outputs" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">PhoshBackgroundManager</a>, and <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phosh/merge_requests/220" data-original="backgrounds are re-enabled" data-link="true" data-link-reference="true" data-project="118" data-merge-request="1842" data-project-path="Librem5/phosh" data-iid="220" data-mr-title="shell: Activate background again" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">backgrounds have been re-enabled</a>. The background is <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phosh/merge_requests/238" data-original="drawn at full resolution on HiDPI screens" data-link="true" data-link-reference="true" data-project="118" data-merge-request="1948" data-project-path="Librem5/phosh" data-iid="238" data-mr-title="PhoshBackground: Draw the wallpaper at full resolution on HiDPI screens" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">drawn at full resolution on HiDPI screens</a>, too! <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phosh/merge_requests/225" data-original="Background zoom mode was implemented" data-link="true" data-link-reference="true" data-project="118" data-merge-request="1869" data-project-path="Librem5/phosh" data-iid="225" data-mr-title="Implement background zoom mode" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">Background zoom mode was implemented</a>, <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phosh/merge_requests/228" data-original="background colors are now supported" data-link="true" data-link-reference="true" data-project="118" data-merge-request="1908" data-project-path="Librem5/phosh" data-iid="228" data-mr-title="Support background color setting" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">background colors are now supported</a> (besides wallpapers), and the <a class="gfm gfm-issue has-tooltip" title="Background positioning" href="https://source.puri.sm/Librem5/phosh/issues/6" data-original="background surface has been modified so that it's not hidden behind a panel" data-link="true" data-link-reference="true" data-project="118" data-issue="287" data-reference-type="issue" data-container="body" data-placement="bottom">background surface has been modified so that it&#8217;s not hidden behind a panel</a> in order for a wallpaper to be centered.</p>
<p dir="auto" data-sourcepos="246:1-248:20"><img class="aligncenter wp-image-64665 size-full" style="max-width: 256px; margin: 0 auto;" src="https://puri.sm/wp-content/uploads/2019/07/256-512d.png" alt="Home screen" width="256" height="512" srcset="https://puri.sm/wp-content/uploads/2019/07/256-512d.png 256w, https://puri.sm/wp-content/uploads/2019/07/256-512d-150x300.png 150w" sizes="(max-width: 256px) 100vw, 256px" /></p>
<p dir="auto" data-sourcepos="250:1-252:52">A lot of work has gone into the app switcher too, <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phosh/merge_requests/240" data-original="which has been overhauled" data-link="true" data-link-reference="true" data-project="118" data-merge-request="1971" data-project-path="Librem5/phosh" data-iid="240" data-mr-title="Rework app switcher" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">which has been overhauled</a>&#8211;thanks to Zander Brown for all of his work on this!</p>
<p dir="auto" data-sourcepos="254:1-256:20"><img class="aligncenter wp-image-64666 size-full" style="max-width: 256px; margin: 0 auto;" src="https://puri.sm/wp-content/uploads/2019/07/256-512e.png" alt="App switcher" width="256" height="512" srcset="https://puri.sm/wp-content/uploads/2019/07/256-512e.png 256w, https://puri.sm/wp-content/uploads/2019/07/256-512e-150x300.png 150w" sizes="(max-width: 256px) 100vw, 256px" /></p>
<p dir="auto" data-sourcepos="258:1-262:79">And if all this wasn&#8217;t enough, we have fixed a few bugs, such as a pesky <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phoc/merge_requests/36" data-original="pixel offset issue" data-link="true" data-link-reference="true" data-project="686" data-merge-request="1963" data-project-path="Librem5/phoc" data-iid="36" data-mr-title="view: Take usable area into account when centering views" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">pixel offset issue</a> and that annoying flickering on boot that we reduced by changing the <a class="gfm gfm-merge_request" title="" href="https://source.puri.sm/Librem5/phoc/merge_requests/32" data-original="lockscreen background to black" data-link="true" data-link-reference="true" data-project="686" data-merge-request="1909" data-project-path="Librem5/phoc" data-iid="32" data-mr-title="render: Clear to black background" data-reference-type="merge_request" data-container="body" data-placement="bottom" data-mr-listener-added="true">lockscreen background to black</a>, since the shell&#8217;s background is black too (desktop background is configurable).</p>
<div style="width: 480px;" class="wp-video"><!--[if lt IE 9]><script>document.createElement('video');</script><![endif]-->
<video class="wp-video-shortcode" id="video-64648-1" width="480" height="848" poster="https://puri.sm/wp-content/uploads/2019/07/256-512c.png" preload="auto" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/07/less-flickering-on-boot.mp4?_=1" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/07/less-flickering-on-boot.webm?_=1" /><a href="https://puri.sm/wp-content/uploads/2019/07/less-flickering-on-boot.mp4">https://puri.sm/wp-content/uploads/2019/07/less-flickering-on-boot.mp4</a></video></div>
<h3 dir="auto" data-sourcepos="268:1-268:10"><a id="user-content-kernel" class="anchor" href="#kernel" aria-hidden="true"></a>Kernel</h3>
<p dir="auto" data-sourcepos="269:1-274:81">Since we upstreamed the devkit&#8217;s device tree, the natural next step afterwards was to start on the Librem 5&#8217;s device tree&#8211;and <a class="gfm gfm-issue has-tooltip" title="" href="https://source.puri.sm/Librem5/linux-next/issues/11" data-original="the first cut of the phone device tree is available here" data-link="true" data-link-reference="true" data-project="566" data-issue="2711" data-reference-type="issue" data-container="body" data-placement="bottom" data-original-title="Write a devicetree for the librem5 phone">the first cut of the phone device tree is available here</a>. We also submitted the <a href="https://salsa.debian.org/installer-team/flash-kernel/merge_requests/7" target="_blank" rel="nofollow noreferrer noopener">flash-kernel upstream</a>; both cpufreq and cpuidle are working and there is a noticeable temperature (5-10°C) drop; and when it comes to the graphics stack, one more driver for the imx8MQ display-driver <a href="https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=f4c8116e294b12c360b724173f4b79f232573fb1" target="_blank" rel="nofollow noreferrer noopener">has been merged upstream</a>&#8211;only two more to go! We also made some <a href="https://lists.freedesktop.org/archives/dri-devel/2019-June/224193.html" target="_blank" rel="nofollow noreferrer noopener">devkit LCD panel improvements</a>, and version 12 of the Mixel MIPI DPHY driver <a href="https://lists.infradead.org/pipermail/linux-arm-kernel/2019-June/661867.html" target="_blank" rel="nofollow noreferrer noopener" class="broken_link">has been accepted upstream</a>!</p>
<h2 dir="auto" data-sourcepos="287:1-287:16"><a id="user-content-documentation" class="anchor" href="#documentation" aria-hidden="true"></a>Documentation</h2>
<p dir="auto" data-sourcepos="288:1-303:8">The guide on <a href="https://developer.puri.sm/Librem5/Development_Environment/Boards/HowTo/Wireless_Networking.html" target="_blank" rel="nofollow noreferrer noopener">setting up WiFi</a> has been improved by us, and we also provide more guidance on debugging <a href="https://developer.puri.sm/Librem5/Development_Environment/Boards/Troubleshooting/Debugging.html" target="_blank" rel="nofollow noreferrer noopener">compositor crashes</a> and <a href="https://developer.puri.sm/Librem5/Development_Environment/Boards/Troubleshooting/LCD_Problems.html" target="_blank" rel="nofollow noreferrer noopener">LCD problems</a> now. Some other updates concern the information about <a href="https://developer.puri.sm/Librem5/Development_Environment/Boards/HowTo/Simple_Input_Output.html#finding-device-files" target="_blank" rel="nofollow noreferrer noopener">simple I/O devices</a>, some <a href="https://developer.puri.sm/Librem5/Development_Environment/Boards/imx8.html" target="_blank" rel="nofollow noreferrer noopener">additional warnings about battery usage</a> and <a href="https://developer.puri.sm/Librem5/Apps/Guides/Design/Constraints.html#screen-size" target="_blank" rel="nofollow noreferrer noopener">screen area constraints</a>. Core contributors are also likely to find the <a href="https://developer.puri.sm/Librem5/Contact/Contributing.html#submitting-repositories-for-package-building" target="_blank" rel="nofollow noreferrer noopener">new documentation on our package building infrastructure</a> helpful.</p>
<p dir="auto" data-sourcepos="305:1-307:64">This is it for today&#8211;a big “Thanks!” to everyone who has helped review and merge changes into upstream projects: your time and contribution are much appreciated. Stay tuned for more exciting updates to come!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-5-july-update/">Librem 5 July Update</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
	<enclosure url="https://puri.sm/wp-content/uploads/2019/07/less-flickering-on-boot.webm" length="2143622" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/07/less-flickering-on-boot.mp4" length="1808311" type="video/mp4" />
		</item>
		<item>
		<title>Librem 5 June Software Update</title>
		<link>https://puri.sm/posts/librem-5-june-software-update/</link>
		<pubDate>Wed, 19 Jun 2019 16:27:26 +0000</pubDate>
		<dc:creator><![CDATA[Heather Ellsworth]]></dc:creator>
				<category><![CDATA[Librem 5]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[Software freedom]]></category>
		<category><![CDATA[Videos]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=64261</guid>
		<description><![CDATA[<p>Hi everyone! The Librem 5 team has been hard at work, and we want to update you all on our software progress. Conferences A couple of blog posts back, we mentioned that our hardware engineer gave a talk at KiCon—and it is available for watching now! Also, recently Tobias Bernard attended the Libre Graphics Meeting, [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-5-june-software-update/">Librem 5 June Software Update</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Hi everyone! The Librem 5 team has been hard at work, and we want to update you all on our software progress.</p>
<h2>Conferences</h2>
<p>A couple of blog posts back, we mentioned that our hardware engineer gave a talk at KiCon—and it is <a href="https://www.youtube.com/watch?v=k_CKT6hr7IM" target="_blank" rel="noopener">available for watching now</a>!</p>
<p>Also, recently Tobias Bernard attended the Libre Graphics Meeting, where he had lots of conversation around the future photo viewing application for the Librem 5 phone.</p>
<h2>Applications</h2>
<h3>Libhandy</h3>
<p><a href="https://puri.sm/posts/the-new-libhandy-0-0-10/" target="_blank" rel="noopener">Libhandy v0.0.10 was released</a> and has a slew of cool new widgets! In summary, the new widgets are:</p>
<ul>
<li>HdyViewSwitcher: a view switcher which can automatically adjust its layout to fit narrow screens</li>
<li>HdySqueezer: a widget that allows switching where the view switcher is</li>
<li>HdyHeaderBar: an advanced header bar</li>
<li>HdyPreferencesWindow: an adaptive preferences window for all applications</li>
</ul>
<p>A nice aesthetic change is that <a href="https://source.puri.sm/Librem5/libhandy/issues/95">HdyComboRow handles long labels better now—by ellipsizing them</a>.</p>
<p>Below you can see how HdyViewSwitcher makes the Clocks application adaptive.</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-64261-2" width="640" height="360" preload="auto" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/06/hdy-view-switcher-clocks.mp4?_=2" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/06/hdy-view-switcher-clocks.webm?_=2" /><a href="https://puri.sm/wp-content/uploads/2019/06/hdy-view-switcher-clocks.mp4">https://puri.sm/wp-content/uploads/2019/06/hdy-view-switcher-clocks.mp4</a></video></div>
<p>Below you can see how the HdyPreferencesWindow is used in GNOME Web to make the preferences window adaptive.</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-64261-3" width="640" height="360" preload="auto" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/04/HdyPreferenceswindow.mp4?_=3" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/06/hdy-preferences-window-web.webm?_=3" /><a href="https://puri.sm/wp-content/uploads/2019/04/HdyPreferenceswindow.mp4">https://puri.sm/wp-content/uploads/2019/04/HdyPreferenceswindow.mp4</a></video></div>
<p>We also <a href="https://source.puri.sm/Librem5/libhandy/merge_requests/272">improve</a><a href="https://source.puri.sm/Librem5/libhandy/merge_requests/272">d Libhandy&#8217;s test suite</a>.</p>
<h3>Calls</h3>
<p>Work has continued to extend <a href="https://source.puri.sm/Librem5/wys">wys </a>to <a href="https://source.puri.sm/Librem5/use-cases/issues/72">instantiate PulseAudio&#8217;s loopback module</a>—which ties the modem&#8217;s and codec&#8217;s ALSA devices together when a call is activated, and de-instantiates the module when the call is terminated. Since this causes conflicts with <a href="https://source.puri.sm/Librem5/haegtesse">hægtesse</a>, a scheme was devised to keep both hægtesse and wys from running at the same time.</p>
<h3>Messaging</h3>
<p>A <a href="https://source.puri.sm/Librem5/chatty/tree/leland/chatty-history" class="broken_link">chat history is being implemented via an SQLite database</a>. Thank you, Leland Carlyle, for all of your hard work in this area!</p>
<p><a href="https://source.puri.sm/Librem5/chatty/issues/23">Account verification has been added</a> so that now, when you add a new account, a connection is established to the server and (in case of failure) the user is alerted. Thanks to Benedikt Wildenhain for the patch!</p>
<h4>XMPP</h4>
<p>We are very committed to providing encrypted messaging when the phone ships, so we have made an extra effort to implement OMEMO encryption, via the <a href="https://github.com/gkdr/lurch" target="_blank" rel="noopener">Lurch<br />
plugin</a>. Recent changes in this plugin have led us to ongoing <a href="https://source.puri.sm/Librem5/chatty/issues/118">integration and testing</a> with Chatty.</p>
<p>There is a padlock symbol in the message bar now, indicating whether the chat is encrypted or not. You can also view your fingerprint—as well as your conversation partner&#8217;s fingerprints (see example below). Thanks, Richard Bayerle, for all of your work on the Lurch plugin!</p>
<p><img class="aligncenter wp-image-64270 size-full" src="https://puri.sm/wp-content/uploads/2019/06/722-682-max.png" alt="" width="722" height="682" srcset="https://puri.sm/wp-content/uploads/2019/06/722-682-max.png 722w, https://puri.sm/wp-content/uploads/2019/06/722-682-max-300x283.png 300w" sizes="(max-width: 722px) 100vw, 722px" /></p>
<h3>Web Browsing</h3>
<p>GNOME Web will benefit from the new widgets released in Libhandy 0.0.10, as mentioned above. Additionally, since recent testing has identified some bugs in GNOME Web, our development team has been looking into some of these issues. The outcome has been the reporting of many of those issues upstream.</p>
<h3>Initial Setup</h3>
<p>We plan to deliver GNOME Initial Setup in the first shipment of the phone—because it is very important for setting up your environment. Before any major porting effort was possible, though, some <a href="https://source.puri.sm/Librem5/design/issues/9">d</a><a href="https://source.puri.sm/Librem5/design/issues/9">esign effort was needed</a>—and now porting work is underway!</p>
<h2>System</h2>
<p>So many exciting things are happening at the system level!</p>
<p>After many revisions, the <a href="https://lkml.org/lkml/2019/6/18/509" target="_blank" rel="noopener">librem5-devkit device-tree has been accepted upstream</a>. To prepare for this, the same device tree name is used both <a href="https://source.puri.sm/Librem5/linux-emcraft/merge_requests/30">in the kernel</a> and <a href="https://source.puri.sm/Librem5/flash-kernel/merge_requests/9">in </a><a href="https://source.puri.sm/Librem5/flash-kernel/merge_requests/9">the flash-kernel </a>as well.</p>
<p>The devkit image went through lots of changes, too. <a href="https://source.puri.sm/Librem5/phoc/issues/14">Wlroots v0.6.0 is now available</a>, and contains many of our necessary changes. To make the overall experience look nicer, the shell now <a href="https://source.puri.sm/Librem5/phosh/merge_requests/177">prefers the dark theme</a>, and <a href="https://source.puri.sm/Librem5/phosh/merge_requests/188">the keyboard auto-hides when the app drawer is opened</a>. <a href="https://source.puri.sm/Librem5/librem5-devkit-tools/merge_requests/59">Detecting corrupted downloads of images has been made faster</a> by adding a size verification. Thanks to Hugo Grostabussiat for the patch! The devkit <a href="https://source.puri.sm/Librem5/linux-emcraft/merge_requests/29">image has support for the camera</a>, too&#8211;and below you can see the devkit&#8217;s first selfie 🙂</p>
<p><img class="aligncenter wp-image-64271 size-medium" src="https://puri.sm/wp-content/uploads/2019/06/473-446-max-300x283.png" alt="Devkit first selfie " width="300" height="283" srcset="https://puri.sm/wp-content/uploads/2019/06/473-446-max-300x283.png 300w, https://puri.sm/wp-content/uploads/2019/06/473-446-max.png 473w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p>Several areas of the kernel have seen major improvements, and we are now very close to some important milestones. One such area is forward porting patches so that the images built for the devkit can switch from a 4.18 to a 5.2 kernel, and we&#8217;re almost there! <a href="https://arm01.puri.sm/job/manual/job/devkit-latest_linux-next_image_build/" target="_blank" rel="noopener">You can find a recent image build with the 5.2 kernel here</a>.</p>
<p>With the new kernel, you will be able to <a href="https://source.puri.sm/Librem5/linux-next/issues/32">long press the power button to turn on the devkit</a>, and use <a href="https://source.puri.sm/Librem5/linux-next/issues/16">suspend/res</a><a href="https://source.puri.sm/Librem5/linux-next/issues/16"><span style="background: transparent;">ume</span></a>. To help better detect SoC revisions, a<span style="background: transparent;">n<span style="background: transparent;"> <a href="http://lists.infradead.org/pipermail/linux-arm-kernel/2019-May/651409.html" target="_blank" rel="noopener" class="broken_link">RFC<br />
patch</a> has been sent to improve this. Working towards improving the power management, we are testing cpufreq and <a href="https://source.puri.sm/Librem5/linux-next/issues/22">preparing some cpuidle tests</a>.</span></span></p>
<p>A lot of effort has been put into debugging the sound on the 5.2 kernel. After many hours of work, we have discovered that ATF was blocking access to the aips regions—and upstream ATF has it fixed now!</p>
<p>On the shell side of things, phosh has been <a href="https://source.puri.sm/Librem5/phosh/merge_requests/194">made a polkit agent</a> (so things like GNOME Software can ask for elevated credentials). We made some other improvements, like <a href="https://source.puri.sm/Librem5/phosh/merge_requests/188">hiding the OSK when it&#8217;s not needed</a>, <a href="https://source.puri.sm/Librem5/phosh/merge_requests/189">remov</a><a href="https://source.puri.sm/Librem5/phosh/merge_requests/189">ing the weekday/date from the lock screen</a>, and making it <a href="https://source.puri.sm/Librem5/phosh/merge_requests/192">easier to use Glade with phosh</a>. Since a compositor switch is coming soon, the team applied many improvements to the new compositor, phoc (phone compositor). We will be showcasing this new compositor soon, so stay tuned for that!</p>
<p>Also, and to get us closer to separating the bootloader from the OS, we have been putting a lot of effort into <a href="https://source.puri.sm/Librem5/librem5-devkit-tools/issues/10">plac</a><a href="https://source.puri.sm/Librem5/librem5-devkit-tools/issues/10">ing u-boot in the MMC area</a>. <a href="https://source.puri.sm/Librem5/uboot-imx/merge_requests/14">Flash has been enabled in u-boot</a>, so that the DDR PHY firmware can be written to flash. Thank you so much, Kyle Evans, for <a href="https://source.puri.sm/fuzzy7k/u-boot/tree/wip-mainline">the work on mainline u-boot</a>!</p>
<p>The work on the graphics stack continues, too. To work towards mainline GC7000 GPU support, we <a href="https://gitlab.freedesktop.org/mesa/mesa/merge_requests/970" target="_blank" rel="noopener">folded the etnaviv part of libdrm into mesa</a> upstream. Our thanks to Christian Gmeiner and Dylan Baker for the review! To take a look at the graphics on the devkit, check the Quake II demo below.</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-64261-4" width="640" height="362" preload="auto" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/06/q2.mp4?_=4" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/06/q2.webm?_=4" /><a href="https://puri.sm/wp-content/uploads/2019/06/q2.mp4">https://puri.sm/wp-content/uploads/2019/06/q2.mp4</a></video></div>
<h2>Documentation</h2>
<p>To improve the devkit unboxing experience, lots of<a href="https://source.puri.sm/Librem5/developer.puri.sm/merge_requests/263"> how-to guides have been added or updated</a>:</p>
<ul>
<li><a href="https://developer.puri.sm/Librem5/Development_Environment/Boards/HowTo/Building_uuu.html" target="_blank" rel="noopener">Building uuu</a> &#8211; uuu is the tool used to flash the devkit image</li>
<li><a href="https://developer.puri.sm/Librem5/Development_Environment/Boards/HowTo/Flashing_eMMC.html" target="_blank" rel="noopener">Flashing eMMC</a></li>
<li><a href="https://developer.puri.sm/Librem5/Development_Environment/Boards/HowTo/HDMI.html" target="_blank" rel="noopener">Using HDMI</a></li>
<li><a href="https://developer.puri.sm/Librem5/Development_Environment/Boards/HowTo/Making_Cases.html" target="_blank" rel="noopener">Making cases</a></li>
<li><a href="https://developer.puri.sm/Librem5/Development_Environment/Boards/HowTo/Testing_Factory_Image.html" target="_blank" rel="noopener">Testing a factory image</a></li>
<li><a href="https://developer.puri.sm/Librem5/Development_Environment/Boards/HowTo/Updating_Software.html" target="_blank" rel="noopener">Updating the software</a></li>
</ul>
<p>Some more noteworthy updates have been added to the <a href="https://developer.puri.sm/Librem5/Development_Environment/Boards/Known_Issues.html#status-of-subsystems" target="_blank" rel="noopener">Status of Subsystems</a> page and the <a href="https://developer.puri.sm/Librem5/Development_Environment/Boards/HowTo/Simple_Input_Output.html" target="_blank" rel="noopener">devkit peripheral software interfaces</a>.</p>
<p>A big “Thanks!” to everyone that has helped review, and merge changes, into upstream projects; your time and contribution are much appreciated. And that’s all for now, folks—stay tuned for more exciting updates to come!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-5-june-software-update/">Librem 5 June Software Update</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
	<enclosure url="https://puri.sm/wp-content/uploads/2019/06/hdy-view-switcher-clocks.webm" length="959005" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/06/hdy-view-switcher-clocks.mp4" length="846302" type="video/mp4" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/06/hdy-preferences-window-web.webm" length="1258892" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/04/HdyPreferenceswindow.mp4" length="551131" type="video/mp4" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/06/q2.webm" length="2042030" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/06/q2.mp4" length="2593481" type="video/mp4" />
		</item>
		<item>
		<title>Librem 5 &#8211; End of May Progress</title>
		<link>https://puri.sm/posts/librem-5-end-of-may-progress/</link>
		<pubDate>Tue, 28 May 2019 13:37:03 +0000</pubDate>
		<dc:creator><![CDATA[Heather Ellsworth]]></dc:creator>
				<category><![CDATA[Librem 5]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=63818</guid>
		<description><![CDATA[<p>Hi everyone! The Librem 5 team has been hard at work again, and we want to update you all on our software progress. Calls We have been diligently working to finish the phone call audio quality for production. While the USB audio works just fine (with some tweaks), the PCM audio coming out of the [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-5-end-of-may-progress/">Librem 5 &#8211; End of May Progress</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h2 class="western">Hi everyone! The Librem 5 team has been hard at work again, and we want to update you all on our software progress.</h2>
<h2 class="western">Calls</h2>
<p>We have been diligently working to finish the phone call audio quality for production. While the USB audio works just fine (with some tweaks), the <a href="https://source.puri.sm/Librem5/OS-issues/issues/31">PCM audio coming out of the dev kit was noisy and distorted</a>, due to the most-significant bit in the PCM stream – from the i.MX8 to the modem – being incorrect.</p>
<p>In the meantime, we have started work on a daemon, <a href="https://source.puri.sm/Librem5/wys">Wys</a>, that loads and unloads PulseAudio loopback modules according to the state of ModemManager voice calls; and investigating and testing a different modem, in order to evaluate its potential alongside the Gemalto PLS8 one.</p>
<p>All of this effort brings us closer and closer to having phone calls that work wonderfully.</p>
<h2 class="western">Messaging</h2>
<p>The <a href="https://source.puri.sm/Librem5/purple-mm-sms/issues/5">SMS plugin of Chatty has been reworked to use libmm-glib</a>, simplifying the handling of the ModemManager interface, and making the adding of further SMS functionality less cumbersome.</p>
<p>The new <a href="https://source.puri.sm/Librem5/chatty/issues/118">Lurch plugin changes (used for E2EE in XMPP) needed to be tested</a>, since the upstream maintainer has done a lot of recent work on the plugin (specifically for integration with Chatty) – and this support gets us even closer to delivering good E2EE XMPP functionality!</p>
<p>We are happy to say we found, and promptly fixed, a couple of issues related to Chatty: crashes due to multi-instances or <a href="https://source.puri.sm/Librem5/chatty/issues/112">when loading the Matrix plugin</a>, and <a href="https://source.puri.sm/Librem5/chatty/issues/3">Chatty not recognizing outgoing messages after a restart</a>. It&#8217;s all working fine now.</p>
<p>Oh, and the <a href="https://source.puri.sm/Librem5/chatty/merge_requests/39">message bubble width was reduced to no more than 70% of the conversation view</a>, and it looks so much better now. Thanks to Leland Carlye for the improvement!</p>
<h2 class="western">Web Browsing</h2>
<p>A new <a href="https://source.puri.sm/Librem5/libhandy/issues/64">adaptive view switcher widget (HdyViewSwitcher) has been added to libhandy</a>, which is needed by Web&#8217;s preferences dialog in order for it to be adaptive and to, well, look nice on the phone; we will use it in other apps such as Software, Clocks, and Photos. It was such a big effort, and it&#8217;s so wonderful to see it completed – and a success! To make sure that HdyViewSwitcher looks just perfect, we have added <a href="https://source.puri.sm/Librem5/libhandy/merge_requests/253">a best fit container (HdySqueezer)</a>.</p>
<p>We also want to make the header bars more flexible to matching the display needs of the phone, and we are working on <a href="https://source.puri.sm/Librem5/libhandy/merge_requests/256">adding a HdyHeaderBar</a>. Doing it led us to discover, and fix, a memory leak in <a href="https://gitlab.gnome.org/GNOME/gtk/merge_requests/823" target="_blank" rel="noopener">GTK+3</a> and <a href="https://gitlab.gnome.org/GNOME/gtk/merge_requests/822" target="_blank" rel="noopener">GTK+4</a>.</p>
<p>See below for a preview of the HdyHeaderBar:</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-63818-5" width="640" height="360" poster="https://puri.sm/wp-content/uploads/2019/05/video1.jpg" preload="metadata" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/05/HdyHeaderBar.mp4?_=5" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/05/HdyHeaderBar.webm?_=5" /><a href="https://puri.sm/wp-content/uploads/2019/05/HdyHeaderBar.mp4">https://puri.sm/wp-content/uploads/2019/05/HdyHeaderBar.mp4</a></video></div>
<p>We are almost done <a href="https://source.puri.sm/Librem5/libhandy/merge_requests/263">adding a HdyPreferencesWindow</a>, so we can make it easy for apps to have a featureful preferences window that is also adaptive.</p>
<p>Below, a preview of the HdyPreferencesWindow:</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-63818-6" width="640" height="360" poster="https://puri.sm/wp-content/uploads/2019/05/video-2.jpg" preload="metadata" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/05/HdyPreferencesWindow.mp4?_=6" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/05/HdyPreferencesWindow.webm?_=6" /><a href="https://puri.sm/wp-content/uploads/2019/05/HdyPreferencesWindow.mp4">https://puri.sm/wp-content/uploads/2019/05/HdyPreferencesWindow.mp4</a></video></div>
<h2 class="western">Email</h2>
<p>We have made some excellent improvements on the design of Geary! The outcome can be seen in several mockups that design how the <a href="https://gitlab.gnome.org/GNOME/geary/issues/413" target="_blank" rel="noopener">conversation actions</a>, <a href="https://gitlab.gnome.org/GNOME/geary/issues/391" target="_blank" rel="noopener">conversations list</a>, <a href="https://gitlab.gnome.org/Teams/Design/app-mockups/blob/master/mail/composer.png" target="_blank" rel="noopener">composer</a> and <a href="https://gitlab.gnome.org/Teams/Design/app-mockups/blob/master/mail/selection-mode.png" target="_blank" rel="noopener">selection mode</a> should all look. Some of these mockups may require further changes upstream, but they get us ever closer to having a nicely complete mail client design.</p>
<h2 class="western">System</h2>
<p>The dev kit image is getting closer to using a <a href="https://arm01.puri.sm/job/Kernel_builds/job/kernel_devkit_linux-next_imx8-linux-next-devkit/" target="_blank" rel="noopener" class="broken_link">5.2 kernel</a> instead of the 4.18 kernel – which means our team has been tireless in their effort of <a href="https://lkml.org/lkml/2019/5/20/1180" target="_blank" rel="noopener">upstreaming the librem5-devkit device tree</a>, <a href="https://source.puri.sm/Librem5/flash-kernel/issues/1">flash-kernel</a> changes, and sending various other patches upstream. Be sure to check out a nice <a href="https://puri.sm/posts/purism-and-the-linux-kernel/" target="_blank" rel="noopener">post on Purism&#8217;s upstream kernel contributions</a>.</p>
<p>We are also continuing to work on a compositor replacement for rootston, and getting closer to be able to switch from rootston to phoc (replacement compositor) independently.</p>
<p>Another awesome change in the image is that the <a href="https://source.puri.sm/Librem5/phosh/issues/10">WiFi status is now displayed in the panel and lock screen</a>!</p>
<p>We are trying to separate the bootloader from the OS, and to get us closer to this goal, a <a href="https://source.puri.sm/Librem5/librem5-devkit-tools/merge_requests/39">uuu script that flashes the full-boot-image</a> has been added to the librem5-devkit-tools package. There is also <a href="https://source.puri.sm/Librem5/image-builder/merge_requests/87">support for generating an additional boot image alongside the main one</a>, needed to flash U-boot and the M4 firmware into one of the eMMC boot hwparts. Thanks to Hugo Grostabussiat for the contributions!</p>
<p>We are continuing to work on the graphics stack; recently, <a href="https://patchwork.freedesktop.org/series/58817/" target="_blank" rel="noopener">v11 of the Mixel MIPI DPHY driver was submitted upstream</a>.</p>
<p>Our awesome community has pointed out some issues over time&#8230; and we have fixed them: <a href="https://source.puri.sm/Librem5/linux-emcraft/merge_requests/25">fix screen blank -&gt; unblank cycle</a>, <a href="https://source.puri.sm/Librem5/linux-emcraft/merge_requests/27">improve GPU performance by using the correct clock parents</a>, and <a href="https://source.puri.sm/guido.gunther/linux-imx8/commit/9034259332d62c290c6a6311a5abf2ad411a228c">unbreak clock enable/disable in our NWL driver, so we can turn off clocks when blanking the display</a>.</p>
<p>Some other changes to the system include us taking a look at <a href="https://source.puri.sm/Librem5/u-boot-builder/merge_requests/2">using mainline atf</a> to control power saving and suspend/resume; improving phosh to make the <a href="https://source.puri.sm/Librem5/phosh/merge_requests/182">output locking more dynamic</a>, and <a href="https://www.mail-archive.com/linux-kernel@vger.kernel.org/msg2002822.html" target="_blank" rel="noopener">adjusting the VINDPM of the charge controller</a>.</p>
<h2 class="western">Documentation</h2>
<p>We have added a new <a href="https://developer.puri.sm/Librem5/Apps/Guides/Working_with_UI_Files/index.html" target="_blank" rel="noopener">guide on working with UI files</a>, and have a <a href="https://source.puri.sm/Librem5/developer.puri.sm/merge_requests/267">cool weather example coming to the documentation soon,</a> to help all the GTK+ app developers out there.</p>
<p>See below for a preview of the weather app:</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-63818-7" width="640" height="360" poster="https://puri.sm/wp-content/uploads/2019/05/video-3.jpg" preload="metadata" controls="controls"><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/05/simple-weather-2019-05-22-1.webm?_=7" /><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/05/simple-weather-2019-05-22-1.mp4?_=7" /><a href="https://puri.sm/wp-content/uploads/2019/05/simple-weather-2019-05-22-1.webm">https://puri.sm/wp-content/uploads/2019/05/simple-weather-2019-05-22-1.webm</a></video></div>
<p>Some helpful How-To guides on the <a href="https://developer.puri.sm/Librem5/Development_Environment/Boards/HowTo/Inertial_Module.html" target="_blank" rel="noopener">inertial module</a> and <a href="https://developer.puri.sm/Librem5/Development_Environment/Boards/HowTo/Proximity.html" target="_blank" rel="noopener">proximity and light</a> sensors were also added.</p>
<p>We have improved the <a href="https://developer.puri.sm/Librem5/Contact/Community.html#matrix-chat-rooms" target="_blank" rel="noopener">Matrix room mentions</a> for readability, the API documentation with <a href="https://developer.puri.sm/Librem5/APIs.html" target="_blank" rel="noopener">better linking to external APIs and resources</a>. The <a href="https://source.puri.sm/Librem5/developer.puri.sm/merge_requests/263">dev kit setup instructions are being improved</a> as well, to be more of a step-by-step guide, and a page on <a href="https://source.puri.sm/Librem5/developer.puri.sm/merge_requests/270">troubleshooting dev kit power issues</a> is coming soon.</p>
<p>That’s all for now, folks – stay tuned for more exciting updates to come!</p>
<p>A big “Thanks!” to everyone that has helped review and merge changes into upstream projects; you are awesome, and your time and contribution are much appreciated!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem-5-end-of-may-progress/">Librem 5 &#8211; End of May Progress</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
	<enclosure url="https://puri.sm/wp-content/uploads/2019/05/HdyPreferencesWindow.mp4" length="1161378" type="video/mp4" />
		</item>
		<item>
		<title>May Progress Update – Librem 5</title>
		<link>https://puri.sm/posts/may-progress-update-librem-5-hardware/</link>
		<pubDate>Wed, 08 May 2019 13:38:43 +0000</pubDate>
		<dc:creator><![CDATA[Heather Ellsworth]]></dc:creator>
				<category><![CDATA[Hardware]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=63546</guid>
		<description><![CDATA[<p>Hi again, here&#8217;s your Librem 5 hardware update report for the first half of the month of May: Conferences At JDLL, Adrien gave a talk on &#8220;GNOME on phones&#8221; and helped out at the GNOME booth, where he answered lots of questions about Purism&#8217;s products and animated a first contribution to GNOME workshop along with [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/may-progress-update-librem-5-hardware/">May Progress Update – Librem 5</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h2>Hi again, here&#8217;s your Librem 5 hardware update report for the first half of the month of May:</h2>
<h2>Conferences</h2>
<p>At JDLL, Adrien gave a talk on &#8220;GNOME on phones&#8221; and helped out at the GNOME booth, where he answered lots of questions about Purism&#8217;s products and animated a first contribution to GNOME workshop along with community member Alexandre Franke.</p>
<h2>Design</h2>
<p>The current design effort is around the <a href="https://wiki.gnome.org/Apps/Geary">Geary email client</a>, where <a href="https://gitlab.gnome.org/Teams/Design/app-mockups/blob/master/mail/mail-adaptive.png">adaptive designs have begun</a>; some of the <a href="https://gitlab.gnome.org/GNOME/geary/merge_requests/193">symbolic icons in Geary have been improved</a>.</p>
<h2>Software Work</h2>
<h3>Images</h3>
<p>There are always improvements and fixes making their way into the image creation; for example, the librem5-base package needed a <a href="https://source.puri.sm/Librem5/image-builder/issues/34">fix in order to unbreak rendering</a>. To make testing easier, <a href="https://source.puri.sm/Librem5/librem5-base/merge_requests/32">debs built by gitlab-ci are now saved</a> as artifacts. Flashing a devkit is a little easier now that the tool used to flash a new image, uuu, has been updated to make it buildable for PureOS. Also, with <a href="https://source.puri.sm/Librem5/librem5-devkit-tools/merge_requests/40">a recent change</a> to the scripts used in flashing the devkit, we avoid re-downloading the image if one already exists.</p>
<h3>Mesa</h3>
<p>Since graphics are quite important for a phone, we continue to invest in the <a href="https://www.mesa3d.org/">mesa graphics library</a>. A <a href="https://lists.freedesktop.org/archives/mesa-dev/2019-April/217532.html">lod level dump issue</a> and a <a href="https://github.com/etnaviv/libvivhook/pull/3">symlink issue</a> were fixed. A <a href="https://lists.freedesktop.org/archives/mesa-dev/2019-April/217512.html">second version of the GALLIUM_DDEBUG fix</a> was submitted and merged upstream (thanks to Lucas Stach for the review!).</p>
<h3>Compositor + Shell</h3>
<p>We continued experimenting with our own forked compositor by <a href="https://source.puri.sm/Librem5/phoc/merge_requests/7">implementing wlr-output-manager</a>: however, until it is ready for prime time, there is a parallel effort to keep on improving rootston. The main phosh improvement was that the <a href="https://source.puri.sm/Librem5/phosh/merge_requests/177">adwaita-dark theme was applied to the shell</a> by default.</p>
<h3>Calls</h3>
<p>We all know how important it is for a phone to place phone calls, so there is a continuing effort investigating audio over the modem. There are issues with DMA transfers on the SAI interface; digging into the issues included testing various kernel changes. Stay tuned for more to come on this effort.</p>
<h3>Libhandy</h3>
<p>We&#8217;re getting closer to <a href="https://source.puri.sm/Librem5/libhandy/merge_requests/248">bumping the API version of LibHandy to 1</a>! Some new widgets are in the works: HdySqueezer is a cool new widget that is needed for HdyViewSwitcher, which is needed by many apps and HdyPreferencesWindow, which in turn is needed by Web and other apps.</p>
<h3>Messaging</h3>
<p>The SMS plugin is being reworked, and an issue happening when more than one instance of Chatty was opened that has been resolved.</p>
<h3>Linux <strong>5.X</strong> Kernel</h3>
<p>Hooray, the <a href="https://patchwork.freedesktop.org/series/57132/">devkit&#8217;s LCD panel driver has been accepted upstream</a>; thanks to Thierry Reding for applying these, and thanks to the reviewers Fabio Estevam and Sam Ravnborg, too! We are working on getting the librem5-devkit devicetree upstream. There is also an ongoing investigation into why USB stopped working with the 5.1 kernel, and last but not least, an <a href="https://patchwork.kernel.org/patch/10877361/">SDMA fix was accepted upstream</a>.</p>
<h2>Hardware Work</h2>
<p>We continue to work on the Librem 5 board schematic, and are getting ever closer to getting the hardware into production!</p>
<h2>Community Outreach</h2>
<p>The troubleshooting guides on the developer documentation have been split out to be a little more readable.</p>
<p>&nbsp;</p>
<p>A big “Thanks!” to all the external teams that have helped review and merge changes into upstream projects; your time and contribution are much appreciated.</p>
<p>That’s all for now, folks – stay tuned for more exciting updates to come!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/may-progress-update-librem-5-hardware/">May Progress Update – Librem 5</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>April Progress Update – Librem 5 Hardware</title>
		<link>https://puri.sm/posts/april-progress-update-librem-5-hardware/</link>
		<pubDate>Tue, 23 Apr 2019 11:24:25 +0000</pubDate>
		<dc:creator><![CDATA[Heather Ellsworth]]></dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=63262</guid>
		<description><![CDATA[<p>Things are as awesome as usual. Hi again, everyone! A lot has happened during these last few months of work, so get ready for a thorough Librem 5 hardware update report. Conferences Springtime seems to bring both nicer weather and plenty of events, and this year&#8217;s was no exception: Guido and Nicole went to Embedded [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/april-progress-update-librem-5-hardware/">April Progress Update – Librem 5 Hardware</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h3>Things are as awesome as usual.</h3>
<p>Hi again, everyone! A lot has happened during these last few months of work, so get ready for a thorough Librem 5 hardware update report.</p>
<h2>Conferences</h2>
<p>Springtime seems to bring both nicer weather and plenty of events, and this year&#8217;s was no exception: Guido and Nicole went to Embedded World and met some very interesting people, while Tobias went to a GNOME Design Tooling Hackfest and worked on a number of ways to improve the workflow for those making GNOME app icons – including previewing hicolor and symbolic from a single template, auto-generated nightly icons and a new symbolics library app. Other team members attended LibrePlanet and saw <a href="https://puri.sm/posts/purism-at-libreplanet-2019-showcasing-the-librem-5-phone/">a lot of excitement in the community about the devkit</a>.</p>
<h2>Design</h2>
<p>In terms of design, <a href="https://gitlab.gnome.org/Teams/Design/mockup-resources/blob/master/pattern-templates.svg">the GNOME mockup templates were updated</a> to include mobile screens, and thanks to Alexander Mikhaylenko from the community we now have a <a href="https://gitlab.gnome.org/exalm/phone-mockup">more realistic interactive mockup of the gestures for phosh</a>; and GNOME 3.32 was released, containing many interesting things for our Librem 5 phone, such as a new app icon style and some adaptive core apps. There is now an <a href="https://gitlab.gnome.org/Teams/Design/app-mockups/blob/master/files/files-adaptive-sidebar.png">initial adaptive mockup for Nautilus</a>, and a <a href="https://blogs.gnome.org/tbernard/2019/03/27/designing-for-the-librem-5/">nice tutorial blog post</a> was written to serve as an introduction to designing apps for the Librem 5. See below for a preview of the Librem 5 shell mockups:</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-63262-8" width="640" height="360" preload="metadata" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/04/l5shellmockup.mp4?_=8" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/04/l5-shell-mockup.webm?_=8" /><a href="https://puri.sm/wp-content/uploads/2019/04/l5shellmockup.mp4">https://puri.sm/wp-content/uploads/2019/04/l5shellmockup.mp4</a></video></div>
<h3>Software</h3>
<h2>Images</h2>
<p>We have the new kernel builds integrated with the image-builder scripts, and finished <a href="https://source.puri.sm/Librem5/flash-kernel/">flash-kernel</a> and initrd rollout. The changes have been <a href="https://salsa.debian.org/installer-team/flash-kernel/merge_requests/4">submitted upstream</a>. Bug fixes included <a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=924113">fixing an issue upstream when attempting to grow the root filesystem on first boot,</a> which has been <a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=924248">included in Debian buster</a> – and this gives the root file system enough space to install Flatpaks. We also made some <a href="https://source.puri.sm/Librem5/linux-emcraft/merge_requests/21">minor cleanups around the clocks and audio subsystem</a>.</p>
<h2>Mesa</h2>
<p>We have had some issues with stability and texture corruption with the GC7000, and there is an ongoing investigation to resolving this. Two upstream bugs were found and fixed: a <a href="http://lists.freedesktop.org/archives/mesa-dev/2019-March/217382.html">segfault in GALLIUM_TRACE</a> and a <a href="https://lists.freedesktop.org/archives/mesa-dev/2019-April/217422.html">segfault in GALLIUM_DDEBUG</a>.</p>
<h2>Gnome-settings-daemon</h2>
<p>Thanks to Benjamin Berg and his review on the <a href="https://gitlab.gnome.org/GNOME/gnome-settings-daemon/merge_requests/43">initial wwan plugin</a>, we are now much closer to having this functionality in GNOME Settings.</p>
<h2>Compositor</h2>
<p>We also started experimenting with our own forked compositor, after some additional bug fixes – and even added features – and are just waiting for a few more pieces to fall into place before releasing it, so stay tuned! Concerning upstream wlroots bug fixes, <a href="https://github.com/swaywm/wlroots/pull/1582">we have made some functions static</a>, <a href="https://github.com/swaywm/wlroots/pull/1585">fixed a build issue</a>, <a href="https://ftp-master.debian.org/new/wlroots_0.4.1-1.html" class="broken_link">uploaded wlroots v0.4.1</a> and <a href="https://ftp-master.debian.org/new/wlroots_0.5.0-1.html" class="broken_link">wlroots v0.5.0-1 </a>to Debian experimental, <a href="https://github.com/swaywm/wlroots/pull/1625">added support for supplying the preferred mode to the drm backend</a>, and <a href="https://github.com/swaywm/wlroots/pull/1637">fixed layer shell popups in rootston</a>.</p>
<h2>Voice Calls</h2>
<p>Concerning voice calls, our focus right now is testing call audio. In aid of this, we have been debugging DMA operations in the kernel, in order to discover why the audio buffer isn’t being filled quickly enough during playback through the SGTL5000 audio codec. The SIM7100 modem and the i.MX8&#8217;s SAI interface are also being investigated; while the latter is receiving PCM data, DMA transactions aren’t reading said data.</p>
<h2>Libhandy</h2>
<p>As far as Libhandy is concerned, <a href="https://source.puri.sm/Librem5/libhandy/merge_requests/239">a new expander row property was added</a>, and it is useful to reveal external widgets depending on the state of the row. We are now working on adding a new <a href="https://source.puri.sm/Librem5/libhandy/issues/64">adaptive view switcher</a>, <a href="https://source.puri.sm/Librem5/libhandy/tags/v0.0.9">released version 0.0.9</a> and <a href="https://buildd.debian.org/status/package.php?p=libhandy">uploaded it to Debian</a>. The team has also updated the libhandy version being used in GNOME <a href="https://gitlab.gnome.org/GNOME/gnome-control-center/merge_requests/424">settings</a>, <a href="https://gitlab.gnome.org/GNOME/gnome-contacts/merge_requests/65">contacts</a>, and <a href="https://gitlab.gnome.org/GNOME/epiphany/merge_requests/220">web</a> to v0.0.9 (see below for an example of the prototype of HdyPreferences window). Last but not least, the team <a href="https://source.puri.sm/Librem5/libhandy/issues/93">fixed a regression bug</a>, <a href="https://source.puri.sm/Librem5/libhandy/merge_requests/236">improved compatibility with glade</a> and <a href="https://source.puri.sm/Librem5/libhandy/merge_requests/242">cleaned up style handling</a>.</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-63262-9" width="640" height="360" preload="metadata" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/04/HdyPreferenceswindow.mp4?_=9" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/04/HdyPreferences-window.webm?_=9" /><a href="https://puri.sm/wp-content/uploads/2019/04/HdyPreferenceswindow.mp4">https://puri.sm/wp-content/uploads/2019/04/HdyPreferenceswindow.mp4</a></video></div>
<h2>Text Messaging</h2>
<p>We worked on enhancing the color scheme: from now on, all messages from unknown contacts will be colored red in the “Chats” list messages (but it can be disabled in the settings). A menu entry for adding unknown users to the contacts list and a &#8220;Leave Chat&#8221; entry in the main menu were also added. Chat logs are now preserved after chats are left, and chats remain when “Start Chat” (with the same contact) is opened. The “Delete Chat” behavior was improved – it now removes both the chat history and the chat. We have also worked with the design team to update, and improve, the UI – and, in terms of bug fixes, a severe issue that led to a segfault when the member list was updated was fixed, as was an issue that prevented new chats from being shown in the ‘Chats’ list. See bellow for a preview of the Librem 5 Chatty color scheme:</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-63262-10" width="640" height="360" preload="metadata" controls="controls"><source type="video/mp4" src="https://puri.sm/wp-content/uploads/2019/04/chattycolorscheme.mp4?_=10" /><source type="video/webm" src="https://puri.sm/wp-content/uploads/2019/04/chatty-color-scheme.webm?_=10" /><a href="https://puri.sm/wp-content/uploads/2019/04/chattycolorscheme.mp4">https://puri.sm/wp-content/uploads/2019/04/chattycolorscheme.mp4</a></video></div>
<p>&nbsp;</p>
<h2>Kernel</h2>
<p><strong>Linux 4.18</strong></p>
<p><a href="https://source.puri.sm/Librem5/linux-emcraft/merge_requests/19">The userspace firmware load helper has been disabled</a> since it is not needed and can be problematic; <a href="https://source.puri.sm/Librem5/linux-emcraft/commit/5df32225181db3133b863f1692640c2357229b64">a magnetometer was added</a> and the <a href="https://source.puri.sm/Librem5/linux-emcraft/commit/a895838ea45724f0d2f5968784ef8f4db683f5a4">power key was enabled</a>.</p>
<p><strong>Linux 5.X</strong></p>
<p>We submitted the <a href="https://patchwork.freedesktop.org/series/57132/">devkit&#8217;s LCD panel driver</a> upstream, found and fixed an issue in the device tree where <a href="https://source.puri.sm/Librem5/linux-next/merge_requests/3">SAI6_RXD0 and SAI6_TXD0 needed to be swapped</a> for the WWAN module, moved the <a href="https://source.puri.sm/Librem5/linux-next/tree/f/5.0/redpine" class="broken_link">redpine driver to the 5.0 kernel</a>; we also posted a <a href="https://patchwork.freedesktop.org/series/58817/">patchset to add initial support of the Mixel DPHY</a> and a <a href="https://lists.freedesktop.org/archives/dri-devel/2019-March/209685.html">patchset to add initial support for the NWL MIPI DSI host controller</a>, as found on the i.MX8MQ SoC. A patch to <a href="https://lkml.org/lkml/2019/3/18/1003">enable the updated TMU driver</a> was submitted, and a <a href="https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git/commit/?h=staging-testing&amp;id=5a441aade5b381fd2a0a2f83cea5e1b1f57d6afd">VCNL404 light and proximity sensor driver</a> added, as found on the Librem5 devkit. We have also <a href="https://lkml.org/lkml/2019/3/11/1300">submitted the librem5-devkit devicetree upstream</a> – and the proposed <a href="http://openocd.zylin.com/#/c/4501/">change to OpenOCD, in order to add a m4 target</a>, was accepted. Our upstream bug fixes included <a href="https://patchwork.kernel.org/patch/10869563/">correcting some examples in the dt-bindings docs</a>.</p>
<h3>Hardware</h3>
<p>When it comes to hardware, the team has continued working on our schematic of the Librem 5, tested an <a href="https://source.puri.sm/Librem5/linux-next/commit/9517fe1ba0872c1bc7b4fc146265f9b143c65732">antenna patch</a> with a recent build of U-Boot with the 5.0 kernel and generally continued the hardware devkit testing, especially around power and testing a prepaid SIM card showing a phone call is able to be placed. We also fixed a U-Boot issue that <a href="https://source.puri.sm/Librem5/uboot-imx/merge_requests/10">changes the charge controller&#8217;s slave address properly be 0x6B</a>, and thanks to Hugo from the community, <a href="https://source.puri.sm/Librem5/uboot-imx/merge_requests/7">u-boot has been refactored</a>. The team is now reviewing camera choices.</p>
<h3>Our Community</h3>
<p>Regarding community outreach, there was a mention of the Librem 5 devkit on the <a href="http://kicad-pcb.org/made-with-kicad/page/3/">KiCad page</a>; the <a href="https://developer.puri.sm/Librem5/Development_Environment/Boards/Troubleshooting.html">troubleshooting section related to devkits</a> in the documentation got some additions, and it was reorganized so users can find what they are looking for even quicker. Clayton from the community <a href="https://developer.puri.sm/Librem5/Hardware_Reference.html#headers">added the UART pinout table</a> (which is very useful for debugging) to the documentation, and Bhushan Shah updated the <a href="https://developer.puri.sm/Librem5/Development_Environment/Boards/HowTo/Install_Plasma_Mobile.html">tutorial on installing Plasma mobile</a> in the documentation (thank you); an <a href="https://developer.puri.sm/Librem5/Apps/Tutorials/Adaptive_UI/index.html">adaptive UI tutorial</a>, a <a href="https://developer.puri.sm/Librem5/Apps/Guides/Permissions/index.html">guide to sandboxing permissions</a>, an <a href="https://developer.puri.sm/Librem5/Apps/Examples/Networking/NetworkState/index.html">example regarding network state</a> and a very a nice <a href="https://developer.puri.sm/Librem5/Apps/Examples/General/Treasure/index.html">example on writing an application</a> were also added to the documentation.<br />
A big “Thanks!” to all the external teams that have helped review and merge changes into upstream projects. Your time and contribution are much appreciated.</p>
<p>That’s all for now, folks – stay tuned for more exciting updates to come!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/april-progress-update-librem-5-hardware/">April Progress Update – Librem 5 Hardware</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
	<enclosure url="https://puri.sm/wp-content/uploads/2019/04/l5-shell-mockup.webm" length="734801" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/04/HdyPreferences-window.webm" length="1127373" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/04/chatty-color-scheme.webm" length="1409886" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/04/l5shellmockup.mp4" length="483551" type="video/mp4" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/04/HdyPreferenceswindow.mp4" length="551131" type="video/mp4" />
<enclosure url="https://puri.sm/wp-content/uploads/2019/04/chattycolorscheme.mp4" length="1270718" type="video/mp4" />
		</item>
		<item>
		<title>Librem 5 general development report — October 15th, 2018</title>
		<link>https://puri.sm/posts/librem5-progress-report-21/</link>
		<pubDate>Mon, 15 Oct 2018 21:21:48 +0000</pubDate>
		<dc:creator><![CDATA[Heather Ellsworth]]></dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Advanced readers]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=61143</guid>
		<description><![CDATA[<p>Hi everyone! Phew, it has been a busy and exciting time these last several weeks. Here is a fairly detailed summary of the progress that has been made on the various pieces of the Librem 5 project. Conferences In person collaboration has taken place in a few different ways. There was a hackfest in Germany [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-progress-report-21/">Librem 5 general development report — October 15th, 2018</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Hi everyone! Phew, it has been a busy and exciting time these last several weeks. Here is a fairly detailed summary of the progress that has been made on the various pieces of the Librem 5 project.<span id="more-61143"></span></p>
<h1>Conferences</h1>
<p>In person collaboration has taken place in a few different ways. There was a hackfest in Germany where many of the Librem 5 team members got together to hack, work, and bond. The <a href="https://las.gnome.org/conferences/LAS">Libre Application Summit</a> was also attended and a <a href="https://twitter.com/LASGNOME/status/1038536036501086209">talk given on the Librem 5</a>. It was also great that one of our developers was able to attend <a href="https://xdc2018.x.org/">XDC</a> and have some fruitful discussions with the <a href="https://swaywm.org/">wlroots</a> and <a href="https://www.pengutronix.de/de/">Pengutronix</a> folks.</p>
<h1>Design</h1>
<p>The software design continues to improve so that the developers have a look to strive for. Here are some of the latest designs:</p>
<ul>
<li><a href="https://gitlab.gnome.org/Teams/Design/os-mockups/tree/master/mobile-shell">Latest Shell mockups</a></li>
<li><a href="https://gitlab.gnome.org/Teams/Design/app-mockups/tree/master/messages">Latest Messages mockups</a></li>
<li><a href="https://gitlab.gnome.org/Teams/Design/settings-mockups/blob/master/cellular/cellular-panel-adaptive.png">Latest cellular settings mockups</a></li>
</ul>
<h1>Software Work</h1>
<h2>Images</h2>
<p>The images are still being built based off of Debian buster but now they can be <a href="https://source.puri.sm/Librem5/image-builder/merge_requests/26">built with PureOS as the base distro</a>. Also to clean up some cruft on the images, some <a href="https://source.puri.sm/Librem5/gen-sshd-host-keys">SSHd host key generation scripts have been added</a> to the image and the mass of dependencies moved into the <a href="https://source.puri.sm/Librem5/librem5-base">librem5-base</a> package.</p>
<p>As both the dev kits and phone will be based off of i.MX 8M SoM boards, much work has gone into bringing up the 4.18 kernel and <a href="https://arm01.puri.sm/job/Images/job/ec_som_image_build/">building images</a> for those future boards.</p>
<h2>Phosh</h2>
<p>In <a href="https://source.puri.sm/Librem5/phosh">phosh</a>, there have been many bugs fixed and the code has been cleaned up. Also an effort has gone towards translations, updating the German and French translations as well as <a href="https://source.puri.sm/Librem5/phosh/merge_requests/106/diffs">standardizing the po headers</a> to hopefully make it less confusing for new translators.</p>
<p>An <a href="https://source.puri.sm/Librem5/phosh/merge_requests/109">initial app switcher has been added</a> and initial <a href="https://source.puri.sm/Librem5/wlroots/merge_requests/16">touch based application switching has been added</a>.</p>
<p><img class="alignnone size-large wp-image-60876" src="https://puri.sm/wp-content/uploads/2018/10/guido-app-switcher-1024x576.png" alt="" width="960" height="540" srcset="https://puri.sm/wp-content/uploads/2018/10/guido-app-switcher-1024x576.png 1024w, https://puri.sm/wp-content/uploads/2018/10/guido-app-switcher-300x169.png 300w, https://puri.sm/wp-content/uploads/2018/10/guido-app-switcher-768x432.png 768w, https://puri.sm/wp-content/uploads/2018/10/guido-app-switcher-600x338.png 600w" sizes="(max-width: 960px) 100vw, 960px" /></p>
<p>The <a href="https://source.puri.sm/Librem5/phosh/merge_requests/129">top panel has been cleaned up</a>, which makes it look nicer as well as matching the design mockups a bit better.</p>
<p><img class="alignnone size-large wp-image-60877" src="https://puri.sm/wp-content/uploads/2018/10/top-panel-1024x576.png" alt="" width="960" height="540" srcset="https://puri.sm/wp-content/uploads/2018/10/top-panel-1024x576.png 1024w, https://puri.sm/wp-content/uploads/2018/10/top-panel-300x169.png 300w, https://puri.sm/wp-content/uploads/2018/10/top-panel-768x432.png 768w, https://puri.sm/wp-content/uploads/2018/10/top-panel-600x338.png 600w" sizes="(max-width: 960px) 100vw, 960px" /><br />
If that isn&#8217;t enough, the <a href="https://source.puri.sm/Librem5/phosh/tags/v0.0.1">first release version (0.0.1) of phosh has been tagged</a>!</p>
<h2>GNOME Settings</h2>
<p>The <a href="https://wiki.gnome.org/Design/SystemSettings/">GNOME Settings</a> application <a href="https://twitter.com/KekunPlazas/status/1042805914946990080">has started being ported</a> to the Librem 5 and continues to be worked on.</p>
<h2>gnome-session/gnome-settings-daemon</h2>
<p>An upstream issue around starting gnome-session with debugging enabled <a href="https://gitlab.gnome.org/GNOME/gnome-session/merge_requests/7/diffs">has been fixed</a>.</p>
<p>There&#8217;s been some plugin work as well. An <a href="https://gitlab.gnome.org/GNOME/gnome-settings-daemon/merge_requests/43">initial WWAN plugin</a> has been proposed upstream to handle SIM card PIN unlock.</p>
<p>This patched gnome-settings daemon as been <a href="https://source.puri.sm/Librem5/deb-build-jobs/merge_requests/25">added to the images</a> until it&#8217;s upstreamed so that the SIM unlock stuff we proposed upstream is added to our image for the time being.</p>
<p><img class="alignnone size-large wp-image-60904" src="https://puri.sm/wp-content/uploads/2018/10/guido-unlock-sim-1024x576.png" alt="" width="960" height="540" srcset="https://puri.sm/wp-content/uploads/2018/10/guido-unlock-sim-1024x576.png 1024w, https://puri.sm/wp-content/uploads/2018/10/guido-unlock-sim-300x169.png 300w, https://puri.sm/wp-content/uploads/2018/10/guido-unlock-sim-768x432.png 768w, https://puri.sm/wp-content/uploads/2018/10/guido-unlock-sim-600x338.png 600w" sizes="(max-width: 960px) 100vw, 960px" /></p>
<h2>Wlroots/Keyboard</h2>
<p>Some major improvements have gone into <a href="https://source.puri.sm/Librem5/virtboard">virtboard</a> recently. Among the many bugs fixed, a notable one is that the <a href="https://source.puri.sm/Librem5/virtboard/issues/2">display and scaling issues</a> have been corrected. The input-method-v2, text-input-v3, and significant glue has been added to virtboard and input-method-v2 is <a href="https://github.com/swaywm/wlroots/pull/1203">in the process of being upstreamed</a>. Virtboard now pops up and starts by default on the images and the keyboard has been improved to behave more as expected.</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-61143-11" width="640" height="427" preload="metadata" controls="controls"><source type="video/webm" src="https://puri.sm/wp-content/uploads/2018/10/keyboard6.webm?_=11" /><a href="https://puri.sm/wp-content/uploads/2018/10/keyboard6.webm">https://puri.sm/wp-content/uploads/2018/10/keyboard6.webm</a></video></div>
<p>Similarly, some changes were upstreamed to wlroots and GTK+ in addition to what has already been mentioned. We <a href="https://gitlab.gnome.org/GNOME/gtk/merge_requests/302">fixed some issues affecting virtual keyboards in GTK+</a>. It is important for cursor movements to be treated as relative to surfaces, not only the screen, so we made <a href="https://github.com/swaywm/wlroots/pull/1196">a patch</a> to do just this. There was also <a href="https://github.com/swaywm/wlroots/issues/725">an issue on tag generation</a> that has been <a href="https://github.com/swaywm/wlroots/pull/1196">fixed and submitted upstream</a>.</p>
<h2>Calls</h2>
<p>The <a href="https://source.puri.sm/Librem5/calls">Calls</a> application has also seen a lot of progress recently, with many bug fixes, audio work, and an ongoing makeover to the UI. Now <a href="https://source.puri.sm/Librem5/calls/merge_requests/5">GTK+ Inspector can be opened on the Calls flatpak</a>.</p>
<p>To prepare for the dev kits, a QMI-derived ModemManager driver for the SIMCom modems has been completed to mix QMI and the audio streaming AT commands and add call audio support. A <a href="https://source.puri.sm/Librem5/ModemManager/tree/debian/sid">Debian package of ModemManager has been created</a> that contains these call audio patches.</p>
<p>Since the modem used on the actual phone may be different from that of the dev kits, some initial testing has begun on the <a href="https://www.gemalto.com/m2m/solutions/modules-terminals/industrial-plus/pls8">Gemalto PLS8 modems</a>.</p>
<p>Also, a <a href="https://source.puri.sm/Librem5/calls/merge_requests/11">partial UI overhaul</a> of the Calls application has been done with more exciting UI changes to come!</p>
<p>There is a new daemon, <a href="https://source.puri.sm/Librem5/haegtesse">Hægtesse</a>, that has been written to ferry audio data between the modem and PulseAudio. The daemon has been integrated into our image builds to run on startup.</p>
<h2>Libhandy</h2>
<p>The <a href="https://source.puri.sm/Librem5/libhandy">libhandy</a> library has also seen quite a bit of change since the last progress report. Besides the many minor bugs fixed, there have been a couple of widgets added. A <a href="https://source.puri.sm/Librem5/libhandy/merge_requests/105">HdyTitleBar widget was added</a> to workaround titlebar glitches, and a <a href="https://source.puri.sm/Librem5/libhandy/merge_requests/119">HdyHeaderGroup widget was added</a> to automatically update all header bars. The existing <a href="https://source.puri.sm/Librem5/libhandy/merge_requests/120">HdyLeaflet got an added fold property</a> too. To assist the community in playing with libhandy, the <a href="https://source.puri.sm/Librem5/libhandy/merge_requests/101">libhandy example application has been updated with styling fixes</a> too.</p>
<p><a href="https://source.puri.sm/Librem5/libhandy/tags/v0.0.3">Libhandy 0.0.3 was released</a> and <a href="https://packages.debian.org/source/sid/libhandy">uploaded to Debian unstable</a> but a newer version, <a href="https://lists.puri.sm/pipermail/librem-5-dev/2018-October/000020.html">0.0.4, was just released</a> too.</p>
<p>It is really exciting to start to see libhandy being used in the wild too. <a href="https://wiki.gnome.org/Apps/Podcasts">Podcasts</a> is the first third-party app to ship with libhandy! Here&#8217;s a short video demonstrating libhandy&#8217;s progress and current behavior.</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-61143-12" width="640" height="360" preload="metadata" controls="controls"><source type="video/webm" src="https://puri.sm/wp-content/uploads/2018/10/libhandy-bug-fixes.webm?_=12" /><a href="https://puri.sm/wp-content/uploads/2018/10/libhandy-bug-fixes.webm">https://puri.sm/wp-content/uploads/2018/10/libhandy-bug-fixes.webm</a></video></div>
<h2>GTK+</h2>
<p>Our close collaboration with the GTK+ team has led to a number of changes to separators among other things. There was a <a href="https://gitlab.gnome.org/GNOME/gtk/issues/1286">selection-mode separator styling issue</a> reported and the <a href="https://gitlab.gnome.org/GNOME/gtk/merge_requests/309">look of separators was improved</a> when separating two header bars in selection mode. Additional Adwaita fixes around separators, titlebar issues, and simplifying setting the selection mode <a href="https://gitlab.gnome.org/GNOME/gtk">got merged upstream</a>.</p>
<p>Other fixes and documentation changes were made upstream too. For example, a fix was included upstream around the <a href="https://gitlab.gnome.org/GNOME/gtk/merge_requests/339">serial number while text-input is alive (needed for the keyboard)</a>.</p>
<p>And if you haven&#8217;t read it, take a look at <a href="https://honk.sigxcpu.org/con/GTK__and_the_application_id.html">Guido Gunther&#8217;s blog post on GTK+ and the application id</a>. This will likely be helpful to those of you planning to write flatpak applications for the Librem 5.</p>
<h2>Upower</h2>
<p><a href="https://upower.freedesktop.org/">Upower</a> is a good candidate of API that other programs might want to use to e.g. extract battery information so <a href="https://gitlab.freedesktop.org/upower/upower/merge_requests/10">several upstream documentation improvements were added</a>.</p>
<h2>Contacts</h2>
<p>The Contacts application needs to be made adaptive using libhandy so checkout the <a href="https://gitlab.gnome.org/Community/Purism/gnome-contacts/tree/wip/aplazas/adaptive" class="broken_link">adaptive fork of Contacts</a>. Changes are being submitted to upstream to eventually no longer need a fork. A simple <a href="https://gitlab.gnome.org/GNOME/gnome-contacts/merge_requests/31">separator styling fix</a> and a simple <a href="https://gitlab.gnome.org/GNOME/gnome-contacts/merge_requests/32">size requirement fix</a> were submitted upstream. The <a href="https://gitlab.gnome.org/GNOME/gnome-contacts/merge_requests/33">app menu</a> and <a href="https://gitlab.gnome.org/GNOME/gnome-contacts/merge_requests/34">online accounts shortcut</a> needed to be moved as well.</p>
<h2>Messaging</h2>
<p>The <a href="https://source.puri.sm/Librem5/purism-chatty">Chatty</a> application has some new additions and changes. Also Chatty can be built as a flatpak now too.</p>
<p>The &#8220;bubble-chat&#8221; view is being turned into a widget and a basic version of the msg-list widget has been finished and will be included in libhandy soon. Some GTK+ changes were needed to present libpurple conversations in separate chat-lists and the buddy list is now working too!</p>
<p>A libpurple plugin was tested for message logging into a SQLite database but in order for it to be useful, it will require replacing the libpurple logging functions with a custom logging-subsystem that supports the handling of SMS send-reports. There was some work done on a parser for purple log-files so that chat history is loaded into msg-bubbles now. So, the parser of the purple log-files is just a tentative solution to provide some chat history to the message-view for the time being.</p>
<p>We are currently working on the accounts-management. Some setup-screens have been introduced for registering XMPP accounts and for enabling/disabling them separately. Some work has also been done on the blist UI (formatting of the list entries, round icons, switching the font to bold when unread messages are available, added a timestamp) to make it look nicer.</p>
<h2>Kernel/mesa/etnaviv/libdrm</h2>
<p>As mentioned earlier, a newer CPU (i.MX 8) will be on the dev kits and phones versus what we started tinkering with (i.MX 6). Incidentally there has been a large effort towards bringing up a newer (4.18) kernel on the i.MX 8 CPU, as well as work done on etnaviv and mesa. Here are some of the progress highlights.</p>
<p>Since the dev kits and phones will have USB type-C power delivery, <a href="https://lkml.org/lkml/2018/9/11/614">a patch was sent upstream to the kernel</a> to support this.</p>
<p>Etnaviv now <a href="https://twitter.com/GuidoGuenther/status/1032898450180980736">mostly works</a> with our drm layer on arm64 and 4.18. Etnaviv was <a href="https://salsa.debian.org/xorg-team/lib/libdrm/merge_requests/1">enabled in Debian&#8217;s libdrm</a>. More offsets to sensitive states were <a href="https://lists.freedesktop.org/archives/etnaviv/2018-September/001953.html">added</a> to etnaviv to avoid warnings and a patch was <a href="https://github.com/etnaviv/etna_viv/pull/7">upstreamed</a> to allow the command parser to work.</p>
<p><a href="https://source.puri.sm/guido.gunther/mesa">Our mesa tree</a> is available for anyone to look at while patches are being merged upstream. The aarch64 builds of mesa have been <a href="https://lists.freedesktop.org/archives/mesa-dev/2018-August/203532.html">improved</a>. A patch for an rs alignment check was <a href="https://lists.freedesktop.org/archives/mesa-dev/2018-September/205347.html">proposed</a> and uncached mapping issues on arm64 were <a href="https://lists.freedesktop.org/archives/mesa-dev/2018-October/206131.html">addressed</a>.</p>
<p>We would like to thank the etnaviv maintainers of the Linux kernel, libdrm and mesa for their support since we&#8217;re building heavily on what was already there and they have been a big help in upstreaming these patches.</p>
<h2>Fractal</h2>
<p>Since we are also investing in the Fractal end-to-end (E2E) encryption effort, it is exciting to report that the E2E module in development supports basic functionality now and we could already start working on integrating it. There is still plenty of work to be done but we&#8217;re getting there.</p>
<h1>Hardware Work</h1>
<p>Our hardware engineers and Nicole are working closely with the team that will be assembling the dev kits. So all of the final prototype manufacturing files (prototype fabrication and assembly drawings from KiCad) were sent to assembly team. Nicole traveled to Carlsbad (California) to assist them in building, assembling, and testing of a small print run of dev kit prototypes, to verify the soundness of our electronics design. There have been some hiccups like components being lost in the mail and needed to be reacquired, but all obstacles have been overcome thus far! Assuming all goes well with the testing of these prototypes, the full print run of the final dev kits (that will be shipped to backers) will begin very shortly.</p>
<h1>Community Outreach</h1>
<p>The Librem 5 team continues to work with the Plasma team and is working towards building a Plasma image to be used on the dev kit. Currently, there are <a href="https://arm01.puri.sm/job/debs/view/Plasma%20Mobile/" class="broken_link">Jenkins jobs to build necessary Plasma packages</a> and the Plasma team members are working with us to fix the failures.</p>
<p>The <a href="https://developer.puri.sm/">developer documentation</a> has seen some <a href="https://developer.puri.sm/Apps/GNOME/Gtk+.html" class="broken_link">updated GTK+ documentation</a> and a new code example.</p>
<p>Since we&#8217;ve received offers to help translating parts of the OS, we have begun to use a <a href="https://translate.zanata.org/">public Zanata instance</a> to enable community to contribute translations. Currently, the <a href="https://translate.zanata.org/project/view/phosh">phosh project is available on Zanata</a> for translation contributions and the other projects (libhandy, calls, chatty, virtboard) will be added soon.</p>
<p>A big &#8220;Thanks!&#8221; goes out to all of the external teams that have helped review and merge changes into upstream projects. Everyone’s time and contribution is much appreciated!</p>
<p>That’s all for now folks. Stay tuned for more exciting updates to come!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-progress-report-21/">Librem 5 general development report — October 15th, 2018</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
	<enclosure url="https://puri.sm/wp-content/uploads/2018/10/keyboard6.webm" length="675926" type="video/webm" />
<enclosure url="https://puri.sm/wp-content/uploads/2018/10/libhandy-bug-fixes.webm" length="510796" type="video/webm" />
		</item>
		<item>
		<title>Librem 5 general development report — September 6th, 2018</title>
		<link>https://puri.sm/posts/librem5-progress-report-20/</link>
		<pubDate>Thu, 06 Sep 2018 19:10:27 +0000</pubDate>
		<dc:creator><![CDATA[Heather Ellsworth]]></dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Giving and contributing back]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Linux kernel]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Phones]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=57997</guid>
		<description><![CDATA[<p>Conferences Some of the Purism team members attended Akademy 2018 in Vienna. This conference facilitated further discussions with KDE developers and it was nice to meet everyone in person! We would like to express our gratitude to @Puri_sm, not only for sponsoring #Akademy2018, but also for working with our developers so we can have a [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-progress-report-20/">Librem 5 general development report — September 6th, 2018</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h1>Conferences</h1>
<p>Some of the Purism team members attended Akademy 2018 in Vienna. This conference facilitated further discussions with KDE developers and it was nice to meet everyone in person!</p>
<blockquote class="twitter-tweet" data-width="550" data-dnt="true">
<p lang="en" dir="ltr">We would like to express our gratitude to <a href="https://twitter.com/Puri_sm?ref_src=twsrc%5Etfw">@Puri_sm</a>, not only for sponsoring <a href="https://twitter.com/hashtag/Akademy2018?src=hash&amp;ref_src=twsrc%5Etfw">#Akademy2018</a>, but also for working with our developers so we can have a Plasma Mobile-based smartphone soon.</p>
<p>&mdash; Akademy (@akademy) <a href="https://twitter.com/akademy/status/1031571561377984512?ref_src=twsrc%5Etfw">August 20, 2018</a></p></blockquote>
<p><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script></p>
<p>There were also some team members that attended <a href="https://www.froscon.de/en/">FrOSCon</a>. Coming up, we have <a href="https://allthingsopen.org/speakers/todd-weaver/" target="_blank" rel="noopener" class="broken_link">Todd presenting at AllThingsOpen</a>, and <a href="https://2018.capitoledulibre.org/">Capitole du Libre</a> where François and Adrien will be manning a booth (so be sure to stop by and say bonjour if you&#8217;re there).</p>
<blockquote class="twitter-tweet" data-width="550" data-dnt="true">
<p lang="en" dir="ltr">We&#39;re excited to have Todd Weaver, Founder &amp; CEO of <a href="https://twitter.com/Puri_sm?ref_src=twsrc%5Etfw">@puri_sm</a>, presenting at <a href="https://twitter.com/hashtag/AllThingsOpen?src=hash&amp;ref_src=twsrc%5Etfw">#AllThingsOpen</a>! <a href="https://t.co/FXc3M9ENwi">https://t.co/FXc3M9ENwi</a> <a href="https://t.co/piFRSZ5WOL">pic.twitter.com/piFRSZ5WOL</a></p>
<p>&mdash; All Things Open (@AllThingsOpen) <a href="https://twitter.com/AllThingsOpen/status/1034611592028205057?ref_src=twsrc%5Etfw">August 29, 2018</a></p></blockquote>
<p><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script></p>
<h1>Design</h1>
<p>More improvements have been made to the shell mock-ups and those should be complete soon! Also some exciting new icons are on the horizon and we will use them early in our development builds and on the apps shipping with the phone; GNOME&#8217;s new icons are slated for inclusion in the 3.32 release in 2019.</p>
<h1>Software Work</h1>
<h2>Images</h2>
<p>Now the <a href="https://source.puri.sm/Librem5/image-builder/merge_requests/40">qcow2 images are archived</a> as well as the raw image file. This makes the x86_64 VM image more accessible to those &#8220;can&#8217;t wait&#8221; to try things out today, or who haven&#8217;t ordered a development board. You can find the most recent builds and build artifacts <a href="https://arm01.puri.sm/job/Images/job/Image%20Build/">here</a>. See below for a demo of rotation in the qcow2 image. Also, <a href="https://source.puri.sm/Librem5/image-builder/merge_requests/39">a couple of packages have been added to the images</a> to enable the resizing of the rootfs to fill the partitioned space.</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-57997-13" width="640" height="798" preload="metadata" controls="controls"><source type="video/webm" src="https://puri.sm/wp-content/uploads/2018/08/L5-qcow2-rotation.webm?_=13" /><a href="https://puri.sm/wp-content/uploads/2018/08/L5-qcow2-rotation.webm">https://puri.sm/wp-content/uploads/2018/08/L5-qcow2-rotation.webm</a></video></div>
<p>We are now <a href="https://arm01.puri.sm/job/plasma-debs/">transforming Plasma Mobile&#8217;s Debian packaging</a> into <a href="https://source.puri.sm/Librem5/Plasma">git repositories suitable for our build jobs</a> and <a href="https://arm01.puri.sm/job/debs/view/Plasma%20Mobile/" class="broken_link">building them</a>. These packages will eventually be included in a Plasma Mobile Librem 5 image. There is ongoing work with upstream Plasma developers to resolve the remaining build issues.</p>
<h2>Phosh</h2>
<p>Many fixes and tweaks have occurred in phosh in the last few weeks. <a href="https://source.puri.sm/Librem5/phosh/merge_requests/93">Size calculations have been fixed</a> (and therefore menu positions) on scaled displays with custom modes. The <a href="https://source.puri.sm/Librem5/phosh/merge_requests/94">German translation</a> has been updated. <a href="https://source.puri.sm/Librem5/phosh/merge_requests/96">Now a login shell is used when we launch gnome-session</a>, which ensures XDG_* is set up correctly so icons of flatpak applications are correctly recognized by phosh. To make phosh more robust, more <a href="https://source.puri.sm/Librem5/phosh/merge_requests/100">compile warnings were enabled</a> and the resulting errors were addressed.</p>
<h2>gnome-settings-daemon</h2>
<p>To lay the ground work for configuring your modem, an <a href="https://gitlab.gnome.org/GNOME/gnome-settings-daemon/issues/70">upstream discussion</a> has been started to discuss how gnome-settings-daemon should behave regarding modems.</p>
<h2>Wlroots</h2>
<p>Wlroots was known to crash when phosh reconnects and that has been <a href="https://source.puri.sm/Librem5/wlroots/issues/11">fixed</a>. We also continue to keep wlroots up to date with new upstream snapshots.</p>
<h2>GTK+ 4 and libhandy</h2>
<p>Since the compositor and GTK+ need to work well together, an issue was fixed to <a href="https://gitlab.gnome.org/GNOME/gtk/merge_requests/284">make the xdg-shell&#8217;s app_id match GApplication&#8217;s application-id property</a>. This makes it simpler for compositors to match applications to desktop files in Wayland.</p>
<p>Among the many fixes in libhandy recently, it has been made more robust during builds to <a href="https://source.puri.sm/Librem5/libhandy/merge_requests/86">now fail on warnings</a>. There are three GTK+ bugs that currently affect the ability to create adaptive UIs that have been brought up with the upstream developers: a <a href="https://source.puri.sm/Librem5/libhandy/issues/21">non-rounded corner issue</a>, an <a href="https://source.puri.sm/Librem5/libhandy/issues/22">off-screen popover issue</a>, and an issue that causes <a href="https://gitlab.gnome.org/GNOME/gtk/issues/1231">the separator to sometimes be transparent</a>. For the separator issue, <a href="https://gitlab.gnome.org/GNOME/gtk/merge_requests/268">a solution has been proposed</a> as well. There is ongoing work upstream on the separator to <a href="https://gitlab.gnome.org/GNOME/gtk/issues/1286">add a selection mode variant</a> and <a href="https://gitlab.gnome.org/GNOME/gtk/issues/1265">make adding a separator less complicated</a> that is quite necessary to have cleanly defined panels in HdyLeaflet. Furthermore, the libhandy flatpak runtime (org.gnome.Platform) has been <a href="https://source.puri.sm/Librem5/libhandy/merge_requests/92">updated from 3.26 to master</a> so we can be on the bleeding edge.</p>
<h2>Keyboard</h2>
<p>On the OSK front, the text-input-v3 patch-set has been included in <a href="https://cgit.freedesktop.org/wayland/wayland-protocols/commit/?id=db152d7c6f53adb60db8dfc046604a487002d927">wayland-protocols</a> and <a href="https://gitlab.gnome.org/GNOME/gtk/commit/77b4c4432effe889d3dd7b54c58be7adaae445af">gtk-3.24</a>. The preliminary support of text-input-v3 has also been <a href="https://source.puri.sm/Librem5/wlroddots/commits/text_input_rebase">added to wlroots</a>. Additionally, the virtual-keyboard protocol patch has been updated and <a href="https://lists.freedesktop.org/archives/wayland-devel/2018-August/039239.html">is in review</a>. There has even been an <a href="https://lists.freedesktop.org/archives/wayland-devel/2018-August/039255.html">input-method-v2 protocol RFC</a> posted. So get ready to type on your virtual keyboard!</p>
<h2>Calls and messaging</h2>
<p>Since the decision to implement a ModemManager back-end to the Calls application, some changes were needed to Calls. To give ModemManager more privileges, some <a href="https://source.puri.sm/Librem5/librem5-themes/merge_requests/3">policy kit files were created</a>. To improve the UI of Calls, <a href="https://source.puri.sm/Librem5/calls/merge_requests/7">some of the Calls display code was cleaned up</a> and <a href="https://source.puri.sm/Librem5/calls/merge_requests/11">made the Calls UI closer to the final design</a>.</p>
<p>New and exciting things are on the horizon for the Messaging app. A new SMS libpurple-plugin has begun development and testing is ongoing with the Pidgin-Debug window to check if the ModemManager interface works. Work is advancing to glue the Chatty GTK+ objects to libpurple UiOps structs and signals for conversation handling. A <a href="https://puri.sm/posts/librem5-progress-report-19/">blog post on Chatty</a>—complete with a demo video—has just been published so go read it if you haven&#8217;t already!</p>
<h2>Kernel</h2>
<p>A significant effort has been put in to make the 4.18 kernel work with the devkit SoM. In order to help debug kernel hangs, some work was done on <a href="http://openocd.org/">openocd</a> like adding a board configuration for the particular board that will be used on the dev kits and <a href="http://openocd.zylin.com/#/c/4647/">warn when the CPU is not halted by invoking phys2virt</a>. The openOCD folks were a great help on this effort!</p>
<p>Efforts continue on other pieces of the kernel too. Work continues on the power supply driver for the battery charger with upstream kernel developers and should be accepted soon. USB 2 has been tested and is working. There were also some clock issues that were resolved and both SDMA and RTC are both now working as well.</p>
<h1>Hardware Work</h1>
<p>The Purism hardware team has sent out the manufacturing files for PCB fabrication and assembly of the prototypes. The files are currently under review.</p>
<h1>Community Outreach</h1>
<p>An issue template has been added to the current phosh, libhandy, calls, chatty, docs, and virtboard projects to guide the user to provide all of the necessary information when filing an issue against these projects. For more information on filing issues, see <a href="https://developer.puri.sm/Issues.html">our documentation page on reporting an issue</a>.</p>
<p>A big Thanks goes out to all of the external teams that have helped review and merge changes into upstream projects. Everyone’s time and contribution is much appreciated!</p>
<p>That’s all for now folks. Stay tuned for more exciting updates to come!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-progress-report-20/">Librem 5 general development report — September 6th, 2018</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
	<enclosure url="https://puri.sm/wp-content/uploads/2018/08/L5-qcow2-rotation.webm" length="851965" type="video/webm" />
		</item>
		<item>
		<title>Librem 5 general development report — June 11, 2018</title>
		<link>https://puri.sm/posts/librem5-progress-report-14/</link>
		<pubDate>Mon, 11 Jun 2018 22:38:53 +0000</pubDate>
		<dc:creator><![CDATA[Heather Ellsworth]]></dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Giving and contributing back]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Phones]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=53690</guid>
		<description><![CDATA[<p>There has been some exciting work done on the Librem 5 project and while there is still plenty of work left, we would like to highlight the accomplishments the team has achieved over the last couple of weeks. So here please enjoy a brief update on our recent efforts and victories. Software Work There is [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-progress-report-14/">Librem 5 general development report — June 11, 2018</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>There has been some exciting work done on the Librem 5 project and while there is still plenty of work left, we would like to highlight the accomplishments the team has achieved over the last couple of weeks. So here please enjoy a brief update on our recent efforts and victories.</p>
<h2>Software Work</h2>
<p>There is so much that goes into the software stack of the Librem 5. There&#8217;s the underlying infrastructure like the UI shell and newly developed libraries and protocols. But then there&#8217;s the familiar apps that are necessary.</p>
<p>On the nuts and bolts level, our <a href="https://source.puri.sm/Librem5/phosh">phone shell (phosh)</a> has seen several usability improvements mostly around the lockscreen. One important change is that the lockscreen unlocking has been switched to PAM to better handle the PIN to lock the device. There have also been some additions to the code to better handle multiple outputs (screens). Also, <a href="https://source.puri.sm/Librem5/libhandy">Libhandy</a> is our &#8220;handy&#8221; UI library for developing GTK+ apps. There has been a recent addition of an arrows widget (HdyArrows) to indicate swiping direction which will be very useful to many applications, especially the lockscreen. Additionally, libhandy has seen some bug fixes and a slight rework of the keyboard handling support. Since graphics are important, we have added<a href="https://lists.freedesktop.org/archives/wayland-devel/2018-March/037532.html"> Etnaviv support</a> to weston-simple-dmabuf (a Wayland client to test Linux DMA-BUF protocol implementations). We also extended it&#8217;s <a href="https://lists.freedesktop.org/archives/wayland-devel/2018-March/037536.html">NV12 format support</a>. It&#8217;s being used over here to test wlroot&#8217;s <a href="https://github.com/swaywm/wlroots/pull/698">linux-dmabuf</a> <a href="https://github.com/swaywm/wlroots/pull/724">implementation</a> which we wrote a couple of weeks ago. We&#8217;d like to especially thank the wlroots and Weston projects for their code reviews, recommendations, and support.</p>
<p>Since you can&#8217;t have a phone that doesn&#8217;t make phone calls, there have been great strides made on the <a href="https://source.puri.sm/Librem5/calls">Calls</a> app and the Calls app can successfully place phone calls now! (And if you missed it, we encourage you to go read <a href="https://puri.sm/posts/librem5-progress-report-12/">the exciting blog post</a> about it.) Along with all of the great work it took to get to this point, the interfaces have been documented in the code. Debian packaging is being put together and we&#8217;ve been working to include Flatpak packaging contributed by a member of the community.</p>
<p>Every smart phone needs an On-Screen Keyboard (OSK), so there has been significant development on writing some necessary protocols and getting them upstream. So far the virtual-keyboard protocol <a href="https://github.com/swaywm/wlroots/pull/999">has been accepted</a> for inclusion in upstream wlroots. The text-input protocol has also <a href="https://lists.freedesktop.org/archives/wayland-devel/2018-May/038071.html">been submitted upstream</a>. To test virtual-keyboard protocol, we created a prototype client based on weston-keyboard. You can read more about the OSK developments in <a href="https://puri.sm/posts/dorota-on-the-importance-of-on-screen-keyboards/">Dorota&#8217;s initial blog post on the matter</a>.</p>
<h1>Hardware Work</h1>
<p>Identifying and testing the individual hardware components that will be present on the dev kit and eventual phone is a non-trivial task. After identifying a component as a potential fit for our needs and receiving a couple of them to test, often kernel modules need to be modified or written before the testing can begin. This was the case when evaluating and testing a low power WiFi card/module, which is still underway. Vibration motors are also being gathered for evaluation and battery chargers are being tested. We are also looking into various camera options.</p>
<h1>Community Outreach</h1>
<p>The community continues to be at the front of our thoughts. So we have created a general PureOS wiki at <a href="https://wiki.puri.sm/">wiki.wp.puri.sm</a> that still doesn&#8217;t have much details yet but will eventually be a place to look for both general and technical information on PureOS and Purism products. We&#8217;ve also fixed an issue with the community email lists so that they are functional now and opened up our Matrix rooms so that you can join our discussions with your already existing Matrix ID. For more information on both the email lists and Matrix rooms, have a look at <a href="https://developer.puri.sm/Volunteering/HowTo.html">our volunteer page</a>.</p>
<p>We have been so happy to receive some initial volunteers that are doing fantastic work to help the Librem 5 become awesome. If you&#8217;ve been following and contributing to our code repositories, please note that we just moved the hosting from Gogs to GitLab &#8211; the new location can be found at <a href="https://source.puri.sm/">source.wp.puri.sm</a>.</p>
<p>That&#8217;s all for now folks. Stay tuned for more exciting updates to come!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-progress-report-14/">Librem 5 general development report — June 11, 2018</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Initial Developer Documentation for the Librem 5 Phone Platform</title>
		<link>https://puri.sm/posts/librem5-progress-report-10/</link>
		<pubDate>Wed, 11 Apr 2018 17:29:26 +0000</pubDate>
		<dc:creator><![CDATA[Heather Ellsworth]]></dc:creator>
				<category><![CDATA[FAQs and documentation]]></category>
		<category><![CDATA[Product Design]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Giving and contributing back]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[PureOS]]></category>
		<category><![CDATA[Software freedom]]></category>
		<category><![CDATA[Tips and tricks]]></category>
		<category><![CDATA[User experience design]]></category>
		<category><![CDATA[User interaction design]]></category>
		<category><![CDATA[Website]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=50309</guid>
		<description><![CDATA[<p>At Purism, we are just as excited as you are about the the development boards that will be distributed this summer. Once a person receives their development board, their first thought will be &#8220;This is great! Now, what do I do with it?&#8221; In anticipation of the technical guidance that will be needed, the developer [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-progress-report-10/">Initial Developer Documentation for the Librem 5 Phone Platform</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>At Purism, we are just as excited as you are about the the development boards that will be distributed this summer. Once a person receives their development board, their first thought will be &#8220;This is great! Now, what do I do with it?&#8221; In anticipation of the technical guidance that will be needed, the developer documentation effort has begun. You can already see the current state of the documentation at <a href="https://developer.puri.sm/">developer.wp.puri.sm</a></p>
<h1>Goal of the Docs</h1>
<p>The developer documentation is there as a guide for getting a new developer setup and ready to start having fun! This will include plenty of examples that will help you along towards whatever your goal with the development board may be.</p>
<p>There will be technical step-by-step instructions that are suitable for both newbies and experienced Debian developers alike. The goal of the docs is to openly welcome you and light your path along the way with examples and links to external documentation. These examples will aid you from the start of unpacking your development board to building and deploying <a href="https://flatpak.org/" target="_blank" rel="noopener">flatpak</a> applications to it—and eventually including your package into <a href="https://pureos.net/" target="_blank" rel="noopener">PureOS</a>. Included, you can expect examples on how to use certain tools like flatpak, the IDEs used to build flatpak applications, and UI tools to help you design apps. The design of the Librem 5 phone interface will also be outlined in detail to provide insight into the human interface guidelines that will be followed by the core applications. Use the design section to learn about gestures you can expect on the phone. Apps you design or port to the board can use these gestures too!</p>
<p>Please note that the docs are not a complete tutorial on how to use <em>all</em> of the development tools required. There are existing documentations available for each specific tool so there&#8217;s no need to reinvent the wheel. Instead, you will be directed to those locations online so you can research further on a specific tool.</p>
<p>We welcome all test and development efforts that volunteers have to give, so there will also be information on volunteering and how to become a Purism community member in general.</p>
<h1>Work in progress</h1>
<p>The documentation is in a constant state of flux. Content is being added daily and reorganization still occurs from time-to-time. If you no longer see a page there, just search for it because chances are it has been moved to somewhere else within the site instead of removed. The aim is to write documentation that is helpful and intuitive so it is important that an intuitive path is laid out. This developer documentation is still pretty new but is filling out quickly so that you are ready to hit the ground running with your new development board in June!</p>
<p>There will be a separate announcement in the next few weeks on this same blog to call for volunteers so get ready!</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-progress-report-10/">Initial Developer Documentation for the Librem 5 Phone Platform</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Initial Plasma Mobile enablement on Librem 5 i.MX 6 test boards</title>
		<link>https://puri.sm/posts/librem5-progress-report-9/</link>
		<pubDate>Tue, 13 Mar 2018 13:31:53 +0000</pubDate>
		<dc:creator><![CDATA[Heather Ellsworth]]></dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Newsletter and status updates]]></category>
		<category><![CDATA[Phones]]></category>

		<guid isPermaLink="false">https://puri.sm/?p=49826</guid>
		<description><![CDATA[<p>As many of you know, the Librem 5 phone will work with two options for your desktop environment, a GNOME based phone shell and Plasma Mobile. Working closely with the KDE community, we were able to install, run, and even see mobile network provider service on Plasma Mobile! The purpose of this article is to [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-progress-report-9/">Initial Plasma Mobile enablement on Librem 5 i.MX 6 test boards</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>As many of you know, the Librem 5 phone will work with <a href="https://puri.sm/posts/gnome-and-kde-in-pureos-diversity-across-devices/">two options</a> for your desktop environment, a GNOME based phone shell and Plasma Mobile. Working closely with the KDE community, we were able to install, run, and even see mobile network provider service on Plasma Mobile! The purpose of this article is to show the progress that has been made with Plasma Mobile on the current Librem 5 development board. Here, the setup steps and overcome challenges are highlighted.</p>
<h1>The Setup</h1>
<p>The i.MX 6 board started off running <a href="https://pureos.net/" target="_blank" rel="noopener">PureOS</a> (which, as you may know, is based on <em>Debian testing</em>) with a running Weston environment. Several KDE and Qt packages were needed for the Plasma Mobile environment and a few packages were not available within PureOS so needed to be built: plasma-phone-components, kpeople-vcard, and plasma-settings. For a complete list of technical steps on how Plasma Mobile was setup on the dev board, see <a href="https://developer.puri.sm/Environments/PlasmaMobile.html">this page</a>.</p>
<p>Once all of the necessary pieces were in place, running Plasma Mobile was as simple as a single command:</p>
<pre>$ kwin_wayland --drm plasma-phone</pre>
<h1>Overcome Challenge #1: The Evil Display Issue</h1>
<p><img class="wp-image-49831 alignright" src="https://puri.sm/wp-content/uploads/2018/03/bad_screen_full-e1520870479880.jpg" alt="" width="310" height="413" srcset="https://puri.sm/wp-content/uploads/2018/03/bad_screen_full-e1520870479880.jpg 3024w, https://puri.sm/wp-content/uploads/2018/03/bad_screen_full-e1520870479880-225x300.jpg 225w, https://puri.sm/wp-content/uploads/2018/03/bad_screen_full-e1520870479880-768x1024.jpg 768w" sizes="(max-width: 310px) 100vw, 310px" />That is when we discovered that the desktop just wasn’t rendering properly. The prototype phone screen looked like an old TV in-between channels. Also sometimes a KDE wallet pop-up window would appear as well (seen in the picture below).</p>
<p>So troubleshooting hats were donned and gdb dusted off. It was discovered that if the <em>export QT_QPA_PLATFORM=wayland</em> line is commented out of the plasma-phone script, then our display issue went away! But the QT_QPA_PLATFORM variable is needed to set the platform to be Wayland. So then the question became, &#8220;why is the graphics driver, <em>etnaviv,</em> not working in Wayland mode?&#8221;</p>
<p>It turns out that the missing piece was that the <em>zwp_linux_dmabuf</em> protocol was not yet supported in Plasma. For more information on why zwp_linux_dmabuf is needed for Etnaviv driver, check out <a href="https://www.pengutronix.de/en/2017-09-28-etnaviv-weston-mainline.html" target="_blank" rel="noopener">this announcement</a>.</p>
<p>There already was an upstream bug report tracking the issue, with patches to kwin and kwayland. Thanks to Fredrik Höglund for his work done on zwp_linux_dmabuf.</p>
<p>We incorporated upstream&#8217;s patches into our development build of kwin and kwayland and voilà! We were now able to export the QT_QPA_PLATFORM variable and see a beautiful Plasma display!</p>
<p><img class="alignleft wp-image-49833" src="https://puri.sm/wp-content/uploads/2018/03/good_display_full-e1520871172249.jpg" alt="" width="313" height="418" srcset="https://puri.sm/wp-content/uploads/2018/03/good_display_full-e1520871172249.jpg 3024w, https://puri.sm/wp-content/uploads/2018/03/good_display_full-e1520871172249-225x300.jpg 225w, https://puri.sm/wp-content/uploads/2018/03/good_display_full-e1520871172249-768x1024.jpg 768w" sizes="(max-width: 313px) 100vw, 313px" /><img class="wp-image-49834 alignnone" src="https://puri.sm/wp-content/uploads/2018/03/good_screenlock_full-e1520871185698.jpg" alt="" width="314" height="419" srcset="https://puri.sm/wp-content/uploads/2018/03/good_screenlock_full-e1520871185698.jpg 3024w, https://puri.sm/wp-content/uploads/2018/03/good_screenlock_full-e1520871185698-225x300.jpg 225w, https://puri.sm/wp-content/uploads/2018/03/good_screenlock_full-e1520871185698-768x1024.jpg 768w" sizes="(max-width: 314px) 100vw, 314px" /></p>
<h1>Overcome Challenge #2: The Invisible Mouse</h1>
<p>It was obvious that the keyboard worked, because it was possible to type the password to log back in from the blue lock screen. The mouse, however, seemed to be nowhere in sight. However, by moving the mouse around (assuming it’s there and just not visible) and clicking, we saw that it was possible to open applications but only by accidentally clicking the right thing.</p>
<p>The issue here is that if the DRM driver doesn’t provide the cursor plane. There is an outstanding bug report on this issue.</p>
<p>In the meantime however, we can work around this by holding Ctrl+Super keys to draw a rotating circle around the mouse cursor position, as you can see in the video below:</p>
<div style="width: 640px;" class="wp-video"><video class="wp-video-shortcode" id="video-49826-14" width="640" height="360" preload="metadata" controls="controls"><source type="video/webm" src="https://puri.sm/wp-content/uploads/2018/03/plamo_on_l5.webm?_=14" /><a href="https://puri.sm/wp-content/uploads/2018/03/plamo_on_l5.webm">https://puri.sm/wp-content/uploads/2018/03/plamo_on_l5.webm</a></video></div>
<p>This is good enough for our current needs, since ultimately we will receive the missing touch adapter hardware for the dev screen and we would no longer need to use of a traditional mouse pointer.</p>
<h1>Overcome Challenge #3: Mobile Network Provider Service</h1>
<p><img class="alignleft wp-image-49832" src="https://puri.sm/wp-content/uploads/2018/03/cell_service_full-768x1024.jpg" alt="" width="392" height="522" srcset="https://puri.sm/wp-content/uploads/2018/03/cell_service_full-768x1024.jpg 768w, https://puri.sm/wp-content/uploads/2018/03/cell_service_full-225x300.jpg 225w" sizes="(max-width: 392px) 100vw, 392px" /></p>
<p>Naturally, the next challenge we attempted was to make a phone call. First, the SIM card needs to be recognized, and the provider information retrieved from the modem. This required additional packages, some of which needed to be built from source. To actually get the Sierra Wireless MC7455 to recognize the SIM card, a PIN needed to be sent, modem brought online, and antennas attached. Then, when Plasma Mobile started, we were able to see the mobile network provider signal strength in the top left corner!</p>
<p>Due to the modem we currently have installed on our i.MX 6 board, phone calls are not supported so we could not fully test that part yet. But don’t worry, the Librem 5 will have a modem capable of actually placing phone calls 😉</p>
<h1>One step closer and 9,000 kilometers across</h1>
<p>Together with the community, Purism is making progress on the road to supporting Plasma Mobile on the Librem 5. There is still more effort needed and this collaboration with the Plasma community will be working towards the successful deployment of Plasma Mobile on the Librem 5.</p>
<p>From 27th of February to 1st of March, Todd and Nicole visited the Embedded World electronics supplier trade show in Nürnberg (Germany) to meet with potential parts suppliers, especially with representatives from NXP and distributor EBV Elektronik. Furthermore, we had productive meetings with suppliers for WiFi, BlueTooth, and sensors, and also talked to a number of board makers and designers.</p>
<p>This visit and the talks prepared us well for our next trip, this time to Shenzhen, the silicon delta of China. We have made appointments with a number of suppliers that are interested in cooperating with us on the Librem 5 phone project as well as on other hardware projects. We will have an extensive two week meeting marathon in order to narrow down the choice and pinpoint the best suppliers for our project.</p>
<p>The post <a rel="nofollow" href="https://puri.sm/posts/librem5-progress-report-9/">Initial Plasma Mobile enablement on Librem 5 i.MX 6 test boards</a> appeared first on <a rel="nofollow" href="https://puri.sm/">Purism</a>.</p>
]]></content:encoded>
	<enclosure url="https://puri.sm/wp-content/uploads/2018/03/plamo_on_l5.webm" length="4578517" type="video/webm" />
		</item>
	</channel>
</rss>
