Cool VL Viewer forum http://sldev.free.fr/forum/ |
|
ARM64 port (was: Porting Difficulties) http://sldev.free.fr/forum/viewtopic.php?f=10&t=2212 |
Page 4 of 6 |
Author: | bjbdragon [ 2021-09-19 01:42:05 ] |
Post subject: | Re: ARM64 port (was: Porting Difficulties) |
On another note... I've recently tried to rebuild against the latest version, with the proper SSE2 enable for ARM64. I've already uncovered a number of issues causing the build to fail: parallel_hashmap - has to have include guards to use sse2neon.h. maybe there is a better solution than doing the include guards in every dependency? boost simd.h - "Multiple SIMD architectures detected, this cannot happen!" because it detects SSE being enabled however boost actually has native support for NEON. Before I try to rectify all the build issues, would like to know if there's a good resolution for dependencies that include the intrinsics headers. |
Author: | Henri Beauchamp [ 2021-09-19 08:01:59 ] | |||||||||
Post subject: | Re: ARM64 port (was: Porting Difficulties) | |||||||||
Try this patch against v1.28.2.41 sources, it should solve all issues:
Note that if you want to update the pre-built libraries like what was done for the x86_64 Linux version, and compile zlib-ng and boost v1.77.0 libraries for arm64, you will also have to edit the following cmake files:
|
Author: | bjbdragon [ 2021-09-19 19:53:45 ] |
Post subject: | Re: ARM64 port (was: Porting Difficulties) |
Awesome, will test this and let you know how it works! On another note, I've started to think "SIMD Everywhere" might have been a better choice... it handles choosing the correct platform implementation on its own, is also a header library, and has various platform implementations - including software fallbacks. However, it would indeed be more work as it would require testing on *all* supported platforms, as you're essentially supposed to replace the *mmintrin.h with a header like #include <simde/x86/sse2.h> or #include <simde/x86/sse4.1.h>. If the "native" is available, it'll inline the native intrinsic. |
Author: | bjbdragon [ 2021-09-20 08:51:18 ] |
Post subject: | Re: ARM64 port (was: Porting Difficulties) |
Thanks, the patch you provided works. Other notes, it appear that at least on the Pi 4, the Mesh upload dialog causes the viewer to totally hang up. I'm looking into this. |
Author: | Tanuki [ 2021-11-18 08:57:55 ] |
Post subject: | Re: ARM64 port (was: Porting Difficulties) |
Currently, i mean thank for providing prebuilds, but for 128247 the elfio was not updated. Resulting in a download not found, updating it manually, it builds almost everything but i get stuck with this linking error: [100%] Linking CXX executable CoolVLViewer /usr/lib/gcc/aarch64-unknown-linux-gnu/11.2.0/../../../../aarch64-unknown-linux-gnu/bin/ld: cannot find -l meshoptimizer collect2: error: ld returned 1 exit status The pre build binarry in this thread works btw. Login is possible, not the fastest but hey it works. around 5 to 10 fps on Mali-T860! (the gpu is sadly resouce starved due bandwidth issues..) |
Author: | Henri Beauchamp [ 2021-11-18 09:57:53 ] | ||||||||||||||||||
Post subject: | Re: ARM64 port (was: Porting Difficulties) | ||||||||||||||||||
Fixed for next release.
|
Author: | Tanuki [ 2021-11-18 14:46:20 ] | |||||||||
Post subject: | Re: ARM64 port (was: Porting Difficulties) | |||||||||
Thank you! doing the two things mentioned it did build, i mean i figured out the first, but i still wanted to mention that oops. Just not familiar with the code base so its hard to debug still Anyhow, I'd say performance on my RockPro64 is similar to an early Core i5, changing window size to 720 and lowering graphics gives an overall performance of 10-25 fps. So perfect for logging in when traveling, as i do have a chromebook type laptop aswell with RK3399 chipset. No difference using clang or gcc to build it, but big respect for maintaining the code so well, this must be the best/easist to build SL viewer out there. Extremely curious how it would run on things like the Jetson Nano or ODROID-N2+ Here if anyone else is interested though highly don't reccomend downloading some random persons build:
|
Author: | Henri Beauchamp [ 2021-11-18 19:35:08 ] | |||||||||||||||||||||||||||
Post subject: | Re: ARM64 port (was: Porting Difficulties) | |||||||||||||||||||||||||||
Mali GPUs are way too weak, and ARM64 CPUs not (yet) fast enough to match an x86_64 @ 4+ GHz... But we are not speaking about the same power envelope either (150-300 Watts for the x86_64+discrete GPU system against half a dozen of Watts for the ARM SoC)...
|
Author: | Tanuki [ 2022-02-22 04:23:03 ] |
Post subject: | Building the' precompiled sources. |
Hi! I am sorry to have to ask this, but i've been stumped on how to compile most of the pre-compiled sources for Linux.. Some i figured out where to get the source from, but its quite hard to get them to compile mostly static/stand-alone. So i was wondering. Do you use any bash scripts to automate the sources rebuild? What are the steps for each package to get it packaged alike yours? I'm asking as, the Chromium package and various others, i should rebuild to have on ARM64 these updated packages too. Ive been using it on ARM for a while now. As the homebrew list of my unofficial builds here shows... https://raccoons.tech/coolvlviewer/ I can host the updated ARM64 binaries too. Thanks in advance! |
Author: | Henri Beauchamp [ 2022-02-22 09:32:05 ] | ||||||||||||||||||||||||||||||||||||
Post subject: | Re: Building the' precompiled sources. | ||||||||||||||||||||||||||||||||||||
You could reuse Spotify's builds (the "minimal" tarball) and build Dullahan against them, but be aware that those builds do not include all the media CODECs (the ones with a closed license are omitted) and that you then would likely (1) have to disable jemalloc usage in the viewer since default CEF Linux builds use tcmalloc (2) and it would crash when trying to use jemalloc together with it, which would be a shame because it makes the viewer slower.
If you ever provide updated pre-compiled ARM64 libraries, let me know, and I will change the links in the install.xml file of the official sources to match them. (1) "likely" since I did not check this fact by lack of an ARM64 platform to test it on. (2) The CEF sources also needs a patch to be made jemalloc-compatible (else, CEF would crash at random times while browsing or executing some JavaScript); the patching is performed by my mkcef64.sh script. See this CEF issue (still unresolved because the provided "solution" by Czarek Tomczak is totally inadequate). |
Page 4 of 6 | All times are UTC |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |