Closed midwan closed 4 years ago
I have compiled this version with libgo2 support for the Odroid go advance, it works really good! but I have one small problem, not sure if this is a known issue but the menu does not render correctly, scaling maybe? here is a small (vey bad) video to show https://youtu.be/4rSlXbhdxSg Or I am not sure if there are some settings I could manually add to the .conf file to change the overall screen size.
@shantigilbert It's probably due to incorrect width/height values. How did you compile this version? Did you make your own changes? Which distro did you test it on?
I'm not fully done with it yet, so if you have something to share, pull requests are welcome! :)
Thanks @midwan I know implementation of libgo2 is not fully done yet, but I wanted to share my findings with it.
In my case I maintain a distro called EmuELEC that is based on CoreELEC. I had to do 2 small modifications to the Makefile (one that is not related to libgo2)
AS ?= as
I noticed you added the 64bit version that had the flags required, so I just copied them since I use a 32bit user space
else ifneq (,$(findstring RK3326,$(PLATFORM)))
CPUFLAGS += -mcpu=cortex-a35
LDFLAGS += ${LIBGO2_LDFLAGS}
And it boots fine (as you can see), its just the image is cut off, I tried changing the H and W on the settings, but since its really hard to see, not sure they were being accepted.
another issue I noticed is that if I connect a mouse I can get the pointer working, but it still thinks its a vertical screen and the mouse buttons do not work, not sure if related.
I am far from knowledgeable enough on C++ to provide any helpful PR :(
EDIT: Ill try it with the new changes
Ok I see my problem, it might have not used libgo2 after all!
I was not using the LIBGO2_FLAGS
now that I am trying to use them it won't compile, I get a lot of errors on src/audio.cpp
I changed the flags to point to the libgo2 source,
LIBGO2_FLAGS = -DUSE_LIBGO2 -I/mnt/EmuELEC/build.EmuELEC-RK3326.arm-3.4/libgo2-2ea5909bde4c0bec4da17611049e215ba0fcbbc3/src
not sure if I need to do anything else, or just wait until the implementation is finished?
@shantigilbert It won't compile currently because it's not finished. :) But the SDL2 version with the new feature of rotation angle should work, so if you can get that one running I would suggest we fix the problem there, instead of waiting for a libgo2 version (which is kind of an experiment at this stage).
Is there an environment that you can use to deploy new versions easily and test with? There are 3 distros that I know of at the moment (stock based on Ubuntu aarch64, TheRA based on Ubuntu aarch64, Batocera with buildroot arm32) but none of them are ideal:
on EmuELEC I can easily test changes, just a matter of sending the binary over samba and running it from SSH, I have the environment set for this particular reason, I do not need to compile the whole distro
The one I tested must have been using SDL2 but I was using the rotation setting
@shantigilbert Ok, then I imagine you cross-compile it somewhere? What do you use for that? Docker container, VM, other?
Its a buildroot system (or similar), I have a PC with Ubuntu which I use directly, but the other options also work (Docker, VM)
Hm, then it's similar to Batocera. Is there a way to just compile the emulator using the relevant toolchain/includes/libs without everything else? The documentation I saw at your repo indicates how to build the whole image only.
You need to compile the whole thing once, then you can compile only whatever package you need/want
example:
DISTRO=EmuELEC PROJECT=Rockchip ARCH=arm DEVICE=RK3326 UBOOT_SYSTEM=odroidgo2 ./scripts/build amiberry
EDIT: Maybe we can continue on discord, so we don't fill this issue with unrelated messages to libgo2?
Since it looks like they are working on implementing libgo2 support in SDL2 instead, I don't think this approach here makes sense. No need to implement and support something just for one platform, when we don't really have to.
To get optimal performance from the Odroid Go Advance, we'll need to implement support for
libgo2
instead of SDL2.Useful links: https://github.com/OtherCrashOverride/libgo2
Example: https://github.com/OtherCrashOverride/ppsspp-go2/commits/master
Basic documentation: https://forum.odroid.com/viewtopic.php?f=194&p=278701#p278701