← Back to team overview

ubuntu-phone team mailing list archive

Re: MX4 and Miracast, something new?

 

On 12.04.2016 14:52, Simon Fels wrote:
> On 12.04.2016 14:31, Marco Graziotti wrote:
>> So, you think it's possible to developing the Miracast support for Meizu MX4?
> 
> It is possible for sure. The actual part we're talking about here is the
> hardware encoding we're reusing from Android. Android 5.x introduced a
> small layer around the actual hardware encoder we're using for a small
> and simple implementation. Backporting those bits to Android 4.x is
> possible but requires some work.
> 
> The most important thing about this is that the Android side source code
> for the MX4 is private and not available to the public. So if someone
> from the community wants to start helping out here we need to do this on
> one of the devices supported by the phablet Android source tree (see [1]).
> 
> The actual bits we need is the MediaCodecSource class (see [2]). We're
> using this one through libhybris and then in aethercast to encode frames
> we're receiving from mir. This class is not available in Android 4.x
> (yet). There are other options to work around this or work more closely
> with the MediaCodec class (which we're already using for video encoding
> through libhybris). But none of those was investigated yet.
> 
> If someone wants to help us, backporting the MediaCodecSource to an
> Android 4.x tree is the first step. This can be done without targetting
> the MX4 as we can port things easily across different Android 4.x trees
> once we have a working version. You can have a look at [3] to see how
> you can build the Android 4.x tree for the Nexus 4.

For those interested: I had a quick idea some days back of how to easily
backport the relevant bits on the Android side to an Android 4.x tree
and did this as proof-of-concept for the Nexus 4. There are now three
changes I pushed for inclusion:

https://code-review.phablet.ubuntu.com/444
https://code-review.phablet.ubuntu.com/445
https://code-review.phablet.ubuntu.com/446

With those three I got WiFi Display working on the Nexus 4. However the
whole thing is quite unstable and needs still a lot love to work
correctly and reliable. Especially the WiFi Direct implementation seems
to be really flaky which is most likely due to incompatibilities between
the kernel side WiFi driver and our wpa-supplicant version.

We will merge the three changes above in the near future and release a
new device tarball for mako with those included.

In general this doesn't change our plan that we will not put active
development in adding WiFi Display as a official supported feature on
Nexus 4 but it gives everyone else in the community a place to play with
or port it to any other community supported device.

The necessary Ubuntu side bits for WiFi Display support will land soon
in rc-proposed. All you then have to do to enable WiFi Display (which is
only enabled by default on selected devices):

1. Run the following command on the command line

$ setprop ubuntu.widi.supported 0

NOTE: This change remains temporary and will be revert after a device
reboot.

2. If you had ubuntu-system-settings running close and restart it.
3. You will now have an item "Wireless Display" under "Brightness & Display"

regards,
Simon


References