Linux kernel & device driver programming

Cross-Referenced Linux and Device Driver Code

[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ]
Version: [ 2.6.11.8 ] [ 2.6.25 ] [ 2.6.25.8 ] [ 2.6.31.13 ] Architecture: [ i386 ]
  1 
  2 XFree86 4.x tips & tricks
  3 =========================
  4 
  5 
  6 DGA problems
  7 ------------
  8 
  9 Release 4.0 has DGA turned off by default.  This is true for the first
 10 release only, with current versions this shouldn't be a problem unless
 11 you have some old config file still in use.
 12 
 13 You'll have turn on DGA in XF86Config, otherwise v4l-conf will not
 14 work correctly (Modules section, extmod options).  It should work for
 15 most cards this way, althrouth some drivers don't handle DGA correctly
 16 in 4.0 (that's why it is off...)
 17 
 18 If DGA doesn't work for you, you have to configure bttv by hand (or
 19 use Xvideo, see below).  v4l-conf has the "-a" switch for this.
 20 
 21 
 22 using Xvideo
 23 ------------
 24 
 25 XFree86 4.0 comes with a new X11 extention for video support.  The
 26 X-Server will handle the grabber board then, not xawtv.  This has the
 27 advantage that the X-Server knows about the video.  Window moves can
 28 be handled without redraw problems.  The refresh triggered by xawtv
 29 to fix it isn't required any more.  It is possible to use the video
 30 scalers of modern graphics boards (see below).
 31 
 32 To use Xvideo you have to load the video4linux module into the X-Server.
 33 Just adding 'Load "v4l"' to the Modules section of XF86Config will do.
 34 You have to make sure xawtv is compiled on a box with with XFree86 4.0
 35 installed.  xawtv needs the new client libraries for Xvideo support.
 36 
 37 
 38 using hardware scaling
 39 ----------------------
 40 
 41 Starting with XFree86 4.0.1 the Xvideo extention supports hardware-scaled
 42 video, i.e. the video isn't written directly to the visible area of the
 43 video memory.  Instead the bt848 hardware writes yuv data to offscreen
 44 memory.  The graphic card's video scaler does color space conversion and
 45 video scaling.  This way fullscreen video works in 1024x768 (and greater)
 46 without a black border because we are not limited to the maximum size
 47 supported by the bt848 hardware any more.
 48 
 49 As this is very new stuff not all drivers support video scaling yet.
 50 It basically requires the overlay functions available to the
 51 applications via xvideo port to be exported using a X-Server internal
 52 interface too, so other X-Server modules are able to use them.
 53 
 54 The mga driver was the first one which supported this (matrox
 55 G200+G400).  XFree86 4.1 adds a few more ones, a quick grep of the
 56 source tree returns this list: ct, i810, mga, nv, savage, smi,
 57 trident.  For ati you might want to have a look at
 58 http://www.linuxvideo.org/gatos/.
 59 
 60 Detailed Status:
 61  * mga: works, I use that myself.  On multihead cards the second head
 62    is not accelerated, that means hw scaling via Xvideo works on the
 63    first head only.
 64  * i810: works, according to the drivers author which asked me some
 65    questions about it and finally got it going.
 66  * tdfx: current CVS version works, next release (4.1.1) will have it.
 67  * nvidia: free nv driver not working correctly (4.1).  nvidia's
 68    binary-only works starting with release 1512.
 69  * others: don't know, reports welcome.
 70 
 71 You also need a bttv version newer than 0.7.16 (the 2.2.x kernel version
 72 is /way/ to old, kernel 2.4.x is fine).  If both bttv driver and xfree86
 73 gfx driver support it, xfree86's video4linux driver will use hardware
 74 scaling automagically.
 75 
 76 
 77 drawbacks
 78 ---------
 79 
 80 capturing images/video doesn't work if xawtv runs using the Xvideo
 81 extention.  With the '-noxv' switch Xvideo can be disabled.
 82 
 83 
 84 multiheaded setups
 85 ------------------
 86 
 87 "regular" multihead with two screens works just fine.  The one only thing
 88 you have to take care off is that you can't use the -display option to
 89 start xawtv on the second head if you are *not* using Xvideo.  Use
 90 "DISPLAY=:0.1 xawtv" instead.  Otherwise v4l-conf will use the wrong
 91 screen to configure the driver.
 92 
 93 Xvideo + xinerama works just fine starting with XFree86 4.1, older
 94 versions show video on the first physical screen only (the one listed
 95 first in your ServerLayout section).  Without Xvideo you'll also see
 96 the video on the first head only.
 97 
 98   Gerd
  This page was automatically generated by the LXR engine.