Open Bug 1305341 (gem) Opened 4 years ago Updated 1 year ago
Port Gecko/Firefox to Yocto/Open
Port Gecko/Firefox to Yocto (https://www.yoctoproject.org/) so that SoC vendors easily spread Gecko-based web browser/architecture to product vendors & final products. The Yocto recipe of Firefox is already provided by OSSystems: https://github.com/OSSystems/meta-browser But in most cases GPU acceleration wouldn't be enabled by this recipe. Since most product vendors will want to enable it, it would be nice if we provide the way to do it. Otherwise they wouldn't choose Gecko/Firefox, they will choose other architectures such as Chromium. In fact some Japanese vendors are trying to use Gecko in their products by using Yocto, then comparing it with other architectures. So we Japanese community started the project to improve the recipe & share the information how to enable GPU acceleration and other Gecko's features such as WebRTC, WebGL and so on: https://github.com/mozilla-japan/gecko-embedded/wiki (Sorry, most of the pages are currently written in Japanese) To enable these feature on various SoC, we will also have to improve Gecko/Firefox itself. For example certain SoC such as Renesas Electronics's RZ/G doesn't support X11, it only supports Wayland. So it would be nice if Gecko/Firefox supports Wayland. This is the meta bug for this project.
> For example certain SoC such as Renesas Electronics's RZ/G doesn't support X11, it only supports Wayland. Sorry, it's not correct. It works also on X11. The problem is that it doesn't provide GLX or EGL enabled driver for X11. So we have to port Gecko to Wayland if we want to enable GPU acceleration on it.
Since we can't support so many boards at this moment, we selected two boards as our first target: * Renesas Electronics RZ/G1 series * NXP (formerly known as Freescale) i.MX6 series The reason why we choose these boards is that they are candidates for future products of some vendors we contacted. In other words, these boards are chosen by actual product vendors. Although it would be better to prepare thin widget layer for embedded system like linuxgl: https://github.com/imphil/meta-b2g, I don't choose such approach at this moment because I think it's hard to merge it to main line in the near future and hard to continue maintaining forked version. I'd like to keep the difference against main line minimum. So we are now using X11 or Wayland via GTK (but it's not mandatory, all possibilities, sudggestions and advices are welcome). As the first step we are now trying following things for those boards: * Composition acceleration * i.MX6: It works by enabling GLContextProviderEGL * RZ/G1: Trying an experimental implementation which uses Wayland & EGL It works but not stable yet. * Content acceleration * i.MX6: Enabled by default via XRender (but it seems slower than chromium) * RZ/G1: None. Use cairo-egl? * H.264 acceleration * Testing GStreamer code in 45ESR (although it's already dropped at later version...) The recipe is put to the following repository: https://github.com/mozilla-japan/meta-browser If you want to test it on RZ/G1, you will need to upgrade GTK+ to 3.14 or later. The following repository is a sample recipe for it (note that it will be moved to other repository in the near future): https://github.com/ashie/meta-mozwayland
> * Composition acceleration For wayland, we should discuss about it at bug1281425.
For movie playback acceleration, I filed bug1306529.
Wayland based BSP of NXP's i.MX6 doesn't include X11 library (DISTRO_FEATURES_remove = " x11 " is used). Wayland is used as the window system of IVI (In-Vehicle Infotainment) and NXP is a vendor which supports it. http://hackerboards.com/automotive-grade-linux-releases-unified-ivi-spec/ I heard from the member that they requires a web browser engine for it. So it's also our important target. It would be nice if we enable to build Firefox with "--without-x11". Bug 1306613 is the best place to discuss it.
> It would be nice if we enable to build Firefox with "--without-x11". Ooops - "--without-x11" + "--without-x"
Intercom devices are also our important target. WebRTC may be used for such devices (some vendors are interested to that). I filed a bug for it: bug1307329
Summary: Port Gecko/Firefox to Yocto → Port Gecko/Firefox to Yocto/OpenEmbedded
ftw mozilla 2017! https://bugzilla.mozilla.org/show_bug.cgi?id=635134
Hello, I'm asking your help with an experiment with making decisions on bugs. You've been needinfo'ed on this bug. I'd like you to take one action to help this bug make progress toward a decision. The things you can do include: * If you know or have a good guess of which product and component this bug belongs to, change the product and component of the bug * If you know of the right person to ask about this bug, redirect the needinfo to them * If you cannot reproduce the bug, close it All we need you to do is one thing that will help us make a decision on the bug or resolve it. Thank you for your help with this. If you have questions, please contact firstname.lastname@example.org.
I'm sorry for long silence on this bug. We are still working on this bug. Recently we ported Firefox 52ESR to Yocto/OpenEmbedded: https://github.com/mozilla-japan/meta-browser/tree/firefox-52.1esr We have some patches to fix build issues on it. We should post them to Bugzilla.
You need to log in before you can comment on or make changes to this bug.