Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update solarus and add mercuris chess #2453

Open
wants to merge 7 commits into
base: master
from

Conversation

Projects
None yet
3 participants
@JyuHo
Copy link
Contributor

commented Aug 7, 2018

Add splashscreen for TinkerBoard work correctly

JyuHo added some commits Aug 7, 2018

Update solarus.sh
Update all ports and add mercuris chess
addPort "$md_id" "zsdx" "Solarus Engine - Zelda Mystery of Solarus DX" "LD_LIBRARY_PATH=$md_inst/lib $md_inst/bin/solarus_run $md_inst/share/solarus/zsdx/"
addPort "$md_id" "zsxd" "Solarus Engine - Zelda Mystery of Solarus XD" "LD_LIBRARY_PATH=$md_inst/lib $md_inst/bin/solarus_run $md_inst/share/solarus/zsxd/"
addPort "$md_id" "zelda_roth_se" "Solarus Engine - Zelda Return of the Hylian SE" "LD_LIBRARY_PATH=$md_inst/lib $md_inst/bin/solarus_run $md_inst/share/solarus/zelda_roth_se/"
addPort "$md_id" "zsdx" "Solarus Engine - Zelda Mystery of Solarus DX" "LD_LIBRARY_PATH=/usr/lib $md_inst/bin/solarus-run $md_inst/share/solarus/zsdx/"

This comment has been minimized.

Copy link
@joolswills

joolswills Aug 8, 2018

Member

wrong indent

if isPlatform "tinker"; then
sudo mv /opt/retropie/port/solarus/lib/arm-linux-gnueabihf/* /usr/lib/arm-linux-gnueabihf/
sudo rm -rf /opt/retropie/port/solarus/lib/arm-linux-gnueabihf
ln -sf /usr/lib/arm-linux-gnueabihf/libsolarus.so "$md_inst/lib/libsolarus.so"

This comment has been minimized.

Copy link
@joolswills

joolswills Aug 8, 2018

Member

wrong indent

This comment has been minimized.

Copy link
@joolswills

joolswills Aug 8, 2018

Member

I don't like this library code, should be doable using LD_LIBRARY_PATH without having to copy or symlink libs.

ln -sf "$md_inst"/lib/*/libsolarus.so "$md_inst/lib"

ln -sf "$md_inst"/lib/*/libsolarus.so "$md_inst/lib"
fi

This comment has been minimized.

Copy link
@joolswills

joolswills Aug 8, 2018

Member

wrong indent.

@joolswills

This comment has been minimized.

Copy link
Member

commented Aug 8, 2018

Some of the indentation is wrong (tabs). Please also squash the related commits - not sure the splashscreen should be done in the same PR, but please provide more information - I doubt it's fully working on tinker just by enabling it?

@joolswills joolswills closed this Aug 8, 2018

@joolswills joolswills reopened this Aug 8, 2018

@JyuHo

This comment has been minimized.

Copy link
Contributor Author

commented Aug 8, 2018

For splashscreen, I just activated it and installed it with Retropie-Setup and it work correctly under Armbian.
I make the correction tonight for indent in solarus.sh

@joolswills

This comment has been minimized.

Copy link
Member

commented Aug 8, 2018

Let's leave the splashscreen for now - I am going to retest a bunch of stuff on Armbian rather than the image that the tinker website has, as I ran into a few issues with some things on the older linaro image.

@joolswills

This comment has been minimized.

Copy link
Member

commented Aug 8, 2018

also some aspects are unlikely to work like the video splash stuff as that uses omxplayer, so I would make further changes depending if enabling for other platforms than the rpi.

@JyuHo

This comment has been minimized.

Copy link
Contributor Author

commented Aug 8, 2018

@joolswills

This comment has been minimized.

Copy link
Member

commented Aug 8, 2018

there are still other changes needed in that case, as I will need to for example force the tinker support for Armbian, or disable stuff on other OS versions.

@JyuHo

This comment has been minimized.

Copy link
Contributor Author

commented Aug 8, 2018

JyuHo added some commits Aug 8, 2018

Update solarus.sh
fixe indent
@JyuHo

This comment has been minimized.

Copy link
Contributor Author

commented Aug 8, 2018

Normally indent are good now.
I work tonight on splashscreen and give you returns

@joolswills

This comment has been minimized.

Copy link
Member

commented Aug 8, 2018

Thanks. Please leave the splashscreen for now as I would like to look into that first.

@JyuHo

This comment has been minimized.

Copy link
Contributor Author

commented Aug 8, 2018

@JyuHo

This comment has been minimized.

Copy link
Contributor Author

commented Aug 8, 2018

ok splashscreen.sh is now same as master

else
# symlink the library so it can be found on all platforms
ln -sf "$md_inst"/lib/*/libsolarus.so "$md_inst/lib"
fi

This comment has been minimized.

Copy link
@joolswills

joolswills Aug 12, 2018

Member

we use 4 spaces indent.

I would prefer a solution that doesn't require symlinking to the /usr/lib location also. Can't accept this as is sorry.


# symlink the library so it can be found on all platforms
ln -sf "$md_inst"/lib/*/libsolarus.so "$md_inst/lib"
addPort "$md_id" "zsdx" "Solarus Engine - Zelda Mystery of Solarus DX" "LD_LIBRARY_PATH=/usr/lib $md_inst/bin/solarus-run $md_inst/share/solarus/zsdx/"

This comment has been minimized.

Copy link
@joolswills

joolswills Aug 12, 2018

Member

wrong indent.

@joolswills

This comment has been minimized.

Copy link
Member

commented Aug 12, 2018

I will accept an update to the versions we install but don't want the symlink solution presented here. There should be another way to do it.

@ucenna ucenna referenced this pull request Sep 9, 2018

Closed

Solarus update to 1.5.3 #2481

Update 02_tinker_options.diff
update diff for tinker
@hhromic

This comment has been minimized.

Copy link
Contributor

commented Apr 10, 2019

@joolswills @JyuHo @ucenna
I decided to update and improve the scriptmodule for Solarus. I solved the library linking issue by leveraging the RPATH replacement feature of cmake, similar to how I did it for Moonlight. In summary, the library gets installed privately in /opt/retropie/ports/solarus/lib and the binary is configured on installation by cmake to look in that folder directly. No need to use an LD_LIBRARY_PATH env variable and should be platform independent.

Work done so far and tested working:

  • Official repositories (engine/games) moved to GitLab
  • Bumped to latest engine version
  • Separated building of engine and installation of games
  • Use make install with RPATH replacement for proper dynamic library linking
  • Games no longer need to be "built", just downloaded (.solarus files)
  • Added new game: The Legend of Zelda DX2: Mercuris Chess

Things I want to improve and are in progress:

  • Easy way to start in fullscreen mode (probably I will submit a -fullscreen flag upstream)
  • Disable default error reporting to error.txt file (probably I will submit some option upstream)
  • Better configuration of the gamepad (probably by using this database)
  • Find a way to bind a gamepad button to Quit the engine, i.e. couch-friendly

The branch with this work is here: master...hhromic:solarus

@hhromic

This comment has been minimized.

Copy link
Contributor

commented May 10, 2019

Quick update: we finally managed to make the new Solarus 1.6 GlRenderer work on RPI using GLES2.
However, at the moment this renderer is a bit too slow. We will try to improve that soon. Also there are some more minor things to iron-out such as proper detection of the userland GL libraries in /opt/vc.

All in all things are moving forward for Solarus on RetroPie, the upstream devs are very interested on this to happen, specially because new games are being developed for this engine.

The scriptmodule will be still delayed until all is properly sorted out.

@hhromic

This comment has been minimized.

Copy link
Contributor

commented May 15, 2019

Quick Update: we finally managed to make the GlRenderer with GLES2 work smoothly, i.e. solid 60fps!
Also the libraries are being correctly used in the build process. The disabling of the redundant errors.txt file for errors is also under merge-request. We are getting there for a nice RetroPie integration :)

@joolswills

This comment has been minimized.

Copy link
Member

commented May 15, 2019

Nice one. Cheers

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.