#qi-hardware IRC log for Wednesday, 2012-08-15

paul_boddieHello again! I did some Wiki tidying, but is there any information about getting OpenWrt build changes adopted anywhere?11:58
wpwrakhmm, not sure we have a formal process. i guess posting to the qi-hw list or discussing the changes here ought to do the trick12:02
wpwrakand you can always bother xiangfu :)12:03
paul_boddieCurrently, they're on the Wiki as that was the easiest place to put them temporarily: http://en.qi-hardware.com/wiki/File:Patches-pygame-sdl.tar.gz12:03
wpwrakurgh :)12:03
wpwrakwolfspraul: someone here badly needs access to downloads.qi-hardware.com ;-)12:03
paul_boddieIt looked like libsdl_mixer wasn't linking to the Vorbis libraries, and I think someone misunderstood the logic in the configure script for that package, so there's a change to the build Makefile there.12:05
paul_boddieThe only thing stopping pygame working was the mention of two undesirable libraries in the build configuration. I was really happy to see pygame in the image supplied on the NanoNote, but was disappointed to see it disappear in later images.12:06
wpwrakmaybe wait a bit to see if someone who's working on openwrt responds here. people who should be able to help with further steps include mth, ayla, kyak, and xiangfu12:14
wpwrakif everyone is away, enjoying a beer while watching scantly clad girls playing beach volleyball, then you could just post to the list12:15
paul_boddieBut I thought the Olympics were over! :-)12:18
paul_boddieI'll probably also post to the list, too, as I was just looking for some quick answers here.12:18
paul_boddieThe only real answers I need would be related to compiling numpy, but I suspect that the toolchain doesn't support the necessary floating point functionality in target programs.12:19
wpwrakdunno. does numpy need something unusual ?12:21
paul_boddieIt includes <fenv.h> which does exist in uClibc but isn't installed as part of the working toolchain. There seems to be workarounds for Cygwin, but I suspect that these are nasty hacks that only work on x86(-64).12:22
paul_boddieI might look at the Vorbis/Tremor stuff for inspiration, however.12:23
mthwpwrak: we're using buildroot, not openwrt, for OpenDingux; there are lots of similarities though12:23
kyakpaul_boddie: probably the best way is to send patches to mailing list, someone will take care and merge them12:24
wpwrakhmm, fenv.h even seems to be in POSIX. first time i see it, though12:24
paul_boddiemth: I'm using the openwrt-xburst stuff.12:24
paul_boddiekyak: I guess I'll do that, then. Thanks!12:24
mthpaul_boddie: these are the configure flags we use: https://github.com/mthuurne/opendingux-buildroot12:27
mththe use of tremor instead of the plain libvorbis is important, since softfloat is very slow12:27
wolfspraulpaul_boddie: just stay in this channel and/or wait for xiangfu's reply, we will definitely get this folded into the builds...12:28
wolfspraulyou are at the right place here :-)12:28
paul_boddiemth: Thanks for the link! I've noticed that if I play Vorbis in pygame it works well, but if I use the play command the sound breaks up badly. So I imagine that there's a linkage change possible with that program, too.12:29
mthdirect link: https://raw.github.com/mthuurne/opendingux-buildroot/opendingux-2010.11/package/sdl_mixer/sdl_mixer.mk12:29
paul_boddieI think the SDL mixer stuff was combining --disable-music-ogg with --enable-music-ogg-tremor (and also enabling dynamic loading and explicitly using the tremor library), but without looking at the configure logic, I guess that --disable-music-ogg just short-circuits everything and disables all support.12:31
paul_boddiewolfspraul: Do you remember any discussions about floating point support?12:32
wolfspraulnot really12:32
wolfspraulI think there is no hw floating point support on the Ben, and software support is slow...12:32
wolfspraulsomething like that12:32
paul_boddieI should really search a bit harder in the uClib documentation for such things, I suppose.12:33
paul_boddieBy the way, I think the result of everyone's hard work putting the device together and getting the software onto it is really amazing. :-)12:34
wolfspraulthanks!12:47
wolfspraul:-)12:47
wolfspraulthat was and continues to be extremely hard indeed12:47
wolfspraullots of people helped...12:47
wolfspraulbtw today is bison day for me. I'm dusting off my old parser knowledge :-)12:48
wolfspraulso far it doesn't really work yet, but I know with bison you have to be a little patient at the beginning, and will be rewarded richly over time :-)12:49
paul_boddieAfter trying a few images out at the weekend, I spent some time reading the list archives to see what discussion I might have missed - I only ever vaguely followed the different projects here, I'm afraid - but I regard the result as a genuine success, even if not everybody's goals were met.12:53
paul_boddieI'm really looking forward to trying out some projects, possibly fixing up some stuff on the way, and perhaps eventually getting some low-level software or hardware experience.12:59
mthI'm not sure how the openwrt for the NanoNote handles it, but for OpenDingux we have a toolchain that uses softfloat by default13:10
mththere is no hw floating point in Ingenic CPUs until I think JZ476013:10
mthand the in-kernel FPU emulation is much slower still than softfloat13:11
paul_boddieI've not really looked at the toolchain configuration yet. I used to use ARM CPUs when they were first around, and the lack of floating point hardware often led to a range of strategies for optimising performance. For pygame, I found that instead of needing numpy, which is a huge bundle of tangential stuff, I can probably use the pixel array support instead, and I suppose there will be similar workarounds for other software.13:25
paul_boddieI guess the uClibc settings of interest are UCLIBC_HAS_FLOATS and UCLIBC_HAS_FPU.14:00
paul_boddieAnd, of course, UCLIBC_HAS_FENV. Maybe that is set as a consequence of the others being set or unset.14:01
paul_boddieThere seems to be a CONFIG_SOFT_FLOAT setting in the OpenWrt, perhaps similar to the BR2_SOFT_FLOAT in buildroot.14:02
jow_laptopyes, that just results in -msoft-float for gcc calls (openwrt softfloat option)14:05
paul_boddieWould it give me fenv.h? :-)14:07
jow_laptoplikely not14:09
jow_laptopI only have some C++ related fenv.h here14:09
jow_laptopit provides ::fenv_t and ::fexcept_t14:10
jow_laptopbut no equivalent for C14:10
paul_boddieI'd have to take a look. I swear I saw an fenv.h for C in the uClibc sources as well as the C++ wrapper that appears to get installed, but I'd have to look again and understand what it's for, too.14:22
LunaVoraxhi23:15
pabs3hola23:15
LunaVoraxque tal? :P23:16
pabs3no mucho23:19
LunaVoraxYou don't speak spanish pabs3, right?23:22
pabs3solo un poco23:22
LunaVoraxThat's great because me neither23:22
pabs3:)23:22
LunaVorax:P23:22
--- Thu Aug 16 201200:00

Generated by irclog2html.py 2.9.2 by Marius Gedminas - find it at mg.pov.lt!