ATI Proprietary Driver

From MythTV Official Wiki
(Redirected from AtiProprietaryDriver)
Jump to: navigation, search

Introduction

The ATI/AMD Proprietary Linux driver, or fglrx is the name of the Linux display driver used for ATI Radeon and FireGL family video adapters It contains open source and closed source parts. It can be downloaded from the AMD website.

Version Information

ATi are currently releasing a new driver update every month. You should always start with the latest version unless you already have a working system, since bug fixes and hardware support are coming thick and fast.

Webpage.png - Version history from ATI and older drivers

Download.png - Download the latest driver from ATI

Displays

Attaching a computer monitor

Attaching a TV (TV out)

TV out functionality is now available under the Linux operating system for ATI graphics cards that support TV Out (S-video, composite, and component video). The feature is part of the Catalyst Control Center LE and will provide a users with a variety of TV out adjustments.

Check if your card is supported by the driver (read the release notes). Also check the specs of your card, some integrated ATI cards do not support dual screen, so it's either your monitor or your tv but not both.

You need to understand what interface you are using to connect to your TV. Note that some ATi video cards with VIVO have a mini-DIN what looks like an S-video connector on the card but actually connects to special cable adapters that provide S-video, composite, and component video output connections. See the list below..from the digital HDMI standard (best quality) to the analog Composite standard (lowest quality) more about this: Highly_Technical_Details


Important.png Note: This section probably doesn't apply with newer drivers. Could someone please update or remove as necessary?

It is possible to attach a TV (using the TV-Out connector), but a bug in the driver makes the VideoOverlay mode useless :-(
Therefor, the only option left (for acceleration) is to use OpenGL. This gives the whole picture during TV or DVD playback, but needs a really fast box to be usefull. For those willing to give it a try... Use the following in the 'Device' section of xorg.conf:

Option "TexturedVideo" "off"
Option "OpenGLOverlay" "on"

After making changes to xorg.conf, run the command aticonfig --input=/etc/X11/xorg.conf --tls=1 This will update the file /etc/ati/amdpcsdb. If this file is not updated, the previous (unupdated) version of xorg.conf will be used.

To use a (wide-screen) TV as monitor, please configure the 'Monitor' section of your xorg.conf to get it working. See XorgConfMonitorSectionForTV. If the basic TV configuration appears correctly, but the image does not fit exactly on your television set, you may need to adjust the so-called Overscan.


Configuration

There are a couple of different overlays available when using an ATI radeon graphics card

  • Video overlay
    • xorg.conf: VideoOverlay
    • VideoOverlay is for < R500 (HD1xxx or 690G) graphics cards. These had video acceleration hardware built into the overlay block.
  • Textured video
    • xorg.conf: TexturedVideo
    • TexturedVideo is for >= R500 graphics cards off, it is primarily for GPUs with the AVIVO display controller, because these don't have the older overlay
    • Also needed when running compiz?
  • OpenGL overlay
    • xorg.conf: OpenGLOverlay
    • OpenGL overlay is never needed for video display, it is for workstation apps which "float" a second layer of display information over the work area. It should be turned off on consumer cards.
    • It might be ignored when Video overlay is enabled

Recommendations

The recommended video output driver for all ATI graphics cards is xv (XVideo) to enable (partial) hardware accelerated playback.

Radeon <= R400

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

Radeon >= R500 (HD1xxx/690G or later)

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

From the console run the following command to enable video vsync

aticonfig --sync-video=on

This adds the following to your xorg.conf

Option "TexturedVideoSync" "on"

Reports about the effect of this setting seem to indicate it doesn't always work as advertised.

References

http://www.phoronix.com/forums/showthread.php?p=45185#post45185, [1], [2] bridgman about which overlay to use

Common problems and solutions

Test image for colors etc

mythTV Test image

click image to enlarge




Black-and-White output

For users experiencing black-and-white TV output: please verify if the TVFormat option is set to the one valid for your country. All ATI cards I have seen default to the American TVStandard 'NTSC'. For a mythtv box in the Netherlands use the following option in the Device section in xorg.conf:

Option "TVFormat" "PAL-B"


Important.png Note: This can also happen because your TV-out card has a physical jumper on it that's set wrong; sometimes (as on the Sapphire brand Radeon cards) this jumper is not labeled nor called out in the documentation.

Wrong colors

To fix:

 It seems Mythtv .21+ can set the Hue to "0". You can set it back (to approx 50%)
 and your color should come back. To do that:
  1. Open MythTV and select Live TV.
  2. Press M to bring up the menus
  3. Arrow down to Adjust Picture then hit right arrow, then arrow down to Hue.
  4. Press the right arrow to bring up the slider.
  5. Press the right arrow until it's at approximately 50%, or whatever looks best for your setup. 
 If you press M inside LiveTV and get nothing, (no slider, and it just goes back to Live TV) check
 to make sure you have the OSD theme installed and selected correctly under the menu in
 Utilities/Setup > Setup > TV Settings > Playback OSD.

Enabling overlays with tvout

ATI proprietary drivers do have a bug in them which makes the combination of VideoOverlaying and TV-Out useless. If you have a display attached to the vga output connector, you will find the VideoOverlay mode fully functional. However when the TV-Out connector is used, you will see the top-half of the actual TV/DVD signal. Disabling this feature in the xorg.conf file (or use OpenGLOverlay instead) gives the whole TV/DVD signal, but may work slowly depending on the overall speed of the system you are using.

This bug can be worked around by forcing the driver to think that a crt is plugged into the primary, and mirror that onto the secondary (tv). To do this use these options in the device block in you /etx/X11/xorg.conf:

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

More options may be required for you (ie setting pal/ntsc) but these are all the options I have running on my box (mythtv 0.20, ubuntu feisty, radeon 9550). This allows you to use the real video overlay on the tv without having the slowdown of opengl or texturedvideo, but it also forces your monitor to use 800x600 if you want one connected, but for myth-only boxes it works well.

Update: I first used this procedure to get the above ubuntu system working, it was running xorg 7.1 by memory. I've just tried duplicating it with a 9250 on a knoppmyth box running xfree86 and fglrx 8.28.8 and had no luck whatsoever.

Another way of enabling overlays with TV-out

The above method didn't work properly for me. I'd get stretched video and changing some options most of the time didn't give me any video at all, but the next solution does and actually makes sense:

Section "Device"
       Identifier  "aticonfig-Device[0]"
       Driver      "fglrx"
       Option      "ForceMonitors" "tv,none"
       Option      "NoTV" "no"
       Option      "TexturedVideo" "on"
       Option      "OpenGLOverlay" "off"
       Option      "TVFormat" "PAL-B"
       Option      "UseInternalAGPGART" "no"
EndSection

I get perfect TV-out and video on a Radeon 9600 TX (RV350 NF, and yes, this is TX, not XT...) Driver used is ATI Catalyst 8.1 (ati-driver-installer-8-01-x86.x86_64.run), OS is mythbuntu based on Ubuntu 7.10. TV-out seems to be at 1024x768. Since it works like no-one expects it is going to work I guess setting OpenGLOverlay to on will work too, but I haven't tried yet. Also I don't know if UseInternalAGPGART makes any difference at all. A friend of mine told me to use it and since he has been using an ati 9600 pro for ages I assumed he'd be right.

Tearing/Vsync problem

Video playback with the fglrx driver (and apparently all other ATI drivers) lack Vsync support and thus tearing. Currently there is no known workaround. The open source xf8x-video-ati has a non-composting/page-flipping fix, but not in the master branch.


"Checkerboard of Death"

Current fglrx drivers as of September 2008 8.4 works but 8.5-8.8 have this problem along with other applications such as WINE. The display will decompose into row blocks offset leading to an entirely unusable screen. This may be fixed in the Sept 19, 2008 8.9 driver.

Garbled Screens with OpenGL Painter

Insert the following into a startup script so that it is run before mythfrontend:

export LIBGL_ALWAYS_INDIRECT=true

This appears to be unnecessary using the 8.12 driver.

External links

There is an Unofficial ATI Linux driver Wiki, which also has an article about TV-Out problems and solutions.

[3] openSUSE ATI page

[4] ATI Explaining the vsync/tearing problem on the Phoronix forums

[5] A thread on the checkerboard problem

[6] The xf86-video-ati-driver with a branch with a tearing fix

User experiences

LordTod

Working: 2D and 3D, HDTV video is working smooth (HDCP was not tested)

Partially working: composite TV-Out, only working if I turn of the VGA. This is done by "sudo aticonfig --enable-monitor=tv". To turn the VGA back on (and the tv off) replace "tv" with "crt1"

Not working: Changing TV-Out functionality in the Catalyst control center. Only working via command-line.

Not yet tested: all other interfaces: HDMI, S-Video

Software: Ubuntu 7.10, ATI Catalyst 7.12 (installed with ATI Installer)

Hardware: Asus M2A-VM HDMI with onboard Radeon X1250, Resolution: 1024x768

Michel has experiences are with driver revision 8.28.8:

  • ATI Radeon 9200SE (both composite and S-Video): partially works.
  • ATI Radeon 9250 (composite): partially works.

On my personal (Athlon XP 1800+) mythtv system the TV/DVD playback functions are too slow, even with OpenGLOverlay mode active on the binary drivers. So for normal TV-Out functionality I went to the store and bought a NVidia card instead. My desktop system however (the 2nd mythfrontend :-) still functions perfectly with the ATI Radeon 9250. Attached to a monitor and with VideoOverlay active...

Moosylog worked with the ATI driver for more than two years. First did research on XGL / compiz and ATI and later got involved in the TV-OUT thing. In feb 2007 moosy gave up and switched to nvidia because of the buggy tv-out support from ati/amd. The TV-Out experience ends at version 8.33.6 on a ATI Radeon Xpress 200 (on board): partially works, frustrated, switched to Nvidia, read more Also check the user comments on this blog post about ATI and this one

Moloth worked on this over the past 7 hours trying to get it to work. Did succeed with ATI X300 + Proprietary Driver + Modified Myth Code DViCO_FusionHDTV_DVB-T_Dual_Digital_Installation#ATI_Radeon Here Although either the driver or the libmyth change caused unexpected X crashes and segfaults. So I am switching to NVidia Card.

zhapp tried mplayer with fglrx 8.37.6 running on debian etch (2.6.18) with a Radeon 9800Pro. I used the xorg.conf-settings from "Enabling overlays with tvout" which made TV-out and XV work without any cropping or other artifacts. Will try MythTV in a near future.

jdschwa Running Ubuntu Feisty (2.6.20, server+Mythtv, no gnome) fglrx 8.34.8. Radeon X300 using svideo out. The above hack for overlays works great for me.

Baylink 03:01, 12 August 2007 (UTC) is using 8.36.5 from the ATI yast repo on openSUSE 10.2 with the default 7.1.99 (7.2 RC) Xorg. I had the bug, NO_XV=1 mythfrontend proved it, the hack above solved it; nice work, dude. My card is a Sapphire Radeon (Mobility) 9600. The jumper on that card, BTW, is NTSC/PAL (mine came jumpered the wrong way).

xmeister 26/1/08 Graphics : ATI Radeon 9600pro TV Card  : Technisat AirStar 2 DVB-T CPU  : Intel P4 2.4G interface: S-Video Very happy to say that using the above settings (under "Enabling overlays with tvout") I finally have a mythtv box in working condition. Believe me I tried nearly every concievable config in my xorg.conf but this finally did it. I still need to do some fine tuning with overscan and some other odds n' ends. For SD the picture is quite acceptable and on a par with a STB I borrowed for testing purposes. Will keep this updated if I encounter any issues but so far things look good. Love your work dude.

kvaes 27/2/08 OS  : MythBuntu 7.10 Graphics  : ATI Radeon Xpress 1250 for Asus/M2A-VM (HDMI) Interface : S-Video TV Card  : BudgetTrend 1500 (with CI/CAM) CPU  : AMD Athlon(tm) 64 Processor 3500+ Experienced "lagging video" when playing "LiveTV", but after installing the latest ATI drivers (8.02) everything worked like a charm. How I did it...

richolm 26/5/08 OS  : MythBuntu 8.04 Graphics  : ATI Radeon X600 Interface : DVI TV Card  : 2x Hauppage Nova-T PCI and 1x Nova-T 500 CPU  : Intel P4 2.8 Dual Core

Installed Ati driver 8.4, after install video was very jittery, applying the overlay fix in xorg.conf did the trick, quality is the best I've had so far in Mythtv

mythtv0x7c1 17/7/08 OS  : Debian 5.0 (Lenny) amd64 Graphics  : ATi Radeon x1900GT v1 (R580, 575 core/1200 mem) Interface : DVI to LCD monitor, component, S-video, and composite tested with CRT TV TV card  : Hauppauge PVR-150 MCE CPU  : AMD Athlon 64 X2 4200+ Dual Core

Enabling TexturedVideo and TexturedXRender in xorg.conf results in near-excellent video playback quality on the 20.1" 1600x1200 LCD with the 8.x Catalyst drivers. There is a very faint and very occasional tearing still present, though. This card has VIVO and I tested the three types of TV-out on my CRT TV. The TV geometry was properly set up in all three cases and image quality was excellent with no tearing evident.

nseidm1 22/6/09 OS  : Ubuntu 9.04 (Jaunty) amd64 Graphics  : ATi Radeon Integrated 3300HD Interface : DVI to HDMI TV card  : Firewire from a Scientific Atlantic 4250HD CPU  : Phenom x4 9650

With current binary drivers from ATI (Version 9.6) OpenGL and XV work fine. You have to configure Xorg properly or the CPU and GPU requirements of the fglrx driver cause substantial system instability to lock the system predictably. Use the textured video option only, and turn video and opengl overlays off. Make sure you use the correct driver for your chipset, I got confused at first between the Radeon 33xx HD and the embedded Radeon 3300HD. Overall there is excellent support for the MythTV .21 and the ATI binary drivers. Heres a screenshot of my desktop environment which is extremely stable at the moment.