Hard Light Productions Forums
Hosted Projects - FS2 Required => Blue Planet => Topic started by: badpenguin on March 06, 2016, 10:06:52 am
-
To make sure it was not a problem with my installation i used the fs installer and created a new pilot.
With bpcomplete, and only with it, i've very slow FPS (like 1 or 2 FPS) during the first cut scen when age of acquarius begin.
I tried different nightly build but nothing changed.
I've this message in the logs keeps spamming "Why are you trying to free a NULL pointer? [fsmemory.cpp(23)]"
Maybe is this the problem?
[attachment DELETED!! by Strong Bad]
-
Hi,
which hardware is in use?
uname -a
lspci -nnk | grep VGA
lsmod
cat /etc/X11/xorg.conf
-
Try "Disable GLSL (shader) support" -no_glsl
-
I've this message in the logs keeps spamming "Why are you trying to free a NULL pointer? [fsmemory.cpp(23)]"
Maybe is this the problem?
It's actually a completely superfluous message that should probably be removed.
-
Try "Disable GLSL (shader) support" -no_glsl
oh :) it worked :) is it a problem with my video card? can i help improve FS2 some way??
-
It would seem to be an issue with your your drivers more than the card (OLAND was released in 2012?), as the open source drivers unfortunately aren't very fast and you'd expect more like OpenGL 4.x support from your drivers.
Initializing OpenGL graphics device at 1920x1200 with 32-bit color...
Initializing SDL...
Requested SDL Video values = R: 8, G: 8, B: 8, depth: 24, stencil: 8, double-buffer: 1, FSAA: 0
Actual SDL Video values = R: 8, G: 8, B: 8, depth: 24, stencil: 8, double-buffer: 1, FSAA: 0
OpenGL Vendor : X.Org
OpenGL Renderer : Gallium 0.4 on AMD OLAND
OpenGL Version : 3.0 Mesa 10.6.3
If you know something about C++ & converting OpenGL compatibility profile (~2.1 with extensions) to OpenGL core profile (3.x+) then you might be able to help fix some of these issues :)
-
AMD support on Linux is notoriously terrible, unfortunately. The proprietary Nvidia drivers are the only ones that really perform acceptably for gaming.
-
Currently the problem on Linux is actually FSO, not the drivers. We still use an OpenGL compatibility profile which only supports a very limited feature set by default. The proprietary drivers (from both AMD and Nvidia) support using OpenGL 3 shader features through extensions but the open-source drivers don't support that. That drastically reduces the performance if it works at all.
-
It would seem to be an issue with your your drivers more than the card (OLAND was released in 2012?), as the open source drivers unfortunately aren't very fast and you'd expect more like OpenGL 4.x support from your drivers.
....
If you know something about C++ & converting OpenGL compatibility profile (~2.1 with extensions) to OpenGL core profile (3.x+) then you might be able to help fix some of these issues :)
Uhm. I could give it a try with the proprietary drivers, i did it last year but i got problems with my double monitor setup and with the Cinnamon window manager not starting.
Yes, i know C++ but my knowledge of OpenGL is very basic, i developed a few 3D tools but that was 20 years ago :) Never used extensions or shaders.
BTW the game runs smoothly also with GLSL off.
-
Here you go: proprietary driver are working but are not efficient.
Instead of 2 FPS i get now 8 FPS with GLSL on.
Luckly in the log the memory-spamming message has gone away.
Well, if FSO needs to be fixed can you point me out about the DOC of 2.1 and 3.0 and what functions needs to be changed?
I will give it a try but remember i only used opengl 1.2 :-P
[attachment DELETED!! by Strong Bad]
-
Moving from 2.1 to 3 is a very complicated task which is why there has been only little progress in that area. However, any code contributions are very welcome. If you have any questions about the FSO code in general just join the #scp IRC channel on esper.net and ask if you want to know something.
Most of the graphics code is in code/graphics so that is where I would start if you want to take a look at the graphics code. The rendering interface is located the gr_screen struct in 2d.h. Those functions are assigned by the used rendering backend when it is initialized and most of the FSO code calls those functions if something should be rendered.