XBMC for Linux VDPAU - NVIDIA GPU video decoding support (now in the mainline SVN)

  Thread Rating:
  • 15 Votes - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
beefke Offline
Junior Member
Posts: 32
Joined: Aug 2008
Reputation: 0
Post: #31
solved in svn 17768, so forget my previous post
find quote
cquilliam Offline
Junior Member
Posts: 27
Joined: Feb 2009
Reputation: 0
Post: #32
Are there any other pre-req's for this? I installed all libraries listed for compiling on linux, and i have my nvidia drivers at 180.29

Here's the failing part:

Quote:<snip>

g++ -MD -c -g -D_DEBUG -Wall -DDBUS_API_SUBJECT_TO_CHANGE -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/hal -DHAS_PULSEAUDIO -D_LINUX -D_FILE_DEFINED -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DINSTALL_PATH="\"/usr/local/share/xbmc\"" -DHAS_SDL_JOYSTICK -DHAS_XRANDR -DHAS_PCRE -D'SVN_REV="17778"' -DDLL_PATH_LIBCURL="\"/usr/lib64/libcurl.so\"" -I. -I../ -Iffmpeg -I../linux -I../../guilib -I../utils -Idvdplayer PlayerCoreFactory.cpp -o PlayerCoreFactory.o
In file included from ../xbmc/cores/VideoRenderers/LinuxRendererGL.h:16,
from ../xbmc/cores/VideoRenderers/RenderManager.h:25,
from GUIVideoControl.cpp:27:
../xbmc/cores/VideoRenderers/../ffmpeg/vdpau.h:67: error: ‘VdpVideoSurface’ does not name a type
../xbmc/cores/VideoRenderers/../ffmpeg/vdpau.h:73: error: ‘VdpPictureInfoH264’ does not name a type
../xbmc/cores/VideoRenderers/../ffmpeg/vdpau.h:74: error: ‘VdpPictureInfoMPEG1Or2’ does not name a type
../xbmc/cores/VideoRenderers/../ffmpeg/vdpau.h:75: error: ‘VdpPictureInfoVC1’ does not name a type
../xbmc/cores/VideoRenderers/../ffmpeg/vdpau.h:81: error: ISO C++ forbids declaration of ‘VdpBitstreamBuffer’ with no type
../xbmc/cores/VideoRenderers/../ffmpeg/vdpau.h:81: error: expected ‘;’ before ‘*’ token
g++ -MD -c -g -D_DEBUG -Wall -DDBUS_API_SUBJECT_TO_CHANGE -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/hal -DHAS_PULSEAUDIO -D_LINUX -D_FILE_DEFINED -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DINSTALL_PATH="\"/usr/local/share/xbmc\"" -DHAS_SDL_JOYSTICK -DHAS_XRANDR -DHAS_PCRE -D'SVN_REV="17778"' -DDLL_PATH_LIBCURL="\"/usr/lib64/libcurl.so\"" -I. -I../../ -I../../linux -I../../../guilib -I../../utils -I../dvdplayer -I.. AudioRendererFactory.cpp -o AudioRendererFactory.o
In file included from ../cores/VideoRenderers/LinuxRendererGL.h:16,
from ../cores/VideoRenderers/RenderManager.h:25,
from dvdplayer/DVDPlayerVideo.h:31,
from dvdplayer/DVDPlayer.h:32,
from PlayerCoreFactory.cpp:25:
../cores/VideoRenderers/../ffmpeg/vdpau.h:47:25: error: vdpau/vdpau.h: No such file or directory
../cores/VideoRenderers/../ffmpeg/vdpau.h:48:29: error: vdpau/vdpau_x11.h: No such file or directory
g++ -MD -c -g -D_DEBUG -Wall -DDBUS_API_SUBJECT_TO_CHANGE -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/hal -DHAS_PULSEAUDIO -D_LINUX -D_FILE_DEFINED -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DINSTALL_PATH="\"/usr/local/share/xbmc\"" -DHAS_SDL_JOYSTICK -DHAS_XRANDR -DHAS_PCRE -D'SVN_REV="17778"' -DDLL_PATH_LIBCURL="\"/usr/lib64/libcurl.so\"" -I. -I../ -I../linux -I../../guilib CDDAReader.cpp -o CDDAReader.o
make[1]: *** [GUIVideoControl.o] Error 1
make[1]: Leaving directory `/home/corey/Applications/xbmc-vdpau/XBMC/guilib'
make: *** [guilib] Error 2
make: *** Waiting for unfinished jobs....
g++ -MD -c -g -D_DEBUG -Wall -DDBUS_API_SUBJECT_TO_CHANGE -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/hal -DHAS_PULSEAUDIO -D_LINUX -D_FILE_DEFINED -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DINSTALL_PATH="\"/usr/local/share/xbmc\"" -DHAS_SDL_JOYSTICK -DHAS_XRANDR -DHAS_PCRE -D'SVN_REV="17778"' -DDLL_PATH_LIBCURL="\"/usr/lib64/libcurl.so\"" -I. -I../ -I../linux -I../../guilib Encoder.cpp -o Encoder.o
In file included from cores/VideoRenderers/LinuxRendererGL.h:16,
from cores/VideoRenderers/RenderManager.h:25,
from Application.cpp:89:
cores/VideoRenderers/../ffmpeg/vdpau.h:67: error: ‘VdpVideoSurface’ does not name a type
cores/VideoRenderers/../ffmpeg/vdpau.h:73: error: ‘VdpPictureInfoH264’ does not name a type
cores/VideoRenderers/../ffmpeg/vdpau.h:74: error: ‘VdpPictureInfoMPEG1Or2’ does not name a type
cores/VideoRenderers/../ffmpeg/vdpau.h:75: error: ‘VdpPictureInfoVC1’ does not name a type
cores/VideoRenderers/../ffmpeg/vdpau.h:81: error: ISO C++ forbids declaration of ‘VdpBitstreamBuffer’ with no type
cores/VideoRenderers/../ffmpeg/vdpau.h:81: error: expected ‘;’ before ‘*’ token
In file included from ../cores/VideoRenderers/LinuxRendererGL.h:16,
from ../cores/VideoRenderers/RenderManager.h:25,
from dvdplayer/DVDPlayerVideo.h:31,
from dvdplayer/DVDPlayer.h:32,
from PlayerCoreFactory.cpp:25:
../cores/VideoRenderers/../ffmpeg/vdpau.h:67: error: ‘VdpVideoSurface’ does not name a type
../cores/VideoRenderers/../ffmpeg/vdpau.h:73: error: ‘VdpPictureInfoH264’ does not name a type
../cores/VideoRenderers/../ffmpeg/vdpau.h:74: error: ‘VdpPictureInfoMPEG1Or2’ does not name a type
../cores/VideoRenderers/../ffmpeg/vdpau.h:75: error: ‘VdpPictureInfoVC1’ does not name a type
../cores/VideoRenderers/../ffmpeg/vdpau.h:81: error: ISO C++ forbids declaration of ‘VdpBitstreamBuffer’ with no type
../cores/VideoRenderers/../ffmpeg/vdpau.h:81: error: expected ‘;’ before ‘*’ token
g++ -MD -c -g -D_DEBUG -Wall -DDBUS_API_SUBJECT_TO_CHANGE -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/hal -DHAS_PULSEAUDIO -D_LINUX -D_FILE_DEFINED -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DINSTALL_PATH="\"/usr/local/share/xbmc\"" -DHAS_SDL_JOYSTICK -DHAS_XRANDR -DHAS_PCRE -D'SVN_REV="17778"' -DDLL_PATH_LIBCURL="\"/usr/lib64/libcurl.so\"" -I. -I../../ -I../../linux -I../../../guilib -I../../utils -I../dvdplayer -I.. ALSADirectSound.cpp -o ALSADirectSound.o
make[1]: *** [PlayerCoreFactory.o] Error 1
<snip>

Sorry for the length. Theres more than this, but this is all i could fit in a post.
find quote
motd2k Offline
Team-XBMC Developer
Posts: 666
Joined: Dec 2008
Reputation: 0
Location: England
Post: #33
PHP Code:
../cores/VideoRenderers/../ffmpeg/vdpau.h:47:25errorvdpau/vdpau.hNo such file or directory 
../cores/VideoRenderers/../ffmpeg/vdpau.h:48:29errorvdpau/vdpau_x11.hNo such file or directory 

the compiler cant see your vdpau headers. How did you install 180.29? does the /usr/include/vdpau folder exist?
find quote
cquilliam Offline
Junior Member
Posts: 27
Joined: Feb 2009
Reputation: 0
Post: #34
motd2k Wrote:
PHP Code:
../cores/VideoRenderers/../ffmpeg/vdpau.h:47:25errorvdpau/vdpau.hNo such file or directory 
../cores/VideoRenderers/../ffmpeg/vdpau.h:48:29errorvdpau/vdpau_x11.hNo such file or directory 

the compiler cant see your vdpau headers. How did you install 180.29? does the /usr/include/vdpau folder exist?

I'm not sure if its like this in intrepid, but I just realized that Jaunty has nvidia-180-libvdpau and nvidia-180-libvdpau-dev packages. I didn't have the -dev package installed. So, I installed it and that did the trick.


Update: Compiled fine, but when playing an mkv file, just audio, no video. Downloaded and compiled mplayer with vdpau patch to test, and that works fine.

Further Update: Wiped the source tree out and re-started from scratch, works great now. Watched my CPU usage, and didn't move at all when going to play the video. Looks great. Only one small issue, when I press "Play" on my MCE remote, which would normally bring up cpu usage and stuff on screen, seg faults XBMC. Oh well.
(This post was last modified: 2009-02-17 04:08 by cquilliam.)
find quote
BLKMGK Offline
Member+
Posts: 1,634
Joined: Jul 2006
Reputation: 3
Location: USA Virginia
Post: #35
Interested in doing this. However EnvyNG for 8.10 appears not updated in ages. The NVIDIA install instructions appear somewhat dire to include killing X\removing piles of files and the repo for 8.10 looks like it has 180 vs 180.29.

So, what are folks doing to get the latest NVIDIA drivers onboard smoothly? From the looks of the TRAC these changes are moving into mainstream code and I'd love to play with them on my machine!

Ubuntu 10.10, MCE USB receiver, ASROCK 330 (ION), DVDs fed from unRAID cataloged by DVD Profiler. HD-DVD encoding Added DiNovo Mini KBRD w/track
find quote
jayboi Offline
Junior Member
Posts: 12
Joined: Feb 2009
Reputation: 0
Post: #36
BLKMGK Wrote:Interested in doing this. However EnvyNG for 8.10 appears not updated in ages. The NVIDIA install instructions appear somewhat dire to include killing X\removing piles of files and the repo for 8.10 looks like it has 180 vs 180.29.

So, what are folks doing to get the latest NVIDIA drivers onboard smoothly? From the looks of the TRAC these changes are moving into mainstream code and I'd love to play with them on my machine!

In my case, I'm running jaunty, so the version in the repos is 180.29. When I was using intrepid, I just ran the vanilla nvidia installer and that was ok. I've been running jaunty on my main htpc for a couple months and it's stable enough for me. Last week I upgraded my server/htpc for the office and bedroom (multi-seat X) and it's been smooth sailing.
find quote
olympia Offline
Team-XBMC Member
Posts: 2,398
Joined: May 2008
Reputation: 31
Post: #37
BLKMGK Wrote:So, what are folks doing to get the latest NVIDIA drivers onboard smoothly?

http://wiki.xbmc.org/?title=HOW-TO:_Inst...deo_driver
find quote
rodalpho Offline
Fan
Posts: 549
Joined: Nov 2006
Reputation: 16
Post: #38
Actually, no. Those instructions are wildly inadequate. Steps are:

1) deactivate ubuntu's version of the proprietary nvidia 170.x drivers under system|administration|hardware drivers
2) sudo nvidia-uninstall (This step can possibly be skipped; I needed it as I skipped step 1 my first try. Step1 is definitely mandatory.)
3) from a shell prompt (ssh into your box or go to a VT from the console via ctrl-alt-F2), run
sudo /etc/init.d/gdm stop
to kill X
4) from that same shell prompt,
sudo sh nvidiawhatever.run
to install the new drivers
5) sudo shutdown -r now
to reboot

(feel free to put this in the wiki, if you want)
(This post was last modified: 2009-02-17 07:42 by rodalpho.)
find quote
theuni Offline
Team-XBMC Communication Manager
Posts: 1,091
Joined: Oct 2007
Reputation: 2
Location: Atlanta, Ga, USA
Post: #39
why reboot?

Just modprobe -r nvidia then modprobe nvidia.

This isn't windows you know... Wink

TheUni
find quote
natethomas Online
Team-XBMC Community Manager
Posts: 2,874
Joined: Apr 2008
Reputation: 53
Post: #40
The past two posts are the reason I believe I will never be able to conquer my fear of linux long enough to get something like this to work.

A) What is "nvidiawhatever.run"?

B) what does "modprobe" mean?
find quote
Post Reply