27 February 2017, 22:18 | #1 |
Posts: n/a
|
uae4arm or aue4all2 on BQ M10 ubuntu touch tablet
Hello,
I am quite new to building/compiling, especially on arm. I have a BQ M10 tablet (the fullHD version) with Ubuntu Touch on it and thought it would be so great to turn it to my Amiga emulator too (it does MHL, so it could mirror the screen to a big display and it has OTG capabilities too). I would like to get some help on how would you go about installing/compiling (I think there is no installable package available so I think I need to go and build it) an emulator on this device? What I did already is to create a container and install FSUAE in it but it ran really-really slow in the container plus the colors were off. So the next thing I would try is build uae4all2/4arm. How should I modify the makefile or build script? As the display server is not Xorg but Mir, would that make any difference at building? I guess not as there is a way to run X apps on the device too. I just don't know if it will make a difference at building are the include files the same as on android or at the raspberry. The ARM processor in the BQ M10 tablet is: MT8163A with cortex-a53 quad core cpu, its architecture is armv8-a and has neon and vfpv4 capability and its gpu supports openGL ES 3.1. What should be modified compared to the raspberry makefile of uae4arm-rpi of Chips-fr for example? Thanks a lot for any support in advance! I don't expect spoon-feeding, so in case you can point me to a resource or similar problem solved I would appreciate that too! |
02 March 2017, 20:32 | #2 |
Posts: n/a
|
uae4arm build
Ok, so I had some success with uae4arm.
I ran: Code:
make PLATFORM=generic-sdl My questions generally for the building: -do I have to use g++-4.8 or 4.9 or doesn't matter? -do I have to add this to the Makefile because I build on a different device: Code:
CPU_FLAGS= -marm -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 I also tried to compile with GLES with: Code:
make PLATFORM=gles But then the next problem was: Code:
/usr/bin/ld: cannot find -lGLESv1_CM collect2: error: ld returned 1 exit status Code:
$ ldconfig -p | grep -i egl libwayland-egl.so.1 (libc6,hard-float) => /usr/lib/arm-linux-gnueabihf/libwayland-egl.so.1 libwayland-egl.so.1 (libc6,hard-float) => /usr/lib/arm-linux-gnueabihf/libhybris-egl/libwayland-egl.so.1 libwayland-egl.so (libc6,hard-float) => /usr/lib/arm-linux-gnueabihf/libwayland-egl.so libhybris-eglplatformcommon.so.1 (libc6,hard-float) => /usr/lib/arm-linux-gnueabihf/libhybris-eglplatformcommon.so.1 libGLESv2.so.2 (libc6,hard-float) => /usr/lib/arm-linux-gnueabihf/libhybris-egl/libGLESv2.so.2 libGLESv1_CM.so.1 (libc6,hard-float) => /usr/lib/arm-linux-gnueabihf/libhybris-egl/libGLESv1_CM.so.1 libEGL.so.1 (libc6,hard-float) => /usr/lib/arm-linux-gnueabihf/libhybris-egl/libEGL.so.1 libEGL.so (libc6,hard-float) => /usr/lib/arm-linux-gnueabihf/libEGL.so Code:
$ ldconfig -p | grep -i dl.so liblttng-ust-dl.so.0 (libc6,hard-float) => /usr/lib/arm-linux-gnueabihf/liblttng-ust-dl.so.0 libltdl.so.7 (libc6,hard-float) => /usr/lib/arm-linux-gnueabihf/libltdl.so.7 libdl.so.2 (libc6,hard-float, OS ABI: Linux 2.6.32) => /lib/arm-linux-gnueabihf/libdl.so.2 libdl.so (libc6,hard-float, OS ABI: Linux 2.6.32) => /usr/lib/arm-linux-gnueabihf/libdl.so Thanks! |
04 March 2017, 10:34 | #3 |
Posts: n/a
|
undefined references
Ok so, after some googling I figured out that make looks up libraries as lib<libname>.so. So I just had to point to the location of this in the Makefile:
Instead of "-L/opt/vc/lib" which anyway does not exist on the BQ M10 I added: Code:
-L/usr/lib/arm-linux-gnueabihf/libhybris-egl -L/usr/lib/arm-linux-gnueabihf Code:
$ sudo ln -s libGLESv1_CM.so.1.0.1 libGLESv1_CM.so Code:
src/od-gles/shader_stuff.o: In function `showlog(int)': shader_stuff.cpp:(.text+0x52): undefined reference to `glGetShaderInfoLog' src/od-gles/shader_stuff.o: In function `LoadShader(unsigned int, char const*)': shader_stuff.cpp:(.text+0x1ae): undefined reference to `glCreateShader' shader_stuff.cpp:(.text+0x1ca): undefined reference to `glShaderSource' shader_stuff.cpp:(.text+0x1d0): undefined reference to `glCompileShader' shader_stuff.cpp:(.text+0x1dc): undefined reference to `glGetShaderiv' shader_stuff.cpp:(.text+0x1f4): undefined reference to `glGetShaderiv' shader_stuff.cpp:(.text+0x20c): undefined reference to `glGetShaderInfoLog' shader_stuff.cpp:(.text+0x232): undefined reference to `glDeleteShader' src/od-gles/shader_stuff.o: In function `LoadProgram(char const*, char const*)': shader_stuff.cpp:(.text+0x256): undefined reference to `glCreateShader' shader_stuff.cpp:(.text+0x276): undefined reference to `glShaderSource' shader_stuff.cpp:(.text+0x27c): undefined reference to `glCompileShader' shader_stuff.cpp:(.text+0x288): undefined reference to `glGetShaderiv' shader_stuff.cpp:(.text+0x2c8): undefined reference to `glDeleteShader' shader_stuff.cpp:(.text+0x2d0): undefined reference to `glCreateProgram' shader_stuff.cpp:(.text+0x2dc): undefined reference to `glAttachShader' shader_stuff.cpp:(.text+0x2e4): undefined reference to `glAttachShader' shader_stuff.cpp:(.text+0x2ea): undefined reference to `glLinkProgram' shader_stuff.cpp:(.text+0x2f6): undefined reference to `glGetProgramiv' shader_stuff.cpp:(.text+0x310): undefined reference to `glGetProgramiv' shader_stuff.cpp:(.text+0x328): undefined reference to `glGetProgramInfoLog' shader_stuff.cpp:(.text+0x34e): undefined reference to `glDeleteProgram' shader_stuff.cpp:(.text+0x362): undefined reference to `glGetShaderiv' shader_stuff.cpp:(.text+0x37a): undefined reference to `glGetShaderInfoLog' shader_stuff.cpp:(.text+0x3a0): undefined reference to `glDeleteShader' shader_stuff.cpp:(.text+0x3a8): undefined reference to `glDeleteShader' shader_stuff.cpp:(.text+0x3ae): undefined reference to `glDeleteShader' src/od-gles/shader_stuff.o: In function `shader_stuff_reload_shaders()': shader_stuff.cpp:(.text+0x44a): undefined reference to `glCreateShader' shader_stuff.cpp:(.text+0x488): undefined reference to `glShaderSource' shader_stuff.cpp:(.text+0x48e): undefined reference to `glCompileShader' shader_stuff.cpp:(.text+0x49a): undefined reference to `glGetShaderiv' shader_stuff.cpp:(.text+0x4d6): undefined reference to `glDeleteShader' shader_stuff.cpp:(.text+0x4de): undefined reference to `glCreateProgram' shader_stuff.cpp:(.text+0x4ec): undefined reference to `glAttachShader' shader_stuff.cpp:(.text+0x4f4): undefined reference to `glAttachShader' shader_stuff.cpp:(.text+0x4fa): undefined reference to `glLinkProgram' shader_stuff.cpp:(.text+0x506): undefined reference to `glGetProgramiv' shader_stuff.cpp:(.text+0x51c): undefined reference to `glGetProgramiv' shader_stuff.cpp:(.text+0x534): undefined reference to `glGetProgramInfoLog' shader_stuff.cpp:(.text+0x55a): undefined reference to `glDeleteProgram' shader_stuff.cpp:(.text+0x562): undefined reference to `glDeleteProgram' shader_stuff.cpp:(.text+0x57a): undefined reference to `glGetShaderiv' shader_stuff.cpp:(.text+0x592): undefined reference to `glGetShaderInfoLog' shader_stuff.cpp:(.text+0x5b8): undefined reference to `glDeleteShader' Or is there anybody reading this at all... anyway any help would be welcome. |
05 March 2017, 22:29 | #4 |
Posts: n/a
|
some progress
Ok, so I've made some progress, found out that on the Pi in /opt/vc/lib libGLESv1_CM.so is linked to libGLESv2.so
On the bq m10 ubuntu touch I installed the libgles1 and 2 packages: Code:
sudo apt install libgles1-mesa libgles1-mesa-dev sudo apt install libgles2-mesa libgles2-mesa-dev Code:
LDFLAGS += -ldl -lEGL -lGLESv1_CM -lGLESv2 What is pandora and picasso96? Last edited by lazlow; 05 March 2017 at 23:11. |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Uae4arm (arm jit) | lubomyr | support.OtherUAE | 572 | 09 June 2023 13:34 |
RaspberryPI uae4arm | Chips | support.OtherUAE | 91 | 24 December 2016 11:17 |
How to run Grafx2 under Uae4Arm? | lovinggames | support.OtherUAE | 5 | 22 August 2016 23:02 |
PocketCHIP and UAE4ARM | ali-b | support.OtherUAE | 0 | 12 August 2016 10:22 |
UAE4ARM, actually for ARM? | Enverex | support.OtherUAE | 3 | 08 June 2016 11:58 |
|
|