[Gta04-owner] Replicant 4.2 development report

Paul Kocialkowski contact at paulk.fr
Thu Jun 26 17:27:30 CEST 2014


A few things happened in Replicant development for the GTA04 lately.
Here is a review of the recent commits I introduced to the upstream
Replicant flavor, with some explanation for some of these.

My primary focus was to get the GTA04 ready for the next batch of
Replicant images, correcting glitches and giving details some attention.
Mostly, the biggest totally useless features I wanted is continuous
splash screen: as you know, the screen is reset a few times and the
splash screen from u-boot dies out pretty early. I wanted to correct
that and have the same image up to the Replicant logo, as mainstream
phones do.

So the GTA04 will have upstream Replicant images (as well as the usual
jazz around it, installation guide, build guide, etc) as soon as the
next release is ready to go. This should hopefully be somewhere during
next week. That's important because the 15th Libre Software Meeting
takes place in Montpellier, France the following week, and I want the
release ready then. I will attend from Monday to Friday to take part in
a Free Your Android Week workshop (dedicated to freedom on mobile
devices more than Android) as well as present various talks about
Replicant and freedom on ARM devices.
Of course, I'll bring my GTA04 there and will be very happy to show it
around. Generally speaking, it'll be a good time to meet with other free
software enthusiasts, so you're all welcome to come and say hi! More
details about that event on the Replicant blog[0].

Regarding the changes I brought over the last few weeks, the biggest
thing is Bluetooth support, which is incomplete and broken because it
uses Broadcom's BlueDroid, which is now the standard in Android >= 4.2.
LWN holds a few articles explaining more about that transition.
Basically, there are two approaches to get Bluetooth working here:
* Use BlueZ instead of BlueDroid
* Fix BlueDroid to work with the GTA04's CSR chip

I have decided to go with the second option (even though Bluetooth is
not an immediate priority, so it'll likely stay broken for some time).
The reasons for this decision are the following:
* upstream BlueZ currently only supports Android 4.4 ans has no
backwards compatibility with Android 4.2, so we'd have to fork it and
implement back the Android 4.2 interface, which is a lot of work and can
be a headache. I have tried for an afternoon and decided to give up.
* BlueDroid doesn't work well with CSR chips, but the basics are here:
it implements the HCI H4 protocol used by the chip and can successfully
get it to become discoverable, scan other devices and pair with them,
but file transfer and A2DP didn't work, even though in A2DP, it
correctly created the sink on the other end.

Now some comments about specific commits of interest (you might want to
include other commits I don't mention too).

device/goldelico/gta04:

commit c3788198e2d1a1216f74a12358d3caf01f212f93
Author: Paul Kocialkowski <contact at paulk.fr>
Date:   Sat Jun 14 15:16:03 2014 +0200

    Media codecs config
    
    Signed-off-by: Paul Kocialkowski <contact at paulk.fr>

commit 6198c76b91db0e07e55b8ff27de40d41c72937c5
Author: Paul Kocialkowski <contact at paulk.fr>
Date:   Sat Jun 14 12:34:38 2014 +0200

    full_gta04.mk: Proper full base include
    
    Signed-off-by: Paul Kocialkowski <contact at paulk.fr

This fixes a problem with audio_policy.conf: the old include of base
rules included the emulator (goldfish) config which resulted in
headphones not working. The media codecs thing is required since the
emulator one is not included anymore.

commit 7d109e867b8f96dbfb3e9b31bacbf65f4f9ff88e
Author: Paul Kocialkowski <contact at paulk.fr>
Date:   Tue Jun 24 00:36:57 2014 +0200

    Bluetooth support, using BlueDroid
    
    Signed-off-by: Paul Kocialkowski <contact at paulk.fr>

Bluetooth support using BlueDroid here. This performs UART baudrate
switch if necessary (change serial_init_speed to B115200 for GTA04A3).
I could only test it the other way round (having 3000000 as init and
115200 as work). The Replicant release will have that set in stone, so
it'll only work on GTA04A4 devices, but in the future, this will be set
at run-time to support GTA04A3 as well.

commit 9e51e193f87aba3a386180b48c77ef4107abe8f5
Author: Paul Kocialkowski <contact at paulk.fr>
Date:   Tue Jun 24 13:49:26 2014 +0200

    Playback volumes boost to cope with noisy environments
    
    Signed-off-by: Paul Kocialkowski <contact at paulk.fr>

When using the GTA04 as a GPS in a car, I noticed the speakers volume
was too low. Also, since the UI displays a warning when going above a
certain level using headphones, I figured it wouldn't hurt to raise the
headphones volume too. This makes the max volumes nearly as loud as the
max volumes of the Nexus S (which I use as a reference).

commit 13066d8de9ae8456571e6640a37ea249b1147363
Author: Paul Kocialkowski <contact at paulk.fr>
Date:   Thu Jun 26 00:34:57 2014 +0200

    Continuous splash screen
    
    Signed-off-by: Paul Kocialkowski <contact at paulk.fr

Necessary to have that continuous splash screen thing working. Not much
is done here, this mostly gets rid of the previous splash.

commit e2359405dd96735749906e63ba64d3b13ec7764e
Author: Paul Kocialkowski <contact at paulk.fr>
Date:   Thu Jun 26 16:23:56 2014 +0200

    lights: Properly handle provided colors
    
    Signed-off-by: Paul Kocialkowski <contact at paulk.fr>

I am really confused about what I did here before. The code couldn't
possible have worked since the bits were not shifted properly.

kernel/goldelico/gta04:

commit 8d080f5605c92508a73adcf45f872dd54312febb
Author: Paul Kocialkowski <contact at paulk.fr>
Date:   Thu Jun 26 00:25:35 2014 +0200

    OMAP PWM: Mux init platform data call
    
    Signed-off-by: Paul Kocialkowski <contact at paulk.fr>

commit d2a2a8046331d112010c3f8683d76dfca8e74d96
Author: Paul Kocialkowski <contact at paulk.fr>
Date:   Thu Jun 26 00:28:31 2014 +0200

    gta04: Deferred backlight pin mux to achieve continuous boot splash
    
    Signed-off-by: Paul Kocialkowski <contact at paulk.fr>

This is needed for the continuous boot splash thing. The problem was
that GPIO57 gets disabled in the board file but PWM only gets enabled
once this driver is loaded, so there is a 1-2 sec gap where the screen
is black, which is what I wanted to avoid. This makes it possible to do
the muxing right before enabling PWM, which removes the gap.

commit ded600f3b14fa491382c3c67d59e15351d5d4227
Author: Paul Kocialkowski <contact at paulk.fr>
Date:   Thu Jun 26 00:27:27 2014 +0200

    OMAP3 hwmod: No reset for DSS and GPIO2 to achieve continuous boot
splash
    
    Signed-off-by: Paul Kocialkowski <contact at paulk.fr>

Resetting DSS turns the screen white after some ugly fade out. It
doesn't seem very necessary since DSS works correctly without that
reset. Not resetting GPIO2 ensures that the backlight GPIO is not set to
0 and hence doesn't cause any interruption in backlight. All that is
needed for continuous splash screen.

bootable/bootloader/goldelico/gta04:

commit 085738b9a5b46aa3d9f0e4b4340446373d697f25
Author: Paul Kocialkowski <contact at paulk.fr>
Date:   Thu Jun 26 00:35:37 2014 +0200

    Continuous splash screen
    
    Signed-off-by: Paul Kocialkowski <contact at paulk.fr>

New splash screen using the OpenPhoenux logo instead of that ugly thing
I made before.

[0]:
http://www.replicant.us/2014/06/replicant-at-the-15th-libre-software-meeting-in-montpellier-france-this-july/

-- 
Paul Kocialkowski, Replicant developer

Replicant is a fully free Android distribution

Website:        http://www.replicant.us/
Wiki/Tracker:   http://redmine.replicant.us/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part
URL: <http://lists.goldelico.com/pipermail/gta04-owner/attachments/20140626/202d8ac6/attachment.asc>


More information about the Gta04-owner mailing list