Solved Compilation of binary addons in Linux
#16
I'm still reading about the Game stuff and it's difficult to find good info that are not the specific Retroplayer Builds. There is no emulators on the Game sections of a Leia from the PPA.

Are the libretro addons going to be available on the PPA?

Thanks!
Reply
#17
(2019-01-30, 23:02)Bad_CRC Wrote: I'm still reading about the Game stuff and it's difficult to find good info that are not the specific Retroplayer Builds. There is no emulators on the Game sections of a Leia from the PPA.

Are the libretro addons going to be available on the PPA?

Thanks!

In order to play games you need Kodi Leia 18.0 (or a RC version, not recommended), a gamepad (keyboard doesn't work at the moment), the binary addon game.libretro and one or more libretro cores, which are binary addons. The libretro core binary addons are named game.libretro.*, for example game.libretro.genplus. You also need the addons game.controller.* but you can install those from the Kodi addon manager (they are not binary addons, they are data-only addons and platform independent). You can see a list of the available libretro cores here, look for the game.libretro.* addons.

For some reason, the binary addons in the Team Kodi PPA include the screensavers, audio decoder/encoders, visualizations, but no trace of the game binary addons. I'm sure they are working on packaging them but I cannot tell you when they will be available in the PPA. Note that I am not part of Team Kodi, I am just the developer of the Advanced Launcher addons.

This is the reason I decided to create the Kodi compilation scripts in Linux offered in this thread. Contrary to other operating systems, in Linux you have easy access to the building tools and hence it is relatively simple to get the source code and compile Kodi and the binary addons yourself. In addition, I spend some time writing a good documentation in Github that I will update over time (link in the first post) so any user that wants to use Kodi Leia Retroplayer on Linux can try it in a way as easy as possible.

Once you have at least one libretro core binary addon installed and enabled, then go to the Games section in the Home window and add a directory as a games source. Retroplayer requires uncompressed ROMs (*). After you install a libretro core binary addon, the ROM extensions it supports become available in the games source. For example, if you have the ROM Sonic The Hedgehog.md, after you install the core game.libretro.genplus which supports the extension md, you will be able to see the ROM file in the games source and play it.

Note that game support in Leia has many bugs and unimplemented features. However, the more the number of users the better the bug reports and the devs have more information to get a more polished version in the future.

If you want I can write a more complete tutorial about how to use Retroplayer in Linux.

(*) This is partially true. Some cores support playing ROMs inside ZIP files, others don't. So the safe way is to have all ROMs uncompressed.
Reply
#18
That is what I suspected, I'll wait a bit for the game.libretro to be available on the PPA, my Kodi system is an Atom and compiling things takes a little bit. 

Thanks!
Reply
#19
kodi-game-libretro is now available in the PPAs
Reply
#20
Cool! So no I just have to compile the individual addons for the cores I have?
Reply
#21
yes, most game addons haven't been packaged yet. Any help is welcome
Reply
#22
(2019-01-31, 21:50)Bad_CRC Wrote: Cool! So no I just have to compile the individual addons for the cores I have?
 that's what I'm doing currently.  so far so good.. am running into some problems with Genplus and 'resource.games.libretro.restricted' (ie it's required, but I have no idea where to get it) but other emulators are going ok... took a while to figure out where to put them.

if I knew how to make builds for a PPA, then I'd offer them, but I don't Smile
Reply
#23
@wsnipex Thanks a lot!

@Bad_CRC You can use my scripts to compile the libretro cores. Follow all the steps, just omit the compilation of Kodi and the compilation of the binary addons.

If you use a recent version of Ubuntu use the scripts install-build-dependencies-debian-unstable.sh and configure-kodi-debian-unstable.sh. Then, edit the script build-binary-addons-libretro-cores.sh and select the cores you want to compile. Note that some cores (Mame, ScummVM) take longer than compiling Kodi itself, so be warned. I recommend you compile these cores first:

game.libretro.beetle-bsnes To play SNES ROMs.
game.libretro.beetle-psx To play PSX CDs. Requires BIOS.
game.libretro.fceumm To play NES ROMs.
game.libretro.gambatte To play GameBoy/GambeBoy Color ROMs.
game.libretro.genplus To play Sega - MS/GG/MD/CD. Requires BIOS for the MegaCD.

You will have a reasonable number of platforms to test. Here you have information for all Retroarch cores, extensions they support, BIOS required, etc.

Note that by default the binary addons will be installed in /home/kodi/bin-kodi. If you change the installation directory to /usr/ in configure-kodi-debian-unstable.sh and execute build-binary-addons-libretro-cores.sh as root (you need root permissions to write files in /usr) it may work, but I haven't tested it. If you keep the default directories tonight I can tell you the files you have to copy from /home/kodi/bin-kodi to /usr for each binary addon. In other words, you do all the compilation as a normal user and then just copy as root the required files to /usr.

Note that when you install a binary addon you have to restart Kodi, and the addon is disabled. You go to Settings, Addons, My Addons, and enable the addon before you can use it.
Reply
#24
(2019-01-31, 22:23)raina343 Wrote: am running into some problems with Genplus and 'resource.games.libretro.restricted' (ie it's required, but I have no idea where to get it)

This add-on doesn't exist. Are you building the right branch? If so, a PR to remove the depend would be appreciated.
Reply
#25
it's entirely possible that I'm not Smile  I did a fresh git clone and built off that and used @Wintermute0110 's scripts to build all the addons.  Not sure if I need to checkout a different branch, or do something else, but from what I can deduce, those scripts end up pointing me toward https://github.com/kodi-game/game.libret...o.genplus/ and in the addon.xml.in it shows <import addon="resource.games.libretro.restricted" version="1.0.0" optional="true"/>
Reply
#26
optional="true" means that it shouldn't fail if the add-on isn't found. Is this the case?
Reply
#27
ya, I've come back to this, after having problems with it yesterday, and realised what I thought was the problem, isn't actually the problem.  however it does appear that there are some issues when it comes to loading some types of roms.
some rom images have a .bin file extension (seen with some Genesis/MD roms and PSX roms).  if you try launching these directly it isn't launching these via retroplayer, but rather in VideoPlayer.. which in turn causes the screen to just flash for a second, and it was my initial incorrect assumption that this screen flash was due to this missing 'addon'.  renaming the files with a .smd extension (for Genesis/MD roms, or converting the bin/cue to CHD (for PSX) solved these problems, and allowed the .roms to be launched as expected with Genplus
Reply
#28
(2019-02-02, 07:17)raina343 Wrote: however it does appear that there are some issues when it comes to loading some types of roms.
some rom images have a .bin file extension (seen with some Genesis/MD roms and PSX roms).  if you try launching these directly it isn't launching these via retroplayer, but rather in VideoPlayer.. which in turn causes the screen to just flash for a second, and it was my initial incorrect assumption that this screen flash was due to this missing 'addon'.
The solution to this is rather hidden, but you can find it at the end of this post.

The solution is to not depend on the extension, and inspect the file. I actually started a python library to do this: PyRomInfo

This feature is on the roadmap, but it needs some more work before it's ready. Volunteers are welcome!
Reply
#29
well... if I could help, then I would, but I really don't know what use I could be to be honest Smile
Reply
#30
(2019-02-03, 00:46)garbear Wrote:
(2019-02-02, 07:17)raina343 Wrote: however it does appear that there are some issues when it comes to loading some types of roms.
some rom images have a .bin file extension (seen with some Genesis/MD roms and PSX roms).  if you try launching these directly it isn't launching these via retroplayer, but rather in VideoPlayer.. which in turn causes the screen to just flash for a second, and it was my initial incorrect assumption that this screen flash was due to this missing 'addon'.
The solution to this is rather hidden, but you can find it at the end of this post.

The solution is to not depend on the extension, and inspect the file. I actually started a python library to do this: PyRomInfo

This feature is on the roadmap, but it needs some more work before it's ready. Volunteers are welcome! 
 modifying the Advancedsettings.xml worked like a charm.  thank you for that info.
Reply

Logout Mark Read Team Forum Stats Members Help
Compilation of binary addons in Linux0