-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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
Odroid XU4 - SDLMain.cpp.o Failed #11344
Comments
Looks like a header file problem |
@AreaScout Thanks but it did not work. Here's the log. I'm only trying to build for OpenGLES 3.0
|
That is the fbdev driver i guess from HK, let me check this |
I see you are using different headers, HK headers do not have glGetProgramResourceLocationIndexEXT defined and therefore it can't redeclared as different kind of symbol download HK mali fbdev package |
sorry gl2ext.h it should be |
another 'rude' option would be to just temporary hide this six functions in your gl2ext.h with ´´//´´ glBindFragDataLocationIndexedEXT |
Do I have to revert the #define GL_GLEXT_PROTOTYPES changes
…________________________________
From: Daniel Mehrwald <[email protected]>
Sent: Saturday, September 1, 2018 10:31 AM
To: hrydgard/ppsspp
Cc: 6alileo; Author
Subject: Re: [hrydgard/ppsspp] Odroid XU4 - SDLMain.cpp.o Failed (#11344)
sorry gl2ext.h it should be
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub<#11344 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AoSfFMapw_Vg8vvUdyb2j2RKOOJaWywfks5uWsR8gaJpZM4WWRZQ>.
|
yes I think so, just try it, it does not take that long |
It looks like it passed that part, now a different issue. BTW: its using mesa headers.
|
Ok glCopyImageSubDataOES and glBufferStorageEXT are still left, so I guess you are using the Hardkernel headers now ? Let's assume you have, you still have to edit gl2ext.h and find glCopyImageSubDataOES and comment it out with next glBufferStorageEXT in ext/native/gfx_es2/gl3stub.c comment out line 136: and line 370: in ext/native/gfx_es2/gl3stub.h comment out line 505: in ext/native/thin3d/GLRenderManager.cpp comment out line 806: that should fix both glCopyImageSubDataOES and glBufferStorageEXT The other errors in SDLGLGraphicsContext.cpp about non defined EGL_Init and g_eglDisplay are strange there is no such a variable or function on the quoted line number, did you change that file ? Good luck |
Those EGL errors used to be a thing in an older version of PPSSPP. Are you using a recent git build? Maybe we need some ifdefs in the gl3stub to skip things on this platform that are already defined otherwise... anyone know of a good define that is defined on this platform when these extensions are in gl2ext? -[Unknown] |
I'm using a modified script and referencing the recent git build. My understanding is that it needs to make ffmpeg-ppsspp first then ppsspp.
|
That's building v1.6.3. Unfortunately we had some EGL issues in that release. The fixes are in more recent git builds: Currently, I'd suggest the latest master. I think it's in a good place right now. -[Unknown] |
Yes first you have to build ffmpeg, here are my changes odroid@odroid:~/usb-stick/ppsspp/ffmpeg$ git diff linux_arm.sh diff --git a/linux_arm.sh b/linux_arm.sh
index c54c0f1..206a71b 100755
--- a/linux_arm.sh
+++ b/linux_arm.sh
@@ -6,9 +6,8 @@ GENERAL="\
--enable-cross-compile \
--extra-libs="-lgcc" \
--arch=arm \
- --cc=arm-linux-gnueabi-gcc \
- --cross-prefix=arm-linux-gnueabi- \
- --nm=arm-linux-gnueabi-nm"
+ --cc=gcc \
+ --nm=nm"
MODULES="\
--disable-avdevice \
@@ -102,7 +101,7 @@ function build_ARMv7
./configure --target-os=linux \
--prefix=./linux/armv7 \
${GENERAL} \
- --extra-cflags=" -O3 -fasm -Wno-psabi -fno-short-enums -fno-strict-aliasing -finline-limit=300 -mfloat-abi=softfp -mfpu=neon -marm -march=armv7-a" \
+ --extra-cflags=" -O3 -fasm -Wno-psabi -fno-short-enums -fno-strict-aliasing -finline-limit=300 -mfloat-abi=hard -mfpu=neon -marm -march=armv7-a" \
--disable-shared \
--enable-static \
--enable-zlib \
@@ -119,6 +118,6 @@ make clean
make install
}
-build_ARMv6
+#build_ARMv6
build_ARMv7
echo Linux ARM builds finished |
I will look on a useful solution to ifdef this, but for now, sleeping is plan A |
@AreaScout - Still failing on master git Could you please make the changes within the function? I'm not sure how to incorporate the above within the .sh file.
|
Sounds like your SDL doesn't have Wayland support. Maybe try removing these lines: https://github.com/hrydgard/ppsspp/blob/master/CMakeLists.txt#L145-L148 Or update SDL if that's a decent option... -[Unknown] |
Yeah, we are not using Wayland. Only FB-Dev on Mesa headers. |
Getting close
|
Strange, that makes it sound like you don't have neon enabled - not sure if there's a way to add -[Unknown] |
I'm not sure but I followed some advice from other related issues in this git. I ended up here: https://forum.odroid.com/viewtopic.php?f=91&t=26822 |
I am using this in my CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2f9a21e4f..4f2fba85c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -28,6 +28,7 @@ endif()
if(CMAKE_SYSTEM_PROCESSOR)
if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "^arm")
set(ARM ON)
+ add_definitions(-mfloat-abi=hard -marm -mtune=cortex-a15.cortex-a7 -mcpu=cortex-a15 -mfpu=neon-vfpv4 -fomit-frame-pointer -ftree-vectorize -mvectorize-with-neon-quad -ffast-math -DARM_NEON)
if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "^armv7")
set(ARMV7 ON)
# Horrifying workaround for bug in android cmake stuff for asm files
@@ -81,7 +82,7 @@ endif()
# We only support Vulkan on Unix, Android and Windows.
if(ANDROID OR WIN32 OR (UNIX AND NOT APPLE))
- set(VULKAN ON)
+ set(VULKAN OFF)
else()
add_definitions(-DNO_VULKAN)
endif() This is how I build ppsspp but I am using the GBM enabled userspace driver not the fbdev one, so I do not need EGL, it's all done in SDL2 which is compiled with kmsdrm video backend, watch the video below, I will soon release an HowTo for the Ubuntu 18.04 minimal image from HK in the forums
|
@AreaScout I made changes to the make file, turned on EGL and added FBDEV. Does this look correct?
|
Yes, important is also the definitions I added to the compiler in CMakeLists.txt with this some useful macros are set, some may not needed but I got a very good working PPSSPP version from it. |
@AreaScout - that worked. Thank you for your help! I look forward to your tutorials in the forum. I'm wondering if you had any plans to compile RetroPie on 18.04 minimal image? |
The processor matches armv7 right? If some of those flags are needed to make it use neon, I think we should merge something like that. -[Unknown] |
@6alileo |
you mean something like this ? diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2f9a21e4f..296623d3f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -28,6 +28,13 @@ endif()
if(CMAKE_SYSTEM_PROCESSOR)
if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "^arm")
set(ARM ON)
+ if(UNIX)
+ execute_process(COMMAND cat /proc/cpuinfo OUTPUT_VARIABLE OUTSTR)
+ string(FIND "${OUTSTR}" "ODROID-XU4" pos)
+ if(pos GREATER_EQUAL 0)
+ add_definitions(-mfloat-abi=hard -marm -mtune=cortex-a15.cortex-a7 -mcpu=cortex-a15 -mfpu=neon-vfpv4 -fomit-frame-pointer -ftree-vectorize -mvectorize-w
ith-neon-quad -ffast-math -DARM_NEON)
+ endif()
+ endif()
if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "^armv7")
set(ARMV7 ON)
# Horrifying workaround for bug in android cmake stuff for asm files
@@ -81,7 +88,7 @@ endif()
# We only support Vulkan on Unix, Android and Windows.
if(ANDROID OR WIN32 OR (UNIX AND NOT APPLE))
- set(VULKAN ON)
+ set(VULKAN OFF)
else()
add_definitions(-DNO_VULKAN)
endif() |
Yes it's armv7 |
How can I test if ffmpeg got built? Will certain games have no video?
Galileo Morales
Web Developer & IT Solutions
916.601.2400
…________________________________
From: Daniel Mehrwald <[email protected]>
Sent: Sunday, September 2, 2018 9:55 PM
To: hrydgard/ppsspp
Cc: 6alileo; Mention
Subject: Re: [hrydgard/ppsspp] Odroid XU4 - SDLMain.cpp.o Failed (#11344)
@unknownbrackets<https://github.com/unknownbrackets>
Yes it's armv7
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<#11344 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AoSfFE9YKcP62LkXg0PxiCelKKodrsjvks5uXLYugaJpZM4WWRZQ>.
|
No, if ffmpeg would not available it would not build before you start building ppsspp you have to build ffmpeg with the modification I postet above by calling the modified linux_arm.sh file
you can see if this script exits with errors or not, then you know it also your cmake parameters should be ok:
here are the modifications again, just edit that linux_arm.sh according to the changes below: diff --git a/linux_arm.sh b/linux_arm.sh
index c54c0f1..206a71b 100755
--- a/linux_arm.sh
+++ b/linux_arm.sh
@@ -6,9 +6,8 @@ GENERAL="\
--enable-cross-compile \
--extra-libs="-lgcc" \
--arch=arm \
- --cc=arm-linux-gnueabi-gcc \
- --cross-prefix=arm-linux-gnueabi- \
- --nm=arm-linux-gnueabi-nm"
+ --cc=gcc \
+ --nm=nm"
MODULES="\
--disable-avdevice \
@@ -102,7 +101,7 @@ function build_ARMv7
./configure --target-os=linux \
--prefix=./linux/armv7 \
${GENERAL} \
- --extra-cflags=" -O3 -fasm -Wno-psabi -fno-short-enums -fno-strict-aliasing -finline-limit=300 -mfloat-abi=softfp -mfpu=neon -marm -march=armv7-a" \
+ --extra-cflags=" -O3 -fasm -Wno-psabi -fno-short-enums -fno-strict-aliasing -finline-limit=300 -mfloat-abi=hard -mfpu=neon -marm -march=armv7-a" \
--disable-shared \
--enable-static \
--enable-zlib \
@@ -119,6 +118,6 @@ make clean
make install
}
-build_ARMv6
+#build_ARMv6
build_ARMv7
echo Linux ARM builds finished |
If ffmpeg isn't working, you probably won't hear music in most games (you may hear sound effects.) Videos also, but ffmpeg is used to decode ATRAC3 audio, not just videos. -[Unknown] |
I figured out the issue with ffmpeg. My question now is, in the script below, is
|
Yes that's cool, every time you wanna generate the Makefile with cmake you have to delete that CMakeCache.txt file also the CMakeFiles folder is a good practice to delete, it's where the object files are in. The issue was |
@AreaScout - OK got it working perfectly now. For some reason, it was compiling even without ffmpeg-ppsspp so it must've been using the system version. Anyways, on your YT, did GoW run without any hiccups and tearing? Is it at 1x resolution? I'm trying to see if its better than the FBDEV version I'm running. |
@6alileo |
@AreaScout - any progress on the tutorial? |
maybe tomorrow |
https://forum.odroid.com/viewtopic.php?f=98&t=32173 1/4 of the work is done :) |
You guys are using 18.04 right? Testing PPA has package for ARM too (Xorg only, not fbdev), could you guys test it? I'd like to know if it's working https://code.launchpad.net/~ppsspp/+archive/ubuntu/testing?field.series_filter=bionic |
I tested it, it seems to work, how did you compile it ? with EGL or SDL2 ? That's important to know The strange thing is it has package dependency to Qt, why ? |
although I am curious which git revision you compiled ? |
It's using the last commit, you can see the hash in the recipe: https://code.launchpad.net/%7Eppsspp/+recipe/ppsspp-daily I'm using -DUSING_GLES2=ON -DUSING_EGL=ON for ARM, and -DUSING_QT_UI=ON for all arch PPA provides SDL and Qt binaries You can see in "patches" folder and "rules" file how I build it: https://git.launchpad.net/~ppsspp/ppsspp/+git/debian/tree/ |
Ah thank you, the funny thing is that under Setting->Tools-System Information->Device Info RG |
@6alileo this should be fixed now, can you double check and close this issue ? On PPSSPP side it should provide everything now needed to successfully compile it on our ODROID's |
Hi Daniel,
I was able to compile on Ubuntu 16.04 without needing to modify the gl2ext.h
…On Thu, Sep 20, 2018 at 8:36 AM Daniel Mehrwald ***@***.***> wrote:
@6alileo <https://github.com/6alileo> this should be fixed now, can you
double check and close this issue ? On PPSSPP side it should provide
everything now needed to successfully compile it on our ODROID's
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#11344 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AoSfFAPgidhqkoJdXe8QLg-2DMxlva6xks5uc7X0gaJpZM4WWRZQ>
.
--
Galileo Morales
IT Business Solutions
PH/TXT: (916) 601-2400
|
Sure that is just for that particular 18.04 image, if you are using i.e the header files from the Mali SDK https://developer.arm.com/products/software/mali-sdks/opengl-es/downloads then there also is no need for modify the header, well yes, the If you just use that command https://github.com/rockchip-linux/libmali/blob/29mirror/include/GLES2/gl2ext.h#L1112-L1127 |
Hello, I'm trying to compile using the following parameters and it is failing at the 33% mark. I initially had an issue with "Could not find Snappy" which I installed which is gone but it is still failing. Any advice is appreciated. Thank you!
-DUSING_GLES2=ON -DUSING_FBDEV=ON -DUSING_EGL=ON -DUSING_X11_VULKAN=OFF -DARMV7=ON
Full log: https://paste.ee/p/z7TQK
What happens?
Could not compile
What should happen?
Should compile
What hardware, operating system, and PPSSPP version? On desktop, GPU matters for graphical issues.
Odroid XU4 w/ Mali-T628 MP6 (OpenGL ES 3.0/2.0/1.1 and OpenCL 1.1 Full profile) compiling for 1.6.3
The text was updated successfully, but these errors were encountered: