maemoleste_github_io.atom.xml - sfeed_tests - sfeed tests and RSS and Atom files
HTML git clone git://git.codemadness.org/sfeed_tests
DIR Log
DIR Files
DIR Refs
DIR README
DIR LICENSE
---
maemoleste_github_io.atom.xml (348680B)
---
1 <?xml version="1.0" encoding="utf-8"?>
2 <feed xmlns="http://www.w3.org/2005/Atom"><title>Maemo Leste</title><link href="https://maemo-leste.github.io/" rel="alternate"></link><link href="https://maemo-leste.github.io/feeds/all.atom.xml" rel="self"></link><id>https://maemo-leste.github.io/</id><updated>2020-06-24T18:00:00+02:00</updated><entry><title>Maemo Leste - Thirteenth Update (April) 2020</title><link href="https://maemo-leste.github.io/maemo-leste-thirteenth-update-april-2020.html" rel="alternate"></link><published>2020-06-24T18:00:00+02:00</published><updated>2020-06-24T18:00:00+02:00</updated><author><name>Merlijn Wajer</name></author><id>tag:maemo-leste.github.io,2020-06-24:/maemo-leste-thirteenth-update-april-2020.html</id><summary type="html"><p>It's been several weeks since our <a class="reference external" href="{filename}/maemo-leste-update-february-and-march-2020.rst">last update</a>, so let's start
3 with a few highlights:</p>
4 <ul class="simple">
5 <li>We have improved power management on the Droid 4, and currently, under ideal
6 conditions, the power draw is about <tt class="docutils literal">60mW</tt> with the modem turned on. That
7 should last a few days on a decent battery …</li></ul></summary><content type="html"><p>It's been several weeks since our <a class="reference external" href="{filename}/maemo-leste-update-february-and-march-2020.rst">last update</a>, so let's start
8 with a few highlights:</p>
9 <ul class="simple">
10 <li>We have improved power management on the Droid 4, and currently, under ideal
11 conditions, the power draw is about <tt class="docutils literal">60mW</tt> with the modem turned on. That
12 should last a few days on a decent battery</li>
13 <li>Various sensors and other hardware of the Motorola Droid 4 are now usable with
14 Maemo Leste</li>
15 <li>A lot of kernel bugs/regressions have been chased and fixed</li>
16 <li>Cellular support is improving; cellular data should now work</li>
17 <li>Maemo Leste Extras should contain quite a few more packages now</li>
18 <li><tt class="docutils literal"><span class="pre">leste-config-*</span></tt> packages now exist to provide seamless configuration updates
19 and changes, so there should be less of a need to &quot;reinstall&quot; on every new
20 image release</li>
21 </ul>
22 <div class="section" id="software-changes">
23 <h2>Software changes</h2>
24 <div class="section" id="mce">
25 <h3>mce</h3>
26 <p>The Mode Control Entity has seen significant changes.</p>
27 <p>MCE will now properly blank the screen, allowing the SoC to idle, which
28 in turn allows for significant power saving (<a class="reference external" href="https://github.com/maemo-leste/bugtracker/issues/338">see issue #338</a>, <a class="reference external" href="https://github.com/maemo-leste/mce/pull/5">MCE PR 5</a>).</p>
29 <p>With the newer versions, the touchscreen will also be properly disabled when the
30 device is locked. This will prevent 'accidental' input events being sent to
31 applications while the device is locked. MCE will also close the file
32 descriptors of any touchscreen devices and tell X11 to disable the touchscreens
33 to let the touchscreen driver idle properly. For more details, see <a class="reference external" href="https://github.com/maemo-leste/bugtracker/issues/340">issue #340</a>, <a class="reference external" href="https://github.com/maemo-leste/mce/pull/6">MCE PR 6</a> and <a class="reference external" href="https://github.com/maemo-leste/mce/pull/7">MCE PR 7</a>.</p>
34 <p>Furthermore, we've made a change to the default <tt class="docutils literal">/etc/mce/mce.ini</tt> configuration
35 file to prevent accidental shutdowns on the Droid 4. We've <a class="reference external" href="https://github.com/maemo-leste/bugtracker/issues/392">increased the time
36 one has to press the power key to shutdown the device (issue #392)</a>.</p>
37 <p>ALS (Ambient Light Sensor) support has been extended, and it now also works on the
38 <a class="reference internal" href="#motorola-droid-4">Motorola Droid 4</a>. See <a class="reference external" href="https://github.com/maemo-leste/mce/pull/8/">MCE PR 8</a>.</p>
39 <p>A module contributed by <tt class="docutils literal">uvos</tt> to support vibration in MCE is also expected to
40 land in the next few days. See <a class="reference external" href="https://github.com/maemo-leste/bugtracker/issues/132">issue #132</a> and <a class="reference external" href="https://github.com/maemo-leste/mce/pull/9">MCE PR 9</a>.</p>
41 <p>Something else to look forward to is the execution of mode-change shell scripts,
42 to allow certain programs or scripts to be executed when a device is locked,
43 unlocked, or enters other mce (sub)modes.</p>
44 </div>
45 <div class="section" id="input-and-focus-fixes">
46 <h3>Input and Focus fixes</h3>
47 <p>libmatchbox2 and hildon-desktop (the Maemo window manager) have had <a class="reference external" href="https://bugs.maemo.org/show_bug.cgi?id=5987">long standing
48 bugs with regards to input focus</a>, which also made it
49 <a class="reference external" href="https://github.com/maemo-leste/bugtracker/issues/346">impossible to send keyboard events to vanilla Qt 5 applications</a>.</p>
50 <p><tt class="docutils literal">freemangordon</tt> and <tt class="docutils literal">uvos</tt> have been trying to get to the bottom of the problem.
51 The result of that effort is that all known problematic input and focus issues
52 are now fixed. Now xev happily receives events, es2gears responds to keyboard input
53 events, and Qt 5 applications take input the way they are supposed to.</p>
54 <p>Relevant pull requests:</p>
55 <ul class="simple">
56 <li><a class="reference external" href="https://github.com/maemo-leste/libmatchbox2/pull/3">libmatchbox PR 3</a></li>
57 <li><a class="reference external" href="https://github.com/maemo-leste/libmatchbox2/pull/4">libmatchbox PR 4</a></li>
58 <li><a class="reference external" href="https://github.com/maemo-leste/hildon-desktop/pull/4">hildon-desktop PR 4</a></li>
59 </ul>
60 </div>
61 <div class="section" id="qt-5-progress-is-being-made">
62 <h3>Qt 5: Progress is being made</h3>
63 <p>The Maemo Qt 5 port is not finished yet, but has seen various improvements.
64 Merlijn has been doing work porting the &quot;Hildon Input Method&quot; virtual keyboard
65 patches to Qt 5. Due to the more clear architecture of Qt 5, our
66 unwillingness to fork Qt 5 as a whole, and the fact that we're also porting from
67 old <tt class="docutils literal">Xlib</tt> code to <tt class="docutils literal">xcb</tt>, the work is taking a little bit more
68 time. On the upside, all the Maemo Qt 5 bits will hopefully available via a
69 <a class="reference external" href="https://doc.qt.io/qt-5/qpa.html">Qt 5 loadable platform module</a>.</p>
70 <p>Apart from the virtual keyboard, there are at least two important pieces
71 missing:</p>
72 <ul class="simple">
73 <li>QMenu support, to allow hildon-style menu items to show when the application
74 title is touched/pressed</li>
75 <li>Hildon-style stacked windows</li>
76 </ul>
77 <p>We've also ported over a sample application, <a class="reference external" href="https://github.com/maemo-leste-extras/countdowntimer">countdowntimer</a>:</p>
78 <img alt="" src="/images/countdowntimer.png" style="width: 576px; height: 324px;" />
79 <p>To make it usable, we had to have the application respect desktop sizes other
80 than the <cite>800x480</cite> that the Nokia N900 screen supports, to prevent it from
81 looking like this:</p>
82 <img alt="" src="/images/leste-qt5-countdowntimer-0.1.png" style="width: 576px; height: 324px;" />
83 <p>Countdowntimer itself also makes use of the specialised QMenu and Hildon
84 stackable windows, but is already quite usable even without those modifications.</p>
85 <p>Development can be done directly on the VM, using X11 forwarding:</p>
86 <img alt="" src="/images/leste-qt5-designer-x11-forward.png" style="width: 576px; height: 324px;" />
87 <p>You can also use Qt Designer with the native Maemo theme, but, well...:</p>
88 <img alt="" src="/images/leste-designer-lol.png" style="width: 576px; height: 324px;" />
89 <p>If you plan to use Qt designer on your device, you might want to look at <a class="reference internal" href="#xephyr-nested-xorg-server-on-maemo">Xephyr
90 (Nested Xorg server) on Maemo</a> instead.</p>
91 <p>In the next month, we hope to mostly finish the Qt 5 port. Keep in mind that many
92 Qt 5 applications are already usable on Maemo Leste as is. This is also documented in
93 <a class="reference internal" href="#community-showcase">Community showcase</a>!</p>
94 </div>
95 <div class="section" id="xephyr-nested-xorg-server-on-maemo">
96 <h3>Xephyr (Nested Xorg server) on Maemo</h3>
97 <p>Xephyr is a nested X server, which can run in a window on Maemo Leste, allowing you
98 to run any ordinary desktop application on Maemo Leste, in a window.</p>
99 <p>It's especially useful for devices with physical keyboards.</p>
100 <p>Installing it is as simple as:</p>
101 <pre class="literal-block">
102 sudo apt install xephyr
103 </pre>
104 <p>And then start it as follows:</p>
105 <pre class="literal-block">
106 Xephyr :1 &amp;
107 </pre>
108 <p>And launch applications inside that server like so:</p>
109 <pre class="literal-block">
110 DISPLAY=:1 dwm &amp;
111 DISPLAY=:1 xterm
112 </pre>
113 <img alt="" src="/images/xephyr-droid4.png" style="width: 576px; height: 324px;" />
114 <p>Enjoy!</p>
115 </div>
116 <div class="section" id="cellular-data-and-ofono-support">
117 <h3>Cellular data and ofono support</h3>
118 <p>The <tt class="docutils literal"><span class="pre">beowulf-devel</span></tt> repository of Maemo Leste now has the
119 <tt class="docutils literal"><span class="pre">libicd-network-ofono</span></tt> plugin for <tt class="docutils literal">icd2</tt> to allow for making GPRS/UMTS/LTE data
120 connections:</p>
121 <img alt="" src="/images/droid4-libicd-network-ofono.png" style="width: 576px; height: 324px;" />
122 <img alt="" src="/images/droid4-libicd-network-ofono-2.png" style="width: 576px; height: 324px;" />
123 <p>This should work on all of the supported devices, as long as their ofono version
124 (and SIM) supports data connections.</p>
125 <p>Additionally, there were some problems on Beowulf where user <tt class="docutils literal">user</tt> (the default
126 user in Maemo) had no access to the ofono dbus interface, but this has been fixed in
127 <a class="reference external" href="https://github.com/maemo-leste/bugtracker/issues/372">issue #372</a>.</p>
128 <p>Finally, once this work has seen a bit more testing, we will create a meta
129 package to automatically install all the cellular packages, and all devices
130 will automatically get the cellular support when they <tt class="docutils literal">apt update &amp;&amp; apt
131 upgrade</tt>.</p>
132 </div>
133 <div class="section" id="wireless">
134 <h3>Wireless</h3>
135 <p>Wireless is mostly just working, although the UI still has some rough edges. In
136 particular, sometimes connecting to a network fails if entering the password
137 takes too long.</p>
138 <p>One other bug was fixed: a problem where the networks would appear in the
139 network dialog, but would not be selectable until the next scan returned, which
140 was really annoying. See <a class="reference external" href="https://github.com/maemo-leste/bugtracker/issues/253">issue #253</a> and <a class="reference external" href="https://github.com/maemo-leste/connui-internet/pull/1">connui-internet PR</a>.</p>
141 <ul class="simple">
142 <li><a class="reference external" href="https://github.com/maemo-leste/bugtracker/issues/374">https://github.com/maemo-leste/bugtracker/issues/374</a> - two packages, also
143 mention integration</li>
144 </ul>
145 </div>
146 <div class="section" id="themes">
147 <h3>Themes</h3>
148 <p>The retro <a class="reference external" href="https://github.com/maemo-leste-extras/hildon-theme-okuda">Okuda theme</a> is now available:</p>
149 <img alt="" src="/images/leste-okuda-desktop.png" style="width: 576px; height: 324px;" />
150 <img alt="" src="/images/leste-okuda-vkb.png" style="width: 576px; height: 324px;" />
151 <img alt="" src="/images/leste-okuda-xterm.png" style="width: 576px; height: 324px;" />
152 <p><a class="reference external" href="https://github.com/maemo-leste-extras/miku-theme">Miku theme</a>:</p>
153 <img alt="" src="/images/leste-miku-settings.png" style="width: 576px; height: 324px;" />
154 <img alt="" src="/images/leste-miku-desktop.png" style="width: 576px; height: 324px;" />
155 <p><a class="reference external" href="https://github.com/maemo-leste-extras/hildon-theme-matrix">Matrix theme</a>:</p>
156 <img alt="" src="/images/leste-matrix-desktop.png" style="width: 576px; height: 324px;" />
157 <img alt="" src="/images/leste-matrix-lock.png" style="width: 576px; height: 324px;" />
158 </div>
159 <div class="section" id="openrc-integration-in-debian-fixes">
160 <h3>OpenRC integration in Debian fixes</h3>
161 <p>We've successfully submitted a patch to SysVinit upstream, which brings in better
162 support for OpenRC and its internals to both Debian and Devuan. It has not yet
163 propagated to Devuan, but it is expected to happen, of course. In Maemo Leste we
164 already provide the patched version and maintain it ourselves until it is
165 available in Devuan. The patch itself brings in proper OpenRC support in the
166 insserv tool, which means that LSB headers aren't necessary for OpenRC
167 initscripts and they now get installed in the default runlevel without the need
168 for manual interference.</p>
169 <p>The patch was merged in <tt class="docutils literal">6a65f4412a2d24d78741f49e64e1128993341e65</tt>, and can be
170 seen here:</p>
171 <ul class="simple">
172 <li><a class="reference external" href="http://git.savannah.nongnu.org/cgit/sysvinit/insserv.git/commit/?h=1.22.0&amp;id=6a65f4412a2d24d78741f49e64e1128993341e65">http://git.savannah.nongnu.org/cgit/sysvinit/insserv.git/commit/?h=1.22.0&amp;id=6a65f4412a2d24d78741f49e64e1128993341e65</a></li>
173 </ul>
174 <p>If you found that some init scripts ended up in <tt class="docutils literal">/etc/runlevels</tt> instead of
175 <tt class="docutils literal">/etc/runlevels/default</tt>, try reinstalling the affected packages; they should
176 install fine now.</p>
177 </div>
178 <div class="section" id="more-languages-added-to-virtual-keyboard-layouts">
179 <h3>More languages added to virtual keyboard layouts</h3>
180 <p>Many more virtual keyboard layouts have been added. If you were ever in need of
181 a Belarusian or Bulgarian keyboard layout, now is your time to <tt class="docutils literal">apt update &amp;&amp;
182 apt upgrade</tt>.</p>
183 <p>See <a class="reference external" href="https://github.com/maemo-leste/hildon-input-method-plugins/pull/2">hildon-input-method-plugins PR 2</a>.</p>
184 </div>
185 <div class="section" id="steps-towards-calls-and-texts">
186 <h3>Steps towards calls and texts</h3>
187 <p>With <a class="reference internal" href="#cellular-data-and-ofono-support">Cellular data and ofono support</a> improving and other projects getting
188 close to finished, it will soon be time to turn our attention to usable calls and
189 texts on Maemo. We will use many of the same components that Maemo Fremantle
190 uses, just in their updated forms, like the Mer project does.</p>
191 <p><a class="reference external" href="https://github.com/maemo-leste/bugtracker/issues/390">Issue #390</a> documents
192 some of the steps we will be taking. It will look something like:</p>
193 <ol class="arabic simple">
194 <li>Perform further analysis on how this works in Fremantle</li>
195 <li>Import all the FOSS components (there are quite a number of them)</li>
196 <li>Figure out audio (routing and) policies</li>
197 <li>Reimplement the non-FOSS ones: call and sms UI are the big ones</li>
198 <li>Use <tt class="docutils literal"><span class="pre">osso-abook</span></tt> in the alternative call and sms UIs</li>
199 </ol>
200 <ul class="simple">
201 <li>towards proper telepathy integration <a class="reference external" href="https://github.com/maemo-leste/bugtracker/issues/390">https://github.com/maemo-leste/bugtracker/issues/390</a></li>
202 <li><a class="reference external" href="https://github.com/maemo-leste/rtcom-eventlogger-plugins">https://github.com/maemo-leste/rtcom-eventlogger-plugins</a></li>
203 <li><a class="reference external" href="https://github.com/maemo-leste/rtcom-eventlogger-ui">https://github.com/maemo-leste/rtcom-eventlogger-ui</a></li>
204 </ul>
205 <p>The addressbook interface is also underway and is being RE'd from the Fremantle
206 binaries: <a class="reference external" href="https://github.com/maemo-leste/osso-abook/">https://github.com/maemo-leste/osso-abook/</a></p>
207 </div>
208 <div class="section" id="maemo-input-sounds">
209 <h3>maemo-input-sounds</h3>
210 <p>To test the MCE vibration driver, work has been started on <a class="reference external" href="https://github.com/maemo-leste/maemo-input-sounds/tree/wip">maemo-input-sounds</a>, which uses the
211 <cite>X11 Record</cite> extension to monitor for touchscreen and key presses, and in
212 reaction to those, either vibrate the device, play a sound, or even both.</p>
213 <p>The status can be tracked in <a class="reference external" href="https://github.com/maemo-leste/bugtracker/issues/389">issue #389</a>. A fully functioning
214 <tt class="docutils literal"><span class="pre">maemo-input-sounds</span></tt> probably depends on getting the audio set up completely
215 (see <a class="reference internal" href="#next-up-audio-routing-pulseaudio-contacts-calls-sms-qt-5">Next up: Audio routing/Pulseaudio, Contacts, Calls/SMS, Qt 5</a>).</p>
216 </div>
217 <div class="section" id="calendar-backend-and-frontend">
218 <h3>Calendar backend and frontend</h3>
219 <p>Some more work is being done by <tt class="docutils literal">buZz</tt> and <tt class="docutils literal">sicelo</tt> to get the calendar
220 software up and running. The backend, <tt class="docutils literal"><span class="pre">calendar-backend</span></tt> is already building
221 fine, but the frontend (<tt class="docutils literal">qalendar</tt>) is still blocking on the Qt 5 port:</p>
222 <ul class="simple">
223 <li><a class="reference external" href="https://github.com/buzztiaan/calendar-backend">https://github.com/buzztiaan/calendar-backend</a></li>
224 <li><a class="reference external" href="https://github.com/buzztiaan/libgq">https://github.com/buzztiaan/libgq</a></li>
225 <li><a class="reference external" href="https://github.com/buzztiaan/qalendar">https://github.com/buzztiaan/qalendar</a></li>
226 </ul>
227 <p>We expect this to fold in rather quickly once <tt class="docutils literal"><span class="pre">osso-abook</span></tt> is mostly ready.</p>
228 </div>
229 <div class="section" id="hildon-home-fixes">
230 <h3>hildon-home fixes</h3>
231 <p><tt class="docutils literal"><span class="pre">hildon-home</span></tt> would frequently try to monitor non existing directories for
232 changes, but because the directories did not exist, kept retrying the monitor
233 calls. This resulted in significantly higher power usage. This has been fixed
234 now, see <a class="reference external" href="https://github.com/maemo-leste/bugtracker/issues/264">issue #264</a>
235 for more details.</p>
236 <p>Additionally, since our move to Beowulf, two plugins for <tt class="docutils literal"><span class="pre">hildon-home</span></tt> would
237 no longer load (due to <tt class="docutils literal"><span class="pre">hildon-home</span></tt> loading them from a non-existing path),
238 but this too has now been fixed:</p>
239 <ul class="simple">
240 <li><a class="reference external" href="https://github.com/maemo-leste/hildon-home/commit/13a8a03196a33e51396ceb61ce307d9655a4ea41">https://github.com/maemo-leste/hildon-home/commit/13a8a03196a33e51396ceb61ce307d9655a4ea41</a></li>
241 <li><a class="reference external" href="https://github.com/maemo-leste/hildon-home/commit/a505d58a6ae87cb032ec20a606d54d69f3582fba">https://github.com/maemo-leste/hildon-home/commit/a505d58a6ae87cb032ec20a606d54d69f3582fba</a></li>
242 </ul>
243 </div>
244 </div>
245 <div class="section" id="device-support">
246 <h2>Device support</h2>
247 <div class="section" id="motorola-droid-4">
248 <h3>Motorola Droid 4</h3>
249 <p>The Motorola Droid 4 has seen a big set of improvements:</p>
250 <ul class="simple">
251 <li>The <a class="reference internal" href="#ambient-light-sensor">Ambient Light Sensor</a> is now used;</li>
252 <li>The <a class="reference internal" href="#vibration-motor">Vibration Motor</a> is now used;</li>
253 <li>A driver for the <a class="reference internal" href="#accelerometer">Accelerometer</a> is available;</li>
254 <li>Advanced <a class="reference internal" href="#keyboard-layout">keyboard layout</a></li>
255 <li>Basic <a class="reference internal" href="#modem-integration">modem integration</a> in <cite>beowulf-devel</cite> branches;</li>
256 <li>Much improved battery life through better <a class="reference internal" href="#power-management">Power Management</a>;</li>
257 <li>Latest Linux kernel</li>
258 </ul>
259 <div class="section" id="ambient-light-sensor">
260 <h4>Ambient Light Sensor</h4>
261 <p>Just like the Nokia N900, the Droid has an ambient light sensor, used to measure
262 exactly that: ambient light levels. This can be used to adjust the screen
263 brightness to the ambient light levels, based on the brightness profile
264 selected. For observant users, this already worked on the Nokia N900, but now
265 this also works on the Droid 4.</p>
266 <p>This should make your device more pleasant to use in darker rooms, but also
267 outside - in direct sunlight.</p>
268 <p>Additionally, if the light level is low, the device is unlocked, and the
269 keyboard is exposed, the keyboard backlight LEDs will be turned on, to allow for
270 optimal typing in the dark. :-)</p>
271 <p>See <a class="reference external" href="https://github.com/maemo-leste/mce/pull/8/">MCE PR 8</a>.</p>
272 </div>
273 <div class="section" id="vibration-motor">
274 <h4>Vibration Motor</h4>
275 <p>Once <a class="reference external" href="https://github.com/maemo-leste/mce/pull/9">MCE PR 9</a> is merged, the vibration motor on the Motorola Droid 4 (and actually also the Nokia
276 N900 and other devices that support the Linux <a class="reference external" href="https://www.kernel.org/doc/html/latest/input/ff.html">FF</a> interface) will work.
277 This allows for vibration of the device to provide touchscreen haptic feedback to the user,
278 but also when (in the near future) an SMS is received, or
279 the device receives a phone call.</p>
280 <p>See also these notes on Maemo.org <a class="reference external" href="https://wiki.maemo.org/Phone_control#Start_Vibrating_Incoming_Call">on how to start and stop vibrations</a>. Since we
281 are compatible at least on the DBUS level, the original Maemo instructions just
282 apply. It is also possible to add more patterns by editing <tt class="docutils literal">/etc/mce/mce.ini</tt>.</p>
283 </div>
284 <div class="section" id="accelerometer">
285 <h4>Accelerometer</h4>
286 <p>The accelerometer driver is now enabled, meaning that things like the
287 <a class="reference external" href="https://github.com/buzztiaan/droidsaber">droidsaber</a> are now possible:</p>
288 <iframe width="560" height="315" src="https://www.youtube.com/embed/DeCtO8WwaTc"
289 ;rameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope;
290 picture-in-picture" allowfullscreen></iframe><p>This will also be useful for automatically changing the screen orientation, based
291 on the device orientation. The powervr driver might need a bit more work before
292 that will work smoothly and well though.</p>
293 </div>
294 <div class="section" id="power-management">
295 <h4>Power Management</h4>
296 <p>The power management on the Droid 4 should be in much better shape now. Under
297 ideal circumstances, with the modem online, the device should idle at about
298 <tt class="docutils literal">60mW</tt>. This is made possible by the incredible Linux kernel support, <a class="reference external" href="https://github.com/maemo-leste/droid4-pm">droid4-pm</a>, our various <a class="reference internal" href="#mce">mce</a> improvements,
299 and in general OMAP being well designed when it comes to power management. This
300 should last most batteries for several days. Things might improve a little more
301 if OMAP <tt class="docutils literal">OFF</tt> mode ever starts to work on OMAP 4.</p>
302 <p><tt class="docutils literal">Merlijn</tt> recently acquired a few lab power supplies, and (<a class="reference external" href="https://sourceforge.net/p/sigrok/mailman/message/37014835/">after actually making it
303 work with sigrok, working around insanely stupid firmware bugs</a>) was able to
304 generate the following graph of power usage from a clean power-up, showing the
305 ~3 minutes it takes to fully boot and enter the promised <tt class="docutils literal">60mW</tt> idle power
306 usage:</p>
307 <img alt="" src="/images/droid4-boot.png" style="width: 700px; height: 350px;" />
308 <p>Here's what using the vibration motor does to the power draw:</p>
309 <img alt="" src="/images/droid4-rumble.png" style="width: 576px; height: 324px;" />
310 <p>And the same for receiving an SMS (exposing a problem where the modem doesn't
311 properly idle after sms receive - it stays around <tt class="docutils literal">180mW</tt> as opposed to the
312 <tt class="docutils literal">60mW</tt> - this is still being investigated, but it looks like the USB doesn't
313 idle afterwards, requiring to be manually kicked into idle mode):</p>
314 <img alt="" src="/images/droid4-modem-power-recv-sms.png" style="width: 576px; height: 324px;" />
315 </div>
316 <div class="section" id="ntpd-and-power-management">
317 <h4>NTPD and power management</h4>
318 <p>The <tt class="docutils literal">ntp</tt> daemon currently causes a lot of wake ups, and negatively impacts
319 battery life. The current stop-gap is to stop it manually after booting, by
320 issuing the following as root:</p>
321 <pre class="literal-block">
322 /etc/init.d/ntp stop
323 </pre>
324 </div>
325 <div class="section" id="cellular-and-power-management">
326 <h4>Cellular and power management</h4>
327 <p>While the modem itself should idle pretty well, the modem reports on the signal
328 strength very frequently, waking up the device even when the signal strength
329 should not be shown. The signal strength can be temporarily disabled like so:</p>
330 <pre class="literal-block">
331 printf 'U1234AT+SCRN=0\r' &gt; /dev/gsmtty1
332 </pre>
333 </div>
334 <div class="section" id="graphing-power-logs-from-the-device">
335 <h4>Graphing power logs from the device</h4>
336 <p>The GNOME Power Manager can plot upower data, and it runs on Leste:</p>
337 <img alt="" src="/images/leste-droid4-gnome-power-manager.png" style="width: 576px; height: 324px;" />
338 <p>But the upower data is located in <tt class="docutils literal">/var/lib/upower</tt> and not at all hard to plot
339 yourself, which might actually be more insightful (although this graph is very
340 basic):</p>
341 <img alt="" src="/images/capacity_over_time_from_upower.png" style="width: 576px; height: 324px;" />
342 <p>We're still figuring out how to properly plot all this data, but more
343 information (including the source to generate the above graph) can be found in
344 <a class="reference external" href="https://github.com/maemo-leste/bugtracker/issues/396">issue #396</a>.</p>
345 <p>Maybe we can take <a class="reference external" href="http://maemo.org/downloads/search/application.html?org_openpsa_products_search%5B1%5D%5Bproperty%5D=title&amp;org_openpsa_products_search%5B1%5D%5Bconstraint%5D=LIKE&amp;org_openpsa_products_search%5B1%5D%5Bvalue%5D=battery&amp;org_openpsa_products_search%5B2%5D%5Bproperty%5D=os&amp;org_openpsa_products_search%5B2%5D%5Bconstraint%5D=LIKE&amp;org_openpsa_products_search%5B2%5D%5Bvalue%5D=Maemo5&amp;fetch=Search">one of these maemo.org applications</a> and port them.</p>
346 </div>
347 <div class="section" id="battery-calibration">
348 <h4>Battery calibration</h4>
349 <p><tt class="docutils literal">uvos</tt> has written an init script and tool to store the battery capacity when
350 known, and restore it, using <tt class="docutils literal">spinal84</tt>'s experimental kernel patches, see
351 <a class="reference external" href="https://github.com/maemo-leste/bugtracker/issues/374">issue #374</a>.</p>
352 <p>It will be added to the Droid 4 meta package imminently, and then eventually
353 everyone should have a calibrated battery, hopefully.</p>
354 <p>Also see <a class="reference external" href="https://github.com/maemo-leste/upower/pull/4">upower PR 4</a> for the
355 UPower fix that was required for this to work properly.</p>
356 </div>
357 <div class="section" id="keyboard-layout">
358 <h4>Keyboard layout</h4>
359 <p>For a long time, it was not possible to <a class="reference external" href="https://github.com/maemo-leste/bugtracker/issues/347">summon the special keys virtual keyboard
360 on the Droid 4</a>, which
361 was particularly annoying since some <a class="reference external" href="https://github.com/maemo-leste/bugtracker/issues/122">important keys were not available</a>.</p>
362 <p>By digging through the N900 keyboard files and learning a bunch about xkb, both
363 of these issues have now been resolved by <tt class="docutils literal">Merlijn</tt>. <tt class="docutils literal">buZz</tt> provided a nice
364 <a class="reference external" href="https://github.com/maemo-leste/xkb-data/commit/99343d77464299cdf1d56e461018bd7f974cee42">geometry file</a>, which allows us to visualise the keys on various keyboard levels:</p>
365 <img alt="" src="/images/droid4-keyboard.png" style="width: 576px; height: 224px;" />
366 <p>(Yes, the shift button on the Droid 4 is mapped to control, and the caps lock
367 key is mapped to shift)</p>
368 <p>Additional extra keys are also available when using the <tt class="docutils literal">ISO_Level3_Shift</tt>
369 key, <a class="reference external" href="https://github.com/maemo-leste/xkb-data/commit/ccebc5ea6cc9c14c7822b53317640c8f2f6372b2#diff-5b7bd0a2cb0498ff38e4e466546d5fdcR36">see the actual xkb file for more details</a> and this image for a quick reference:</p>
370 <img alt="" src="/images/droid4-keyboard-2.png" style="width: 576px; height: 224px;" />
371 <p>Compare that to the N900 layout:</p>
372 <img alt="" src="/images/n900-keyboard.png" style="width: 576px; height: 224px;" />
373 <p>Bringing up the special keys virtual keyboard is done by pressing the &quot;OK&quot;
374 (<tt class="docutils literal">ISO_Level3_Shift</tt>) key and the Control (<tt class="docutils literal">Shift</tt>) key.</p>
375 <p>And finally, the virtual keyboard didn't look quite good on the Droid 4, since
376 it has a larger resolution, but as of <a class="reference external" href="https://github.com/maemo-leste/hildon-input-method-plugins/pull/3">hildon-input-method-plugins PR 3</a>, the
377 keyboard will render properly regardless of the screen dimensions:</p>
378 <img alt="" src="/images/droid4-special-vkb.png" style="width: 576px; height: 324px;" />
379 </div>
380 <div class="section" id="modem-integration">
381 <h4>Modem integration</h4>
382 <p><tt class="docutils literal">tmlind</tt> and <tt class="docutils literal">Pavel Machek</tt> have been doing a lot of work on improving ofono
383 on the Droid 4. The result of most of that work is currently packaged in the
384 <tt class="docutils literal">droid4</tt> component, so any droid 4 will automatically get the latest/best
385 ofono version. Additionally, the technology is now also reported properly:</p>
386 <img alt="" src="/images/droid4-tech.png" style="width: 576px; height: 324px;" />
387 <img alt="" src="/images/droid4-tech-2g.png" style="width: 576px; height: 324px;" />
388 <p>More work remains, including upstreaming ofono and dealing with some power
389 management regressions, but it's starting to look quite good indeed.</p>
390 <p>Current work can be found here:
391 <a class="reference external" href="https://github.com/maemo-leste/ofono-d4/tree/motmdm-serdev-ngsm">https://github.com/maemo-leste/ofono-d4/tree/motmdm-serdev-ngsm</a></p>
392 </div>
393 <div class="section" id="increasing-font-size-in-osso-xterm">
394 <h4>increasing font size in osso-xterm</h4>
395 <p>On the Nokia N900, the font size in osso-xterm can be changed using the volume
396 buttons, but this does not work yet on the Droid 4. The reason is that
397 osso-xterm expects specific (hardcoded) keys to be used to change the font, and
398 the Droid 4 has different keys mapped to its volume buttons, see <a class="reference external" href="https://github.com/maemo-leste/bugtracker/issues/385">issue #385</a></p>
399 </div>
400 <div class="section" id="latest-linux-kernel">
401 <h4>Latest Linux kernel</h4>
402 <p>A month or so ago we switched to Linux 5.7:
403 <a class="reference external" href="https://github.com/maemo-leste/droid4-linux/tree/droid4-pending-v5.7">https://github.com/maemo-leste/droid4-linux/tree/droid4-pending-v5.7</a></p>
404 <p>After that, there were various regressions to figure out, the most painful ones
405 being random resets, which took quite a while to pin down. <tt class="docutils literal">tmlind</tt> has been
406 incredibly helpful in getting these problems resolved. Onto the next Linux
407 version and set of regressions - and bugfixes, and features...</p>
408 </div>
409 </div>
410 <div class="section" id="nokia-n900">
411 <h3>Nokia N900</h3>
412 <div class="section" id="powermanagement-update">
413 <h4>Powermanagement update</h4>
414 <p>A while ago we tweeted out a photo of a Nokia N900 using very little power,
415 while in <tt class="docutils literal">OMAP OFF</tt> mode. We haven't yet brought this to our latest images,
416 but it's still planned (it might be relatively simple, but also might be a lot
417 of work). In addition, we will likely provide an <tt class="docutils literal"><span class="pre">n900-pm</span></tt> script, similar to
418 the <tt class="docutils literal"><span class="pre">droid4-pm</span></tt> script.</p>
419 </div>
420 </div>
421 <div class="section" id="pinephone">
422 <h3>Pinephone</h3>
423 <p>Thanks to the packaging work from people in postmarketOS, we now also support
424 the modem in the Pinephone. While we've mostly been working with cellular things
425 on the Droid4, lots of that work can simply be reused on the Pinephone, and we
426 plan to do so in the near future. A package called <tt class="docutils literal"><span class="pre">pinephone-modem-config</span></tt>
427 can be installed, and along with updating the kernel (latest available version
428 is 5.6), it will bring in modem support. This is already automatically enabled
429 in the latest images. A note to keep in mind: While the modem is off, combined
430 with the latest kernels, the system outputs KEY_WAKEUP events which cause some
431 trouble with the virtual keyboard. The current solution to this is to just have
432 <tt class="docutils literal"><span class="pre">pinephone-modem-config</span></tt> installed and after a reboot, things should be ok.
433 We will see if it's possible to patch this in some proper way in the future.</p>
434 </div>
435 </div>
436 <div class="section" id="weekly-builds">
437 <h2>Weekly builds</h2>
438 <p>From July, we will also implement and enable weekly image builds on our CI
439 infrastructure. This means we won't be building images on demand anymore.
440 Instead they shall be built each week, containing all the latest packages and
441 goodies. Obviously, this will require more storage space, so we will be
442 removing device images older than five weeks.</p>
443 <p>Hopefully this will also help us polish up our build frameworks and alert us
444 about possible bugs that arise during development. It is also a very important
445 step towards reproducible builds - which is one of our milestones we wish to
446 fulfill.</p>
447 <p>However, for this occasion, we built new images and they can be downloaded as
448 usual. This time we've also built 64bit images for the Raspberry Pi 3 and 4.</p>
449 <ul class="simple">
450 <li>64bit VM: <a class="reference external" href="https://maedevu.maemo.org/images/virtual-machines/20200622/">https://maedevu.maemo.org/images/virtual-machines/20200622/</a></li>
451 <li>N900: <a class="reference external" href="https://maedevu.maemo.org/images/n900/20200623/">https://maedevu.maemo.org/images/n900/20200623/</a></li>
452 <li>Droid4: <a class="reference external" href="https://maedevu.maemo.org/images/droid4/20200624/">https://maedevu.maemo.org/images/droid4/20200624/</a></li>
453 <li>Pinephone: <a class="reference external" href="https://maedevu.maemo.org/images/pinephone/20200624/">https://maedevu.maemo.org/images/pinephone/20200624/</a></li>
454 <li>Pinetab: <a class="reference external" href="https://maedevu.maemo.org/images/pinetab/20200624/">https://maedevu.maemo.org/images/pinetab/20200624/</a></li>
455 <li>Pi3: <a class="reference external" href="https://maedevu.maemo.org/images/raspi3-64bit/20200623/">https://maedevu.maemo.org/images/raspi3-64bit/20200623/</a></li>
456 <li>Pi4: <a class="reference external" href="https://maedevu.maemo.org/images/raspi4-64bit/20200623/">https://maedevu.maemo.org/images/raspi4-64bit/20200623/</a></li>
457 </ul>
458 </div>
459 <div class="section" id="community-showcase">
460 <h2>Community showcase</h2>
461 <div class="section" id="ps-1-emulator">
462 <h3>PS 1 emulator</h3>
463 <p>PCSX-ReARMed runs quite nicely on the Droid 4:</p>
464 <iframe width="560" height="315" src="https://www.youtube.com/embed/BmIAQby4ccM"
465 ;rameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope;
466 picture-in-picture" allowfullscreen></iframe><p>Unfortunately, the community hasn't yet packaged the program for Maemo Leste
467 Extras, but we're confident someone will, at some point.</p>
468 </div>
469 <div class="section" id="photo-light-meter">
470 <h3>Photo Light meter</h3>
471 <p>Written in Free Pascal, photolightmeter can be used calculate aperture and
472 shutter values.</p>
473 </div>
474 <div class="section" id="telegram">
475 <h3>Telegram</h3>
476 <p>If you're a fan of Telegram, the desktop client just works on Maemo Leste:</p>
477 <ul class="simple">
478 <li><a class="reference external" href="https://twitter.com/rfc1087/status/1271796014903635969">https://twitter.com/rfc1087/status/1271796014903635969</a></li>
479 </ul>
480 </div>
481 <div class="section" id="proxmark3">
482 <h3>Proxmark3</h3>
483 <p>If you like toying with RFID cards, then you can (for example) use the bluetooth
484 module on the Droid 4 to connect a capable reader and run proxmark3 on the Droid
485 itself:</p>
486 <img alt="" src="/images/proxmark3-1.png" style="width: 576px; height: 324px;" />
487 <img alt="" src="/images/proxmark3-2.png" style="width: 576px; height: 324px;" />
488 <p>You can find specific installation notes here: <a class="reference external" href="http://web.archive.org/web/20200623220049/https://paste.debian.net/plainh/34a66276">http://web.archive.org/web/20200623220049/https://paste.debian.net/plainh/34a66276</a></p>
489 </div>
490 <div class="section" id="quicknote">
491 <h3>Quicknote</h3>
492 <p>A simple notes application written in Python is also available:
493 <a class="reference external" href="https://github.com/maemo-leste-extras/quicknote">https://github.com/maemo-leste-extras/quicknote</a></p>
494 </div>
495 <div class="section" id="mihphoto">
496 <h3>mihphoto</h3>
497 <p>A Qt 5 photo viewer is available, and optionally supports multitouch when
498 supplied as a startup argument:
499 <a class="reference external" href="https://github.com/maemo-leste-extras/mihphoto">https://github.com/maemo-leste-extras/mihphoto</a></p>
500 </div>
501 <div class="section" id="personal-ip-address">
502 <h3>personal-ip-address</h3>
503 <p>The good old personal-ip-address has returned, this time to Leste:
504 <a class="reference external" href="https://github.com/maemo-leste-extras/personal-ip-address">https://github.com/maemo-leste-extras/personal-ip-address</a></p>
505 </div>
506 </div>
507 <div class="section" id="maemo-leste-extras">
508 <h2>Maemo Leste Extras</h2>
509 <p>More community packages are being maintained in the <tt class="docutils literal">extras</tt> repository and
510 we're very glad and excited about it. If you're interested in maintaing your own
511 community package for Maemo Leste, there are instructions for you to do so on
512 the <a class="reference external" href="https://github.com/maemo-leste-extras/bugtracker">bugtracker</a> .</p>
513 </div>
514 <div class="section" id="next-up-audio-routing-pulseaudio-contacts-calls-sms-qt-5">
515 <h2>Next up: Audio routing/Pulseaudio, Contacts, Calls/SMS, Qt 5</h2>
516 <p>So what can you expect from future updates?</p>
517 <p>The big things on our radar are still:</p>
518 <ul>
519 <li><p class="first">Audio: Currently most devices do not even ship with <tt class="docutils literal">pulseaudio</tt>, but we'll probably want to start using it, and create ALSA UCM files for our soundcards, provide proper pulseaudio sink names for call routing, and so on. This is also a prerequisite for the <a class="reference external" href="https://github.com/maemo-leste/maemo-statusmenu-volume">volume applet</a></p>
520 </li>
521 <li><p class="first">Contacts (<tt class="docutils literal"><span class="pre">osso-abook</span></tt>), this will provide all of the Hildon contacts APIs
522 with the evolution database as a abackend, definitely required for proper SMS and
523 Call UI</p>
524 </li>
525 <li><p class="first">Qt 5 updates: hopefully we will soon have the virtual keyboard integration
526 ready, with the hildon menus and stacked windows following right after. That
527 should be enough to make most applications work, and from there on we'll
528 probably port things on an as-needed basis: like APIs for home and status
529 widgets</p>
530 </li>
531 <li><p class="first">Nokia's <tt class="docutils literal">rtcom</tt> packages and telepathy. <a class="reference external" href="https://github.com/maemo-leste/bugtracker/issues/390">https://github.com/maemo-leste/bugtracker/issues/390</a>
532 Some of this is covered in <a class="reference internal" href="#steps-towards-calls-and-texts">Steps towards calls and texts</a>, but to reiterate:
533 the plan is to use <cite>telepathy-ring</cite> as an interface to <cite>ofono</cite>, and use
534 <cite>rtcom-eventlogger</cite> and other libraries to read from and log to the same
535 database format as used on Fremantle.
536 This approach is particularly exciting because it allows loading many other
537 telepathy plugins. There also exists a <a class="reference external" href="https://github.com/dylex/slack-libpurple/commits/master">telepathy-haze</a> plugin to load
538 (any) Pidgin (<tt class="docutils literal">libpurple</tt>) plugin, allowing for potentially loading (for
539 example) the <a class="reference external" href="https://github.com/dylex/slack-libpurple">slack-libpurple</a>
540 slack plugin into telepathy, and being able to directly
541 interface with Slack using the native hildon UI, potentially even with
542 contacts, too. And of course, there are also SIP plugins for telepathy,
543 allowing for VOIP calls from the same (native) UI</p>
544 </li>
545 <li><p class="first">Speaking of UIs, once the backend (rtcom) is mostly there, the last thing
546 we'll have to do is to bring up the call and text UIs. The Fremantle SMS UI
547 relied on an html rendering engine, <a class="reference external" href="https://wiki.maemo.org/Conversation_Mods">allowing for cool customisations</a> like these:</p>
548 <img alt="" src="/images/fun-conversations-mod.png" style="width: 432px; height: 256px;" />
549 </li>
550 </ul>
551 </div>
552 <div class="section" id="web-interface-for-packages">
553 <h2>Web interface for packages</h2>
554 <p>We're considering creating a web interface to browse the core maemo packages,
555 the development packages and also the extras packages. See <a class="reference external" href="https://github.com/maemo-leste/bugtracker/issues/395">issue #395</a> for more details. If you have suggestions, want to see specific features, or want to help out, please do let us know on the issue.</p>
556 <p>Sneak peak of an alpha version of the interface:</p>
557 <img alt="" src="/images/pkg.png" />
558 </div>
559 <div class="section" id="more-frequent-updates">
560 <h2>More frequent updates?</h2>
561 <p>We often get the question if we can provide update posts more frequently. Often,
562 we delay update posts because we want to <strong>complete just one more package...</strong> -
563 and then another, and another... So if you'd like to get more frequent update
564 posts, please volunteer to write them for us. If you hang out in the IRC
565 channel, maybe follow the frequent updates and write about them, and we'll be
566 able to post it here, on our website.</p>
567 <p>That said, we're considering doing detailed write-ups of various core components
568 of Maemo Leste every few weeks or so, so if that's your thing, you might be able
569 to peek at those too, soon.</p>
570 </div>
571 <div class="section" id="interested">
572 <h2>Interested?</h2>
573 <p>If you have questions, are interested in specifics, or helping out, or wish to have a specific
574 package ported, please see our <a class="reference external" href="https://github.com/maemo-leste-extras/bugtracker">bugtracker</a></p>
575 <p><strong>We have several Nokia N900 and Motorola Droid 4 units available to interested
576 developers</strong>, so if you are interested in helping out but have trouble acquiring
577 a device, let us know.</p>
578 <p>Please also join our <a class="reference external" href="https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/maemo-leste">mailing list</a> to stay
579 up to date, ask questions and/or help out. Another great way to get in touch is
580 to join the <a class="reference external" href="https://leste.maemo.org/IRC_channel">IRC channel</a>.</p>
581 <p>If you like our work and want to see it continue, join us!</p>
582 </div>
codemadness.org:70 /git/sfeed_tests/file/input/sfeed/realworld/maemoleste_github_io.atom.xml.gph:593: line too long