Media/WebRTC/Peak
From MozillaWiki
Notes on getting WebRTC Working on a Peak
Here are some ad hoc notes on how to get WebRTC working on a peak as of June 21, 2013. This assumes you already know how to compile and install B2G, and just covers stuff that's special to the peak.
Hopefully this will be unnecessary soon.
- The Peak manufacturer code is 05c6. I.e. in your /etc/udev/rules.d/51-android.rules:
SUBSYSTEM=="usb", ATTRS{idVendor}=="05c6", MODE="0666"
- Turn on developer mode on the peak so that adb can copy stuff. I believe: (Device Information >More Information > Developer > Console Enabled)
- You will need a backup directory of the Peak's system directory.
mkdir ${B2G}/backup-peak adb pull /system ${B2G}/backup-peak/system export ANDROIDFS_DIR=${B2G}/backup-peak
- You need to be on master to run config.sh. (see: https://groups.google.com/forum/#!topic/mozilla.dev.b2g/AjAnFGeHBcw). Do:
BRANCH=master ./config.sh peak
- There is a bad interaction with the high resolution peak screen that makes links not work properly. Install all the patches from here: https://bugzilla.mozilla.org/show_bug.cgi?id=883646. Note that the first 7 of these have already landed on m-i, so you may only need the 8th depending on when you update and which tree you are on.
- Apply the patchset at: https://github.com/ekr/webrtc-perf-patches/tree/Peak
Once you have done all this, video should work. I'm getting so much delay on audio I'm not 100% sure if it works at all and you certainly couldn't say it worked well.
Notes on enabling profiling for the peak
- Add git://github.com/jld/B2G.git as a remote and check out the "profiling" branch from it
- "export B2G_PROFILING=1" in .userconfig
- Delete "out" and "objdir-gecko" if they exist
- BRANCH=master ./config.sh peak
- It may tell you that peak is unsupported, if so add it to the config.sh & flash.sh script next to the keon
- Replace kernel/arch/arm/configs/C8680_defconfig (which is pulled down during config) with this(untared)
- This is so that we can recompile the b2g kernel with support for stack traces, kallsyms, et al
- ./build.sh
- ./flash.sh
WARNING: This is mostly working. I still get occasional warnings about corrupted stacks. As soon as this problem is solved, I will update the instructions here. --bbrittain