Skip to content
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

[question] freedreno testing on adreno200 (palm pixi plus)? #1

Open
sobew opened this issue Aug 21, 2012 · 7 comments
Open

[question] freedreno testing on adreno200 (palm pixi plus)? #1

sobew opened this issue Aug 21, 2012 · 7 comments
Assignees

Comments

@sobew
Copy link

sobew commented Aug 21, 2012

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.

@robclark
Copy link
Collaborator

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

@sobew
Copy link
Author

sobew commented Aug 23, 2012

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/issues/1#issuecomment-7920308.

@robclark
Copy link
Collaborator

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?

@sobew
Copy link
Author

sobew commented Aug 24, 2012

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/issues/1#issuecomment-7968965.

@freedreno-zz
Copy link
Owner

try run-cffdump.sh *.rd

redump is only for the 2d stuff, so quite likely it is confused by 3d logs

@sobew
Copy link
Author

sobew commented Aug 26, 2012

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/issues/1#issuecomment-8024408.

@ghost ghost assigned freedreno-zz Aug 26, 2012
@freedreno-zz
Copy link
Owner

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)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants