Re: Give A directFB surface to EGL
Albert Freeman <[email protected]>
| Newsgroups | gmane.comp.video.mesa3d.user |
|---|---|
| Message-ID | <CAHD8uZPYqRf-7paYoG39oEbUhLwJri_HQXa8zKUOAsdMbfpg5Q@mail.gmail.com> |
On 23 October 2015 at 03:18, 刘涛 <[email protected]> wrote: > I didn't have “ (!) Direct/Modules: Unable to dlopen“ error, did you start > your program with "sudo"? and I also have have some errors, but directFB > test(attachment) can pass on my pc. You may alse need direcfbrc file to > configure directFB, and init it with command 'echo -e > "mode=1366x768\nwm=default\ndepth=32\nsystem=x11" > ~/.directfbrc'. > > > 在 2015-10-23 05:24:32,"Albert Freeman" <[email protected]> 写道: >>On 22 October 2015 at 15:35, Albert Freeman <[email protected]> >> wrote: >>> On 22 October 2015 at 15:31, Albert Freeman <[email protected]> >>> wrote: >>>> On 22 October 2015 at 12:25, 刘涛 <[email protected]> wrote: >>>>> Attachment need approval and main output see below: >>>>> >>>>> Build options: >>>>> Version 1.7.6 >>>>> Linux powered yes >>>>> Install prefix /usr >>>>> Config files in /usr/etc >>>>> Build shared libs yes >>>>> Build static libs no >>>>> Module directory ${exec_prefix}/lib/directfb-1.7-6 >>>>> CC gcc >>>>> CXX g++ >>>>> LD /usr/bin/ld -m elf_x86_64 >>>>> CPPFLAGS -D_REENTRANT >>>>> CFLAGS -Wall -Wstrict-prototypes >>>>> -Wmissing-prototypes >>>>> -Wno-strict-aliasing -Werror-implicit-function-declaration -O3 -g2 >>>>> -ffast-math -pipe -D_GNU_SOURCE -std=gnu99 >>>>> -Werror-implicit-function-declaration >>>>> CXXFLAGS -Wall -Wno-strict-aliasing -std=c++0x -g >>>>> -O2 -O3 >>>>> -g2 -ffast-math -pipe -D_GNU_SOURCE >>>>> LDFLAGS >>>>> LIBS -ldl -lrt -lpthread >>>>> DYNLIB -ldl >>>>> RTLIB -lrt >>>>> THREADFLAGS -D_REENTRANT >>>>> THREADLIB -lpthread >>>>> >>>>> Misc options: >>>>> Multi Application Core no >>>>> Fusion Kernel Device yes >>>>> Fusion message size 16384 >>>>> Fluxed args size 1024 >>>>> One (IPC) no >>>>> Voodoo (network support) no >>>>> Pure Voodoo (net only) no >>>>> DiVine (virtual input) no >>>>> FusionDale no >>>>> Debug supported yes >>>>> Debug enabled no >>>>> Trace support no >>>>> MMX support yes >>>>> SSE support yes >>>>> GCC Atomics usage no >>>>> Network support yes >>>>> Include all strings yes >>>>> Software Rendering yes >>>>> Smooth SW Scaling no >>>>> Dithering none >>>>> Dithering 565 none >>>>> zlib compression no >>>>> Using setsockopt yes >>>>> >>>>> Building Tests no >>>>> Building Tools yes >>>>> >>>>> Building System Modules: >>>>> Linux FBDev support yes >>>>> Generic /dev/mem support yes >>>>> Mesa/DRM/KMS support yes -I/usr/include/libdrm >>>>> -lGLESv2 -lEGL -ldrm -lgbm >>>>> DRM/KMS support no >>>>> PVR2D no >>>>> EGL no -I/usr/include/libdrm >>>>> -lGL >>>>> -lEGL >>>>> X11 support yes -lX11 -lXext >>>>> X11/VDPAU support no >>>>> OSX support no >>>>> SDL support no >>>>> VNC support no >>>>> >>>>> Building Window Manager Modules: >>>>> Default yes >>>>> UniQuE no >>>>> SaWMan no >>>>> >>>>> Building Image Provider Modules: >>>>> GIF yes >>>>> JPEG yes -ljpeg >>>>> PNG yes >>>>> -I/usr/include/libpng12 >>>>> -lpng12 >>>>> Imlib2 no >>>>> PNM yes >>>>> SVG no >>>>> BMP yes >>>>> WEBP no >>>>> JPEG2000 no >>>>> MPEG2 yes >>>>> TIFF no >>>>> >>>>> >>>>> >>>>> Building Video Provider Modules: >>>>> GIF yes >>>>> Video4Linux yes (v2: no) >>>>> MNG no >>>>> Gstreamer no (v1: no) >>>>> with FusionSound no >>>>> AviFile no >>>>> Flash no >>>>> Libmpeg3 no >>>>> OpenQuicktime no >>>>> Xine no >>>>> Xine/VDPAU no >>>>> Swfdec no >>>>> FFmpeg no >>>>> >>>>> Building Font Modules: >>>>> FreeType2 yes >>>>> -I/usr/include/freetype2 >>>>> -lfreetype >>>>> LinoType no >>>>> Default font yes >>>>> >>>>> Building FusionSound no >>>>> >>>>> Building Graphics Drivers: >>>>> 3Dfx Voodoo yes >>>>> ATI Mach64 yes >>>>> ATI Rage 128 yes >>>>> ATI Radeon no >>>>> Cirrus EP9X yes >>>>> Intel i810 yes >>>>> Intel i830 yes >>>>> Matrox yes >>>>> NeoMagic yes >>>>> NSC Geode yes >>>>> nVidia yes >>>>> PVR2D no >>>>> PXA 3xx yes >>>>> Renesas R-Car GP2D no >>>>> Renesas SH7722/SH7723 no >>>>> S3 Savage no >>>>> SiS 315 yes >>>>> TI Davinci no >>>>> TI OMAP no >>>>> TVIA CyberPro no >>>>> VIA CLE266 no >>>>> VIA UniChrome no >>>>> VMWare no >>>>> VDPAU no >>>>> -- >>>>> OpenGL yes (GLX: yes) >>>>> OpenGL ES 2.0 yes (Mesa: yes, PVR2D: no) >>>>> -I/usr/include/libdrm >>>>> -DGLES2_MESA >>>>> -lGLESv2 -lEGL -ldrm -lgbm >>>>> >>>>> IDirectFBGL-EGL yes -I/usr/include/libdrm -lGL >>>>> -lEGL >>>>> >>>>> Building Input Drivers: >>>>> DBox2 Remote no >>>>> DreamBox Remote no >>>>> Dynapro Touchscreen no >>>>> ELO Touchscreen no >>>>> Gunze Touchscreen no >>>>> H3600 Touchscreen no >>>>> Input Hub yes >>>>> Joystick yes >>>>> Keyboard yes >>>>> Linux Input yes >>>>> LiRC yes >>>>> MuTouch touchscreen yes >>>>> Zytronic touchscreen yes >>>>> PS/2 Mouse yes >>>>> Serial Mouse yes >>>>> SonyPI Jogdial yes >>>>> tslib yes -lts >>>>> ucb1x00 Touchscreen no >>>>> WM97xx Touchscreen yes >>>>> >>>>> >>>>> >>>>> >>>>> 在 2015-10-22 20:14:41,"刘涛" <[email protected]> 写道: >>>>> >>>>> Sorry , add attachment for this time. >>>>> >>>>> >>>>> 在 2015-10-22 20:13:36,"刘涛" <[email protected]> 写道: >>>>> >>>>> I use "./configure --prefix=/usr --enable-idirectfbgl-egl" to configure >>>>> DirectFB-1.7.6 and please see attachment config.log for output. >>>> I was really really wrong about what DirectFB can support. It uses gbm >>>> and therefore supports all the latest mesa hardware drivers. I have >>>> got a slight modification of your code (adding stuff you would already >>>> have setup) running on DirectFB with my r600 radeon card. I had to >>>> modify directfb. I did by commenting out functions to avoid a runtime >>>> dlopen warning that prevented stuff from working. Now to do it >>>> properly (I believe DirectFB is not loading function pointers for some >>>> EGL functions). I am not sure if it is the same issue you have though. >>>> >>>> My configuration is latest git mesa and Linux 4.2.3 and I actually had >>>> success with just ./configure && make -j16 && make install with >>>> DirectFB. >>> Just to make sure it is the same issue, do you have: >>> (!) Direct/Modules: Unable to dlopen >>> `/usr/local/lib/directfb-1.7-0/systems/libdirectfb_mesa_system.so'! >>> --> /usr/local/lib/directfb-1.7-0/systems/libdirectfb_mesa_system.so: >>> undefined symbol: >>> in the DirectFB stdout/err log when you run your program (near the top >>> of the log)? >>Actually I did not solve the issue. I had setup a: >>glClearColor(0.0f, 1.0f, 0.0f, 0.0f); >>glClear(GL_COLOR_BUFFER_BIT); >>which for the first time actually cleared something for about a second. >>But strangely enough EGL was erroring and it was still intermittently >>clearing the screen. >>The gles2 test DirectFB provides tests functionality that has since >>been deleted (even though the tests are in the same repo). >>DirectFBGL/EGL calls: >>eglGetDisplay >>eglInitialize >>eglChooseConfig >>eglBindAPI(EGL_OPENGL_ES_API) which is hardwired, meaning no Desktop >>OpenGL allowed (I just feel like noting that for some reason). >>etc >>So if you actually want to use DirectFBGL/EGL completely then I don't >>think your supposed to call egl functions yourself. >> >>Your program fails on >>eglDisplay = eglGetDisplay(EGL_DEFAULT_DISPLAY); >>with a EGL_BAD_NATIVE_WINDOW (I may have also seen a EGL_BAD_DISPLAY >>but I doubt it) >>of course that could be due to the infrastructure I built around it, >>but I doubt that. >> >>I messed around for ages doing stuff, I got a DirectFB mouse cursor >>appearing both in X11 and with the test app started directly from the >>linux console. >>Although I think it is a matter of getting the DirectFB calls setup >>right (before any egl functions are called) with X11 on PC. Of course >>it could be a bug in DirectFB or EGL too. >> >>Anyway, I am going to bed. >> >>You might want to use this for debugging: >> EGLint eglerror = eglGetError(); >> switch(eglerror) { >> case EGL_SUCCESS: >> printf("eglGetError indicated SUCCESS\n"); >> break; >> case EGL_BAD_NATIVE_WINDOW: >> printf("eglGetError indicated BAD_NATIVE_WINDOW\n"); >> break; >> case EGL_NOT_INITIALIZED: >> printf("eglGetError indicated NOT_INITIALIZED\n"); >> break; >> case EGL_CONTEXT_LOST: >> printf("eglGetError indicated CONTEXT_LOST\n"); >> break; >> case EGL_BAD_ACCESS: >> printf("eglGetError indicated BAD_ACCESS\n"); >> break; >> case EGL_BAD_ALLOC: >> printf("eglGetError indicated BAD_ALLOC\n"); >> break; >> case EGL_BAD_ATTRIBUTE: >> printf("eglGetError indicated BAD_ATTRIBUTE\n"); >> break; >> case EGL_BAD_CONTEXT: >> printf("eglGetError indicated BAD_CONTEXT\n"); >> break; >> case EGL_BAD_CONFIG: >> printf("eglGetError indicated BAD_CONFIG\n"); >> break; >> case EGL_BAD_CURRENT_SURFACE: >> printf("eglGetError indicated BAD_CURRENT_SURFACE\n"); >> break; >> case EGL_BAD_DISPLAY: >> printf("eglGetError indicated BAD_DISPLAY\n"); >> break; >> case EGL_BAD_MATCH: >> printf("eglGetError indicated BAD_MATCH\n"); >> break; >> case EGL_BAD_PARAMETER: >> printf("eglGetError indicated BAD_PARAMETER\n"); >> break; >> case EGL_BAD_NATIVE_PIXMAP: >> printf("eglGetError indicated BAD_NATIVE_PIXMAP\n"); >> default: >> printf("eglGetError returned an unknown EGL error\n"); >> break; >> } > > > > I run everything directly as root. That draw_line.c demo works fine without any configuration changes. _______________________________________________ mesa-users mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-users