[ANNOUNCE] Framebuffer Treiber für Cyberpro 5005.

  • Hi,


    es gibt da nen hinweis in der TVIA faq



    hab aber nicht weiter geschaut ob es damit was zu tun hat.


    CU
    9000h

    Es ist eagl in wlehcer Reiehnfogle die Bchustebaen in Woeretrn vokrmomen. Huapstache der estre und leztte Bchustbae sitmmen.

  • Hi,


    also irgenwie hab ichs geschaft das am tvout bild kommt (640x480-16 aber mit bunten pixeln) nach umschalten 800x600-50 mit fbset nur noch senkrechte bunte streifen.


    CU
    9000h

    Es ist eagl in wlehcer Reiehnfogle die Bchustebaen in Woeretrn vokrmomen. Huapstache der estre und leztte Bchustbae sitmmen.

  • Zitat

    also irgenwie hab ichs geschaft das am tvout bild kommt (640x480-16 aber mit bunten pixeln) nach umschalten 800x600-50 mit fbset nur noch senkrechte bunte streifen.


    Schon besser, auch wenn es nur ein kleiner Fortschritt ist. Kannst Du noch den "großen" Register-Dump mit dump_regs=1 machen?

    blue skies,
    Martin.


    "Once you have flown, you will walk the earth with your eyes turned skyward,
    for there you have been, there you long to return." -- Leonardo da Vinci.

  • Hi,


    hier noch der dump_regs


    CU
    9000h

    Es ist eagl in wlehcer Reiehnfogle die Bchustebaen in Woeretrn vokrmomen. Huapstache der estre und leztte Bchustbae sitmmen.

  • Zitat

    hier noch der dump_regs


    Ok, werde ich am Wochenende mit dem Register-Dump von der Activy 300 vergleichen, mal sehen was sich findet.

    blue skies,
    Martin.


    "Once you have flown, you will walk the earth with your eyes turned skyward,
    for there you have been, there you long to return." -- Leonardo da Vinci.

  • Zitat

    Ok, werde ich am Wochenende mit dem Register-Dump von der Activy 300 vergleichen, mal sehen was sich findet.


    Der Register-Dump war zwar nicht genau das was ich wollte, aber es hat sich doch etwas Interessantes gefunden. Eigentlich wollte ich den Dump eines Grafik-Modes, d.h. bei gestartetem XServer das Modul mit dump_regs=1 laden. So wie die Register aussehen hast Du es im Console-Mode geladen. Macht aber nix, es gibt einen Unterschied der mir wichtig erscheint:


    3cf/71Memory Control Register ist auf der Activy 300 0xc8, auf der Activy 350 aber 0xa8. In den ersten drei Bits des Registers steht der Typ der Memory Chips, die Bits 101 bedeuten 256Kx32, 110 512Kx32. Zusammen mit dem Pixelmüll bestärkt das die Vermutung das cyber5k_reset_ram der Übeltäter ist (eines meiner FIXMEs). Probiers doch mal mit folgenden Patch:



    Damit vertrauen wir auf das BIOS den Speicher schon richtig erkannt zu haben.

    blue skies,
    Martin.


    "Once you have flown, you will walk the earth with your eyes turned skyward,
    for there you have been, there you long to return." -- Leonardo da Vinci.

  • Hi,


    der patch bringt bei mir leider keine veraenderung video sync ist ok aber bunte pixel und das bild ist nicht scharf.


    insmod ./cyber5kfb.ko tvnorm=pal tvmode=640x480-16 dump_regs=1 dump_mode=1


    nach einen fbset 800x600-60 hab ich bunte senkrechte streifen am tv und meine maschine steht, nach reboot ist nix vom crasch im log.


    CU
    9000h

    Es ist eagl in wlehcer Reiehnfogle die Bchustebaen in Woeretrn vokrmomen. Huapstache der estre und leztte Bchustbae sitmmen.

  • Hallo,


    ich habe da mal eine Frage:
    wie kann ich denn den Treiber jetzt testen ?ß
    Kompiliert ist jetzt alles, aber ein modprone cyber5kfb tvnorm=pal tvmode=640x480-16 änder nichts.


    Ich habe im Kernel auch noch deb VESA FB drinne.


    Wenn ich diesen raus nehme und den cyber5kfb fest in den Kernel einbette, dann fiept mein Fernseher nur noch un es kommt kein Bild.


    KAnn mir einer helfen ?ß


    Gruß
    mschmitz

    (VDR01)
    Activy 570 mit folgender Hardware:


    Mainboard: ASUS P5KPL-AM
    CPU: C2D E6550
    RAM: 1GB
    HDD: SAMSUNG HD103SI 1TB
    DVD-Brenner: HL-DT-ST DVDRAM GSA-4163B
    Grafik: nVidia Corporation GT218
    DVB 1: TT S2-1600
    DVB 2: TT S2-3200


    Soft: gen2vdr V3 beta8
    (VDR02)
    Eigenbau:


    Mainboard: ASUS M3N78-EM
    CPU: AMD Sempron
    RAM: 1GB
    HDD: SAMSUNG 80GB


    Soft: gen2vdr V3 beta8 Streaming-Client

  • Zitat

    welcher xserver ist denn gemeint standard vesa oder mit tvia_drv.o ?


    Bevorzugterweise tvia_drv.o, dann kann ich auch die TV-Register vergleichen. Damit wir den gleichen Mode programmieren, schreib bitte zum Register-Dump die Auflösung mit dazu (640x480-16, oder 720x576-24, etc).


    Zitat

    der patch bringt bei mir leider keine veraenderung video sync ist ok aber bunte pixel und das bild ist nicht scharf.


    Wort mit vier Buchstaben. Aber aufgeben gilt nicht ;)

    blue skies,
    Martin.


    "Once you have flown, you will walk the earth with your eyes turned skyward,
    for there you have been, there you long to return." -- Leonardo da Vinci.

  • Zitat

    ich habe da mal eine Frage:
    wie kann ich denn den Treiber jetzt testen ?ß
    Kompiliert ist jetzt alles, aber ein modprone cyber5kfb tvnorm=pal tvmode=640x480-16 änder nichts.


    Das ist ganz normal, daß nach dem modprobe erstmal nichts passiert. Es gibt noch keinen Benutzer, erst wenn entweder fbcon geladen oder der XServer gestartet wird, sollte etwas passieren.

    blue skies,
    Martin.


    "Once you have flown, you will walk the earth with your eyes turned skyward,
    for there you have been, there you long to return." -- Leonardo da Vinci.

  • Hi,


    Rocketman


    also wenn ich dich richtig verstanden habe xserver mit tvia_drv.o starten und dann das fb modul laden mit dump.


    man kann aber auch mit dem tvia_drv.o nen dump machen wenn der driver mit DEBUG compiliert ist.


    CU
    9000h

    Es ist eagl in wlehcer Reiehnfogle die Bchustebaen in Woeretrn vokrmomen. Huapstache der estre und leztte Bchustbae sitmmen.

  • Zitat

    also wenn ich dich richtig verstanden habe xserver mit tvia_drv.o starten und dann das fb modul laden mit dump.


    Genau, die Register vergleiche ich dann mit den Register von der Activy 300. Der Unterschied müsste uns einen Hinweis auf das Problem geben. Was ich beim Entwickeln des Treibers noch gemacht habe ist die cyber5k_save_state/cyber5k_print_state Aufrufe NACH cyber5k_set_timing durchzuführen. Aus dem Unterschied zwischen den von tvia_drv.o (eigentlich BIOS) programmierten Registern und dem cyber5k habe ich mich dann vorangetastet. Das setzt allerdings voraus, daß die Kiste nicht völlig abstürzt.


    Zitat

    man kann aber auch mit dem tvia_drv.o nen dump machen wenn der driver mit DEBUG compiliert ist.


    Ich habe nur das binary Modul vom tvia_drv Treiber und benutze deswegen mein Modul um an die Register zu kommen. Wichtig ist eigentlich nur, daß der Registersatz vollständig ist. Wie sieht der Register-Dump vom tvia_drv Treiber denn aus?

    blue skies,
    Martin.


    "Once you have flown, you will walk the earth with your eyes turned skyward,
    for there you have been, there you long to return." -- Leonardo da Vinci.

  • Hi,


    vielleicht sollte man den fb treiber so umbauen das man via bios den mode setzt(tvia_drv.o macht das so), dann hat man sich auch nicht um die timings und register des tvia zu kuemmern.



    CU
    9000h

    Es ist eagl in wlehcer Reiehnfogle die Bchustebaen in Woeretrn vokrmomen. Huapstache der estre und leztte Bchustbae sitmmen.

  • Hi,


    das sind die bios modes int10 die im tvia_drv.o verwendung finden und wie man sieht sind alle modi die man braucht verfuegbar.



    CU
    9000h

    Es ist eagl in wlehcer Reiehnfogle die Bchustebaen in Woeretrn vokrmomen. Huapstache der estre und leztte Bchustbae sitmmen.

  • Zitat

    so hier noch der dump wenn tvia_drv.o in benutzung ist
    Option "cyberpro_tv_on" "pal_720x576"


    Prima. Hier das Ergebnis des Vergleichs:


    Activy 300 vs. 350
    ==========================
    0x3cf/0x30 = 0xa6 vs. 0xa3 // zero wait b'100, line size b'10 vs. b'11
    0x3cf/0x3c = 0x40 vs. 0x00 // linear host blkt
    0x3cf/0x50 = 0x67 vs. 0x66 // cursor horizontal start low
    0x3cf/0x53 = 0x1f vs. 0x19 // cursor vertical start low
    0x3cf/0x57 = 0x31 vs. 0x01 // hardware cursor shift
    0x3cf/0x5c = 0xa0 vs. 0x20 // ramdac control, internal adjustment
    0x3cf/0x71 = 0xc8 vs. 0x70 // bits 7-5 = 512Kx32 vs. 1Mx16, bit 4 = 4k refresh range for 1Mx16 EDO, bit 3 = 1 SGRAM vs. 0 EDO
    0x3cf/0x72 = 0x06 vs. 0x07 // bit 2 memory bus width, bit 1-0 memory size 4MB vs. 8MB
    0x3cf/0x90 = 0x13 vs. 0x03 // write fifo full
    0x3cf/0xa1 = 0x00 vs. 0x82 // vertical video scramble seed
    0x3d5/0x04 = 0x5b vs. 0x5c // horizontal sync start
    0xbe454 = 0x0100 vs. 0xc800 // color u,v detection value
    0xbe50c = 0xe50b vs. 0xe50c // test register


    Zitat

    dann cyber5kfb.ko geladen -> crash


    Das liegt wohl daran, daß das fbcon Modul geladen war. Sobald ein Framebuffer Treiber registriert wird schaltet fbcon in den Grafik-Modus. Und das geht ja (noch) schief.


    Zitat

    was noch interessant ist das der fb dann meint er haette 8MB.


    Und das liegt daran, daß in den letzten beiden Bits von 3cf/72 steht er hätte 8MB. Das Register 3cf/71 ist auch komisch, da steht drin die Grafikkarte hat EDO-Rams vom Typ 1Mx16. Alles sehr seltsam.

    blue skies,
    Martin.


    "Once you have flown, you will walk the earth with your eyes turned skyward,
    for there you have been, there you long to return." -- Leonardo da Vinci.

  • Zitat

    vielleicht sollte man den fb treiber so umbauen das man via bios den mode setzt(tvia_drv.o macht das so), dann hat man sich auch nicht um die timings und register des tvia zu kuemmern.


    int10 ist aus dem Kernel heraus ist nicht so ohne weiteres möglich. Ich kenne keinen Weg.

    blue skies,
    Martin.


    "Once you have flown, you will walk the earth with your eyes turned skyward,
    for there you have been, there you long to return." -- Leonardo da Vinci.

Jetzt mitmachen!

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