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.

Reply via email to