Slackware This Forum is for the discussion of Slackware Linux.
|
Notices |
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
|
|
|
07-14-2014, 01:22 PM
|
#1
|
Senior Member
Registered: Aug 2005
Distribution: Slackware, RHEL
Posts: 1,271
|
MPlayer with VAAPI support on Slackware 14.1
Has anybody been successful in building mplayer with vaapi support (xvba-driver)? I've installed Slackware64-14.1 on an AMD laptop. I've installed the Catalyst driver already. My experience with hardware acceleration has been with NVIDIA, so this is my first time diving into the AMD (proprietary world). I've even tried re-building Alien's VLC, but it somehow doesn't hook right. Any help would be greatly appreciated!
|
|
|
07-15-2014, 10:28 PM
|
#2
|
LQ Guru
Registered: Jul 2011
Location: California
Distribution: Slackware64-15.0 Multilib
Posts: 6,564
|
I've never had any real luck with VA. Usually I stick to the XV or OpenGL driver.
|
|
|
07-16-2014, 08:25 AM
|
#3
|
Senior Member
Registered: Aug 2005
Distribution: Slackware, RHEL
Posts: 1,271
Original Poster
|
Quote:
Originally Posted by ReaperX7
I've never had any real luck with VA. Usually I stick to the XV or OpenGL driver.
|
Thanks for the reply. Yeah, I'm guessing that I'll just have to live with it. So far, not impressed with the proprietary quality of ATI. At least compared to NVIDIA. Oh well. Thanks again!
|
|
|
07-16-2014, 11:55 AM
|
#4
|
Member
Registered: Oct 2012
Posts: 77
Rep:
|
what info do you get if you type
vainfo
|
|
|
07-16-2014, 12:13 PM
|
#5
|
Senior Member
Registered: Oct 2012
Location: South Devon, UK
Distribution: Slackware
Posts: 1,137
Rep:
|
I have it working on Slack64-14.0. Unfortunately AMD stopped supporting the graphics chipset in my laptop just after I bought it - despite the fact that systems were still being sold with it - so I'm stuck with the legacy driver, which is incompatible with both the kernel and xorg in 14.1! Hence my decision never to buy anything of AMDs ever again.....!
However, I have mplayer-vaapi working fine. I've never had any luck at all with VLC, either my own builds or anyone elses. Hardware acceleration just doesn't seem to work with it, period!
First thing to do is to make sure that VAAPI is correctly installed. Type "vainfo" at a command prompt. You should get something like this:
Code:
~$ vainfo
libva info: VA-API version 0.34.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/fglrx_drv_video.so
libva info: Found init function __vaDriverInit_0_32
libva info: va_openDriver() returns 0
vainfo: VA-API version: 0.34 (libva 1.2.1)
vainfo: Driver version: Splitted-Desktop Systems XvBA backend for VA-API - 0.8.0
vainfo: Supported profile and entrypoints
VAProfileH264High : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
(vainfo used to be included in with the proprietary drivers, but I think it is packaged separately now.)
Note that line about "trying to open fglrx_drv_video.so" In addition to libva, you also need the xvba drivers. I found these as xvba-0.8.0, but can't remember where I found them! I never managed to compile them, but did find some pre-compiled versions that work fine. (Sorry, can't remember where, it was a while ago!) The xvba drivers comprise two files, fglrx_drv_video.so and xvba_drv_video.so. The instructions will tell you to put these in /usr/lib64/va/drv/, but recent versions of vaapi seem to look for them in /usr/lib64/dri. I put them in both, just to be safe!
Now compile mplayer-vaapi. I'm still using a fairly old release, as I had issues with some of the newer ones. Your mileage may vary, as it sounds as if you have newer hardware than me!
You will need to create a "config" file along these lines, and place it in .mplayer/ :
Code:
~/.mplayer$ cat config
# Write your default config options here!
### Video Drivers ###
vo=vaapi:gl
#vo=vaapi:gl:deint=2
#vo=vaapi:deint=2
#vo=vaapi
va=vaapi
### Audio Driver option ###
ao=alsa
#ao=alsa:device=hw=1.3
af=volnorm
softvol=yes
volume=10
autosync=30
### Display Options ###
fs=yes
stop-xscreensaver=yes
Hopefully most of that will be self explanatory.
Then, you should be good to go!
Best of luck!
--
Pete
Last edited by pchristy; 07-16-2014 at 12:16 PM.
Reason: Typo
|
|
2 members found this post helpful.
|
07-16-2014, 01:56 PM
|
#6
|
Member
Registered: May 2008
Location: Aveiro
Distribution: Slackware
Posts: 542
Rep:
|
I just want to point out my experience.
I recompiled the latest mesa for AMD R600 cards with VDPAU support.
After that I recompile mplayer. It works like a charm.
My slackbuild is in here.
|
|
|
07-17-2014, 04:17 AM
|
#7
|
Senior Member
Registered: Oct 2012
Location: South Devon, UK
Distribution: Slackware
Posts: 1,137
Rep:
|
Unfortunately, my card is a RS880M (HD4200), which as far as I can make out, AMD have no intention of supporting. And the last time I checked, it wasn't working with the open-source drivers either - at least, not for HD video, which was the sole reason I bought it in the first place!
--
Pete
|
|
|
07-17-2014, 11:08 AM
|
#8
|
LQ Guru
Registered: Nov 2003
Location: West Jordan, UT, USA
Distribution: Slackware
Posts: 8,792
|
I thought any of the HD4xxx series was supported with the Legacy Catalyst Driver (HD5xxx and up seem to have an up-to-date version). The last version of the legacy driver was released in January of 13. I don't remember if I had gpu acceleration working for video playback (on my HD3870 which uses the same driver), but I'm pretty sure I had direct rendering working for other aspects (although, it seems the legacy driver doesn't support some needed functions for the Steam engine to run in Linux, so no Half Life 2 for me ).
I think this link will work (it seems to be a normal link), but sometimes they time out. I just went through AMD's driver page to get to it.
http://support.amd.com/en-us/downloa...Linux%20x86_64
|
|
|
07-17-2014, 11:23 AM
|
#9
|
Senior Member
Registered: Aug 2005
Distribution: Slackware, RHEL
Posts: 1,271
Original Poster
|
Quote:
Originally Posted by pchristy
I have it working on Slack64-14.0. Unfortunately AMD stopped supporting the graphics chipset in my laptop just after I bought it - despite the fact that systems were still being sold with it - so I'm stuck with the legacy driver, which is incompatible with both the kernel and xorg in 14.1! Hence my decision never to buy anything of AMDs ever again.....!
However, I have mplayer-vaapi working fine. I've never had any luck at all with VLC, either my own builds or anyone elses. Hardware acceleration just doesn't seem to work with it, period!
First thing to do is to make sure that VAAPI is correctly installed. Type "vainfo" at a command prompt. You should get something like this:
Code:
~$ vainfo
libva info: VA-API version 0.34.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/fglrx_drv_video.so
libva info: Found init function __vaDriverInit_0_32
libva info: va_openDriver() returns 0
vainfo: VA-API version: 0.34 (libva 1.2.1)
vainfo: Driver version: Splitted-Desktop Systems XvBA backend for VA-API - 0.8.0
vainfo: Supported profile and entrypoints
VAProfileH264High : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
(vainfo used to be included in with the proprietary drivers, but I think it is packaged separately now.)
Note that line about "trying to open fglrx_drv_video.so" In addition to libva, you also need the xvba drivers. I found these as xvba-0.8.0, but can't remember where I found them! I never managed to compile them, but did find some pre-compiled versions that work fine. (Sorry, can't remember where, it was a while ago!) The xvba drivers comprise two files, fglrx_drv_video.so and xvba_drv_video.so. The instructions will tell you to put these in /usr/lib64/va/drv/, but recent versions of vaapi seem to look for them in /usr/lib64/dri. I put them in both, just to be safe!
Now compile mplayer-vaapi. I'm still using a fairly old release, as I had issues with some of the newer ones. Your mileage may vary, as it sounds as if you have newer hardware than me!
You will need to create a "config" file along these lines, and place it in .mplayer/ :
Code:
~/.mplayer$ cat config
# Write your default config options here!
### Video Drivers ###
vo=vaapi:gl
#vo=vaapi:gl:deint=2
#vo=vaapi:deint=2
#vo=vaapi
va=vaapi
### Audio Driver option ###
ao=alsa
#ao=alsa:device=hw=1.3
af=volnorm
softvol=yes
volume=10
autosync=30
### Display Options ###
fs=yes
stop-xscreensaver=yes
Hopefully most of that will be self explanatory.
Then, you should be good to go!
Best of luck!
--
Pete
|
Thanks for your help!
Here's my vainfo:
Code:
libva info: VA-API version 0.35.2
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/fglrx_drv_video.so
libva info: Found init function __vaDriverInit_0_32
libva info: va_openDriver() returns 0
vainfo: VA-API version: 0.35 (libva 1.3.2.pre1)
vainfo: Driver version: Splitted-Desktop Systems XvBA backend for VA-API - 0.8.0
vainfo: Supported profile and entrypoints
VAProfileH264High : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
So, all looks good. However, I download mplayer with vaapi support from here, but after building it, I don't see any support for vaapi. This is what I get when I run mplayer -vo help:
Code:
xv X11/Xv
gl_nosw OpenGL no software rendering
x11 X11 ( XImage/Shm )
xover General X11 driver for overlay capable video output drivers
sdl SDL YUV/RGB/BGR renderer (SDL v1.1.7+ only!)
gl OpenGL
gl_tiled X11 (OpenGL) - multiple textures version
dga DGA ( Direct Graphic Access V2.0 )
fbdev Framebuffer Device
fbdev2 Framebuffer Device
svga SVGAlib
matrixview MatrixView (OpenGL)
aa AAlib
caca libcaca
v4l2 V4L2 MPEG Video Decoder Output
xvidix X11 (VIDIX)
cvidix console VIDIX
null Null video output
mpegpes MPEG-PES to DVB card
yuv4mpeg yuv4mpeg output for mjpegtools
png PNG file
jpeg JPEG file
gif89a animated GIF output
tga Targa output
pnm PPM/PGM/PGMYUV file
md5sum md5sum of each frame
mng MNG file
Also, after close inspection, I'm not seeing --enable-vaapi as an option when running the configure script. I could have sworn that I have seen that option before. Any ideas?
|
|
|
07-17-2014, 12:05 PM
|
#10
|
Member
Registered: May 2008
Location: Aveiro
Distribution: Slackware
Posts: 542
Rep:
|
Quote:
Originally Posted by pchristy
Unfortunately, my card is a RS880M (HD4200), which as far as I can make out, AMD have no intention of supporting. And the last time I checked, it wasn't working with the open-source drivers either - at least, not for HD video, which was the sole reason I bought it in the first place!
--
Pete
|
The open source drivers provide VDPAU acceleration for HD4XXX.
Maybe you can try to compile the mesa drivers with VDPAU enabled.
|
|
|
07-17-2014, 12:44 PM
|
#11
|
Senior Member
Registered: Oct 2012
Location: South Devon, UK
Distribution: Slackware
Posts: 1,137
Rep:
|
Stormtracknole: Yes, it looks like you've got vaapi installed correctly. However, I think your problem may be in downloading the "master" source code. On that page you sent the link to, if you click on the "master" link on the top RHS, you'll get a drop down menu. One of the options on that menu is "hwaccel-vaapi". I'm pretty certain that's the one I used - I couldn't get it working with the "master" branch either!
I'll fire up my laptop in a moment and see what mplayer -vo help gives me. Watch this space......
Bassmadrigal: Yes, I'm using the legacy driver. Unfortunately it only works with older kernels and xorgs, so you can't use it with Slack 14.1! Its also somewhat clunky, and occasionally fails to boot properly!
Mlpa: Thanks for the update! The last time I checked, the open source drivers didn't work with the HD4XXX series - at least, not for HD video, which is my prime requirement. It is all working, at the moment, with the legacy driver. As its proved so troublesome in the past, I'm disinclined to mess with it whilst its working! However, if it goes belly-up on me again, I'll certainly give that a whirl!
Cheers,
--
Pete
|
|
|
07-17-2014, 12:51 PM
|
#12
|
Senior Member
Registered: Oct 2012
Location: South Devon, UK
Distribution: Slackware
Posts: 1,137
Rep:
|
Stormtracknole: Here's the output of mplayer -vo help on my machine:
Code:
~$ mplayer -vo help
MPlayer SVN-r35107-4.7.1 (C) 2000-2012 MPlayer Team
Available video output drivers:
xv X11/Xv
gl_nosw OpenGL no software rendering
x11 X11 ( XImage/Shm )
xover General X11 driver for overlay capable video output drivers
sdl SDL YUV/RGB/BGR renderer (SDL v1.1.7+ only!)
gl OpenGL
gl2 X11 (OpenGL) - multiple textures version
dga DGA ( Direct Graphic Access V2.0 )
fbdev Framebuffer Device
fbdev2 Framebuffer Device
svga SVGAlib
matrixview MatrixView (OpenGL)
aa AAlib
caca libcaca
v4l2 V4L2 MPEG Video Decoder Output
xvidix X11 (VIDIX)
cvidix console VIDIX
null Null video output
mpegpes MPEG-PES to DVB card
yuv4mpeg yuv4mpeg output for mjpegtools
png PNG file
jpeg JPEG file
gif89a animated GIF output
tga Targa output
pnm PPM/PGM/PGMYUV file
md5sum md5sum of each frame
mng MNG file
vaapi VA API with X11
Note the last line.......
I'm trying to remember how I built / installed it. IIRC, I first installed the MPlayer package that comes with slackware, but then renamed the binaries mplayer.slak and mencoder.slak - and made them non-executable. I then just went into the mplayer source code folder (downloaded from the hwaccel-vaapi page, not the master!) and then just did the usual ./configure followed by make. But instead of running make_install, I simply copied the two resulting binaries into the folder where slackware had installed its own versions (/usr/bin from memory!)
Keep an eye on what happens when you run ./configure. I think it found vaapi all on its own without needing any options. If in doubt ./configure --help might be of assistance, but mplayer always seems to compile best when left to its own devices....!
It all worked fine, but you might need to play around with some of the options in the .mplayer/config file (ie de-interlace, or whatever) to get smooth playback. It depends how powerful your system is!
--
Pete
Last edited by pchristy; 07-17-2014 at 01:07 PM.
Reason: More info
|
|
|
07-17-2014, 01:05 PM
|
#13
|
Senior Member
Registered: Aug 2005
Distribution: Slackware, RHEL
Posts: 1,271
Original Poster
|
Quote:
Originally Posted by pchristy
Stormtracknole: Here's the output of mplayer -vo help on my machine:
Code:
~$ mplayer -vo help
MPlayer SVN-r35107-4.7.1 (C) 2000-2012 MPlayer Team
Available video output drivers:
xv X11/Xv
gl_nosw OpenGL no software rendering
x11 X11 ( XImage/Shm )
xover General X11 driver for overlay capable video output drivers
sdl SDL YUV/RGB/BGR renderer (SDL v1.1.7+ only!)
gl OpenGL
gl2 X11 (OpenGL) - multiple textures version
dga DGA ( Direct Graphic Access V2.0 )
fbdev Framebuffer Device
fbdev2 Framebuffer Device
svga SVGAlib
matrixview MatrixView (OpenGL)
aa AAlib
caca libcaca
v4l2 V4L2 MPEG Video Decoder Output
xvidix X11 (VIDIX)
cvidix console VIDIX
null Null video output
mpegpes MPEG-PES to DVB card
yuv4mpeg yuv4mpeg output for mjpegtools
png PNG file
jpeg JPEG file
gif89a animated GIF output
tga Targa output
pnm PPM/PGM/PGMYUV file
md5sum md5sum of each frame
mng MNG file
vaapi VA API with X11
Note the last line.......
I'm trying to remember how I built / installed it. IIRC, I first installed the MPlayer package that comes with slackware, but then renamed the binaries mplayer.slak and mencoder.slak - and made them non-executable. I then just went into the mplayer source code folder (downloaded from the hwaccel-vaapi page, not the master!) and then just did the usual ./configure followed by make. But instead of running make_install, I simply copied the two resulting binaries into the folder where slackware had installed its own versions (/usr/bin from memory!)
It all worked fine, but you might need to play around with some of the options in the .mplayer/config file (ie de-interlace, or whatever) to get smooth playback. It depends how powerful your system is!
--
Pete
|
Ok, great. I will try that and report back.
|
|
|
07-17-2014, 01:31 PM
|
#14
|
Senior Member
Registered: Aug 2005
Distribution: Slackware, RHEL
Posts: 1,271
Original Poster
|
Ok, I found the correct one. However, the build is failing. I had to remove the --enable-gui argument to get rid of the first error, but now it's failing with something else:
Code:
libmpcodecs/vf_fspp.c:1602:9: error: undefined named operand 'MM_2'
libmpcodecs/vf_fspp.c:1602:9: error: undefined named operand 'MM_FIX_1_414213562_A'
libmpcodecs/vf_fspp.c:1602:9: error: undefined named operand 'MM_FIX_0_382683433'
libmpcodecs/vf_fspp.c:1602:9: error: undefined named operand 'MM_FIX_0_541196100'
libmpcodecs/vf_fspp.c:1602:9: error: undefined named operand 'MM_FIX_1_306562965'
libmpcodecs/vf_fspp.c:1602:9: error: undefined named operand 'MM_FIX_0_707106781'
libmpcodecs/vf_fspp.c:1602:9: error: undefined named operand 'MM_FIX_0_847759065'
libmpcodecs/vf_fspp.c:1602:9: error: undefined named operand 'MM_FIX_0_566454497'
libmpcodecs/vf_fspp.c:1602:9: error: undefined named operand 'MM_FIX_0_198912367'
libmpcodecs/vf_fspp.c:1602:9: error: undefined named operand 'MM_FIX_2_613125930'
libmpcodecs/vf_fspp.c:1602:9: error: undefined named operand 'MM_FIX_1_847759065'
libmpcodecs/vf_fspp.c:1602:9: error: undefined named operand 'MM_FIX_1_082392200'
libmpcodecs/vf_fspp.c:1602:9: error: undefined named operand 'MM_FIX_1_414213562'
libmpcodecs/vf_fspp.c:1602:9: error: undefined named operand 'MM_FIX_0_707106781'
libmpcodecs/vf_fspp.c:1602:9: error: undefined named operand 'MM_2'
libmpcodecs/vf_fspp.c:1602:9: error: undefined named operand 'MM_FIX_1_414213562_A'
libmpcodecs/vf_fspp.c:1602:9: error: undefined named operand 'MM_FIX_0_382683433'
libmpcodecs/vf_fspp.c:1602:9: error: undefined named operand 'MM_FIX_0_541196100'
libmpcodecs/vf_fspp.c:1602:9: error: undefined named operand 'MM_FIX_1_306562965'
libmpcodecs/vf_fspp.c:1602:9: error: undefined named operand 'MM_FIX_0_707106781'
libmpcodecs/vf_fspp.c:1602:9: error: undefined named operand 'MM_FIX_0_847759065'
libmpcodecs/vf_fspp.c:1602:9: error: undefined named operand 'MM_FIX_0_566454497'
libmpcodecs/vf_fspp.c:1602:9: error: undefined named operand 'MM_FIX_0_198912367'
libmpcodecs/vf_fspp.c:1602:9: error: undefined named operand 'MM_FIX_2_613125930'
libmpcodecs/vf_fspp.c:1602:9: error: undefined named operand 'MM_FIX_1_847759065'
libmpcodecs/vf_fspp.c:1602:9: error: undefined named operand 'MM_FIX_1_082392200'
libmpcodecs/vf_fspp.c:1602:9: error: undefined named operand 'MM_FIX_1_414213562'
libmpcodecs/vf_fspp.c: In function 'row_idct_mmx':
libmpcodecs/vf_fspp.c:1871:9: error: undefined named operand 'MM_FIX_1_414213562_A'
);
^
libmpcodecs/vf_fspp.c:1871:9: error: undefined named operand 'MM_FIX_2_613125930'
libmpcodecs/vf_fspp.c:1871:9: error: undefined named operand 'MM_FIX_1_847759065'
libmpcodecs/vf_fspp.c:1871:9: error: undefined named operand 'MM_FIX_1_082392200'
libmpcodecs/vf_fspp.c:1871:9: error: undefined named operand 'MM_FIX_1_414213562'
libmpcodecs/vf_fspp.c:1871:9: error: undefined named operand 'MM_DESCALE_RND'
libmpcodecs/vf_fspp.c: In function 'row_fdct_mmx':
libmpcodecs/vf_fspp.c:2115:9: error: undefined named operand 'MM_FIX_0_707106781'
: "%"REG_d);
^
libmpcodecs/vf_fspp.c:2115:9: error: undefined named operand 'MM_FIX_0_707106781'
libmpcodecs/vf_fspp.c:2115:9: error: undefined named operand 'MM_FIX_0_541196100'
libmpcodecs/vf_fspp.c:2115:9: error: undefined named operand 'MM_FIX_0_382683433'
libmpcodecs/vf_fspp.c:2115:9: error: undefined named operand 'MM_FIX_1_306562965'
make: *** [libmpcodecs/vf_fspp.o] Error 1
make: *** Waiting for unfinished jobs....
Perhaps I need to try a different revision? Do you remember which version you used when you built yours?
|
|
|
07-17-2014, 03:11 PM
|
#15
|
LQ Guru
Registered: Nov 2003
Location: West Jordan, UT, USA
Distribution: Slackware
Posts: 8,792
|
Quote:
Originally Posted by pchristy
Bassmadrigal: Yes, I'm using the legacy driver. Unfortunately it only works with older kernels and xorgs, so you can't use it with Slack 14.1! Its also somewhat clunky, and occasionally fails to boot properly!
|
Bummer... I just updated to Slack 14.1 and haven't gotten to the point of installing that (it's mainly used as a server even though it was originally built with gaming in mind). Maybe it's time to fork out some money for a cheaper more modern card that can handle all of this (my HD3870, while amazing at the time, is over 6 years old and just doesn't kick like it used to).
|
|
|
All times are GMT -5. The time now is 08:01 PM.
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|