framebuffer + fbtv + X kills system

From: Mario 'BitKoenig' Holbe (Mario.Holbe_at_RZ.TU-Ilmenau.DE)
Date: 07/01/04

  • Next message: paolo ciarrocchi: "how can I help you ?"
    To: linux-kernel@vger.kernel.org
    Date:	Thu, 1 Jul 2004 17:29:03 +0200
    
    

    Hello,

    I experience unconditional system crashes in the following
    situation:

    I'm using kernel 2.4.26 with tdfx framebuffer as console
    driver (3Dfx Voodoo 3 3000 AGP): `video=tdfx:1280x1024-16@85'
    I'm further running a XFree86 X-Server (with `Driver "tdfx"',
    `Option "UseFBDev" "true"', `DefaultDepth 24' and `Modes
    "1280x1024" ...'.

    I'm using fbtv -s 300x300 -k -q (fbtv is part of xawtv)
    to map a TV picture from a BT878 card (Hauppauge WinTV PCI)
    in the upper right corner of the monitor. The -k option means
    that fbtv keeps capture on when switching consoles.

    This works very well, as long as I don't switch to the
    X console (switching to other consoles works well, even
    if they have another video mode - the picture is crappy then,
    but the system remains stable).
    If I switch to X, the system gets horribly slow. X gets nothing
    really drawed anymore.
    Sometimes I succeed in switching back to a non-X console,
    sometimes the machine is just rebooting after a while.
    When switching back out-of-X works, the framebuffer seems
    to be broken: switching to other modes that worked before
    (via fbset, no matter on what console), doesn't work anymore -
    most times, monitor reports `signal out of range'.

    Is this reproducible for someone else too perhaps?

    I know, there are a lot of components involved. However,
    since I route all graphics access through framebuffer and
    since framebuffer is the only component which shows errors,
    I think, framebuffer is the problem here:
    it's interface just should not allow any application to crash
    the system or bring it in a state, where it doesn't work
    anymore as it did before.

    Here are a few system details about the comfiguration
    I'm running:
    Kernel command line: auto BOOT_IMAGE=Linux ro root=303 console=ttyS0,38400n8 console=tty0 video=tdfx:1280x1024-16@85 nmi_watchdog=1 panic=60 parport=0x378,7,3
    ACPI: Using PIC for interrupt routing
    fb: Voodoo3 memory = 16384K
    fb: MTRR's turned on
    tdfxfb: reserving 1024 bytes for the hwcursor at f9815000
    Console: switching to colour frame buffer device 160x64
    fb0: 3Dfx Voodoo3 frame buffer device
    PCI: Enabling device 00:0a.1 (0004 -> 0006)
    btaudio: Bt878 (rev 17) at 00:0a.1, irq: 10, latency: 32, mmio: 0xf2800000
    btaudio: using card config "default"
    btaudio: registered device dsp2 [digital]
    btaudio: registered device dsp3 [analog]
    btaudio: registered device mixer1
    Linux video capture interface: v1.00
    bttv: driver version 0.7.108 loaded
    bttv: using 4 buffers with 2080k (8320k total) for capture
    bttv: Bt8xx card found (0).
    PCI: Enabling device 00:0a.0 (0004 -> 0006)
    bttv0: Bt878 (rev 17) at 00:0a.0, irq: 10, latency: 32, mmio: 0xf3000000
    bttv0: detected: Hauppauge WinTV [card=10], PCI subsystem ID is 0070:13eb
    bttv0: using: Hauppauge (bt878) [card=10,autodetected]
    bttv0: Hauppauge/Voodoo msp34xx: reset line init [5]
    i2c-dev.o: Registered 'bt848 #0' as minor 1
    bttv0: Hauppauge eeprom: model=44354, tuner=Philips FM1216 (5), radio=yes
    bttv0: using tuner=5
    bttv0: i2c: checking for MSP34xx @ 0x80... found
    msp34xx: init: chip=MSP3415D-B3 +nicam +simple
    msp3410: daemon started
    bttv0: i2c: checking for TDA9875 @ 0xb0... not found
    bttv0: i2c: checking for TDA7432 @ 0x8a... not found
    tvaudio: TV audio decoder + audio/video mux driver
    tvaudio: known chips: tda9840,tda9873h,tda9874h/a,tda9850,tda9855,tea6300,tea6420,tda8425,pic16c54 (PV951),ta8874z
    tuner: chip found @ 0xc2
    tuner: type set to 5 (Philips PAL_BG (FI1216 and compatibles))
    bttv0: PLL: 28636363 => 35468950 .. ok
    bttv0: registered device video0
    bttv0: registered device vbi0
    bttv0: registered device radio0
    lirc_dev: IR Remote Control driver registered, at major 61
    lirc_i2c: chip found @ 0x18 (Hauppauge IR)
    tuner: type already set (5)

    Kernel is compiled with:
    CONFIG_AGP=y
    CONFIG_AGP_VIA=y
    CONFIG_DRM=y
    CONFIG_DRM_NEW=y
    CONFIG_DRM_TDFX=m
    CONFIG_VIDEO_DEV=m
    CONFIG_VIDEO_PROC_FS=y
    CONFIG_VIDEO_BT848=m
    CONFIG_FB=y
    CONFIG_DUMMY_CONSOLE=y
    CONFIG_VIDEO_SELECT=y
    CONFIG_FB_3DFX=y
    CONFIG_FBCON_ADVANCED=y
    CONFIG_FBCON_MFB=y
    CONFIG_FBCON_CFB2=y
    CONFIG_FBCON_CFB4=y
    CONFIG_FBCON_CFB8=y
    CONFIG_FBCON_CFB16=y
    CONFIG_FBCON_CFB24=y
    CONFIG_FBCON_CFB32=y
    CONFIG_FBCON_FONTS=y
    CONFIG_FONT_8x8=y
    CONFIG_FONT_8x16=y
    CONFIG_FONT_SUN8x16=y
    ONFIG_SOUND_BT878=m
    CONFIG_SOUND_ES1370=m

    regards,
       Mario

    -- 
    I've never been certain whether the moral of the Icarus story should
    only be, as is generally accepted, "Don't try to fly too high," or
    whether it might also be thought of as, "Forget the wax and feathers
    and do a better job on the wings."            -- Stanley Kubrick
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at  http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at  http://www.tux.org/lkml/
    

  • Next message: paolo ciarrocchi: "how can I help you ?"

    Relevant Pages

    • Re: Microkernel X11?
      ... the "driver" part of the X server. ... it also messes up the console subsystem in a way that switching to ... another virtual console, doesn't even work. ... more religious Linux proponents against Minix. ...
      (comp.os.minix)
    • Re: AGP slot vs. more than 2GB RAM
      ... |> The multi-console buffering without re-rendering on console change. ... |> Framebuffer is getting faster. ... |> with a gigabyte of buffer, with controls on X so it only uses the portion ... |> of it for its particular console, along with kernel driver software to ...
      (comp.os.linux.hardware)
    • Re: 2.6.0-test1 + matroxfb = unuusable VC
      ... >> initiate any AGP transfers. ... In this case, does it happen if you exit X, or only if you are switching ... to the console while X are active? ... inactive (Gnome1 clock applet running in top right corner was known to ...
      (Linux-Kernel)
    • Re: [PATCH 1/1 2.6.15-rc4-git1] Fix switching to KD_TEXT
      ... >> to have an unconditional call to set_parfor every console switch. ... I do run relatively slow hardware, ... People accept that when switching from X to console and vice versa, ... > + the patch we are talking about. ...
      (Linux-Kernel)
    • Re: AGP slot vs. more than 2GB RAM
      ... The multi-console buffering without re-rendering on console change. ... Framebuffer is getting faster. ... and there's lots of X modeline tuners. ... of it for its particular console, along with kernel driver software to ...
      (comp.os.linux.hardware)