Discussion:
Boost C++ library for Android-x86
(too old to reply)
Mauro Rossi
2014-08-01 07:29:34 UTC
Permalink
Hi,

while building Android-x86 with latest mesa master git, modified with
pstglia changes, though not yet stable and not including intel chipsets
support,
I've seen that mesa trunk was patched for performance improovement and TR1
unordered_set and hash functions will be used starting from 10.3.x release
of mesa.

Now coming to Android-x86, since AOSP seem not to support boost, I saw
there are two projects for supporting boost in Android.

Boost-for-Android:
https://github.com/MysticTreeGames/Boost-for-Android

CrystaX Android NDK:
https://www.crystax.net/en/android/ndk

and that C++11 and TR1 namespaces were then included in Android NDK
https://developer.android.com/tools/sdk/ndk/index.html

Q1: For the sole purpose of using boost TR1 libraries and build mesa do
you have suggestions and can help me in understanding what to do?

Q2: Are plans to add boost library support in Android-x86?

Thanks
M.
--
You received this message because you are subscribed to the Google Groups "Android-x86" group.
To unsubscribe from this group and stop receiving emails from it, send an email to android-x86+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
To post to this group, send email to android-x86-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
Visit this group at http://groups.google.com/group/android-x86.
For more options, visit https://groups.google.com/d/optout.
Erdin Omanovic
2014-08-06 11:51:03 UTC
Permalink
Hi Mauro Rossi,
The last mesa I've found is 10.2.3; is there any ISO of 10.3.x to make a
try ?
Nvidia GPU + Intel chipset
thank you in advance
Post by Mauro Rossi
Hi,
while building Android-x86 with latest mesa master git, modified with
pstglia changes, though not yet stable and not including intel chipsets
support,
I've seen that mesa trunk was patched for performance improovement and TR1
unordered_set and hash functions will be used starting from 10.3.x release
of mesa.
Now coming to Android-x86, since AOSP seem not to support boost, I saw
there are two projects for supporting boost in Android.
https://github.com/MysticTreeGames/Boost-for-Android
https://www.crystax.net/en/android/ndk
and that C++11 and TR1 namespaces were then included in Android NDK
https://developer.android.com/tools/sdk/ndk/index.html
Q1: For the sole purpose of using boost TR1 libraries and build mesa do
you have suggestions and can help me in understanding what to do?
Q2: Are plans to add boost library support in Android-x86?
Thanks
M.
--
You received this message because you are subscribed to the Google Groups "Android-x86" group.
To unsubscribe from this group and stop receiving emails from it, send an email to android-x86+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
To post to this group, send email to android-x86-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
Visit this group at http://groups.google.com/group/android-x86.
For more options, visit https://groups.google.com/d/optout.
Mauro Rossi
2014-08-07 02:12:11 UTC
Permalink
Hi Erdin,

at the end of this post is the link to latest experimental build with
evelikov's mesa and libdrm specialized for Android-x86, and pstglia
gralloc_drm_nouveau.

Nvidia NVE0 family (Kepler) and newer NV110 family (Maxwell) were never
tested, if you have one of those chipsets, you could be the first.
In case you see apps crashing could you provide the list of problematic
apps and logcat and dmesg dump? Thanks

Here are the projects used in this build:

external/libpciaccess
https://github.com/android-ia/external_libpciaccess
external/drm https://github.com/evelikov/libdrm/tree/
*fixes+android-v2*
external/mesa https://github.com/evelikov/Mesa/tree/
*android-inspired-fixes-v2*
hardware/drm_gralloc latest pstglia's gralloc_drm_nouveau were used (3
files changed).

plus the changes described in nouveau experiment thread to following
projects:

kernel changes to disable nvidiafb and rivafb
bootable/newinstaller a few changes to set vmalloc=256M
device/generic/x86 changes to init_hal_gralloc to enable drm when nouveaufb
is detected

To be able to actually build I had to do some further changes to evelikov's
libdrm and mesa, i.e. the patches attached to this message.
NOTE about patches: the attached partches will work only on evelikov's
highlighted in *bold* branches and may be probably integrated soon, if
accepted.

In this experimental ISO, gallium drivers for intel i915 and i965 may not
be completely baked and were not tested yet, but you'll be able to test on
nvidia GPU (NV50 or newer, NV4x chipsets are still affected by the
"invisible cursor bug" and NV3x are not supported due to lack in OpenGL ES
2.0 support).

Going back to the subject of this thread, the task of adding Boost library
as new project external/boost is not yet complete, candidates under
investigation are Boost-for-Android and AOSP
https://android.googlesource.com/platform/external/boost/

Here is the ISO with mesa 10.3.0:
https://drive.google.com/file/d/0B_OFHiIqgpSFLUdRRDFTUWZXcmc/edit?usp=sharing

Mauro

PS: If you want to try something less "on the edge" you can try with latest
ISO with mesa 10.1.x from pstglia (you can find a link it in *nouveau
experiments* thread).
--
You received this message because you are subscribed to the Google Groups "Android-x86" group.
To unsubscribe from this group and stop receiving emails from it, send an email to android-x86+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
To post to this group, send email to android-x86-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
Visit this group at http://groups.google.com/group/android-x86.
For more options, visit https://groups.google.com/d/optout.
Erdin Omanovic
2014-08-07 16:56:53 UTC
Permalink
Thank you Mauro for this so well explained post!
Well, ive tried the iso 10.3.0 and it seems to be unstable : a very simple
fact of running an app can block the whole system.
And when I say "block" I mean 5 minutes if I'm lucky or completely blocked
needing reboot sometimes.
Could you please explain me which logs to look and how to get them from
android please ?
Also, I found 10.2.3 dma channel's ISO from the topic youve mentionned but
not the 10.1.x one : could you please give me the link ?

My GPU is GF108 [GeForce GT 430] : how do I get the chipset ?
--
You received this message because you are subscribed to the Google Groups "Android-x86" group.
To unsubscribe from this group and stop receiving emails from it, send an email to android-x86+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
To post to this group, send email to android-x86-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
Visit this group at http://groups.google.com/group/android-x86.
For more options, visit https://groups.google.com/d/optout.
Mauro Rossi
2014-08-07 18:34:30 UTC
Permalink
You're welcome

I also experienced those kind of freezees and unrecoverable crashes on mesa
10.2.x and 10.3.0devel on NVC0 family like the one of your GT430.
You can find chipset codes here:
http://nouveau.freedesktop.org/wiki/CodeNames/

Here is the link with latest mesa 10.1.x ISO, which should much be more
stable on your card (as seen in this video
):

https://drive.google.com/file/d/0BxO6THtB865fRmN4VE5HR1B5dDg/edit?usp=sharing

Regarding the logs we already have for that type of card, but it's useful
to learn how to pick them.
I personally use following procedure, booting with Debug 7 grub menu
choice, I enter my google account and after that I go in settings ->
{Developer Opts} and I usually enable "Stay Awake", then:

[ALT]+[F1]
cd data
mkdir x

[insert USB drive to save logs and see if is sdb1 or sdc1 or sdd1, and so
on]

busybox /dev/block/*sdc1* x (or what appeard instead of *sdc1* when
inserting USB flash drive)
cd x

cp /data/log.txt logcat_card_YYYYMMDD.txt
dmesg > dmesg_card_YYYYMMDD.txt
adb shell dumpsys SurfaceFlinger > dumpsys_card_YYYYMMDD.txt

Android also allows to collect OpenGL logs in logcat (log.txt) by launching
the following command, before launching apps:

adb shell setprop debug.egl.trace 1

but unfortunately I am still learning how to analyze EGL traces.

? I'm wondering if the unrecoverable freeze is due to GPU lock ?

In case you come to know about errors, segfaults or the cause for freezes,
could you please continue posting in * nouveau experiments* thread?
This one's purpose was to discuss Boost library options of implementation.

Thanks and sorry, I don't mean to bother you.

Mauro
Post by Erdin Omanovic
Thank you Mauro for this so well explained post!
Well, ive tried the iso 10.3.0 and it seems to be unstable : a very simple
fact of running an app can block the whole system.
And when I say "block" I mean 5 minutes if I'm lucky or completely blocked
needing reboot sometimes.
Could you please explain me which logs to look and how to get them from
android please ?
Also, I found 10.2.3 dma channel's ISO from the topic youve mentionned but
not the 10.1.x one : could you please give me the link ?
My GPU is GF108 [GeForce GT 430] : how do I get the chipset ?
--
You received this message because you are subscribed to the Google Groups "Android-x86" group.
To unsubscribe from this group and stop receiving emails from it, send an email to android-x86+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
To post to this group, send email to android-x86-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
Visit this group at http://groups.google.com/group/android-x86.
For more options, visit https://groups.google.com/d/optout.
Mauro Rossi
2014-08-07 18:38:10 UTC
Permalink
Errata corrige about mount USB flash drive step:

busybox *mount* /dev/block/*sdc1* x (or what appeared instead of
*sdc1* when inserting USB flash drive)

M.
--
You received this message because you are subscribed to the Google Groups "Android-x86" group.
To unsubscribe from this group and stop receiving emails from it, send an email to android-x86+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
To post to this group, send email to android-x86-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
Visit this group at http://groups.google.com/group/android-x86.
For more options, visit https://groups.google.com/d/optout.
Continue reading on narkive:
Loading...