Nvidia Jetson Nano, superfast Kodi device?
#31
(2020-07-23, 16:46)hashtag Wrote:
(2020-07-23, 14:04)noggin Wrote: Are you able to advise a bit more on build process - particularly what CMake configuration you used (GL vs GLES, X11 vs Wayland vs GBM etc.)

Also how do you build/install libshairport?

Hi, thanks for giving it a try!

Jetson only have GLES support, and this particular rendered is for X11. I haven't tried GBM yet. CMake settings I used: 

Code:

-DCORE_PLATFORM_NAME=x11 -DX11_RENDER_SYSTEM=gles -DENABLE_INTERNAL_FFMPEG=ON -DENABLE_INTERNAL_FLATBUFFERS=ON -DENABLE_INTERNAL_FMT=ON -DENABLE_V4L2=ON -DENABLE_NVBUFFER=ON 

I installed most of dependencies from APT repository following Kodi guide. As per libshairport - you can install it also from APT. However, i think you had libshairplay on your mind.
I don't have it installed, and build works fine without it. You can try compile it from source.

There is a way, how Kodi build system compiles it. Seems like straight forward ./configure && make && make install process.

Thanks - yep - was confusing the two shair- things. I'd taken a punt on GLES and X11 - but may not have used the other flags.  Will try your cmake. I currently have mine building with guesses.
Reply
#32
(2020-07-23, 17:45)noggin Wrote: Thanks - yep - was confusing the two shair- things. I'd taken a punt on GLES and X11 - but may not have used the other flags.  Will try your cmake. I currently have mine building with guesses.

If it found V4L2 and NVBUFFER on your system, you good to go (you can check with your CMakeCache.txt). I have to create new platform configuration for it, as current setup screws regular Linux build (not good). Ideally, it has to be -DCORE_PLATFORM_NAME=tegra or something. I did it as it was fastest way to re-configure it in way I needed.

Let me know how it goes.
Reply
#33
(2020-07-23, 18:02)hashtag Wrote:
(2020-07-23, 17:45)noggin Wrote: Thanks - yep - was confusing the two shair- things. I'd taken a punt on GLES and X11 - but may not have used the other flags.  Will try your cmake. I currently have mine building with guesses.

If it found V4L2 and NVBUFFER on your system, you good to go (you can check with your CMakeCache.txt). I have to create new platform configuration for it, as current setup screws regular Linux build (not good). Ideally, it has to be -DCORE_PLATFORM_NAME=tegra or something. I did it as it was fastest way to re-configure it in way I needed.

Let me know how it goes.

Both my first attempt and my attempt with your Cmake lines compiled fully - but there doesn't seem to be any hardware acceleration that I can see?

720p50 h.264 b-bit, 1080i25 h.264 8-bit and 1080p25 h.265 10-bit (SDR) stuff all plays with software decoding by the look of it?  

Do I need to somehow enable ffmpeg hardware acceleration ?
Reply
#34
(2020-07-23, 21:10)noggin Wrote: Both my first attempt and my attempt with your Cmake lines compiled fully - but there doesn't seem to be any hardware acceleration that I can see?

720p50 h.264 b-bit, 1080i25 h.264 8-bit and 1080p25 h.265 10-bit (SDR) stuff all plays with software decoding by the look of it?  

Do I need to somehow enable ffmpeg hardware acceleration ?

Check, if you actually build correct branch.

Code:

# git status
On branch feature/tegra-support
Your branch is up to date with 'origin/feature/tegra-support'.

nothing to commit, working tree clean

Git remote should point to my fork;
Code:

If it is not a case: checkout it as

Code:

# git checkout feature/tegra-support
Reply
#35
You can also try compiled binary from my Jetson. I uploaded it here here.

Jetson seems also have docker onboard with NVidia runtime. I am trying to get the build via docker, so it easy to share.
Reply
#36
Same binaries in deb format package, if it makes it easier. Uploaded here.
But be ware, it is not official package build, so it has no dependencies or anything. Just to save time on re-compiling Smile  Build took me hours and hours.
Reply
#37
Cheers hashtag - will have a look. I've almost certainly just cloned and built the default branch in the repo rather than checking for alternatives.  And you're right - it does take a while to build!  Thanks for the .deb - will try installing that a little bit later today.

**EDIT - as you predicted I'd downloaded the master branch, not your Tegra one.  Downloaded that now and compiling.  The .deb complained of an error when I tried installing with dpkg -i though that may be because of something I've done or because it should be installed differently as it doesn't have dependencies with it? **
Reply
#38
OK - that worked!  Compiling from your Jetson branch and I get hw acceleration on 720p50 h.264 8-bit, 1080i25 h.264 8-bit and 1080p25 h.265 10-bit and 576p50 h.265 8-bit.

However playing a BBC One HD Freeview HD off-air recording (which use dynamic encoder switching between 1080p25 and 1080i25 h.264 on-the-fly) I got a segfault crash after a few seconds.  Other content plays fine.

Let me know what logs are useful and I'll see if I can repeat.

Nice to see refresh rate switching and whitelisting seem to work.
Reply
#39
(2020-07-24, 12:43)noggin Wrote: OK - that worked!  Compiling from your Jetson branch and I get hw acceleration on 720p50 h.264 8-bit, 1080i25 h.264 8-bit and 1080p25 h.265 10-bit and 576p50 h.265 8-bit.

However playing a BBC One HD Freeview HD off-air recording (which use dynamic encoder switching between 1080p25 and 1080i25 h.264 on-the-fly) I got a segfault crash after a few seconds.  Other content plays fine.

Let me know what logs are useful and I'll see if I can repeat.

Nice to see refresh rate switching and whitelisting seem to work.

Nice! Good to hear you got it working.

Good catch! Encoder doesn't have dynamic codec switching implemented, it is something I have to look at. Also HDR is still in progress. As of now it support continuous streams H264, H265, VP8 and VP9 (i tested on Twitch.  Yesterday, I also was able to get ATMOS, TrueHD, DTS:X pass-though  working on it.

It would be helpful, if you can describe the way to reproduce, I'll take a look on weekends. Kodi-crash log from the home dir and from ~/.kodi/temp/kodi.log.
Reply
#40
(2020-07-24, 16:21)hashtag Wrote:
(2020-07-24, 12:43)noggin Wrote: OK - that worked!  Compiling from your Jetson branch and I get hw acceleration on 720p50 h.264 8-bit, 1080i25 h.264 8-bit and 1080p25 h.265 10-bit and 576p50 h.265 8-bit.

However playing a BBC One HD Freeview HD off-air recording (which use dynamic encoder switching between 1080p25 and 1080i25 h.264 on-the-fly) I got a segfault crash after a few seconds.  Other content plays fine.

Let me know what logs are useful and I'll see if I can repeat.

Nice to see refresh rate switching and whitelisting seem to work.

Nice! Good to hear you got it working.

Good catch! Encoder doesn't have dynamic codec switching implemented, it is something I have to look at. Also HDR is still in progress. As of now it support continuous streams H264, H265, VP8 and VP9 (i tested on Twitch.  Yesterday, I also was able to get ATMOS, TrueHD, DTS:X pass-though  working on it.

It would be helpful, if you can describe the way to reproduce, I'll take a look on weekends. Kodi-crash log from the home dir and from ~/.kodi/temp/kodi.log.

OK - will upload a crash log and a link to a recording that crashes it later today.
Reply
#41
Smile 
Hey!
I'm also very interested in this.
I've tried installing the DEB file, but when running kodi, nothing happens when I play a video ( no matter what format ). It just freezes.
I've tried compiling your version of Kodi, and after ~10 hours of compilation I got an error at the final link.

Following is the link error.
Any help would be greatly appreciated. 

/usr/bin/ld.gold: error: build/addons/addons.a: member at 6113228 is not an ELF object
/usr/bin/ld.gold: error: build/addons/addons.a: member at 6113288 is not an ELF object
/usr/bin/ld.gold: error: build/addons/addons.a: member at 6113348 is not an ELF object
/usr/bin/ld.gold: error: build/addons/addons.a: member at 6113408 is not an ELF object
Reply
#42
(2020-07-27, 17:56)jaj2020 Wrote: Hey!
I'm also very interested in this.
I've tried installing the DEB file, but when running kodi, nothing happens when I play a video ( no matter what format ). It just freezes.
I've tried compiling your version of Kodi, and after ~10 hours of compilation I got an error at the final link.

Following is the link error.
Any help would be greatly appreciated. 

/usr/bin/ld.gold: error: build/addons/addons.a: member at 6113228 is not an ELF object
/usr/bin/ld.gold: error: build/addons/addons.a: member at 6113288 is not an ELF object
/usr/bin/ld.gold: error: build/addons/addons.a: member at 6113348 is not an ELF object
/usr/bin/ld.gold: error: build/addons/addons.a: member at 6113408 is not an ELF object

Hi,

Thanks for joining the testing party Smile Deb fie seems do be totally broken. I am working on building Docker container, so it easy to install. You can wait for it, or you can build from the sources.
Reply
#43
10 hours ? That should not take that long.. Are you compiling with multi-threads ?

(2020-07-27, 20:09)hashtag Wrote: /usr/bin/ld.gold: error: build/addons/addons.a: member at 6113228 is not an ELF object
/usr/bin/ld.gold: error: build/addons/addons.a: member at 6113288 is not an ELF object
/usr/bin/ld.gold: error: build/addons/addons.a: member at 6113348 is not an ELF object
/usr/bin/ld.gold: error: build/addons/addons.a: member at 6113408 is not an ELF object

Seems something went off, while compiling. I've seen something similar while doing distcc compilation, but I assume, you just run make build on bare metal.
Delete this file, and do make -j4 again.
Reply
#44
Good Idea,
I'll try to delete and compile.

Thank you for all your efforts.
I've been looking for something like that since Jetson TK1 went out. 

Jetson's gstreamer is crazy fast and efficient but I never found a way to make Kodi use the gstreamer. 

Would love to see a docker version. Thanks again!
Reply
#45
Well, I did a 'make clean' and then make again and it compiled!
A quick 'sudo make install' and ran kodi...
And still the same. Nothing happens when I play a movie.
The console prints:
Opening in O_NONBLOCKING MODE 
NvMMLiteOpen : Block : BlockType = 261 
NVMEDIA: Reading vendor.tegra.display-size : status: 6 
NvMMLiteBlockCreate : Block : BlockType = 261 

and nothing changes.
Reply



Logout Mark Read Team Forum Stats Members Help
Nvidia Jetson Nano, superfast Kodi device?0
This forum uses Lukasz Tkacz MyBB addons.