It's been a while since our fourth update and there's quite some stuff to talk about!

Don't forget that we have a mailing list - mailing list. Be sure to subscribe for updates, questions and development. The mailing list archives are now also functional: https://lists.dyne.org/lurker/mindex/maemo-leste@19700101.000000.00000000.en.html

Software additions

There have been lots of changes all over the place, below follows an attempt to highlight some of those changes.

Boot issues resolved issue #83 is now fixed and the lock screen now works properly on boot, without requiring parallel boot to be enabled (in fact, parallel boot is still buggy, so don't enable it).

Scrolling in osso-xterm Spinal84 fixed scrolling in osso-xterm, which is a really welcome addition.

USB Gadget/Host/OTG mode Maemo Leste uses the Linux gadget configfs to configure USB gadgets. The userspace library used to interface with the kernel configfs is libusbgx. The new hildon-usb-gadgets package uses libusbgx to implement two simple gadgets: a network gadget and a mass storage gadget. The mass storage gadget needs significantly more work, so it's mostly a stub right now. This is complemented by the initial udev-enabled (previous versions relied on the now deprecated hal) version of ke-recv, which received kernel events regarding usb cable plugging and managed the gadget mode of the phone. The branch "nextgen-usbhack" contains the udev work and hildon-usb-gadgets integration. The same udev code was used to bring up hildon-status-bar-usb, the lengthy path to getting this to work is documented in issue #39 The result of this work can be seen here: By default, ke-recv will always enter "PC Suite" mode for now, which really just means that any device that is capable of usb peripherals will have usb networking set up to ease debugging. The device will assign itself the static IP 192.168.42.2 , so something like this on the host device should bring up communication: ifconfig usb0 up 192.168.42.1 . More information on usb networking can be found on this page: https://leste.maemo.org/Status/USB_Peripheral This currently works on the Nokia N900, Motorola Droid 4, and Allwinner devices (like the LIME2 and A33 Twister Tablet). To be able to detect whether a device is connected to a PC or just a "wall charger", we have to rely on musb (and other similar drivers). Unfortunately, musb will only expose this state if a gadget is loaded. As a result, a usb gadget is always loaded, even when it's not in use. The ke-recv and hildon-status-bar-usb code still requires some significant refactoring - they both share the same udev code, but right now this code is just duplicated amongst the two projects. The hildon-usb-gadgets repository could also see some more love - both in terms of the descriptors of the gadgets and the actual code. So if you know some C - this might be a fun project to pick up!

Nokia N900 LED control It turns out that some control over the RGB led on the N900 already works using mce. Simply running the following command: echo 0 > /sys/class/power_supply/bq24150a-0/stat_pin_enable Will disable the LED override when the N900 is being charged, and then this dbus command will show the communication LED pattern: dbus-send --system --type=method_call --dest=com.nokia.mce /com/nokia/mce/request com.nokia.mce.request.req_led_pattern_activate string:"PatternCommunicationIM" This command will disable the pattern: dbus-send --system --type=method_call --dest=com.nokia.mce /com/nokia/mce/request com.nokia.mce.request.req_led_pattern_deactivate string:"PatternCommunicationIM" In fact, other Maemo.org examples also work on Leste already, like this message dialog created using dbus and Python: import dbus bus = dbus.SessionBus() proxy = bus.get_object('org.freedesktop.Notifications', '/org/freedesktop/Notifications') interface = dbus.Interface(proxy,dbus_interface='org.freedesktop.Notifications') interface.Notify('Notification', 0, 'control_bluetooth_paired', 'Testing 123', 'Hello World', [], {}, 0) Results in:

New kernel and image for the A33 Twister tablet and the LIME2 There is now a first image available for the A33 Twister tablet. The image features working usb gadget/otg, battery, charging, touchscreen and (unstable) wireless. Currently, backlight is not working, so the screen is not very bright, and there is no 3D acceleration yet, and also no accelerated video decoding yet. On the 3D front, we have managed to run the open source 3D driver on the LIME2 (which will also work for other devices with Mali GPUs), the mesa gears demo program works: However, the driver is not yet able to run the Hildon desktop UI - the kernel hangs. The source code for this driver can be found here: https://gitlab.freedesktop.org/lima/mesa

https://gitlab.freedesktop.org/lima/linux The lima driver is currently enabled in our LIME2 and A33 Twister tablet kernel (4.18 based): https://github.com/maemo-leste/lime2-linux/tree/lime2-and-twister However, the userland required to actually run any 3D demos is lacking, since it requires a newer mesa (and other supporting packages), which are not currently available in Devuan ascii. The LIME2 images expect a 4.3 inch touchscreen to be connected, but should also work over HDMI. hildon-home doesn't look so bad at 480x272px, does it?

Porting Maemo Extras packages One of the advantages of being really close to Maemo Fremantle is that a lot of the existing Maemo applications require minimal work to run on Maemo Leste. Out of curiousity, we imported the wifi signal applet (issue #185). The maemo.org extras page for the package is here: http://maemo.org/packages/view/wifi-signal-applet/ With minimal changes (https://github.com/maemo-leste/wifi-signal-applet) compiled and just works: This package is now available in our main repository, as wifi-signal-applet. Going forward, we should probably have a separate repository (or repository component) for non-essential packages like the wifi-signal-applet. We'll have to set up in a such a way that it easy for others to also submit and build packages. Feedback is welcome in ticket #194