XBMC Community Forum
[LINUX] XBMC for Linux port to ARM architecture CPU and SoC chips? - Printable Version

+- XBMC Community Forum (http://forum.xbmc.org)
+-- Forum: Development (/forumdisplay.php?fid=32)
+--- Forum: Feature Suggestions (/forumdisplay.php?fid=9)
+--- Thread: [LINUX] XBMC for Linux port to ARM architecture CPU and SoC chips? (/showthread.php?tid=35139)



- McGeagh - 2010-04-07 11:09

i am currently doing it how xbmc does it, i.e with SDL... but alternatively, can you not create the window by this method instead? (untested!):
Code:
Display* display;
    EGLDisplay sEGLDisplay;
    EGLConfig FBConfig;
    XSetWindowAttributes wa;
    XSizeHints sh;
    XEvent e;
    unsigned long mask;
    long screen;
    XVisualInfo *visual, template;
    Colormap colormap;
    int vID, n;
    Window window;

    screen = DefaultScreen(display);
    eglGetConfigAttrib(sEGLDisplay, FBConfig, EGL_NATIVE_VISUAL_ID, &vID);
    template.visualid = vID;
    visual = XGetVisualInfo(display, VisualIDMask, &template, &n);
    
    colormap = XCreateColormap(display,  RootWindow(display, screen),  visual->visual,     AllocNone);
    wa.colormap = colormap;
    wa.background_pixel = 0xFFFFFFFF;
    wa.border_pixel = 0;
    wa.event_mask = StructureNotifyMask | ExposureMask;

    mask = CWBackPixel | CWBorderPixel | CWEventMask | CWColormap;

    window = XCreateWindow(display,  RootWindow(display, screen), 0, 0, width, height, 0,  visual->depth, InputOutput, visual->visual, mask,  &wa);

    sh.flags = USPosition;
    sh.x = 10;
    sh.y = 10;
    
    XSetStandardProperties(display, window, title, title, None, 0, 0, &sh);

    XMapWindow(display, window);
    XSetWMColormapWindows(display, window, &window, 1);
    XFlush(display);



SDL with OPENGL ES - vane.xbmc - 2010-04-07 11:19

Hi all,

I've searching on the internet about the problem with the flag SDL_OPENGL used in SDL_SetVideoMode and i've found that you can use the flag SDL_OPENGLES if you use an extended SDL library to use with OpenGL ES. Anybody knows about it or have tested this library?

Quote:Cant we get rid of SDL entirely?

May I ask why do you want to get rid of SDL?

Thanks,

Vane.


- topfs2 - 2010-04-07 11:24

vane.xbmc Wrote:May I ask why do you want to get rid of SDL?

The idea would probably be to still have SDL but as a fallback when we don't have a native wrapping, the reasons are simple and thats SDL is far to abstracted for our use and way to slow to adapt new features. Don't get me wrong SDL is great but its limiting for us.


- davilla - 2010-04-07 16:57

vane.xbmc Wrote:Hi all,

I've searching on the internet about the problem with the flag SDL_OPENGL used in SDL_SetVideoMode and i've found that you can use the flag SDL_OPENGLES if you use an extended SDL library to use with OpenGL ES. Anybody knows about it or have tested this library?



May I ask why do you want to get rid of SDL?

Thanks,

Vane.

SDL_OPENGLES only works under the svn trunk of SDL 1.3. OpenGL/ES support was added for running SDL under the iPhone. There have not been any stable releases of SDL 1.3 so you would be targeting a moving svn if you used SDL 1.3. Is SDL 1.3 the "extended SDL library" that you are talking about ?


Sdl opengles - vane.xbmc - 2010-04-08 13:53

davilla Wrote:SDL_OPENGLES only works under the svn trunk of SDL 1.3. OpenGL/ES support was added for running SDL under the iPhone. There have not been any stable releases of SDL 1.3 so you would be targeting a moving svn if you used SDL 1.3. Is SDL 1.3 the "extended SDL library" that you are talking about ?

Yes, it is. I've seen it is under construction and that you can use it with OPENGL ES 1.x, so, I suppose it is not useful for XBMC because it uses OpenGL ES 2.0.

My question is: what is the difference between this three uses in XBMC?:

Code:
m_SDLSurface = SDL_SetVideoMode(m_nWidth, m_nHeight, 0, SDL_FULLSCREEN | SDL_DOUBLEBUF)

Code:
m_SDLSurface = SDL_SetVideoMode(m_nWidth, m_nHeight, 0, OPENGL | SDL_FULLSCREEN | SDL_DOUBLEBUF)

Code:
m_SDLSurface = SDL_SetVideoMode(m_nWidth, m_nHeight, 0, OPENGLES |SDL_FULLSCREEN | SDL_DOUBLEBUF)

I don't undestand why XBMC opens with the first option and does not open with the second one.


- vane.xbmc - 2010-04-08 13:58

davilla Wrote:16:39:03 T:1103313200 M:821952512 NOTICE: GL_VENDOR = NVIDIA Corporation
16:39:03 T:1103313200 M:821952512 NOTICE: GL_RENDERER = NVIDIA Tegra
16:39:03 T:1103313200 M:821952512 NOTICE: GL_VERSION = OpenGL ES 2.0

Hi again,

I've seen you are working with an nvidia tegra, can I ask you where do you obtain the SDK for this GPU? I've seen in nvidia web page it is coming soon for Linux SO.

Regards,

Vane.


- davilla - 2010-04-08 17:36

vane.xbmc Wrote:Hi again,

I've seen you are working with an nvidia tegra, can I ask you where do you obtain the SDK for this GPU? I've seen in nvidia web page it is coming soon for Linux SO.

Regards,

Vane.

You would need to talk with nvidia.


- mzsy - 2010-04-12 14:28

davilla Wrote:You would need to talk with nvidia.

Hi,davilla

Do you have a plan to enable openmax support on tegra?
http://trac.xbmc.org/ticket/9070

B.R


- davilla - 2010-04-12 16:03

mzsy Wrote:Hi,davilla

Do you have a plan to enable openmax support on tegra?
http://trac.xbmc.org/ticket/9070

B.R

Yes. Without OpenMax support, the Tegra2 platform would be as useful as the AppleTV without CrystalHD.


- mzsy - 2010-04-12 16:37

davilla Wrote:Yes. Without OpenMax support, the Tegra2 platform would be as useful as the AppleTV without CrystalHD.

That's awesome! Another great work for xbmc!