Freeplaytech Forum

Full Version: freeplay with lakka
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3
Does anybody have any experience they are willing to share with getting Lakka to boot? 

I've gotten retropie to boot (so I know everything works) but I just don't like emulation station and would prefer to use Lakka--or at least retroarch instead of emulationstation.

I've tried Lakka's default files in the boot parition, adding in the dtoverlay and dtparam lines and I've modified Lakka's cmdline.txt and even tried copying over everything verbatim from the freeplay image, but nothing seems to work. 

I have not been able to test hdmi out yet, because my microHDMI adapter will arrive tomorrow.
Have you looked at any of this yet?  I have posted it https://forum.freeplaytech.com/showthrea...89#pid6489, but that thread is about RecalBox.


Quote:Here are the manual instructions and notes that I keep.
https://drive.google.com/drive/u/0/folde...WVoNzNxeVE
There are 3 git repositories, and each of them has a install.sh script. You could just try to git clone each and then run their install.sh scripts.
https://github.com/TheFlav/Freeplay-Support
https://github.com/TheFlav/mk_arcade_joystick_rpi
https://github.com/TheFlav/rpi-fbcp
hey, I hadn't seen that yet. I've already done the config.txt step. I tried the first few steps, until the init script, which won't work on lakka. But still just a white screen, nothing else.

I remember reading about Lakka not working on multiple displays. So I also tried hdmi_force_hotplug=0, but that doesn't do anything either.
so lakka is built on libreELEC, so it's preeetty hardened with squashfs, and I haven't the slightest idea how to work with squashfs (even after asking google), so I'm working around it.

I've found: http://ryepup.unwashedmeme.com/blog/2014...-openelec/ which is for getting gpio and wiringpgi libs on openelec.

I copied over the following libs (unfortunately I learned the hard way that I also need need libconfig):
Code:
/storage/lib/libconfig.so
/storage/lib/libconfig.so.9
/storage/lib/libconfig.so.9.1.3
/storage/lib/libwiringPi.so
/storage/lib/libwiringPi.so.2.44
/storage/lib/libwiringPiDev.so
/storage/lib/libwiringPiDev.so.2.44


then run fbcp.sh:
Code:
Lakka:~/ # ./.config/Freeplay/fbcp.sh
./.config/Freeplay/fbcp.sh: .: line 23: can't open '/lib/init/vars.sh'


but if I run Freeplay-fbcp directly,

Code:
Lakka:~/ # export PATH=$PATH:/storage/bin
Lakka:~/ # Freeplay-fbcp
Freeplay-fbcp: error while loading shared libraries: libwiringPi.so: cannot open shared object file: No such file or directory
Lakka:~/ # export LD_LIBRARY_PATH=/storage/lib:$LD_LIBRARY_PATH
Lakka:~/ # Freeplay-fbcp

(null):0 - file I/O errorLakka:~ # 

that's all I got for the screen.

I'd like to test the gpio, but I don't know what to do for that.  running gpio directly just gives me a commands overview.  Am I going to need to install the kernel extension for that? Or can I test it-or even launch it, using openelec's autostart.sh? (basically their init)
Yeah, Lakka seems much more involved than installing an SD image onto the Pi. Our software is built for RetroPie (Raspbian), and I don't know much about the Lakka OS and how it differs.

It certainly seems like fbcp can't load libwiringPi.so

Did you build https://github.com/TheFlav/rpi-fbcp from source, or dig you just grab the Freeplay-fbcp executable from our SD image?
Lakka is just retroarch on top of libreELEC. LibreELEC forgoes the niceties of typical raspbian (build tools, being able to install stuff, etc) for stability. And what I love the most (and hate) about Lakka, is the squashfs, basically the OS is always only mounted readonly. You cannot make changes to it, which means you don't have to worry about abrupt shutdowns. You can cut power at any point--as long as you're not saving something, and not fear about data corruption. Of course I love retroarch's XMB as well.

I did not build rpi-fbcp from source, is libreELEC doesn't have any build tools (not even apt), and just copied everything over from the retropie build--which typically works. I did compile a joycon driver on raspbian and moved it over to Lakka and was able to run it without a problem. So the executables should be fine.

One of the Lakka developers did make the Gamegirl (https://github.com/davidperrenoud/Gamegi...r/Software), implimenting gpio display and wiringPi, so it is dooable, but I think he worked with squashfs and integrating everything into the base system, rather than working around it (like I am). Unfortunately, that project seems to have dried up, with everything I'm finding being a year old.
I'm trying your tutorial with a plain raspbian image as a start. I'd recommend adding an "apt install git libconfig++-dev" to your list, because libconfig and git aren't installed by default in raspbian lite.
Thanks Nymunariya. I added it to my notes section for now.
cmake needs to be installed as well on raspbian lite
Code:
pi@freeplay:~/Freeplay $ cd rpi-fbcp/
pi@freeplay:~/Freeplay/rpi-fbcp $ mkdir build
pi@freeplay:~/Freeplay/rpi-fbcp $ cd build
pi@freeplay:~/Freeplay/rpi-fbcp/build $ cmake ..
-- The C compiler identification is GNU 6.3.0
-- The CXX compiler identification is GNU 6.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: /home/pi/Freeplay/rpi-fbcp/build
pi@freeplay:~/Freeplay/rpi-fbcp/build $ make
Scanning dependencies of target Freeplay-fbcp
[ 50%] Building C object CMakeFiles/Freeplay-fbcp.dir/main.c.o
/home/pi/Freeplay/rpi-fbcp/main.c: In function ‘main’:
/home/pi/Freeplay/rpi-fbcp/main.c:381:9: warning: implicit declaration of function ‘ioctl’ [-Wimplicit-function-declaration]
    if (ioctl(fbfd, FBIOGET_FSCREENINFO, &finfo)) {
        ^~~~~
/home/pi/Freeplay/rpi-fbcp/main.c:538:25: warning: passing argument 1 of ‘copy_screen’ makes integer from pointer without a cast [-Wint-conversion]
            copy_screen(NULL,NULL);
                        ^~~~
/home/pi/Freeplay/rpi-fbcp/main.c:305:6: note: expected ‘DISPMANX_UPDATE_HANDLE_T {aka unsigned int}’ but argument is of type ‘void *’
void copy_screen(DISPMANX_UPDATE_HANDLE_T handle, void* arg) {
     ^~~~~~~~~~~
/home/pi/Freeplay/rpi-fbcp/main.c:587:5: warning: ‘return’ with no value, in function returning non-void
    return;
    ^~~~~~
/home/pi/Freeplay/rpi-fbcp/main.c:330:5: note: declared here
int main(int argc, char **argv) {
    ^~~~
[100%] Linking C executable Freeplay-fbcp
[100%] Built target Freeplay-fbcp

can I ignore that?
Pages: 1 2 3