• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..16-Feb-2021-

data/H03-May-2022-119

datadumps/H03-May-2022-

desktop_source/H03-May-2022-603354

libwds/H03-May-2022-12,1937,571

mirac_network/H03-May-2022-1,6861,068

p2p/H03-May-2022-1,280880

sink/H03-May-2022-552305

.gitignoreH A D16-Feb-2021399 2722

COPYINGH A D16-Feb-202125.9 KiB504418

README.mdH A D16-Feb-20213.3 KiB9262

TODOH A D16-Feb-2021606 2312

README.md

1## Wireless Display Software For Linux OS (WDS)
2
3WDS is a set of libraries for developers who want to build Wi-Fi Display applications on linux.
4
5WDS consists of:
6 * libwds: Main library implements a Wi-Fi Display dialect of RTSP that includes the parser, actual negotiation logic for sink and source, and the related data structures. It is not tied to any specific connection manager, media framework or main loop. This Library is also compatible with MSVC.
7 * network: Supports integration with GLib main loop and GStreamer
8 * p2p: Supports integration with Connman Wifi P2P features
9
10
11The source code includes example implementations:
12 * _sink:_ Wi-Fi Display sink that depends on Gstreamer, Connman and GLib mainloop
13 * _desktop_source:_ Wi-Fi Display source that depends on Gstreamer, Connman and GLib mainloop
14
15More information can be found on the [mailing list](https://lists.01.org/mailman/listinfo/wysiwidi-dev) and the [wiki](https://github.com/01org/wds/wiki).
16
17### Requirements:
18
19WDS test executables have runtime dependencies on just a few things (mostly GStreamer and GLib), but for successful Wi-Fi Display sessions the following are adviced:
20 * Wifi adapter from Intel 7260-family or Atheros ath9k
21 * [wpa_supplicant](http://w1.fi/wpa_supplicant/): version 2.4 or later, built with	`CONFIG_P2P=y`, `CONFIG_WIFI_DISPLAY=y` and `CONFIG_CTRL_IFACE_DBUS_NEW=y`
22 * [connman](https://01.org/connman): version 1.28 (released Feb 1st 2015) or later.
23 * gstreamer: either master branch more recent than Feb 3rd 2015 (commit d0a50be2), or 1.4 branch more recent than
24Feb 3rd 2005 (commit 1ce3260a638d or release 1.4.6 or later).
25
26Test results with other Wifi adapters are very welcome but be warned that in many cases Wifi-P2P has not had the testing it needs on linux: you may run into problems in surprising places.
27
28### Building WDS from git:
29
30```
31cmake .
32make
33```
34
35### Testing WDS
36
37#### Pre-requisites
38
39Make sure wpa_supplicant & connmand are running. Running both of them uninstalled is possible (but in that case make sure the system wpa_supplicant and system connection manager are _not_ running):
40
41```
42$ sudo hostap/wpa_supplicant/wpa_supplicant -ddt -u
43
44$ sudo connman/src/connmand -n -d
45```
46
47Use connmanctl to enable Wi-Fi and Wi-Fi P2P:
48
49```
50$ connman/client/connmanctl
51connmanctl> enable wifi
52Enabled wifi
53connmanctl> enable p2p
54Enabled p2p
55```
56
57Check that Peer-to-peer functionality is working:
58
59```
60connmanctl> scan p2p
61Scan completed for p2p
62connmanctl> peers
63Nexus 5 (jku) idle peer_0c8bfd5f12fc_8ac9d0c0da67
64Push2TV 75AEB2-PTV3000 idle peer_0c8bfd5f12fc_22e52a75aeb2
65
66```
67
68Enable agent:
69
70```
71connmanctl> agent on
72Agent registered
73```
74
75#### Testing WDS sink with an Android device (e.g. Nexus 5):
76
77* start sink: `sink/sink-test`
78* Android: select the sink from the list in "Settings > Display > Cast Screen"
79* connmanctl: when agent asks, accept the connection
80
81In a few seconds, a window should open and a audio/video stream should start playing.
82
83#### Testing WDS source with another sink:
84
85* start source: `desktop_source/desktop_source`
86* Initial scan will be automatic, but `scan` command will re-scan.
87* After getting scan results, connect with `connect N` (where N is number from scan result)
88* connmanctl: when agent asks, accept the connection
89
90In a few seconds, the sink should start showing a stream mirroring your desktop.
91
92