Req Nintendo Switch Port
#1
Hi not sure if this is the right place to ask but I was wondering if kodi will ever be ported to the switch, Doesn't have to be official since the switch homebrew community has picked up quite a lot
Reply
#2
Its a closed source with bits of FreeBSD, Android and some proprietary API's - so its not likely

If somebody manages to get full Android working on a switch, then its likely Kodi would work, if else Nintendo could ship a browser on the device and you could use Plex
Reply
#3
there are fully foss libraries which have been developed for homebrew. Also has an opengl library now aswell
Reply
#4
(2018-10-30, 19:29)Kannalo Wrote: there are fully foss libraries which have been developed for homebrew. Also has an opengl library now aswell
 Yes, there is even an official port of RetroArch for jailbroken Nintendo Switch which can run as homebrew with full-blown OpenGL support:

https://www.libretro.com/index.php/retro...h-version/

https://www.libretro.com/index.php/category/switch/

https://switchbrew.org/wiki/Homebrew_Applications

https://www.imore.com/nintendo-switch-ja...-need-know
Reply
#5
https://github.com/garbear/xbmc/tree/switch-dev

No idea what the state of this is
Reply
#6
uwu nice, last commit was 19 days ago so could be abandoned ;-;
Reply
#7
That's outdated, WIP branch is here: https://github.com/VelocityRa/xbmc/tree/switch
(the commit might say 26 days ago, but it's more like 5 days ago, since I force-push)

garbear helped with some build stuff early on (which I'm thankful for), but it's pretty much just me working on it.

Unfortunately I've run into an issue that's quite hard to debug so the project is on hold.

It's nice to see interest and I haven't given up completely on it yet, but it's still hard to bring myself to spend more time on this, it's obviously all in my free time and there's just lots more exciting stuff to do than debugging weird linker errors and having to mess around with autotools to build on Switch the shitton of projects that Kodi depends on.
I knew this would be a build-heavy project of course, but after tens of hours spent and pretty much zero actual programming (read: interesting) work, I'm kind of discouraged.

If I do find a solution for this particular issue I will continue grinding through, however.

Edit: Apparently I can get away with not building the dependency that I faced issues with, for now. So I'll keep working on it as time allows.
Mostly working on Retroplayer graphics.
GitHub: github.com/VelocityRa
Reply
#8
Keep it up! Kodi is exactly what the switch homebrew scene needs right now.
Image
Reply
#9
(2018-11-03, 23:17)velocity Wrote: That's outdated, WIP branch is here: https://github.com/VelocityRa/xbmc/tree/switch
(the commit might say 26 days ago, but it's more like 5 days ago, since I force-push)

garbear helped with some build stuff early on (which I'm thankful for), but it's pretty much just me working on it.

Unfortunately I've run into an issue that's quite hard to debug so the project is on hold.

It's nice to see interest and I haven't given up completely on it yet, but it's still hard to bring myself to spend more time on this, it's obviously all in my free time and there's just lots more exciting stuff to do than debugging weird linker errors and having to mess around with autotools to build on Switch the shitton of projects that Kodi depends on.
I knew this would be a build-heavy project of course, but after tens of hours spent and pretty much zero actual programming (read: interesting) work, I'm kind of discouraged.

If I do find a solution for this particular issue I will continue grinding through, however.

Edit: Apparently I can get away with not building the dependency that I faced issues with, for now. So I'll keep working on it as time allows.
 Porting is always several months getting depends sorted out Smile Without a good depends, forget about tackling the main code base. Waste of time.

iOS took about four months and resulted in the creation of the depends build structure. The current build structure has it's roots from that effort.
There was just no way to handle all the quirks and exceptions needed to get 25+ dependent libs to cross-build correctly.

Android took about six months to get depends sorted out because the large differences in their libc that had to be 'fixed'. During this time, the depends build struct was refactored to handle different platforms, iOS, tvOS, OSX and Android in both 32 and 64 bit flavors.

For a port to be successful, you need GL/GLES support and hardware video decode. Without hardware video decode, any port is useless. That's what stalled the iOS/ATV2 porting for so long. There's no platform except desktop that has the ponies to software video decode the formats that are of interest.

Good luck, I've been one of the main drivers in porting xbmc/kodi to iOS/tvOS and Android was well as a few other platforms that never saw the light of day. It's not trivial Smile Be prepared for many rinse/repeat cycles and long, long nights of no forward progress.
Reply
#10
(2018-11-04, 17:07)davilla Wrote: Porting is always several months getting depends sorted out Smile 
Well, that definitely makes me feel better that this is taking so long. I've only had garbear's Steam Link port to compare it with (which isn't a fair comparison obviously).
(2018-11-04, 17:07)davilla Wrote: Without a good depends, forget about tackling the main code base. Waste of time.
Hm, well yesterday I decided to only build the required dependencies for now. I should have probably done that from the start, because if I hit a major roadblock, then it'd all be for nothing.
So I only have 4 deps left, libdvd stuff and another one (required dependencies, minus the ones devkitPro already offers as portlibs, minus the ones that I've already gotten to build).
(2018-11-04, 17:07)davilla Wrote: For a port to be successful, you need GL/GLES support and hardware video decode.
Switch has OpenGL support, the libnx guys wrote a mesa/nouveau driver a couple of months ago.
(2018-11-04, 17:07)davilla Wrote: Without hardware video decode, any port is useless. That's what stalled the iOS/ATV2 porting for so long. There's no platform except desktop that has the ponies to software video decode the formats that are of interest.
We discussed this at DevCon, consensus was that Switch's Tegra X1 is quite capable and should be able to do 1080p H.264 decoding. Also ffmpeg is ported and also available as a portlib, so that's no issue.

About hardware support, I've asked around and people in the Switch scene are actively reversing its Nvidia NVDEC implementation (version differs from the disclosed public API) so actual hardware decoding should also be possible, eventually.
(2018-11-04, 17:07)davilla Wrote: Good luck, I've been one of the main drivers in porting xbmc/kodi to iOS/tvOS and Android was well as a few other platforms that never saw the light of day. It's not trivial Smile Be prepared for many rinse/repeat cycles and long, long nights of no forward progress.
Thanks for the advice!
Mostly working on Retroplayer graphics.
GitHub: github.com/VelocityRa
Reply
#11
Another bit of advise, drop any optionals (like libdvd) that are being twitchy. Concentrate on the required libs 1st, then circle back for the remaining.

There are a few libs that are always a pin in the ass Smile libdvd is one, python, openssl and a few others. ffmpeg of course Smile
Reply
#12
Yup, that's what I'm doing now, as I mentioned. Should have done so from the beginning :p

Amen about Python being a PITA, I think I was at about 10 patches before it actually built...
I thought libdvd was required? It's listed here.
And yea apart from 3 libdvd ones, the other one is openssl, though I haven't tried anything with it yet.
Thankfully won't have to do ffmpeg.
Mostly working on Retroplayer graphics.
GitHub: github.com/VelocityRa
Reply
#13
Well, libdvd was optional in core at one time. I guess the current aversion to #ifdefs killed that off.

libdvd can be such a pain that I've (MrMC) moved it into core and cleaned up its bad behavior... Upstream is dead for it, or on life support.
Reply
#14
@velocity I just made an account to tell you that I would LOVE to have Kodi on the Switch (mainly for Netflix, but there are other of addons I use frequently)! Keep up the good work!
Reply
#15
Hello developers! This is iriez from xbins. As im sure all of you know, Kodi was originally XBMC, the Xbox Media Center application. When it was first released, and then for the next 10 years or so, it was a questionably grey area situation to distribute those XBMC binaries due to being created with the Microsoft XDK without license.

xbins was there to support you then, absorbing the risk to distribute this application and to help launch what will become the most widely used media software for set top boxes.

We are here to support you now too, if you need it in any way. But for the moment this post is just to offer encouragement of development for the Nintendo Switch port. The Switch is arguably the most feature rich and advanced portable console of all time, allowing users to take this wonderful computing device on the go anywhere with them. With the screen size so large for a portable device, it makes it also the ultimate portable media device.

Thanks for taking the challenge Nick, and putting the work in.
Reply

Logout Mark Read Team Forum Stats Members Help
Nintendo Switch Port0