Allegro create_bitmap() returns NULL
With Allegro 3.9.36 and SVGAlib 1.4.3 on STPC
CONSUMERBD running Red Hat Linux 7.2, my Allegro
application crashes at calling to create_bitmap(18
* 220, 200) in the 640*480 mode. I tried smaller width
values, e.g. 4 * 220, 2 * 220, 220. It fails anyway.
If the constant (18) is replaced with a static variable, for example int numOfBitmap, create_bitmap(numOfbitmap * 220, 200) succeeds in execution. This is an unacceptible solution but it does fix my create_bitmap() problem. I am currently looking for the real solution via the debugging of Allegro and SVGALib source code.
Based on the research I did on Allegro, I believe, this
problem is not in my application. It is an internal
issue between Allegro 3.9.36/SVGALib 1.4.3 and Red
Hat Linux 7.2, which is handled improperly.
I also tried Allegro 3.9.37 and the later versions upto 4.0.1 but their tests/test programs no longer recognize the existence of SVGALib driver. In the Allegro 3.9.37 case, my
application crashes at calling set_gfx_mode(GFX_AUTODETECT, 640, 480, 0, 0) because the driver Allegro is looking for, either VBE/AF or FB driver, does not exist.
Please help develop the real solution. FYI, my application has
no problems to run on STPC CONSUMERBD running Red Hat
Linux 6.2. It is still using GFX_AUTODETECT as the
first paramater to set_gfx_mode(). In allegro.cfg, the
gfx_card= value is "SVGA".
|