DisplayCasting

Differences between revisions 24 and 25
Revision 24 as of 2016-03-10 14:08:14
Size: 3697
Editor: morphis
Comment:
Revision 25 as of 2016-04-21 13:53:01
Size: 3586
Editor: morphis
Comment:
Deletions are marked like this. Additions are marked like this.
Line 11: Line 11:
If you're testing this on turbo you need to flash a specific device tarball first. You can find the required device tarball [[https://private-fileshare.canonical.com/~morphis/turbo-widi-20160310.2.zip|here]]. If you're testing this on turbo you need to flash a specific device tarball first. You can find the required device tarball [[https://private-fileshare.canonical.com/~alextu/zhongshan/images/mophis/device.tar.xz|here]].
Line 13: Line 13:
For flashing use the following commands after you've put the device into fastboot mode (power off, press power on + volume down for 10 seconds): Flash it with ubuntu-device-flash
Line 16: Line 16:
$ sudo fastboot flash ldfw ldfw
$ sudo fastboot flash dtb dtb
$ sudo fastboot flash bootlogo logo.bin
$ sudo fastboot flash bootimg boot.img
$ sudo fastboot flash recovery recovery.img
$ sudo fastboot flash system ubuntu.img
$ sudo fastboot flash custom custom.img
$ sudo fastboot flash userdata userdata.img
$ sudo fastboot flash cache cache.img
$ sudo fastboot reboot
$ cat disable-gpg.sh
#!/bin/bash
adb shell touch /etc/system-image/skip-gpg-verification
adb shell /sbin/system-image-upgrader /cache/recovery/ubuntu_command

$ ubuntu-device-flash -v touch --device turbo --channel ubuntu-touch/rc-proposed/meizu.en --device-tarball device.tar.xz --run-script disable-gpg.sh
Line 30: Line 26:
Install silo 0 Install silos 24 and 46
Line 33: Line 29:
$ citrain device-upgrade 0 <your pin> $ citrain device-upgrade 24 <your pin>
...
$ citrain device-upgrade 46 <your pin>

Overview

WARNING: THIS IS FOR DEVELOPERS ONLY FOR NOW, DO NOT TRY IT ON YOUR DAILY-USE DEVICE. DON'T EXPECT ANYTHING TO JUST WORK OR BE USER FRIENDLY

WARNING: This currently only works on the upcoming Meizu MX Pro 5 aka turbo. There is work in-progress to get this work on other devices as well.

This page describes how to setup the current in-development work for our display casting work also known as Miracast/WiFi Display.

Testing on turbo

If you're testing this on turbo you need to flash a specific device tarball first. You can find the required device tarball here.

Flash it with ubuntu-device-flash

$ cat disable-gpg.sh
#!/bin/bash
adb shell touch /etc/system-image/skip-gpg-verification
adb shell /sbin/system-image-upgrader /cache/recovery/ubuntu_command

$ ubuntu-device-flash -v touch --device turbo --channel ubuntu-touch/rc-proposed/meizu.en --device-tarball device.tar.xz --run-script disable-gpg.sh

Install necessary silos

Install silos 24 and 46

$ citrain device-upgrade 24 <your pin>
...
$ citrain device-upgrade 46 <your pin>

After your device has installed the silo you're ready to go.

Connect with a remote display

NOTE: To connect with the Microsoft WiFi Display dongle you have to connect it with an Android device currently first before Ubuntu is being able to stream properly to it. Otherwise you will just get a black screen.

First of all you need a Miracast / WiFi display capable sink device. Most modern Smart TVs support this or you can buy a dongle from Amazon like the Microsoft Wireless Display one.

The first step to discover available display is through the settings application.

  1. Open settings application
  2. Navigate to the new WiFi Displays page which sits under the WiFi page

  3. Press the scan button to discover available displays around you
  4. Once you have one you want to connect to press the connect button
  5. The display will be now connected and you should see the Unity8 desktop

If you want to disconnect from the external display just pull down from the top of the display on the phone display. This will give you a disconnect button.

You can control the user interface either by the virtual touchpad the phone display shows once an external display is connected or by connected a bluetooth mouse and keyboard.

On the other side we have a small utility called aethercastctl which helps you to deal with the service.

You can scan for available devices

# aethercastctl
aethercastctl> scan
aethercastctl> 
[CHG] Manager Scanning changed: true
Device 4e:74:03:64:86:9e 'Aquaris_E4.5' added
Device 4e:0b:be:f9:78:75 'MicrosoftDisplayAdapter_75' added

After the search is done you can connect to one of the found devices.

To list all available devices you can use the devices command.

aethercastctl> devices
Device 4e:0b:be:f9:78:75 'MicrosoftDisplayAdapter_75'
Device 4e:74:03:64:86:9e 'Aquaris_E4.5'

Once you know which device you want to connect to you can simply issue the connect command and wait for the device to get connected.

aethercastctl> connect 4e:74:03:64:86:9e
aethercastctl> 
[CHG] Manager Scanning changed: false
[CHG] Manager State changed: connected

Once the device is connected you should see the Ubuntu UI on the remote display device. If you run into any issues, logging details are at: /var/log/upstart/aethercast.log

Touch/DisplayCasting (last edited 2016-08-23 08:25:41 by morphis)