On startup, the savage driver protects its call to initialize its
XVideo code like this (savage_driver.c in 4.2.1 and 4.3):

    if( !psav->NoAccel && !SavagePanningCheck(pScrn) )
        SavageInitVideo( pScreen );

  The 'SavagePanningCheck()' call checks to make sure that the virtual
desktop resolution is equal to the current HDisplay/VDisplay, that is,
the resolution on startup.

  A user of my app complained that XVideo wasn't working.  As it turned
out, he had the resolutions listed backwards in his config file, so on
startup virtual != res, no Init called, and hence no XVideo surfaces.

  I have to wonder if that check is a bug.  It took a long time to
figure out why there were no XVideo surfaces, especially since no
message is sent to the log.  I can think of three resolutions:

  a) Patch to warn to the log file if the PanningCheck call fails.
  b) Take out the PanningCheck call or rewrite Init to work without it.
  c) Ignore this because some xrandr-relted stuff makes this obsolete in
     4.3 ?

  I am only qualified to do (a), and have no hardware to test with. :-)


Billy Biggs
Devel mailing list

Reply via email to