Closed Bug 784227 (gonk-jb) Opened 8 years ago Closed 7 years ago

JB Gonk Support (Android 4.3)

Categories

(Firefox OS Graveyard :: General, defect)

All
Gonk (Firefox OS)
defect
Not set
normal

Tracking

(blocking-b2g:-)

RESOLVED FIXED
blocking-b2g -

People

(Reporter: mwu, Unassigned)

References

Details

(Keywords: meta)

Attachments

(2 obsolete files)

This is a tracking bug for things necessary on the gecko side to support JB based Gonk.
Alias: gonk-jb
Depends on: 784415
Depends on: 694484
Since Android 4.2 is also Jelly Bean, I'm morphing this bug to cover that particular jelly bean and skipping Android 4.1.
Summary: JB Gonk Support → JB Gonk Support (Android 4.2)
My understanding is that the bluetooth stack was rewritten in JB.  Do we have any idea of the work needed to "rebase" (sigh) on that?
Depends on: 845193
I had merged RIL related code in hardware/ril[1] and external/emulator[2]. Still have build breaks with ICS Gonk, of course.

[1]: https://github.com/mozilla-b2g/platform_hardware_ril/tree/next/jb-mr1-release
[2]: https://github.com/mozilla-b2g/platform_external_qemu/tree/next/jb-mr1-release
(In reply to Chris Jones [:cjones] [:warhammer] from comment #3)
> My understanding is that the bluetooth stack was rewritten in JB.  Do we
> have any idea of the work needed to "rebase" (sigh) on that?

Well, the Bluetooth Platform Portion is abstracted so that we /should/ just be able to implement a new BluetoothService subclass filled in with the new calls, and be on our way. That said, it was modeled after the DBus setup because I haven't seen anything else so that was my only experience to build off of. So it's going to depend on how well those two mesh, and how much needs to be changed to support them. I have yet to actually see the new stack (I think echou has, but I'm not gonna say for sure.), so I can't really say anything beyond that.

The DBus layer will still be valid for linux, though we need to implement a few more linux service functions to make it have complete feature pairity with android.
The new JB bluedroid stack is quite different from bluez. Dbus layer completely was removed, even no more bluetooth daemon. I believe the change could be big if we adapt bluedroid stack. Since currently we have design dependency on BlueZ dbus.
1. Also JB starts to support volume control on each output devices. That means we need to change the API in AudioManager and settings data in Gaia side also the UX.

2. Power API for set_screen_state is changed to autosuspend_enable/disable.

3. Wifi HAL API is changed too.

4. The API changes of AudioTrack can be covered by backend of cubeb + openSL ES.
Some wifi functions in libhardware_legacy got different argument list. There must have some changes in HAL and its above leyer.
ISurfaceTexture is changed in JB. It is used in GonkNativeWindow since v1.1 by Bug 803471.
I thought I posted this here; I have some patches for JB support on m-c at https://github.com/vvuk/mozilla-central/tree/b2g-jb with some more info at https://wiki.mozilla.org/B2G/Nexus7.  I haven't touched this in a few weeks though, but it might be a useful start (it built and ran on a N7 at the time).
Blocks: 845193
No longer depends on: 845193
Depends on: 867871
Depends on: 868065
Depends on: 868124
Depends on: 868150
Attached file nexus 4 manifest (obsolete) —
Here's a nexus 4 manifest to try.

The line saying "include external/junit/Common.mk" in frameworks/base/Android.mk needs to be commented out.
Permissions in /system/b2g have to be fixed manually.

Lots of issues still, and a bit crashy.

The device name is "mako".
Depends on: 869206
Blocks: 784415
No longer depends on: 784415
Depends on: 869251
Depends on: 869260
Depends on: 870198
Depends on: 870682
Depends on: 870684
Hi Michael, 
Do we want gecko to support both ICS and JB on the same version, 
That means we would likely to use build flag to distinguish the API change?
Hi Michael,

   We‘re porting FFOS to JB, but camera can't work now. Do you have any schedule to support camera on JB?
(In reply to Randy Lin [:rlin] from comment #12)
> Hi Michael, 
> Do we want gecko to support both ICS and JB on the same version, 
> That means we would likely to use build flag to distinguish the API change?

Bug 868150 allows us to distinguish between ICS and JB at compile time. We'll need gecko to support both ICS and JB for the time being.
(In reply to James Zhang from comment #13)
> Hi Michael,
> 
>    We‘re porting FFOS to JB, but camera can't work now. Do you have any
> schedule to support camera on JB?

There might be an engineer working on it next week, but I can't comment on any schedule.
Depends on: 871364
> >    We‘re porting FFOS to JB, but camera can't work now. Do you have any
> > schedule to support camera on JB?
> 
> There might be an engineer working on it next week, but I can't comment on
> any schedule.

Last week, I receive nexus4 and flashed JB on it. From this week, I am going to work on it. But I can not comment when camera works.
Assignee: nobody → mwu
Depends on: 874116
Attached patch nexus 4 manifest, v2 (obsolete) — Splinter Review
This manifest switches to upstream versions of everything where there is support. There's only two repos left that are on my github account. Gecko is now pointed to upstream, so we can work off the latest mozilla-central.
Attachment #744936 - Attachment is obsolete: true
Depends on: 874649
The manifest is now available from the b2g-manifest repo - https://github.com/mozilla-b2g/b2g-manifest/blob/master/nexus-4.xml .
Attachment #751805 - Attachment is obsolete: true
Depends on: 877191
Depends on: 878108
Depends on: 879428
Depends on: 880095
Depends on: 880502
Depends on: 881565
Depends on: 883945
Depends on: 884131
Depends on: 884134
Depends on: 885602
Depends on: 885620
Blocks: 885630
Depends on: 887485
Depends on: 888552
Depends on: 890144
Recommending this for koi+ (JB support for v1.2)
blocking-b2g: --- → koi?
Depends on: 891259
Depends on: 891261
No longer depends on: 891259
Depends on: 892182
Depends on: 892876
Depends on: 894683
Depends on: 896765
Are we going to use JB4.2 as gonk-jb? Today, JB4.3 is released on already open sourced. There are some differences around Graphics and DisplayHardware.
(In reply to Sotaro Ikeda [:sotaro] from comment #20)
> Are we going to use JB4.2 as gonk-jb? Today, JB4.3 is released on already
> open sourced. There are some differences around Graphics and DisplayHardware.

Sounds good. I think we're currently still early enough in 1.2 to switch to 4.3.
JB4.3 support OpenGL ES3.0. By using it, we can implement WebGL2 on Firefox OS.
 - https://wiki.mozilla.org/Platform/GFX/WebGL2
We'll use 4.3
In 4.3, camera is extended a lot, ProCamera is present. Need to support it.
I think 4.3 is better than 4.2 for us.
4.3 it is.
Summary: JB Gonk Support (Android 4.2) → JB Gonk Support (Android 4.3)
Depends on: 898810
Depends on: 898812
Depends on: 898897
Depends on: 898898
(In reply to Michael Wu [:mwu] from comment #26)
> 4.3 it is.

Hello,Michael,I have a question.Is update to android4.3 a new official decison or just engineer talk now? Thanks.
(In reply to andy.liu from comment #27)
> (In reply to Michael Wu [:mwu] from comment #26)
> > 4.3 it is.
> 
> Hello,Michael,I have a question.Is update to android4.3 a new official
> decison or just engineer talk now? Thanks.

We will support 4.3. I've filed four new bugs with patches that add support for 4.3. Will 4.3 be ok for you?
(In reply to Michael Wu [:mwu] from comment #28)
> (In reply to andy.liu from comment #27)
> (In reply to Michael Wu [:mwu]
> from comment #26)
> > 4.3 it is.
> 
> Hello,Michael,I have a question.Is
> update to android4.3 a new official
> decison or just engineer talk now?
> Thanks.

We will support 4.3. I've filed four new bugs with patches that add
> support for 4.3. Will 4.3 be ok for you?
Yes,android4.3 is perfect for as.But dose it mean Mozilla v1.2 will support android4.3 directly?And android4.2 will be deserted right now?
what about the new schedule for supporting android4.3? Will it be ready at 16th Sept.?
Thanks.
The patches I posted brings our 4.3 port to the same level that the 4.2 port is currently at. The only thing remaining 4.3 upgrade risk is for camera support. JB camera support hasn't landed, so I haven't tried upgrading it from 4.2 to 4.3.
(In reply to Michael Wu [:mwu] from comment #30)
> The patches I posted brings our 4.3 port to the same level that the 4.2 port
> is currently at. The only thing remaining 4.3 upgrade risk is for camera
> support. JB camera support hasn't landed, so I haven't tried upgrading it
> from 4.2 to 4.3.

Ok, thanks for your reply.We hope that android 4.3 is supported ASAP.
BTW,in my mind ,independent of android version upgrade  is a better choice for ffos long-term roadmap.
Depends on: 899377
Depends on: 899769
Depends on: 788975
All necessary 4.3 patches have been landed.
Depends on: 901857
Depends on: 902044
Blocks: 902255
No longer blocks: 902255
Depends on: 902255
Depends on: 902319
Depends on: 902954
No longer blocks: 903308
Depends on: 903308
Blocks: 903308
No longer depends on: 903308
Depends on: 906888
koi+ as it is targeted for v1.2
blocking-b2g: koi? → koi+
Whiteboard: [FT:devices, KOI:P1]
Depends on: 911271
Depends on: 911294
Depends on: 911548
Depends on: 911518
Whiteboard: [FT:devices, KOI:P1] → [UCID:, FT:devices, KOI:P1]
Depends on: 915729
Whiteboard: [UCID:, FT:devices, KOI:P1]
Meta bug - hence minus
blocking-b2g: koi+ → -
Blocks: 842747
Blocks: HWComposer
No longer depends on: HWComposer, 915729
Blocks: 902797
No longer depends on: 902797
What about kitkat(android4.4)? 
I think it's better for low memory device.
Flags: needinfo?(mwu)
(In reply to James Zhang from comment #35)
> What about kitkat(android4.4)? 
> I think it's better for low memory device.

A new bug will be filed for android 4.4. A nexus 5 is being shipped to me at the moment so I'll be able to take a look at it in a few days.
Flags: needinfo?(mwu)
Marking as fixed as I believe we have feature parity with the ICS port now. Bluedroid work continues to be tracked in bug 876583.

I'll post here when there is more news about kitkat support.
Assignee: mwu → nobody
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_build_prerequisites#Requirements_for_Mac_OS_X has a note that suggests the doc needs updating once this is available. Is that now?
That has nothing to do with this bug. Also, it is wrong.
FYI, kitkat porting is being tracked in bug 943278 .
Depends on: 961596
No longer depends on: 961596
You need to log in before you can comment on or make changes to this bug.