Tuesday, January 02, 2007

ATI Overlay Surface tv-out


Last updated FEB 8, 2007:

If you have additional info; please drop me an e-mail or comment on this post.


Apparently there is a bug in the ATI driver (fglrx) in the initXVideo procedure.
The last version we tested was version 8.33.6. This still causes video to be distorted when played in/on tv-out. Also check http://www.mythtv.org/wiki/index.php/AtiProprietaryDriver

ISSUE:
screen looks like this on TV-Out:










The distored image shows what you will see if you attempt to playback video on the Overlay Surface.


Solutions and/or work around:

OPTION 1:
When you change your /etc/X11/xorg.conf settings and turn off dri by putting a # on the line load dri and set the following options for the driver.

#load "dri"

Option "VideoOverlay" "on"
Option "OpenGLOverlay" "off"











With OpenGL turned on, it works, but the video is pretty slow.
looks like software rendering and a dirty temp. solution.



OPTION 2: (I never got this working, but others have on 32 bit)
The solution for MYTHTV can be found in the in the mythtv source files.
In one of the c++ files there is a ATI patch that you can activate to solve this ATI bug with mythtv.

In the file source .../mythtv/libs/libmyth/videoout_xv.cpp of Mythtv
library, line 67 there should be a commented define:
USE_ATI_PROPRIETARY_DRIVER_XVIDEO_HACK or if you have the lastest source
from the svn trunc,
USE_HACK_FOR_BROKEN_I420_SUPPORT_IN_DRIVER.
Uncomment the line and recompile the library by running "make" in the file
directory. Then as root stop the backend and frontend and run "make install"
also in the file directory.
Restart the backend and frontend and it should now be ok.

This will make MythTV ignore the broken I420 format that the driver advertises and use the working YV12 format instead.


OPTION 3:
I tried option 2 on my 64 bit platform, but the souce code hack only seems to work on 32 bit. option 1 made me crazy. So I have put in an nvidia card and started my anti ATI campaign.

1 FEB 2007:
WE GAVE UP AND HAVE PUT IN AN NVIDEA CARD - read more



*************************************************************************************

NOTES:
Is this a bug in the ati driver like described in this old post http://www.mythtv.org/wiki/index.php/AtiProprietaryDriver



XRANDR
Played with xrandr, this sets the resolution from a script





mythtv, fglrx, ati, resolution, slow video-out, video out, ATI Overlay Surface tv-out, mythtv ati, vertical sync

7 comments:

ridergeek said...

Well this is fun. In the process of my researching why I'm getting such bad picture output on my onboard ati/amd64 combo.

Thanks for your work, I'm going to give up and order an nvidia card tonight.

Anonymous said...

I have working XVideo on tv-out for a Dell Inspiron 6000 with Radeon Mobility X300 using openSUSE 10.1 and ati-driver-installer-8.27.10-x86.run to build fglrx_6_9_0_SUSE101-8.27.10-1.i386.rpm. I have tried some,but not all, of the newer drivers but have not had anything above 8.27 work correctly on either openSUSE 10.1 or 10.2.

Anonymous said...

I've just got this problem solved this morning, by forcing the card to think a normal crt is plugged in as primary, and mirror it onto secondary (tv) and force overlay on secondary:

Option "ForceMonitors" "crt1,tv"
Option "NoTV" "no"
Option "OverlayOnCRTC2" "1"
Option "DesktopSetup" "mirror"
Option "VideoOverlay" "on"
Option "OpenGLOverlay" "off"

This has worked perfectly for me to have full speed video (it uses about 2% cpu) on a radeon 9550 with fglrx 8.36.5 on ubuntu feisty.

Anonymous said...

Dear Corona:

This last workarround didnt work for me. I just got TV Out Black when started X with this config.

I am using version 8.28.8 of the ati driver as thats the one supported in my debian (Knoppmyth) distro.

Any clue on why?

Thanks in advance

Moosy said...

Corona,

Forget about it and get yourself a nvidia card

www.lugo-3d.com said...

Well, I do not actually imagine it is likely to have effect.

Extended Auto Warranty said...

That is very strange!