kyrofb beállítás [MEGOLDVA]

Fórumok

Sziasztok!

A kernelben van ez a driver hogy kyrofb. Kiszedtem a blacklist framebuffer fájlból, és annyit értem el, hogy a konzolokon a betűk színes pixelként jelennek meg, mintha a nyers text memóriát a grafikus területre irná. Szóval használhatatlan lett a konzol. A rendes X-ben viszont semmi változást nem láttam. Azt szeretném elérni hogy lehessen videót lejátszani hardware gyorsítással, tehát xvideo-val vagy ilyesmi.

Megoldás a hozzászólásomban.

Hozzászólások

A kyrofb csak a modul neve, ami meghajtaná bizonyos hardver alatt a fb-konzolt, amit te keresnél X-hez, az valszeg az fbdev (xf86-video-fbdev csomag vagy hasonló nevű). Ezt nem érdekli, hogy a framebuffert mi hajtja, csak működjön. Viszont mivel a fentiek alapján nem működik, így ezzel sem mennél sokra.

Hogy az fbdev képes lenne-e xv-re, nem tudom.

Nálam a framebuffert az uvesafb adja, de még nem próbáltam az fbdevvel használni az X-et.

Köszi! Ez tényleg jó megoldásnak túnik. Egyelőre nem jártam sikerrel:
(II) Setting vga for screen 0.
(**) FBDEV(0): Depth 8, (--) framebuffer bpp 8
(==) FBDEV(0): Default visual is PseudoColor
(==) FBDEV(0): Using gamma correction (1.0, 1.0, 1.0)
(II) FBDEV(0): hardware: VGA16 VGA (video memory: 64kB)
(II) FBDEV(0): checking modes against framebuffer device...
(II) FBDEV(0): mode "1024x768" test failed
(II) FBDEV(0): mode "800x600" test failed
(II) FBDEV(0): mode "640x480" test failed
(II) FBDEV(0): checking modes against monitor...
(--) FBDEV(0): Virtual size is 640x400 (pitch 640)
(**) FBDEV(0): Built-in mode "current": 25.2 MHz, 31.5 kHz, 69.9 Hz
(II) FBDEV(0): Modeline "current" 25.18 640 664 760 800 400 409 411 450 -hsync -vsync -csync
(==) FBDEV(0): DPI set to (75, 75)
(EE) FBDEV(0): EGA/VGA planes are not yet supported by the fbdev driver

*** If unresolved symbols were reported above, they might not
*** be the reason for the server aborting.

:(

pl. a video memory-ra azt mondja hogy 64kb holott 64MB, lehet ez a gond, még utánakeresek.

lsmod
vga16fb !!

Ja értem, akkor most engedélyezni kéne a kyrofb-t. Leesett. Akkor azt is kipróbálom.

0000:01:00.0 VGA compatible controller: STMicroelectronics STG4000 [3D Prophet Kyro Series] (rev 0f)

A Vesa-t sikerült beállítanom kernel paraméterekkel:
video=vesa:ywrap vga=0x318

Ha rájövök hogy a kyrofb-t hogyan tudom így kernelparaméterekkel beállítani akkor nyert ügyem van, ugyanis a sima framebufferen is tudok videózni. Az xserver-fbdev-et is kipróbáltam, elég hülyén nézett ki, de ment. Az nem érdekel annyira hogy tovább kísérletezzek vele.

vga16 alapból blacklistelve volt, ennek ellenére mindíg azt tölti be, ha mást nem tud.
Illetve ha a kyrofb engedélyezve van akkor az fb0-ra a vga16-ot tölti, az fb1-re a kyro-t.
Ha a paraméterben a vesa-t adom meg akkor az fb0-ra betölti a vesa-t.
Ha a paraméterben kyrofb-t adok meg figyelembe se veszi és az fb0-ra vga16-ot tölt be.
Szóval nem értem. Rosszul paraméterezem? Miért nem tudom elérni hogy az fb0-ra kerüljön a kyro?
Az világos hogy az fb1-en nem működik mert ütközik a vga16-tal.
így próbáltam
video=kyrofb:1024x768-24@60
video=kyrofb:1024x768
video=kyrofb

Figyelembe se veszi. A Vesa-t meg érdekes módon igen.
lehet hogy úgy kéne hogy:
"video=kyro" ???
a vesa-nal miért lehet "vesa", és miért nem "vesafb" ???

Nálam

title=Gentoo Linux (2.6.30-gentoo-r4)
root (hd0,0)
kernel /boot/vmlinuz-2.6.30-gentoo-r4 root=/dev/sda3 ro video=uvesafb:1400x1050-32,nomtrr,ywrap pci=assign-busses quiet

Sajnos nem nagyon láttam külön leírást se gúgliban, se /usr/src/linux/Documentation alatt.

Talán modinfo kyrofb kiadhat hasznos paramétereket.

Drasztikus esetben el is tudod időlegesen mozgatni a vga16fb.ko-t hogy ne találja meg a loader.

taxy@msi:~$ modinfo kyrofb
filename: /lib/modules/2.6.15-23-386/kernel/drivers/video/kyro/kyrofb.ko
author: STMicroelectronics; Paul Mundt
license: GPL
vermagic: 2.6.15-23-386 preempt 486 gcc-4.0
depends:
alias: pci:v0000104Ad00000010sv*sd*bc*sc*i*
srcversion: 21830388C4A50160F00AA16

Ennyi.

Kipróbáltam sima kyro-val is és semmi.
[4294667.296000] Kernel command line: root=/dev/hda3 ro quiet splash video=kyro
[4294667.296000] Kernel command line: root=/dev/hda3 ro quiet splash video=kyrofb
[4294669.065000] vga16fb: initializing
[4294669.065000] vga16fb: mapped to 0xc00a0000
[4294669.221000] fb0: VGA16 VGA frame buffer device

Miért nem regál semmit? Miért nincs legalább valami hibaüzenet?

vesafb-vel tökéletesen jól tudok videót lejátszani. Elégedett vagyok vele. Felbontást is levettem 640x480-ra, így nagyítani sem kell, abszolút nem csúszik a kép.

Végre sikerült beüzemelnem a kyrofb-t!

Ahhoz hogy kernel paraméterrel indulhasson a kyrofb, ahhoz built-in kernel modulnak kéne lennie. Sima modulokat csak az /etc/modules-ben lehet betölteni,hát ott be is töltöttem.

Azért hogy ne legyen ütközés a vga16 driverrel(illetve ne foglalja el a default helyet), ki kellett szednem a kernel paraméterek közül a splash-t(vagyis a grafikus látvány betöltődést), mert akkor a vga16 nem töltődik be.

A gond csak az hogy a kyrofb mudulnak gyakorlatilag semmilyen paramétert nem lehet így átadni, olyan felbontással indul el amilyennel akar(konkrétan 1024x768 32bit 75Hz).
Hát az X beállítása megint egy másik fejezet volt. a kyrofb nem támogatja a 24bit-et, az X meg valami relytéjes oknál fogva a 32bit-et sem fogadta el, így maradt a 16bit.

xorg.conf:


Section "Device"
        Identifier      "Kyro Video Card"
        Driver          "fbdev"
        Option          "UseFBDev"              "true"
        BusID           "PCI:1:0:0"
EndSection

Section "Monitor"
        Identifier      "Generic Monitor"
        Option          "DPMS"

        HorizSync       28-51
        VertRefresh     43-60
EndSection
Section "Screen"
        Identifier      "Default Screen"
        Device          "Kyro Video Card"
        Monitor         "Generic Monitor"
        DefaultDepth    16
        SubSection "Display"
                Depth           8
                Modes           "1024x768" "800x600" "640x480"
        EndSubSection
        SubSection "Display"
                Depth           15
                Modes           "1024x768" "800x600" "640x480"
        EndSubSection
        SubSection "Display"
                Depth           16
                Modes           "1024x768"
        EndSubSection
        SubSection "Display"
                Depth           24
                Modes           "1024x768" "800x600" "640x480"
        EndSubSection
EndSection

így sikerült végül.