durchflieger-patch-ebuild (attached)

  • Hallo,


    ich habe mich mal daran gemacht, den durchflieger-patch([patches} Korrekte interlaced und framesynchrone Ausgabe für SDTV/HDTV auf VGA/DVI/HDMI/RGB/SCART) als ebuild bereitzustellen.


    ------Hintergrund------
    Was das ist?


    Die Patches erweitern den Treiber um folgende Funktionen:


    1. Interlaced video Ausgabe über Xv mit korrekter field order. Damit kann ein interlacing im Video-Player entfallen was insbesondere bei HDTV die notwendige Rechenleistung verringert.


    2. Vermeidung eines Drift zwischen Grapikkarten-Takt und Video-Ausgabe-Takt des Players durch "on the fly" Modifikation des video timing der Graphikkarte.


    Unterstützt werden beliebige video modes insbesondere aber die für TV interessanten
    Modes 720x576@50i, 1440x576@50i, 1280x720@50p sowie 1920x1080@50i.


    Mehr Grundlagen zu dem Thema findet man in diesen beiden Threads:
    [patch] framesynchrone Ausgabe mit der Xv-Extension am VGA/DVI Anschluss
    [patch] RGB/PAL ueber VGA mit variabler Framerate


    ---------------


    Zur Installation (funktioniert noch nicht ganz, siehe unten)


    Anleitung:
    Anhang nach /usr/local/portage kopieren.
    Dann

    Code
    ACCEPT_KEYWORDS="~x86" emerge -av =x11-drivers/xf86-video-ati-6.11.0
    ACCEPT_KEYWORDS="~x86" emerge -av =x11-libs/libdrm-2.4.4


    Das war's auch schon.


    Vorsicht: Bisher ist die Funktion ungetestet. Ich veröffentliche die Ebuilds hier, um die Integration der Patches in Gentoo voranzutreiben und hoffe auf Mitstreiter.


    Gruß,
    Hendrik

  • Ich gebe zu, ich kann mir unter "durchflieger-patch" nicht viel vorstellen.
    Was macht den das Ding genau bzw. was hat man davon? Schätze diese Frage wird auch die interessieren die den Patch evtl. ins Gentoo Repository aufnehmen sollen.

  • Hallo,


    es funktioniert doch noch nicht.
    Und zwar hatte ich übersehen, dass der aktuelle Patch von Durchflieger libdrm-2.4.4 voraussetzt (ich hatte 2.4.3 gebaut).


    Also hab ich das Ebuild auf 2.4.4 angepasst und neu emerged. Das klappt auch (log siehe unten).


    Danach habe ich nochmal den Treiber emerged. Das schlägt aber mit der meldung

    Code
    checking for DRI... configure: error: Package requirements (libdrm >= 2.2 xf86driproto) were not met:  No package 'libdrm' found


    fehl (unten das log).


    Es scheint also, als würde libdrm am falschen Ort installiert. (?) Zumindest wird es nicht gefunden. Woran kann das liegen?


    Ich muss bei dem ebuild zu libdrm-2.4.4 einen Workaround nutzen. Undzwar patcht durchflieger eine radeon_drv.h. Im Paket von http://dri.freedesktop.org/libdrm/libdrm-2.4.4.tar.gz gibt es diese jedoch nicht.
    Deshalb verwende ich in meinem Ebuild die libdrm sourcen, die Durchflieger mit seinem Patch liefert. Kann es sein, dass hier für die Installation andere Pfade hinterlegt sind, oder kümmert sich das ebuild um die Pfade?


    Gruß,
    Hendrik






  • Zitat

    Original von durchflieger
    4) Mit dem Ebuild System kenne ich mich nicht aus.


    Und ich mich nicht mit Debian... Aber da ergänzen wir uns ja ;)



    Ok, das ebuild installiert nur b), nicht aber a).


    Das heißt doch, dass mir nur noch das hier:

    Code
    cd linux-core
    	make DRM_MODULES="drm radeon"
    	modprobe -r radeon drm
    		# You should save the original drm before removing it!!!
    	rm -r /lib/modules/`uname -r`/kernel/drivers/char/drm
    	make DRM_MODULES="drm radeon" install
    	depmod -a


    fehlt, oder?


    Gruß,
    Hendrik

  • Zitat

    Original von henfri
    Das heißt doch, dass mir nur noch das hier:

    Code
    cd linux-core
    	make DRM_MODULES="drm radeon"
    	modprobe -r radeon drm
    		# You should save the original drm before removing it!!!
    	rm -r /lib/modules/`uname -r`/kernel/drivers/char/drm
    	make DRM_MODULES="drm radeon" install
    	depmod -a


    fehlt, oder?


    Ja genau dass ist der Bestandteil der am Paketsystem vorbei installiert wird.

  • Hallo,


    ok, das habe ich jetzt in das ebuild gepackt. Klappt aber nicht:


    Wenn ich das ganze manuell durchführe, klappt es aber.
    Da oben von ACCESS_DENIED die Rede ist, scheint es an irgendwelchen Rechten zu liegen...


    Hat jemand eine Idee?


    Gruß,
    Hendrik

  • Hallo Henfri,


    das mit den "Access Denied" ist meistens ein Problem, dass man an der falschen Stelle im EBuild ins Filesystem zu schreiben versucht.


    In den EBuilds wird ueblicherweise in einer "Sandbox" gebaut, dann in ein temporaeres Verzeichnis installiert und erst dann wenn das funktioniert hat ins echte Filesystem reinkopiert.


    Daher darf man in compile-Abschnitt nicht ins echte Filesystem schreiben (was auch durch den Gentoo-Packagemanager verhindert wird).


    Wie es richtig geht muessste man in den EBuilds sehen, die selber Kernelmodule installieren. Wie z.B. x11-drm oder alsa.


    Gruss

  • Hallo,


    danke für den Tipp. Das hat mich auf die richtige Fährte gebracht.
    So sieht nun mein Kernel-Modul ebuild aus, welches nur das Kernel-modul installiert.



    Leider schlägt hier der Patch fehl, weil er scheinbar im falschen Verzeichnis ausgeführt wird. Das wiederum verstehe ich nicht, ist die Zeile doch 1:1 übernommen. Nunja.


    Eine Alternative -die auch funktioniert- ist:
    FEATURES+="-sandbox" emerge =x11-libs/libdrm-2.4.4


    Funktioniert heißt hier: Kompiliert durch. Leider habe ich aber immernoch den Fehler

    Code
    checking for DRI... configure: error: Package requirements (libdrm >= 2.2 xf86driproto) were not met:
    
    
    No package 'libdrm' found



    Gruß,
    Hendrik

  • Hi,


    ich habe Gen2Vdr auf meinem alten Pundit-R installiert und per vga2Scart an mein Fernseher angeschlossen. Das funktioniert (danke sparkie). Wenn ich das Thema richtig verstanden habe, bekomme ich ein besseres Bild, wenn ich diesen Patch anwende aber das scheint nicht zu funktionieren. Bist du schon weiter gekommen -- kann man den Patch ohne ebuild installieren?
    Gruß
    the_e

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!