Linux-Treiber für den Elgato 4k60 Pro Mk.2
Dies ist ein Reverse-Engineering-Projekt. Ziel ist es, Unterstützung für die Elgato 4k60-Karte auf die Linux-Plattform zu bringen.
Die primäre Entwicklungsplattform für das Projekt ist Centos 7.5.1804 (Core), obwohl erwartet wird, dass der Treiber auf mehreren Distributionen funktioniert.
Treiber für die Elgato 4k60 Pro mk.2 HDMI-Capture-Karte.
Copyright (c) 2021 Steven Toth [email protected]
Dieses Programm ist freie Software; Sie können es unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation veröffentlicht, weiterverbreiten und/oder ändern; entweder Version 2 der Lizenz oder (nach Ihrer Wahl) eine spätere Version.
Dieses Programm wird in der Hoffnung verbreitet, dass es nützlich ist, jedoch OHNE JEGLICHE GARANTIE; ohne die stillschweigende Garantie der MARKTGÄNGIGKEIT oder EIGNUNG FÜR EINEN BESTIMMTEN ZWECK. Siehe die
Weitere Informationen finden Sie unter der GNU General Public License.
Sie sollten zusammen mit diesem Programm eine Kopie der GNU General Public License erhalten haben; Wenn nicht, schreiben Sie an die Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Der Großteil der Untersuchungsarbeit wird unter Windows 10 durchgeführt. Ich instrumentiere die Hardware mit Debug-Verkabelung, identifiziere gängige Busse, skizziere ein grundlegendes Hardwarediagramm, verstehe die einzelnen Komponenten, überwache das Hardwareverhalten und entwerfe einen Plan für die Linux-Implementierung.
Das Projekt startete Anfang Januar 2021. Einen Monat später, Anfang Februar, verstehe ich genug über das grundlegende Design, das Hardware-Layout und die Debug-Punkte der Platine, um mit der Entwicklung eines frühen Linux-Treibers zu beginnen – genug, um die Signalerkennung des HDMI-Anschlusses durchzuführen und einige grundlegende Hardware zu bearbeiten Wartung.
Alle meine Arbeitsnotizen, Analysespuren und täglichen Tagebuchnotizen werden in diesem Repository gespeichert – als zentrale Quelle für alle interessierten Betrachter.
Ich führe ein einfaches „Entwicklerjournal“, damit interessierte Leser mitlesen können. Es ist nicht meine Absicht, eine Schritt-für-Schritt-Anleitung zum Reverse Engineering zu erstellen, sondern vielmehr den Prozess zu beschreiben, einige der Werkzeuge zu zeigen und Dinge hervorzuheben, die funktionierten und Dinge, die nicht funktionierten. Ich schreibe keinen Aufsatz, sondern willkürliche Äußerungen, die einem anderen Entwickler bei einem ähnlichen Projekt helfen könnten.
Zu diesem Zeitpunkt ist alles im Master enthalten. Wir haben keine Filialen. Wenn das Projekt voranschreitet und der Treiber nutzbar wird, wird mit ziemlicher Sicherheit ein neues „saubereres“ Repo entstehen, und von Benutzern wird nicht erwartet, dass sie dieses gesamte Repo mit riesigen Bildern, Analysespuren und zufälligen Notizen herunterladen – nur um den Treiber zu verwenden.
26. Juni 2022 – Unter Ubuntu hält /usr/bin/pulseaudio den Treiber geöffnet und verhindert das Entladen von Make während der Entwicklung.
26. Juni 2022 – Port-Treiber weiterleiten, defekte APIs für die Verwendung unter Ubuntu 22.04 reparieren. Grundlegendes Video funktioniert jetzt unter Ubuntu.
26. Juni 2022 – Verwenden Sie das Tag e2908371f4c2b28ea613622815dcf2b4739d3bb7 für Centos 3.10-Kernel. Danach wechseln wir zu Ubuntu 5.x-Kerneln.
15. Februar 2021 – Unterstützung für Farbmetrik und Colospace-HDMI erkannt.
15. Februar 2021 – Grundlegende DV-Timing-Unterstützung hinzugefügt, um Auflösungs-/Ratenmaterial über die v4l-API bereitzustellen.
14. Februar 2021 – Audiounterstützung hinzugefügt, PCM 16bit 48KHz.
14. Februar 2021 – Der Treiber ist für bestimmte Auflösungen für die Video- und Audioaufnahme über ffmpeg verwendbar.
13. Februar 2021 – Das Scatter-Gather-Subsystem wurde überarbeitet, um 4K-Videos zu unterstützen.
11. Februar 2021 – Zuerst wird jedes Farbbalken-Standbild über den Treiber erfasst.
1. August 2021 – Der Treiber passt sich an, um 1280 x 720p im Vergleich zu 1920 x 1080p automatisch zu erkennen und entsprechend zu arbeiten.
1. August 2021 – 4K ist mit den neuesten Änderungen ungetestet, sollte aber vollständig unterstützt werden.
Testen/unterstützen Sie HDR 10bit.
Gelegentlich auftretende Probleme während der Aufnahme, möglicherweise kurze Videobilder, führen zu Fehlern und zum Stillstand von ffmpeg.
E-Mail: [email protected]
Projektstamm – Treiberquellcode.
Dokumente – Tägliches Tagebuch, zufällige Notizen.
Spuren – Verschiedene Dump-Dateien von Analysegeräten.
Bilder – Interessante oder kuriose Bilder, die ich während des Prozesses gemacht habe.