2014-09-02 23:13:52 +00:00
# MiracleCast - Wifi-Display/Miracast Implementation
2014-02-06 15:43:11 +00:00
2015-03-05 22:58:10 +00:00
The MiracleCast project provides software to connect external monitors to your system via Wifi. It is compatible to the Wifi-Display specification also known as Miracast. MiracleCast implements the Display-Source as well as Display-Sink side.
2014-02-11 14:43:09 +00:00
2015-03-05 22:58:10 +00:00
The Display-Source side allows you to connect external displays to your system and stream local content to the device. A lot of effort is put into making this as easy as connecting external displays via HDMI.
2014-09-02 23:13:52 +00:00
2015-03-05 22:58:10 +00:00
On the other hand, the Display-Sink side allows you to create wifi-capable external displays yourself. You can use it on your embedded devices or even on full desktops to allow other systems to use your device as external display.
2014-02-06 15:43:11 +00:00
2014-09-02 23:13:52 +00:00
## Requirements
The MiracleCast projects requires the following software to be installed:
2015-03-05 22:58:10 +00:00
- **systemd**: A system management daemon. It is used for device-management (udev), dbus management (sd-bus) and service management.
Systemd must be compiled with --enable-kdbus, even though kdbus isn't used, but only the independent, experimental sd-libraries.
2014-09-02 23:13:52 +00:00
*required* : >=systemd-213
2014-02-06 15:43:11 +00:00
2015-03-05 22:58:10 +00:00
- **glib**: A utility library. Used by the current DHCP implementation. Will be removed once sd-dns gains DHCP-server capabilities.
2014-09-02 23:13:52 +00:00
*required* : ~=glib2-2.38 (might work with older releases, untested..)
2014-02-11 14:43:09 +00:00
2015-03-05 22:58:10 +00:00
- **check**: Test-suite for C programs. Used for optional tests of the MiracleCast code base.
2014-09-02 23:13:52 +00:00
*optional* : ~=check-0.9.11 (might work with older releases, untested..)
2015-03-05 22:58:10 +00:00
- **gstreamer**: MiracleCast relay on gstreamer to show cast its output. You can test if all needed is installed launching `res/test_viewer.sh`
- copy the dbus policy **res/org.freedesktop.miracle.conf** to `/etc/dbus-1/system.d/`
2014-11-21 21:14:39 +00:00
2014-09-02 23:13:52 +00:00
## Install
2014-02-06 15:43:11 +00:00
To compile MiracleCast, run the standard autotools commands:
2014-09-02 23:13:52 +00:00
```bash
2014-02-06 15:43:11 +00:00
$ test -f ./configure || NOCONFIGURE=1 ./autogen.sh
2014-02-11 14:43:09 +00:00
$ ./configure --prefix=/usr/local
2014-02-06 15:43:11 +00:00
$ make
$ sudo make install
2015-03-05 22:58:10 +00:00
To compile and run the test applications, use:
2014-02-06 15:43:11 +00:00
$ make check
2014-09-02 23:13:52 +00:00
```
2015-03-29 21:24:21 +00:00
### Ubuntu
This specific linux flavour is so hard to get miraclecast dependencies that an alternative repo was created to install systemd with dbus
https://github.com/albfan/systemd-ubuntu-with-dbus
> See specific instructions on that repo
### Arch linux
There is an AUR package to ease the install process. It's not complete at this time. See #6 to follow it's progress.
2014-02-06 15:43:11 +00:00
2014-09-02 23:13:52 +00:00
## Documentation
2014-02-06 15:43:11 +00:00
2015-01-27 05:46:51 +00:00
Steps to use it as sink:
1. shutdown wpa_supplicant
2015-03-05 22:58:10 +00:00
$ sudo kill -9 $(ps -ef | grep wpa_supplican[t] | awk '{print $2}')
# now you can use `res/kill-wpa.sh`
2. start wpa with config for miraclecast
$ sudo wpa_supplicant -dd -B -iwlp3s0 -Dnl80211 -c wpa.conf
# or `res/miracle-wifi.sh`
2015-01-27 05:46:51 +00:00
2. launch wifi daemon
$ sudo miracle-wifid &
2015-03-05 22:58:10 +00:00
3. launch sink control (your network card will be detected. here 3)
2015-01-27 05:46:51 +00:00
$ sudo miracle-sinkctl
[ADD] Link: 3
4. run WiFi Display on link:
> run 3
2015-03-05 22:58:10 +00:00
5. Pair your machine with other miracast device (mirroring)
2015-01-27 05:46:51 +00:00
2015-03-05 22:58:10 +00:00
6. See your screen device on this machine
2015-01-27 05:46:51 +00:00
Steps to use it as peer:
1. Repeat steps 1 and 2 from "use as sink"
2. launch wifi control
$ sudo miracle-wifictl
3. Enable visibility for other devices
4. Locate them using scanning
> psp-scan
2015-03-05 22:58:10 +00:00
5. Apart from list, or show info with peer < mac> there's nothing useful here by now.
2014-02-06 15:43:11 +00:00
2014-09-02 23:13:52 +00:00
## License
2014-02-06 15:43:11 +00:00
2015-03-05 22:58:10 +00:00
This software is licensed under the terms of the GNU-LGPL license. Please see ./COPYING for further information.
## Credits
This software is originally maintained by: David Herrmann dh.herrmann@gmail.com
This fork is maintained by: Alberto Fanjul albertofanjul@gmail.com
If you have any questions, do not hesitate to contact one of the maintainers.
2014-02-06 15:43:11 +00:00
2015-03-05 22:58:10 +00:00
## Additional urls
2014-02-06 15:43:11 +00:00
2015-03-05 22:58:10 +00:00
- Website: http://www.freedesktop.org/wiki/Software/miracle
- Original repo: git://people.freedesktop.org/~dvdhrm/miracle
- Fork repo: https://github.com/albfan/miraclecast
2014-09-02 23:13:52 +00:00