Jason, I think this is a bug in the code
https://github.com/hendersa/bes/blob/v0.1/src/eglSetup.cpp At line 23 I see static EGLSurface window = EGL_NO_SURFACE; whereas 'window' should be of type EGLNativeWindowType. It (window) should be initialised either to 0 for a 'default' window (which is probably why the code at some point compiled on a compiler that didn't worry so much about the type mismatch) or to some kind of platform/OS/window manager specific thing. Given that the code only includes X11 headers when building for PC_PLATFORM it appears you might get away with setting this to 0 and expecting it to take over the whole screen? Does that sound plausible (sorry I'm not familiar with BES). i.e. static EGLNativeWindowType window = 0; // or possibly (void*)0; depending on the underlying type Hope that helps Robert ________________________________________ From: [email protected] <[email protected]> on behalf of Jason Kridner <[email protected]> Sent: 15 September 2017 15:45:20 To: [email protected] Subject: [beagle-alpha] Beagle Entertainment System (BES) on framebuffer Andrew and all, I'm looking to compile https://github.com/hendersa/bes for an Adafruit 1.8" SPI LCD and GPIO buttons. I'm trying to integrate on top of Debian Jessie or Stretch. I plan to make the PRU updates to use remote-proc as that change looks pretty easy. Do you compile BES without X11? I'm thinking that might be my issue, but I'm not sure how the various EGL headers get selected in Debian. I'm getting the following error: g++ -I. -Ines -Isqlite -c -O3 -fomit-frame-pointer -pedantic -Wall -W -Wno-unused-parameter -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -DFRAMESKIP -DNO_FFMPEG -DFINAL_VERSION -DSDL -DNO_LINK -DC_CORE -DNO_ASM -DZLIB -DHAVE_LIBPNG -DHAVE_MKSTEMP -DHAVE_STRINGS_H -DHAVE_SYS_IOCTL_H -DHAVE_STDINT_H eglSetup.cpp -o eglSetup.o eglSetup.cpp: In function ‘int EGLInitialize()’: eglSetup.cpp:123:64: error: invalid conversion from ‘EGLSurface {aka void*}’ to ‘EGLNativeWindowType {aka long unsigned int}’ [-fpermissive] surface = eglCreateWindowSurface(display, config, window, 0); ^ Makefile:75: recipe for target 'eglSetup.o' failed make: *** [eglSetup.o] Error 1 Here's what I have in my include file: /usr/include/EGL/egl.h:EGLAPI EGLSurface EGLAPIENTRY eglCreateWindowSurface (EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list); /usr/include/EGL/egl.h:typedef void *EGLSurface; /usr/include/EGL/eglplatform.h:typedef EGLNativeWindowType NativeWindowType; I'm thinking I can just adjust the BES source to use (NativeWindow)X, where X is my framebuffer, but https://e2e.ti.com/support/embedded/linux/f/354/t/116795 points to problems specifying any framebuffer other than 0. Is hacking on eglSetup.cpp what I should be doing or will it be fruitless? Regards, Jason -- https://beagleboard.org/about -- You received this message because you are subscribed to the Google Groups "Beagle Alpha" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]<mailto:[email protected]>. For more options, visit https://groups.google.com/d/optout. IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard/DB5PR08MB1016717934704A1C6AE6D27491660%40DB5PR08MB1016.eurprd08.prod.outlook.com. For more options, visit https://groups.google.com/d/optout.
