Benutzer-Werkzeuge

Webseiten-Werkzeuge


 [[anwenderwiki:linuxclient:genome-network-displays]] 

Dies ist eine alte Version des Dokuments!


Miracast mit Ubuntu 20.04

Miracast zum drahlosen Übertragen des Bildschirmes ist bei Windows 10 und Android im Betriebssystem integriert. Bei iOS gibt es Apps (habe ich nicht getestet). Für Linux existieren verschiedene Projekte. Folgenden Projekte habe ich getestet:

  1. Gnome-Network-Displays - einfach zu bedienende grafische Anwendung
  2. Miraclecast - Konsolenanwendung, komplex, Entwickler empfiehlt nun Nr. 1

Zu beiden Projekten gibt es für Ubuntu 20.04 keine Installationspakete, sie müssen aus den Quellen selbst kompiliert werden. Für Miracast wird ein WLAN-Interface benötigt, das Peer to Peer (P2P) beherrscht, was aktuelle Adapter meistens können.

Miracast kann parallel zu einer bestehenden WLAN-Verbindung aufgebaut werden, dabei wird ein zweites Peer to Peer WLAN der beiden Geräte aufgezogen, in Ubuntu erscheint dann ein zweites Interface, z.B. mit Namen „p2p-wlan0-1“. Je nach Dongel oder Konfiguration ist eine PIN einzugeben. Bei einer Bildschirmsyncronisation nennt man den Sender meist „Peer“ und den Empfänger „Sink“.

Vorbereitung: Umbenennen des WLAN-Interface

In Ubuntu 20.04 sind die Namen der WLAN-Interface mehrere Zeichen lang, z.B. „wlp0s20f3“ mit 9 Zeichen. Dies führt ggf. beim Starten eines P2P–WLAN-Interfaces für die Miracast-Kommunikation zu Problemen, da der damit generierte Name zu lang ist.
Fehlermeldung zum wpa_supplicant, z.B.: „… wpa_supplicant or driver does not support P2P …“„

Ein Umbenennen des Interfaces in z.B. „wlan0“ behebt das Problem.

Eine neue Datei anlegen: /etc/udev/rules.d/70-persistent-net.rules mit folgendem Inhalt:

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="11:22:33:44:55:66", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan0" 

Dabei die MAC-Adresse des eigenen WLAN-Interfaces bei ATTR{address} eintragen und einen Reboot durchführen. Mit dem Befehl

# ifconfig -a

kann man die Namensänderung überprüfen.

Installation von Gnome-Network-Displays

Projektseite → https://gitlab.gnome.org/GNOME/gnome-network-displays
Dort das Source-Paket als zip-Datei herunterladen und entpacken: gnome-network-displays-master.zip

Zuerst abhängige Pakete installieren, insbesondere für den Kompilierungsschritt.

# apt-get install meson gettext appstream-util
# apt-get install libgstreamer-plugins-base1.0-dev libgstrtspserver-1.0-dev gstreamer1.0-rtsp
# apt-get install libgtk-3-dev libnm-dev libpulse-dev x264
# apt-get install libgstreamer1.0-0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-doc gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio

Kompilieren und installieren:

$ cd gnome-network-displays-master
$ meson build
$ cd build
$ meson install

Nun über die Dash die Anwendung „Gnome-Network-Displays“ starten.

Den Miracast-Dongle auswählen. Danach erfolgen 3 Schritte:

  1. Verbindung wird aufgebaut
  2. Stream wird gestartet
  3. Streaming

Mit einem Microsoft-Display-Adapter V2 (Ver 2.0.8350) als auch mit einen Renkforce EZ-Cast Dongle funktionierte anschließend das Mirroring. Teils gab es beim Verbindungsaufbau Verzögerungen oder mehrere Versuche, insbesondere wenn eine Verbindung abgebrochen und dann neu aufgebaut wurde. Nach dem Verbindungsaufbau war das Mirroring stabil. Je nach eingestellter Grafikauflösung des Clients erfolgte der Verbindungsaufbau schneller oder langsamer.
Ton wird auch übertragen, jedoch nur Mono (linker Kanal). Bei Ubuntu muss man dazu die Einstellung der Klang-Ausgabe auf das „Network-Displays“ umschalten.

Beim Testen mit einem normalen Computermonitor statt einem Beamer trat das Problem auf, dass der Monitor und der Dongle die Auflösung oder Wiederholungsrate nicht vereinbart bekamen - Schwarzes Bild oder Dongel startete neu.

Miraclecast

 [[anwenderwiki:linuxclient:genome-network-displays]] anwenderwiki/linuxclient/genome-network-displays.1606578155.txt.gz · Zuletzt geändert: 2020/11/28 16:42 von martin.res