-
-
Notifications
You must be signed in to change notification settings - Fork 503
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
DietPi-Software | Amiberry: Add support for Buster and RPi4 #3104
Comments
@TuKo1982 Will have a look and in case update the pre-req package to a Buster-matching version. Okay, I updated the library package for Buster support: 4886c55 (Changelog: 80c710c) |
@midwan I just don't have an RPi4 here, but otherwise will ask @Fourdee . Another unimportant question: |
@MichaIng Of course, you'd still need SDL2 in the system as well as the other dependencies (they haven't changed, but SDL2 has seen several updates with bugfixes). SDL2 still needs to be compiled from source if you want to get KMSDRM support, for launching things full screen from the console. DispmanX is still there in Buster, and the FKMS driver is used by default, so there's no issue. Regarding the naming: I'd prefer "Amiberry", even though the logo doesn't indicate that. The logo was designed in the early days of the project, and is due for an update however. :) |
That sounds great 👍.
Would be very kind. Just send to: micha_at_dietpi.com
We have some pre-compiled SDL2 package for x86_64, ARMv6+7, that we install together with Amyberry + dependencies of course. Although it sounds like they should be re-compiled by times as well. Will do that for x86_64 and ARMv7 at least.
I though so, so the guess/change with last commit was correct then. |
I've updated the ZIP archive over at https://github.com/midwan/amiberry/releases/tag/v2.25 to include RPI4 binaries as well now. The rest of the package remains the same, until the new beta is ready for release - then we'll merge from |
I added the binary to our archive as well, however CloudFlare caching leads to currently the download still serves the old archive. Commit DietPi-Software: b129182#diff-d92a6ee04e02fd2a2dc23d5bec3e6a98L8474-R8381 And I recognised now that our Amiberry RPi image is actually not really pre-installed. It only has Amiberry marked for automated install on first boot + related fast boot autostart option (via @midwan
But I need to test our SDL2 on Buster first. EDIT: Installs fine, binaries execute fine. Nevertheless updated binaries make sense by times. |
@MichaIng One more thing to look for, since we're doing this: Perhaps this can be fixed with the new Buster-based image? |
It is left in place. We ship three of them, for RPi, for Asus TB and for Odroid XU4. The matching one is moved/renamed, the other ones are removed. Same for the binaries:
Could be: #2718 |
Ok, package is now installing correctly with 6.26. Amiberry binary needs probably a recompile against new libsndio7 and autostart script might also need some love. |
@TuKo1982
It would make things too complicated (and too much effort) if we created different binaries for each distro version (<< different libsndio versions), IMO.
What you suggest? The service that is started in every case:
The
I am open for suggestions, since I don't actively use Amiberry, I have not much experience or knowledge about what works well and has which effect here 😉. |
Still an issue on Debian/Raspbian Buster: The binaries (or SDL2) need to be compiled against |
@MichaIng |
@midwan So SDL2 needs to be recompiled, once for ARMv7 and once for the RPi1/Zero armv6hf. We allow SDL2 install via I will not touch the Stretch versions anymore, since those are still working and we will not offer Stretch images anymore, besides for XU4 currently, but not for long. I just revisited your SDL2 compilation Wiki and the one from libsdl.org, and I am wondering why we actually compiled it with |
@MichaIng Basically the only reason we need to compile from source and not use the repo provided binaries, is the option |
@midwan One other question: Did you ever try to build Amiberry on x86_64? Would make general testing much easier when not always an SBC + SDcard needs to be prepared. E.g. hacking a new platform into the Makefile like:
|
@MichaIng Amiberry doesn't run on x86 platforms yet, as there's ARM-specific code (e.g. inline assembly) in certain areas for optimization purposes. There is a plan to make an x86 version of it eventually, but since it's a one-man-show for now, it will probably take a while. There are other things I'm trying to fix and update first. :) |
@midwan
So with GLES:
|
It looks OK for a minimal build. |
Finally only these files/links are sufficient to place into
Btw sorry to be a bid verbose here. I am as said compiling noob, so documenting my steps here serves as well myself at a later time 😉. Next the image and ttf, ah probably those require the additional packages liblzma-dev and libfreetype6-dev, lets see. |
No problem at all. |
Jep, for the compilation libsdl2-image compilation:
libsdl2-ttf compilation:
|
libpng is definitely required, as we have some PNG icons to load in the GUI. ;) |
@midwan |
@midwan I finally managed to compile it on x86_64 VM by chrooting/systemd-nspawn via qemu-arm-static into an RPi respectively Asus TB image. This allows me compiling without the need to spin up or even own a related SBC and keep a build environment. One more question:
|
@MichaIng
|
To keep the install slim (and as tailored for Amiberry as possible), I like to compile SDL2 with as least libraries/dependencies as possible. This also minimises future issues like the initial one with libstdio6.1/7.0 as reported originally, it allows me to remove X11 dependency from our code as well, which I find strange to have, since the idea is explicitly to run it outside of X11 and we do not even ship an X11 binary. But this as well limits the use for SDL2 for other things, e.g. running stuff from desktop or via OpenGL etc. This is fine IMO since at least within DietPi-Software Amiberry is the only software title where we pull SDL2 for and even created the related separate SDL2 install title for, I guess. However it might cause problems if users install SDL2 via DietPi-Software for other use cases and just find it not working to start things from/within X11 session, with PulseAudio, OpenGL or other things that one usually expects. So in such case I prefer users to install the official package from Raspbian/Debian repo to avoid confusion. Our SDL2 build should then either be not shared, or if so, it should be clear that it is a KMSDRM-only +ALSA-only build, tailored for Amiberry. |
Yeap, OK. Makes sense then. :) |
First commit to remove SDL2 as separate install option: 1df744c However some things to do:
|
|
@midwan If those drivers indeed work well on Stretch and Buster (which can be derived from the Stretch-specific commits done), actually I tend use them throughout our Rockchip boards. The general issue is the same for all of them that on Stretch special drivers need to be found/compiled and on Buster support is limited and provided only through above linked three different packages (each chip) that seem to not support all use-cases (fbdev vs X11 vs wayland). Our ATB image is based on the same ARMbian image btw, so kernel should be fine. |
@MichaIng I'm planning a code freeze for the current BETA version, and moving towards the final stage before the next stable release. Namely the sync with the various distro maintainers to ensure a smooth upgrade. I have a list of things that you should be aware of, should I post them here or in a new issue instead? |
@midwan |
Can't install AmiBerry package on latest DietPi Buster (Pi4)
Installer complains that libsndio6.1 has no installation candidate and exits with error code 100.
The text was updated successfully, but these errors were encountered: