ATI Proprietary Driver

From MythTV Official Wiki
Revision as of 09:38, 16 December 2014 by Darcy (talk | contribs) (Added outdated tag.)

Jump to: navigation, search

Time.png Outdated: Needs modernizing to modern outputs / driver versions

Introduction

The AMD Proprietary Linux driver, or fglrx is the Linux display driver used for AMD Radeon and FireGL family video adapters. It contains open source and closed source code. It can be downloaded at 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

This is assumed knowledge, otherwise check YouTube or another resources for additional help.

Attaching a TV

You need to understand what interface you are using to connect to your TV. See the list below where HDMI is the


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




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.

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.

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.

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.

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

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.