Benutzer-Werkzeuge

Webseiten-Werkzeuge


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

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
anwenderwiki:linuxclient:genome-network-displays [2020/11/28 16:42] – [Vorbereitung: Umbenennen des WLAN-Interface] martin.resanwenderwiki:linuxclient:genome-network-displays [2023/10/09 08:08] (aktuell) maxeg
Zeile 1: Zeile 1:
 +{{tag> miracast miracle}}
 +
 +<note>Ab Ubuntu 22.10 gibts auch ein Installations-Paket</note>
 +
 +====== Miracast mit Ubuntu 20.04 und Ubuntu 22.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:
 +  - **Gnome-Network-Displays** - einfach zu bedienende grafische Anwendung
 +  - **Miraclecast** - Konsolenanwendung, komplex, Entwickler empfiehlt nun Nr. 1 
 +  - **Flatpak** - [[https://flathub.org/apps/org.gnome.NetworkDisplays]] hat sehr einfach funktioniert, benötigt jedoch viel Plattenplatz
 +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:
 +<code>
 +SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="11:22:33:44:55:66", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan0" 
 +</code>
 +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.
 +
 +Alternativ kann man auch einen GRUB Kernel parameter setzen siehe -> [[https://wiki.debian.org/NetworkInterfaceNames]]. (Ggf. durch LINBO)
 +
 +===== 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.
 +<code>
 +# 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
 +# apt-get install libavahi-gobject-dev libprotobuf-c1 libprotobuf-c-dev libjson-glib-dev libsoup-3.0-dev 
 +
 +</code>
 +Kompilieren und installieren:
 +<code>
 +$ cd gnome-network-displays-master
 +$ meson build
 +$ cd build
 +$ meson install
 +</code>
 +
 +{{:anwenderwiki:linuxclient:genome-n-d.jpg?100|}}
 +
 +Nun über die Dash die Anwendung "Gnome-Network-Displays" starten.
 +
 +{{:anwenderwiki:linuxclient:genome-ms-adapter.jpg?400|}}
 +
 +Den Miracast-Dongle auswählen. Danach erfolgen 3 Schritte:
 +  - Verbindung wird aufgebaut
 +  - Stream wird gestartet
 +  - 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. Je nach eingestellter Grafikauflösung des Clients erfolgte der Verbindungsaufbau schneller oder langsamer. Nicht jedes Seitenformat wurde dabei korrekt angezeigt - einfach selbst experimentieren. 
 +
 +Nach dem Verbindungsaufbau war das Mirroring stabil. Der MSDisplay-Adapter arbeitete flüssiger.\\
 +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.
 +
 +Der Entwickler verwendet als Codec openh264 und empfiehlt weitere Audiocodex. Ob das die Übertragung zusätzlich verbessert werde ich mal testen.
 +===== Miraclecast =====
 +Projektseite ->       [[https://github.com/albfan/miraclecast]]
 +
 +Umfasst Kommandozeilentools und muss ebenfalls aus den Quellen kompiliert werden. Konnte es aber leider nicht zum Laufen bringen.
 +
 +
  
 [[anwenderwiki:linuxclient:genome-network-displays]]