ATI Hardware Acceleration

  Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
PhilAd Offline
Junior Member
Posts: 8
Joined: Sep 2010
Reputation: 0
Post: #1
Hi,

i have already read that the ATI drivers suck on linux. But I have seen that there is stuff like GLSL, XVBA or VAAPI.
I am using the Beta 2 of Dharma (installed via apt) on Ubuntu 10.04 x86
Is there any workaround to get Hardware Acceleration in another form than VDPAU?
I have an AMD Athlon X2 Neo L325 with an ATI HD3200 and the CPU has not enough performance for 1080p Video Playback. I have already installed the propitary ATI drivers and selected GLSL for video playback but still 80-100% CPU usage.


greets

PhilAd
find quote
.:B:. Offline
Fan
Posts: 420
Joined: Mar 2010
Reputation: 0
Post: #2
VAAPI is the hardware acceleration stuff for GPUs on Linux. It can use vdpau as a backend, but can also use the newer ATi drivers on Linux. I have seen people report they successfully got hardware-accelerated playback with ATi on Linux, and your chip should support that as well.

* Netgear WNDR3700, OpenWrt Barrier Breaker 14.07 RC2+ :: HP Procurve V1410-8G switch
* OpenELEC 4: HTPC Zotac Nano AD10 with Pulse-Eight CEC adapter, Sony KDL52-NX800 :: Desktop Phenom II X4 980 BE / AMD HD6950 / 23" Dell Full HD
* Debian Jessie x86_64: Celeron G1610, HTTP/NFS/MySQL/ZFS server
* Blog
find quote
PhilAd Offline
Junior Member
Posts: 8
Joined: Sep 2010
Reputation: 0
Post: #3
Hi,

today i had some time to try some things out ...
many ppl configured xbmc with an external player like mplayer (specially compiled with VAAPI) and combined that with xbmc. But that was not a good solution for me because i am using the xbmc android app and i guess i cannot control mplayer with it.

but finally i got it working with my ati card. I installed xbmc via the svn repository and compiled it with --enabled-vaapi. I installed libva1 and xbma-video. after that i started xbmc via terminal and tried it. It was not working, but i got the error message in my terminal. My propitary ATI driver was too old. I had to install Catalyst 10.5 or higher. That is a problem with Ubuntu 10.04.1 because the ATI driver 10.5 till 10.9 are not working with the kernel 2.6.32-24. In the Interne you can find a patch which seems to work for some ppl. I decided to downgrade back to kernel 2.6.32-23 and then i tried to install catalyst 10.9 again. ATI wants to fix that problem with newer kernels on the october catalyst driver 10.10.

Now it is working :-) i am really happy. I have 8-16% CPU usage and constantly 24p while watching a 1080p movie.

My System is an AMD Athlon X2 Neo L325 with an ATI HD3200 IGP (Zotac ZBOX)
find quote
NightStormWolf Offline
Member
Posts: 76
Joined: Sep 2010
Reputation: 2
Location: Montana, USA
Post: #4
Just a side note from my experience with an on board Radeon HD4200...

On my system i'm using the radeon (not radeonhd or proprietary) driver with the kernal modesetting option (modesetting gains audio over HDMI with radeon driver). I had to install special firmware files into my kernal to make acceleration work properly due to some upstream issue of some sort.

Snip-it from x.org (original link):
Quote:Troubleshooting Extra Firmware for R600/R700/Evergreen

All R600/R700/Evergreen gfxcards require extra firmware (ucode) files [1] to work properly with acceleration (Thanks agd5f for clarification on IRC). According to license issues [2] and the fact that no new firmware files will be shipped in upstream kernels, you need to activate the following kernel-config parameters:

CONFIG_FIRMWARE_IN_KERNEL=y
CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware"
CONFIG_EXTRA_FIRMWARE="radeon/CEDAR_me.bin radeon/CEDAR_pfp.bin radeon/CEDAR_rlc.bin radeon/CYPRESS_me.bin radeon/CYPRESS_pfp.bin radeon/CYPRESS_rlc.bin radeon/JUNIPER_me.bin radeon/JUNIPER_pfp.bin radeon/JUNIPER_rlc.bin radeon/R600_rlc.bin radeon/R700_rlc.bin radeon/REDWOOD_me.bin radeon/REDWOOD_pfp.bin radeon/REDWOOD_rlc.bin"

You can omit those firmware files for which you do not actually have hardware. Copy *.bin to /lib/firmware/radeon directory.

UPDATE: Extra ucode files are now in linux-firmware GIT repository [3] (Thanks airlied for information on IRC).

[1] http://people.freedesktop.org/~agd5f/radeon_ucode/

[2] http://people.freedesktop.org/~agd5f/rad...NSE.radeon

[3] See commit d9076a54d74e371a11e1206b4a26e2e428045b9e "radeon: add RLC firmwares from AMD."

After doing that and recompiling my kernel, acceleration worked right off the bat with no problems. Your mileage may vary.

Good Luck,
~NSW
find quote
Temar Offline
Senior Member
Posts: 264
Joined: Nov 2008
Reputation: 8
Post: #5
NightStormWolf Wrote:On my system i'm using the radeon (not radeonhd or proprietary) driver with the kernal modesetting option (modesetting gains audio over HDMI with radeon driver). I had to install special firmware files into my kernal to make acceleration work properly due to some upstream issue of some sort.

Is the radeon driver the default ATI driver in Ubuntu Lucid? Or is radeonhd the default one?

I'm really not into all this ATI stuff as I'm using Nvidia. A friend however has a system with an integrated HD 3200 chipset. He wants to use it as a standalone XBMC box and would prefer the open source driver as it supports KMS. All he needs is KMS, video acceleration and HDMI.

Does this work with the standard Lucid ATI driver? Do you know if the HD 3200 chipset needs the updated firmware files as well?
find quote
bibi Offline
Senior Member
Posts: 202
Joined: Sep 2009
Reputation: 0
Post: #6
There is no video acceleration with open source driver...
Go to phoronix to get some news.
find quote
NightStormWolf Offline
Member
Posts: 76
Joined: Sep 2010
Reputation: 2
Location: Montana, USA
Post: #7
Temar Wrote:Is the radeon driver the default ATI driver in Ubuntu Lucid? Or is radeonhd the default one?

To my knowledge there are 3 drivers available. The ATI proprietary one, radeon and radeonhd. I use the open source radeon driver. Normally radeon is the default, but i'm not using ubuntu so i couldn't tell you for sure.

Temar Wrote:I'm really not into all this ATI stuff as I'm using Nvidia. A friend however has a system with an integrated HD 3200 chipset. He wants to use it as a standalone XBMC box and would prefer the open source driver as it supports KMS. All he needs is KMS, video acceleration and HDMI.

Yes, use the open source radeon driver, with KMS (which will get you audio over HDMI using the open source driver on kernel 2.6.33 and up), and the firmware files for the R600 according to wikipedia. I included all the firmware just in case i upgraded later so i wouldn't have to recompile.

bibi Wrote:There is no video acceleration with open source driver...
Go to phoronix to get some news.

No true, my HD 4200 is accelerated and works great using the open source driver! You need to compile the firmware into the kernel to get acceleration however or it will not work with acceleration.

Before using the KMS, i had acceleration by default with the open source driver, but no audio over my HDMI port. Believe me, when my acceleration didn't work, you noticed. The XBMC interface would work like a stop motion movie, frame by frame.

Now that being said, video acceleration as in video decoding acceleration doesn't work yet to my knowledge. So you need to make sure your processor can handle decoding the video formats you want to playback.
(This post was last modified: 2010-10-03 21:21 by NightStormWolf.)
find quote
NightStormWolf Offline
Member
Posts: 76
Joined: Sep 2010
Reputation: 2
Location: Montana, USA
Post: #8
Looks like i miss read your original posting Temar, your really after video decoding which i have yet to get working with the open source drivers. Sorry about that. Frown

Make sure the 2D acceleration is working which should offload the XBMC interface and let the processor deal with more video. See posting #3 above, PhilAd got it working on his system with acceleration, but using proprietary drivers.

Edit: On my system i'm running an X3 @ 2.8Ghz and using 20-35% of the processor to decode 1080p videos.
(This post was last modified: 2010-10-04 00:24 by NightStormWolf.)
find quote
Temar Offline
Senior Member
Posts: 264
Joined: Nov 2008
Reputation: 8
Post: #9
Thanks for all your answers

NightStormWolf Wrote:Make sure the 2D acceleration is working which should offload the XBMC interface and let the processor deal with more video. See posting #3 above, PhilAd got it working on his system with acceleration, but using proprietary drivers.

Edit: On my system i'm running an X3 @ 2.8Ghz and using 20-35% of the processor to decode 1080p videos.

My friend has a really slow AMD processor so he needs video decoding acceleration. Looks like he has to use the proprietary driver without KMS. I hope this works well as I've heard many horror stories about Linux+ATI. As he does not know much about Linux I would have to fix his problems Frown
find quote
ozra Offline
Junior Member
Posts: 25
Joined: Sep 2010
Reputation: 0
Location: Australia
Post: #10
I have a Gigabyte MB with onboard HD3200.

Works perfectly using Basic Shaders: Interlaced Handling: Auto / Video Scaling: Bilinear

Watching hd_other_bbc_motion_gallery_cctv.m2ts of up to 23Mb/s (press o during playback: dc:ff-h264-vaapi uses about 5% CPU (Single Core CPU - 2 of 3 cores disabled) and only drop 3 frames over a the entire clip (mostly when changing menus during playback)


I am still a noob so cannot answer your questions, however, I followed this guide by linneman : http://forum.xbmc.org/showthread.php?tid=80940 to get mine working.

The biggest hassle was to get rid of the underscan borders.

Different but similar to his notes, if you have underscan borders:

Exit XBMC (Shutdown/Exit in XBMC)

Then from remote Putty

startx

Open ANOTHER putty session, logon and then:

sudo DISPLAY=:0 /usr/bin/amdcccle

Expand Display manager Option:
Select DTV(1) in my case:
Click on Adjustments and Move Slider for Scaling options to 0%
Apply

Reboot

if you get an error that x could not be found startx first.


This will start amd control center on you TV NOT your desktop which you can control the mouse.
Go to the display settings and try switching to another frequency eg. 60Hz hit apply and accept settings.
Now you are in the amdcccle move the "wait for Vsync" slider all the way to quality (should help remove stutter if vsync is disabled in xbmc).

Again from putty

Code:
sudo reboot
Hopefully you will be rid of the stupid black borders. Remember to disable Vsync in xbmc as this should eliminate some stutter issues if you have any.


Hope this helps somewhat. Unfortunately I am hopeless in Linux.

YMMV
find quote
monochromec Offline
Junior Member
Posts: 6
Joined: Aug 2011
Reputation: 0
Post: #11
Can confirm the observation made by NightStormWolf:

The fglrx driver that came with 2.6.38 and 3.0.0 gave me a severe headache in terms of reproducible kernel oops (cf. https://bugs.launchpad.net/ubuntu/+sourc...bug/883873). So I dumped it in favour of the openradeon/ati driver that also comes with these kernels (just replace "fglrx" with "ati" in your xorg.conf, the X server should pick it up and associated it with the corresponding drm kernel modules - just don't forget to blacklist the fglrx module if you don't want to get rid of it completely as outlined in https://wiki.ubuntu.com/X/Troubleshootin...%20scratch ;-).

Dharma works like a charme on my HD 4350, no stuttering on a dual-core AMD Athlon. Hope that helps...
find quote
vbat99 Online
Posting Freak
Posts: 885
Joined: Aug 2009
Reputation: 20
Location: New Zealand
Big Grin   
Post: #12
Buddy, ya know you just raised a one year old thread??

Media Companion Dev.
Media Companion - XBMC Media Companion
find quote