Compling ResidualVM for N900 (Maemo 5)

General chat related to ScummVM, adventure gaming, and so on.

Moderator: ScummVM Team

Post Reply
kinipyon
Posts: 4
Joined: Mon Feb 01, 2010 10:42 pm

Compling ResidualVM for N900 (Maemo 5)

Post by kinipyon »

Hi there,

I'm intrested in compling ResidualVM for Maemo 5 (N900) So far I have figured that ResidualVM uses OpenGL where N900 only supports OpenGL ES 2.0v and cannot be compiled unless somebody rewrites ResidualVM Engine for OpenGL ES (shouldnt be that hard but I dont have required programming skills)

However I have discovered that ResidualVM includes software-rendering mode. Is it possible to complete ResidualVM with only software rendering? That way I could at least test, how ResidualVM performs on my N900.

Waiting for your reply ;-)
jvprat
ScummVM Developer
Posts: 76
Joined: Mon Oct 30, 2006 9:10 pm

Re: Compling ResidualVM for N900 (Maemo 5)

Post by jvprat »

kinipyon wrote:I'm intrested in compling ResidualVM for Maemo 5 (N900) So far I have figured that ResidualVM uses OpenGL where N900 only supports OpenGL ES 2.0v and cannot be compiled unless somebody rewrites ResidualVM Engine for OpenGL ES (shouldnt be that hard but I dont have required programming skills)
Right now ResidualVM is missing the required abstraction layers to help writing "rendering drivers", so both OpenGL and the software rendering are closely tied to the engine internals. So... if you want it to get implemented in a clean and maintainable way, it wouldn't be that easy ;)
kinipyon wrote:However I have discovered that ResidualVM includes software-rendering mode. Is it possible to complete ResidualVM with only software rendering? That way I could at least test, how ResidualVM performs on my N900.
"complete ResidualVM"? If you meant "complete Grim Fandango", the answer is no. If you meant "compile ResidualVM", the answer should be yes.
kinipyon
Posts: 4
Joined: Mon Feb 01, 2010 10:42 pm

Re: Compling ResidualVM for N900 (Maemo 5)

Post by kinipyon »

"complete ResidualVM"? If you meant "complete Grim Fandango", the answer is no. If you meant "compile ResidualVM", the answer should be yes.
Yea the word I was looking for was compile. Bad english (;

I have had some success, compiled the ResidualVM for FREMANTLE_X86. Shame is that FREMANTLE_ARMEL doesnt have GL-libraries since Nokia wont support OpenGL in N900 :(

I have come to conclusion that somebody needs to convert residual from OpenGL to OpenGLES if we want to play GF on our N900. Example, compling fails when calling functions like glBegin, glEnd... I know that OpenGLES doesn't support them so these sections needs to be rewritten to OpenGLES.

I don't have any expertise in this area since I'm a web-developer. Maybe I should start learning C++ and OpenGL(ES) and someday I might be able to better understand how ResidualVM works and how to port it to Maemo 5 ;)
jvprat
ScummVM Developer
Posts: 76
Joined: Mon Oct 30, 2006 9:10 pm

Post by jvprat »

I haven't tried it, but I think it should work by editing the generated config.mk and removing "-DUSE_OPENGL" from the DEFINES variable.
kinipyon
Posts: 4
Joined: Mon Feb 01, 2010 10:42 pm

Post by kinipyon »

jvprat wrote:I haven't tried it, but I think it should work by editing the generated config.mk and removing "-DUSE_OPENGL" from the DEFINES variable.
Hey it works. It compiled almost without errors (needed to disable something from LIBS also)

Here's a video showing Grim Fandango running on N900:
http://www.youtube.com/watch?v=TO9a5nTMHYI

Source and compiled binary is available at http://secyritas.desteem.org/residue_n900.zip
david.hicks
Posts: 2
Joined: Sat May 15, 2010 11:24 am

Post by david.hicks »

Damn you! I was looking for a project to get into N900 development with, and had settled on this. Beaten to it.

OTOH, I am a C programmer with some (limited) OpenGL experience.

From what I can tell, IF ResidualVM uses OpenGL 1, then the conversion to ES 1.1 shouldn't be that painful, and the N900 supports ES 1.1.

So - does anyone know if ResidualVM uses OpenGL 1 or 2?

If it's 2 then it gets more complicated.
jvprat
ScummVM Developer
Posts: 76
Joined: Mon Oct 30, 2006 9:10 pm

Post by jvprat »

david.hicks wrote:From what I can tell, IF ResidualVM uses OpenGL 1, then the conversion to ES 1.1 shouldn't be that painful, and the N900 supports ES 1.1.

So - does anyone know if ResidualVM uses OpenGL 1 or 2?
It uses OpenGL 1. Anyway, right now ResidualVM doesn't have proper renderer abstraction, so adding support for a new renderer would require changes at many places (ugly and not scalable).
david.hicks
Posts: 2
Joined: Sat May 15, 2010 11:24 am

Post by david.hicks »

jvprat wrote: It uses OpenGL 1. Anyway, right now ResidualVM doesn't have proper renderer abstraction, so adding support for a new renderer would require changes at many places (ugly and not scalable).
Oh, no doubt it would be ugly! But maybe not too difficult a task. I'm going to have a poke around.

I make absolutely no promises that this will go any further though.
kinipyon
Posts: 4
Joined: Mon Feb 01, 2010 10:42 pm

Post by kinipyon »

david.hicks wrote:Damn you! I was looking for a project to get into N900 development with, and had settled on this. Beaten to it.
David,

You are most welcome to take over this. I have lost my interest and I'm moving on to some other projects with Python since I really don't have any experience with C or C++ nor OpenGL or OpenGLES.
OTOH, I am a C programmer with some (limited) OpenGL experience.

From what I can tell, IF ResidualVM uses OpenGL 1, then the conversion to ES 1.1 shouldn't be that painful, and the N900 supports ES 1.1.
Yes, from what I have researched converting OpenGL to OpenGLES on ResidualVM shouldn't be that painful. Although as jvprat said, no proper render abstraction, new renderer would require hacks :-(
Post Reply