First of all I'm not an expert in multimedia programming. I can't give you any advice, I just want to share what I know.
OpenGLMy system is Linux, but I occasionally create Windows programs. Cross compiling OpenGL programs in Lazarus is as easy as configuring some of the project settings only. Very easy as long as you have already made your Lazarus to be able to do cross compiling. How to make your Lazarus to do cross compiling is another topic, it is relative difficult for newbies.
But if you want to cross compile to Android, that's a whole different story. Android uses OpenGL ES (1/2/3), which is similar but different and harder to learn compare to the 'common' OpenGL's API.
I can use OpenGL for Android via LAMW's (Lazarus Android Module Wizard) jCanvasES2. Unfortunately, I found some bugs in the jCanvasES2, which makes it unusable for creating games. Also, most of their OpenGL functions aren't optimized. I simply rewrote some of the functions, I gained 10% frames rate improvement.
OpenGL only process graphics, no audio support.
If you interested to try LAMW, read here:
http://forum.lazarus.freepascal.org/index.php/topic,38777.0.htmlThere I also provided an example code of OpenGL ES2 via jCanvasES2.
SDLI never have any experience with SDL. But I ever know a newbie in programming, after weeks of learning SDL he can create a simple 2D desktop game using Lazarus+SDL. He was 13 years old kid only (if I remember correctly). He now uses C++ + SDL to create Android games.
SDL has audio and multiplatform supports. There was an attempt to build Lazarus tool to create Android app using SDL, unfortunately the project halted without any clear reason.
AllegroIf you don't do 3D, Allegro and SDL are easier than OpenGL. What I like about Allegro is the documentations and tutorials are very helpful. Some hours after first time learning it, I can start writing my Furious Paladin:
Furious Paladin's source:
https://forum.lazarus.freepascal.org/index.php/topic,35313.msg270638.html#msg270638Furious Paladin's binaries:
https://forum.lazarus.freepascal.org/index.php/topic,35313.msg254588.html#msg254588Allegro supports audio and multiplatform. For Linux and Windows, you just need to provide the proper libraries for the users. In theory Allegro supports Android but I never tried.
You can use Allegro in Pascal via Allegro.pas:
https://sourceforge.net/projects/allegro-pas/