freedreno
freedreno copied to clipboard
[question] freedreno testing on adreno200 (palm pixi plus)?
hello, thanks for freedreno. based on comments from your latest post http://bloggingthemonkey.blogspot.com/2012/08/textured-cube-fullscreen.html some testing on a200 was of interest.
i'm guessing that i could build freedreno for a palm pixi (running webos), using either the original palm pdk or webos-internals dev kit (widk), assuming make BUILD=glibc is supported? if unsupported, please ignore the remainder of this distraction. if intended to be supported, here are some make issues (under widk) (1) tests-3d/test-cat.c:148: error: invalid application of 'sizeof' to incomplete type 'const float[]' workaround: omit test-cat (2)In file included from includes/kgsl_drm.h:4, from wrap/wrap.h:43, from wrap/wrap-util.c:24: includes/drm.h:620:26: error: drm/drm_mode.h: No such file or directory workaround: none?
i'll look into creating some cmdstream dumps as mentioned in the blog comments.
I just pushed a fix for the build break in test-cat.. that issue was unrelated to BUILD=glibc.
re: 2nd issue, you probably need libdrm-dev headers. Maybe you could get away w/ just commenting that #include of kgsl_drm.h? Otherwise you might be able to get away copying libdrm headers from a linux box.
Normally I'm using an ubuntu fs w/ an android /system directory for linking against android binaries (fwiw).
Any idea what kernel version you have? I guess pixi has something older than what I am using (3.0). Hopefully the kgsl kernel driver interface hasn't changed too much. But I guess we'll see what the captured dump files (*.rd) look like.
BR, -R
thanks for the rapid response & info, i'm basically ignorant of android, & graphics & binary blobs & kernel modules any other valuable developer skill..., but in case this thread could still provide you w/ anything of value, here's some info, happy to contribute more.
(1) the pixi is circa 2010, so definitely hardware & software obsolete or thereabouts, basically has a std linux distro (webos 1.4.5), so definitely a dead end if android-only stuff needs to be present/tested (or would i simply(?) have to locate an android /system for something else that used this MSM7627 soc + adreno gpu?) root@palm-webos-device:/media/internal/freedreno# uname -a Linux palm-webos-device 2.6.24-palm-chuck #2 PREEMPT Mon May 30 22:14:27 HST 2011 armv6l unknown
(2) i modified run-tests.sh & directly ran (sans libwrap.so) the 11 tests that compiled, then grepped .log for ERROR, only test_vertex failed Running (unwrapped): test-cat Running (unwrapped): test-compiler Running (unwrapped): test-cube Running (unwrapped): test-cube-textured Running (unwrapped): test-enable-disable Running (unwrapped): test-quad-flat Running (unwrapped): test-quad-flat2 Running (unwrapped): test-strip-smoothed Running (unwrapped): test-triangle-quad Running (unwrapped): test-triangle-smoothed Running (unwrapped): test-vertex ERROR: program linking failed!: (link_program:215)
i attached that log in case it's informative.
i'm guessing that the c2d stuff is android, so i can ignore the test-util-2d & test-fill as yet.
commenting out the kgsl_drm.h include does allow me to build libwrap running it as per original run-tests.sh gives me failures like so from _dlopen in wrap_util.c (here from test-vertex, but same for all)
eglInitialize(display, &egl_major, &egl_minor) (get_display:109) Failed to dlopen libc.so: /usr/lib/libc.so: ELF file version does not match current one
in this case, on the pixi, /usr/lib/libc.so is just an ld script /* GNU ld script Use the shared library, but some functions are only in the static library, so try that secondarily. */ OUTPUT_FORMAT(elf32-littlearm) GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a AS_NEEDED ( /lib/ld-linux.so.3 ) )
while /lib/libc are: root@palm-webos-device:/media/internal/freedreno# ls -l /lib/libc.* lrwxrwxrwx 1 root root 11 Dec 2 2010 /lib/libc.so.6 -> libc-2.5.so root@palm-webos-device:/media/internal/freedreno# ls -l /lib/libc-* -rwxr-xr-x 1 root root 1386675 Jun 16 2010 /lib/libc-2.5.so
haven't seen that error yet in other pkg builds using widk, so not sure if it is an inconsistency there.
thanks
On Tue, Aug 21, 2012 at 4:43 PM, Rob Clark [email protected] wrote:
I just pushed a fix for the build break in test-cat.. that issue was unrelated to BUILD=glibc.
re: 2nd issue, you probably need libdrm-dev headers. Maybe you could get away w/ just commenting that #include of kgsl_drm.h? Otherwise you might be able to get away copying libdrm headers from a linux box.
Normally I'm using an ubuntu fs w/ an android /system directory for linking against android binaries (fwiw).
Any idea what kernel version you have? I guess pixi has something older than what I am using (3.0). Hopefully the kgsl kernel driver interface hasn't changed too much. But I guess we'll see what the captured dump files (*.rd) look like.
BR, -R
— Reply to this email directly or view it on GitHubhttps://github.com/freedreno/freedreno/issues/1#issuecomment-7920308.
btw, re: android.. don't worry, I'm not really an android expert.. I just grabbed binaries from a cyogenmod filesystem because it was a handy source for binary blobs. Yes, the c2d stuff, I've only seen in android filesystems (not webos) so you can ignore that.
My guess is the libc issues are because wrap-util.c, _dlsym_helper(), dlopen()'s libc.. maybe try putting an absolute path in there to /lib/libc-2.5.so would do the trick?
thanks, i hardwired the dlopen for libc & hardwired a wrapper around the libc2d stuff [which would otherwise bomb when looked for w/o cd2 stuff (which may or may not be what BUILD=glibc implies...?)], so i think(?) libwrap works now.
"wrap-util.c" 92 //printf("_dlsym_helper trying %s\n", name); 93 if (!libc_dl) 94 libc_dl = _dlopen("libc-2.5.so"); 95 96 func = dlsym(libc_dl, name); 97 98 if (!func) { 99 printf("Failed (libc_dl) to find %s: %s\n", name, dlerror()); 100 if (!libc2d2_dl) 101 libc2d2_dl = _dlopen("libC2D2.so"); 102 func = dlsym(libc2d2_dl, name); 103 }
i guess all the test-2d stuff refs c2d, so i hacked the makefile for glibc build (same caveat as above): else ifeq ($(strip $(BUILD)),glibc) LFLAGS_3D = -lEGL -lGLESv2 LFLAGS_2D = LDFLAGS_MISC = CC = gcc -L /usr/lib -L /usr/local/lib # <- webos/widk LD = gcc -L /usr/lib -L /usr/local/lib TESTS_2D = TESTS = $(TESTS_3D)
so, now the glibc build completes & libwrap run-tests works (vertex still crashes): root@palm-webos-device:/media/internal/freedreno# time ./run-tests.sh Running: test-cat Running: test-compiler Running: test-cube Running: test-cube-textured Running: test-enable-disable Running: test-quad-flat Running: test-quad-flat2 Running: test-strip-smoothed Running: test-triangle-quad Running: test-triangle-smoothed Running: test-vertex Command exited with non-zero status 255 real 0m 20.10s user 0m 3.43s sys 0m 3.73s
redump runs, but might be seeing some unexpected things?: root@palm-webos-device:/media/internal/freedreno# time ./run-redump.sh found: cat found: compiler Segmentation fault found: cube unexpected type '2', expected '10' found: cube-textured unexpected type '2', expected '10' found: disable found: enable found: quad-flat found: quad-flat2 unexpected type '2', expected '10' found: strip-smoothed found: triangle-quad found: triangle-smoothed found: vertex Segmentation fault real 0m 3.19s user 0m 0.17s sys 0m 0.51s
.log, .rd, & .html files from this are attached, hope they are useful.
not sure if i should do anything w/ cffdump or pgmdump?
root@palm-webos-device:/media/internal/freedreno# ./cffdump Segmentation fault
pgmdump gens output for some .rd files, none for others. is the output of use?
On Thu, Aug 23, 2012 at 6:11 AM, Rob Clark [email protected] wrote:
btw, re: android.. don't worry, I'm not really an android expert.. I just grabbed binaries from a cyogenmod filesystem because it was a handy source for binary blobs. Yes, the c2d stuff, I've only seen in android filesystems (not webos) so you can ignore that.
My guess is the libc issues are because wrap-util.c, _dlsym_helper(), dlopen()'s libc.. maybe try putting an absolute path in there to /lib/ libc-2.5.so would do the trick?
— Reply to this email directly or view it on GitHubhttps://github.com/freedreno/freedreno/issues/1#issuecomment-7968965.
try run-cffdump.sh *.rd
redump is only for the 2d stuff, so quite likely it is confused by 3d logs
ahh, previously couldn't figure out what args run-cffdump expected; now it runs fine, .txt files attached
On Sat, Aug 25, 2012 at 8:36 AM, freedreno [email protected] wrote:
try run-cffdump.sh *.rd
redump is only for the 2d stuff, so quite likely it is confused by 3d logs
— Reply to this email directly or view it on GitHubhttps://github.com/freedreno/freedreno/issues/1#issuecomment-8024408.
hmm, now I just need to figure out how to see the files you attached (I'm kinda new to the github issue tracker.. never used it before)