Release Minetest


@magic_sam: perlin noise is used often to errode surfaces, giving them a more natural look. So it's probably essential in progressively generating the landscape. I doubt that replacing the algorithm with another one would be a quick fix. Correct me if I am wrong though.

I don't know how chunk generation/saving/loading is done in minetest but it might be worth a try running the game off a usb stick to see if that improves the black-void situation.
 
New build, freshly recompiled. So this time I used a fresh Irrlicht engine, from git. I used vanilla GL build, so using glshim.

It seems to work well, I can type command now, but on CC, the default gl drivers seems to not like what I do and crash. I tried a few driver, and got good result with 4.04.00.01..

Build 02

------------

  • Used a newer Irrlicht build
  • Use glshim for rendering
  • Warning, on CC model, default driver crash, use 4.04.00.01 for better result
 
Runs very well on my CC with 4.04.00.01 drivers. Haven't built anything but walking around seems very fluid, also for chunk generation.
 
I spent some time testing various subgames. In order to better understand why some of them lag I slightly extended the profiling included with minetest. If you want to try, extract improved_minetest_profiling.zip into your minetest appdata folder (it should create a builtin/game folder with 4 lua files that override the ones from the PND) and add the following to your minetest.conf (also in the minetest appdata folder):


mod_profiling = true

mod_profiling_autoreport = true

mod_profiling_autoreport_interval = 10
detailed_profiling = true

Performance problems come in two flavors. The first is related to client side drawing and will dynamically adjust the viewing range to come as close to your configured fps as possible while respecting your minimum viewing range (changed with hotkeys + and -). If you see parts of the map annoyingly flickering in and out of existance, *increase* the minimum viewing range, which will reduce fps, but will also reduce the flickering.

The second is lags on the server which result fom the single threaded execution of the game's lua callbacks. These result in lags between doing something in the client (e.g. digging a tree) and the effect being registered in the server (e.g. the tree appearing in your inventory). On my GHz running at 1.2GHz I have seen times of 90 seconds for chunk generation in some games. While there is mostly no easy solution for terrain generation lags (except patiently waiting or removing the offending mod, e.g. bergsee) other lags are caused by parameterized callbacks that can be tweaked quite easily:

For games based on (and incuding) the default minetest_game, the ABM callbacks (these are called at a given frequency for all nodes of a specified type and will produce continuous load on the server) for leaf and grass decay are often the biggest problem. Here you can just play around with the ABM parameters found above the line indicated by the profiler.

Another problem present in many games is the plantlib mod. Many games use this to create abundant vegetation that often results in abundant lag on the Pandora. The vines mod being a typical example. The calls to plantlib are also parameterized and can be adjusted, but the profiler in this case just indicates the responsible mod and you have to find the spawn registration yourself, most often in the init,lua file of the mod. (The function indicated by the profiler is part of plantlib and just executes the specification given by the actual plant crewating mod).

One game I found working pretty good right out of the box can be found in this forum thread: https://forum.minetest.net/viewtopic.php?id=9192 (it already has no leaf decay AFAICT)

Other games I tried with (to me) acceptable lag (mostly due to leaf/grass decay which can be tweaked as described above; but also some larger chunk generation pauses) are https://forum.minetest.net/viewtopic.php?id=6636, https://forum.minetest.net/viewtopic.php?id=7427, https://forum.minetest.net/viewtopic.php?id=5578 and https://forum.minetest.net/viewtopic.php?id=6346

Larger games like Eden (https://forum.minetest.net/viewtopic.php?id=7027), Dreambuilder (https://forum.minetest.net/viewtopic.php?id=9196), and Realtest (https://forum.minetest.net/viewtopic.php?id=2671) unfortunately seem to be too demanding to run on the Pandora (at least without larger changes).
 

Attachments

  • improved_minetest_profiling.zip
    5 KB · Views: 302
does not work for me on 1.62RC. seg fault. 

Setting LD_LIBRARY_PATH to /mnt/utmp/minetest/lib:/lib:/usr/lib

save old nub config and switch to mbuttons / mouse

launching game

LIBGL: Initialising glshim

23:57:48: ERROR[main]: WARNING: Invalid video_driver specified; defaulting to opengl

Irrlicht log: Irrlicht Engine version 1.9.0

Irrlicht log: Linux 3.2.63 #1046 Thu Oct 16 23:57:37 EEST 2014 armv7l

Irrlicht log: Creating X window...

Irrlicht log: Starting vidmode fullscreen mode...

Irrlicht log: hdisplay: : 800

Irrlicht log: vdisplay: : 480

Irrlicht log: Context activation failed.

Segmentation fault

restoring old nub config

all done
 
does not work for me on 1.62RC. seg fault. 

Setting LD_LIBRARY_PATH to /mnt/utmp/minetest/lib:/lib:/usr/lib

save old nub config and switch to mbuttons / mouse

launching game

LIBGL: Initialising glshim

23:57:48: ERROR[main]: WARNING: Invalid video_driver specified; defaulting to opengl

Irrlicht log: Irrlicht Engine version 1.9.0

Irrlicht log: Linux 3.2.63 #1046 Thu Oct 16 23:57:37 EEST 2014 armv7l

Irrlicht log: Creating X window...

Irrlicht log: Starting vidmode fullscreen mode...

Irrlicht log: hdisplay: : 800

Irrlicht log: vdisplay: : 480

Irrlicht log: Context activation failed.

Segmentation fault

restoring old nub config

all done
That looks more like an SGX driver issue.. If you are running the 4.10 driver perhaps  switch to the 4.03 or the other way around.
 
I spent some time testing various subgames. In order to better understand why some of them lag I slightly extended the profiling included with minetest. If you want to try, extract
attachicon.gif
improved_minetest_profiling.zip into your minetest appdata folder (it should create a builtin/game folder with 4 lua files that override the ones from the PND) and add the following to your minetest.conf (also in the minetest appdata folder):


mod_profiling = true

mod_profiling_autoreport = true

mod_profiling_autoreport_interval = 10
detailed_profiling = true

Performance problems come in two flavors. The first is related to client side drawing and will dynamically adjust the viewing range to come as close to your configured fps as possible while respecting your minimum viewing range (changed with hotkeys + and -). If you see parts of the map annoyingly flickering in and out of existance, *increase* the minimum viewing range, which will reduce fps, but will also reduce the flickering.

The second is lags on the server which result fom the single threaded execution of the game's lua callbacks. These result in lags between doing something in the client (e.g. digging a tree) and the effect being registered in the server (e.g. the tree appearing in your inventory). On my GHz running at 1.2GHz I have seen times of 90 seconds for chunk generation in some games. While there is mostly no easy solution for terrain generation lags (except patiently waiting or removing the offending mod, e.g. bergsee) other lags are caused by parameterized callbacks that can be tweaked quite easily:

For games based on (and incuding) the default minetest_game, the ABM callbacks (these are called at a given frequency for all nodes of a specified type and will produce continuous load on the server) for leaf and grass decay are often the biggest problem. Here you can just play around with the ABM parameters found above the line indicated by the profiler.

Another problem present in many games is the plantlib mod. Many games use this to create abundant vegetation that often results in abundant lag on the Pandora. The vines mod being a typical example. The calls to plantlib are also parameterized and can be adjusted, but the profiler in this case just indicates the responsible mod and you have to find the spawn registration yourself, most often in the init,lua file of the mod. (The function indicated by the profiler is part of plantlib and just executes the specification given by the actual plant crewating mod).

One game I found working pretty good right out of the box can be found in this forum thread: https://forum.minetest.net/viewtopic.php?id=9192 (it already has no leaf decay AFAICT)

Other games I tried with (to me) acceptable lag (mostly due to leaf/grass decay which can be tweaked as described above; but also some larger chunk generation pauses) are https://forum.minetest.net/viewtopic.php?id=6636, https://forum.minetest.net/viewtopic.php?id=7427, https://forum.minetest.net/viewtopic.php?id=5578 and https://forum.minetest.net/viewtopic.php?id=6346

Larger games like Eden (https://forum.minetest.net/viewtopic.php?id=7027), Dreambuilder (https://forum.minetest.net/viewtopic.php?id=9196), and Realtest (https://forum.minetest.net/viewtopic.php?id=2671) unfortunately seem to be too demanding to run on the Pandora (at least without larger changes).
@nobgu: Excelent. I'll dig more with your findings.

does not work for me on 1.62RC. seg fault. 

Setting LD_LIBRARY_PATH to /mnt/utmp/minetest/lib:/lib:/usr/lib

save old nub config and switch to mbuttons / mouse

launching game

LIBGL: Initialising glshim

23:57:48: ERROR[main]: WARNING: Invalid video_driver specified; defaulting to opengl

Irrlicht log: Irrlicht Engine version 1.9.0

Irrlicht log: Linux 3.2.63 #1046 Thu Oct 16 23:57:37 EEST 2014 armv7l

Irrlicht log: Creating X window...

Irrlicht log: Starting vidmode fullscreen mode...

Irrlicht log: hdisplay: : 800

Irrlicht log: vdisplay: : 480

Irrlicht log: Context activation failed.

Segmentation fault

restoring old nub config

all done
@ekianjo: I suspect you tested on your Gigaghertz and the SGX Driver has not been 100% installed (because I have tested most of the PND you are reportng as broken and found them working on my side). Can you install 4.03.00.02 and try again?
 
Last edited by a moderator:
Don't know if this due to the OS upgrade as I did not try it before, but it does not seem to work on my Rebirth model, there is some SD-Card activity and the nubs function gets partially switched (right one is mouse movement now), but nothing else happens, not even a blank screen. After a short period SD Card activites come to a halt, and nothing happens for at least 3 minutes.

Looking at the log I have the same Warning/error message as ekianjo about an invalid video driver, but after that there is a long list of things that are amiss, like "glGenProgramsARB" :

=======================================================================================

PND : /media/mmcblk0p1/pandora/menu/minetest_ptitseb.pnd

PND_FSTYPE : Squashfs

APPDATADIR : /media/mmcblk0p1/pandora/appdata/minetest

APPDD_FSTYPE : ext4

PND_CPUSPEED : <unset>

EXENAME : scripts/minetest.sh

ARGUMENTS : <unset>

=======================================================================================

[ START ]--- Mount the PND ----------

Mounting : mount -t squashfs -o ro "/dev/loop0" "/mnt/utmp/minetest"

Mounting the Union FS : mount -t aufs -o exec,dirs="/media/mmcblk0p1/pandora/appdata/minetest=rw+nolwh":"/mnt/pnd/minetest=rr" none "/mnt/utmp/minetest"

[sUCCESS]--- Mount the PND ----------

[ START ]--- Starting the application ( scripts/minetest.sh ) ----------

--------------------------------------------------------------

Setting LD_LIBRARY_PATH to /mnt/utmp/minetest/lib:/lib:/usr/lib

save old nub config and switch to mbuttons / mouse

launching game

LIBGL: Initialising glshim

06:55:46: ERROR[main]: WARNING: Invalid video_driver specified; defaulting to opengl

Irrlicht log: Irrlicht Engine version 1.9.0

Irrlicht log: Linux 3.2.63 #1046 Thu Oct 16 23:57:37 EEST 2014 armv7l

Irrlicht log: Creating X window...

Irrlicht log: Starting vidmode fullscreen mode...

Irrlicht log: hdisplay: : 800

Irrlicht log: vdisplay: : 480

Irrlicht log: Using renderer: OpenGL 1.5

Irrlicht log: GLES_CM wrapper: OpenPandora

Irrlicht log: OpenGL driver version is 1.2 or better.

libGL egl backend: libEGL.so

libGL: built on Oct 5 2014 13:41:17

libGL: framebuffer output enabled

LIBGL: Current folder is:/mnt/utmp/minetest

libGL backend: libGLES_CM.so

glXGetProcAddress: glGenProgramsARB not found.

glXGetProcAddress: glGenProgramsNV not found.

glXGetProcAddress: glBindProgramARB not found.

glXGetProcAddress: glBindProgramNV not found.

glXGetProcAddress: glProgramStringARB not found.

glXGetProcAddress: glLoadProgramNV not found.

glXGetProcAddress: glDeleteProgramsARB not found.

glXGetProcAddress: glDeleteProgramsNV not found.

glXGetProcAddress: glProgramLocalParameter4fvARB not found.

glXGetProcAddress: glCreateShaderObjectARB not found.

glXGetProcAddress: glCreateShader not found.

glXGetProcAddress: glShaderSourceARB not found.

glXGetProcAddress: glShaderSource not found.

glXGetProcAddress: glCompileShaderARB not found.

glXGetProcAddress: glCompileShader not found.

glXGetProcAddress: glCreateProgramObjectARB not found.

glXGetProcAddress: glCreateProgram not found.

glXGetProcAddress: glAttachObjectARB not found.

glXGetProcAddress: glAttachShader not found.

glXGetProcAddress: glLinkProgramARB not found.

glXGetProcAddress: glLinkProgram not found.

glXGetProcAddress: glUseProgramObjectARB not found.

glXGetProcAddress: glUseProgram not found.

glXGetProcAddress: glDeleteObjectARB not found.

glXGetProcAddress: glDeleteProgram not found.

glXGetProcAddress: glDeleteShader not found.

glXGetProcAddress: glGetAttachedShaders not found.

glXGetProcAddress: glGetAttachedObjectsARB not found.

glXGetProcAddress: glGetInfoLogARB not found.

glXGetProcAddress: glGetShaderInfoLog not found.

glXGetProcAddress: glGetProgramInfoLog not found.

glXGetProcAddress: glGetObjectParameterivARB not found.

glXGetProcAddress: glGetShaderiv not found.

glXGetProcAddress: glGetProgramiv not found.

glXGetProcAddress: glGetUniformLocationARB not found.

glXGetProcAddress: glGetUniformLocation not found.

glXGetProcAddress: glUniform1fvARB not found.

glXGetProcAddress: glUniform2fvARB not found.

glXGetProcAddress: glUniform3fvARB not found.

glXGetProcAddress: glUniform4fvARB not found.

glXGetProcAddress: glUniform1ivARB not found.

glXGetProcAddress: glUniform2ivARB not found.

glXGetProcAddress: glUniform3ivARB not found.

glXGetProcAddress: glUniform4ivARB not found.

glXGetProcAddress: glUniformMatrix2fvARB not found.

glXGetProcAddress: glUniformMatrix3fvARB not found.

glXGetProcAddress: glUniformMatrix4fvARB not found.

glXGetProcAddress: glGetActiveUniformARB not found.

glXGetProcAddress: glGetActiveUniform not found.

glXGetProcAddress: glStencilFuncSeparate not found.

glXGetProcAddress: glStencilOpSeparate not found.

glXGetProcAddress: glStencilFuncSeparateATI not found.

glXGetProcAddress: glStencilOpSeparateATI not found.

glXGetProcAddress: glDrawBuffersARB not found.

glXGetProcAddress: glDrawBuffersATI not found.

glXGetProcAddress: glProvokingVertex not found.

glXGetProcAddress: glProvokingVertexEXT not found.

glXGetProcAddress: glColorMaskIndexedEXT not found.

glXGetProcAddress: glEnableIndexedEXT not found.

glXGetProcAddress: glDisableIndexedEXT not found.

glXGetProcAddress: glBlendFuncIndexedAMD not found.

glXGetProcAddress: glBlendFunciARB not found.

glXGetProcAddress: glBlendEquationIndexedAMD not found.

glXGetProcAddress: glBlendEquationiARB not found.

glXGetProcAddress: glProgramParameteriARB not found.

glXGetProcAddress: glProgramParameteriEXT not found.

glXGetProcAddress: glGenQueriesARB not found.

glXGetProcAddress: glDeleteQueriesARB not found.

glXGetProcAddress: glIsQueryARB not found.

glXGetProcAddress: glBeginQueryARB not found.

glXGetProcAddress: glEndQueryARB not found.

glXGetProcAddress: glGetQueryivARB not found.

glXGetProcAddress: glGetQueryObjectivARB not found.

glXGetProcAddress: glGetQueryObjectuivARB not found.

glXGetProcAddress: glGenOcclusionQueriesNV not found.

glXGetProcAddress: glDeleteOcclusionQueriesNV not found.

glXGetProcAddress: glIsOcclusionQueryNV not found.

glXGetProcAddress: glBeginOcclusionQueryNV not found.

glXGetProcAddress: glEndOcclusionQueryNV not found.

glXGetProcAddress: glGetOcclusionQueryivNIrrlicht log: GLSL not available.

AL lib: (WW) alc_initconfig: Failed to initialize backend "pulse"

Terminated

restoring old nub config

all done

[sUCCESS]--- Starting the application ( scripts/minetest.sh ) ----------

[ START ]--- Restoring the frame buffer status ----------

[sUCCESS]--- Restoring the frame buffer status ----------

[ START ]--- Restoring nub mode ----------

[sUCCESS]--- Restoring nub mode ----------

[ START ]--- uMount the PND ----------

[ START ]--- Waiting the Union to be available ----------

[sUCCESS]--- Waiting the Union to be available ----------

auplink:plink.c:223: AUFS_CTL_PLINK_MAINT: Inappropriate ioctl for device

rmdir: failed to remove `/mnt/utmp/minetest': Device or resource busy

[ START ]--- Waiting the PND mount dir to be free ----------

[sUCCESS]--- Waiting the PND mount dir to be free ----------

cleanup done

[sUCCESS]--- uMount the PND ----------

=======================================================================================

Return code is : 3
 
Last edited by a moderator:
I spent some time testing various subgames. In order to better understand why some of them lag I slightly extended the profiling included with minetest. If you want to try, extract
attachicon.gif
improved_minetest_profiling.zip into your minetest appdata folder (it should create a builtin/game folder with 4 lua files that override the ones from the PND) and add the following to your minetest.conf (also in the minetest appdata folder):


mod_profiling = true

mod_profiling_autoreport = true

mod_profiling_autoreport_interval = 10
detailed_profiling = true

Performance problems come in two flavors. The first is related to client side drawing and will dynamically adjust the viewing range to come as close to your configured fps as possible while respecting your minimum viewing range (changed with hotkeys + and -). If you see parts of the map annoyingly flickering in and out of existance, *increase* the minimum viewing range, which will reduce fps, but will also reduce the flickering.

The second is lags on the server which result fom the single threaded execution of the game's lua callbacks. These result in lags between doing something in the client (e.g. digging a tree) and the effect being registered in the server (e.g. the tree appearing in your inventory). On my GHz running at 1.2GHz I have seen times of 90 seconds for chunk generation in some games. While there is mostly no easy solution for terrain generation lags (except patiently waiting or removing the offending mod, e.g. bergsee) other lags are caused by parameterized callbacks that can be tweaked quite easily:

For games based on (and incuding) the default minetest_game, the ABM callbacks (these are called at a given frequency for all nodes of a specified type and will produce continuous load on the server) for leaf and grass decay are often the biggest problem. Here you can just play around with the ABM parameters found above the line indicated by the profiler.

Another problem present in many games is the plantlib mod. Many games use this to create abundant vegetation that often results in abundant lag on the Pandora. The vines mod being a typical example. The calls to plantlib are also parameterized and can be adjusted, but the profiler in this case just indicates the responsible mod and you have to find the spawn registration yourself, most often in the init,lua file of the mod. (The function indicated by the profiler is part of plantlib and just executes the specification given by the actual plant crewating mod).

One game I found working pretty good right out of the box can be found in this forum thread: https://forum.minetest.net/viewtopic.php?id=9192 (it already has no leaf decay AFAICT)

Other games I tried with (to me) acceptable lag (mostly due to leaf/grass decay which can be tweaked as described above; but also some larger chunk generation pauses) are https://forum.minetest.net/viewtopic.php?id=6636, https://forum.minetest.net/viewtopic.php?id=7427, https://forum.minetest.net/viewtopic.php?id=5578 and https://forum.minetest.net/viewtopic.php?id=6346

Larger games like Eden (https://forum.minetest.net/viewtopic.php?id=7027), Dreambuilder (https://forum.minetest.net/viewtopic.php?id=9196), and Realtest (https://forum.minetest.net/viewtopic.php?id=2671) unfortunately seem to be too demanding to run on the Pandora (at least without larger changes).
@nobgu: Excelent. I'll dig more with your findings.

does not work for me on 1.62RC. seg fault. 

Setting LD_LIBRARY_PATH to /mnt/utmp/minetest/lib:/lib:/usr/lib

save old nub config and switch to mbuttons / mouse

launching game

LIBGL: Initialising glshim

23:57:48: ERROR[main]: WARNING: Invalid video_driver specified; defaulting to opengl

Irrlicht log: Irrlicht Engine version 1.9.0

Irrlicht log: Linux 3.2.63 #1046 Thu Oct 16 23:57:37 EEST 2014 armv7l

Irrlicht log: Creating X window...

Irrlicht log: Starting vidmode fullscreen mode...

Irrlicht log: hdisplay: : 800

Irrlicht log: vdisplay: : 480

Irrlicht log: Context activation failed.

Segmentation fault

restoring old nub config

all done
@ekianjo: I suspect you tested on your Gigaghertz and the SGX Driver has not been 100% installed (because I have tested most of the PND you are reportng as broken and found them working on my side). Can you install 4.03.00.02 and try again?
I did, now most of the games that did not work are working again, but Minetest crashes after the menu screen. Seems like something is wrong with that one after the upgrade...
 
Last edited by a moderator:
New build, compatible with newer firmware.

Build 03

------------

  • Compatible with Firmware SZ 1.62+
  • Added some new games mod (large size increase)
  • Tried to optimize a bit (let's hope I didn't broke anything)
 
As my Pandora has probably died a wet death yesterday, I'm not able to investigate further, but build03 seemed to show the same behaviour has 02 on it (SD activity, control switch, nothing happened till I killed it).
 
New build, with latest sources.

/!\ on CC model, it will not work with default driver, use lastest 4.04 for good result /!\

Build 04

------------

  • Update to latest sources
 
New build, with latest sources.

/!\ on CC model, it will not work with default driver, use lastest 4.04 for good result /!\

Build 04

------------

  • Update to latest sources
thanks how do you use latest 4.04 driver?
 
New build on the repo. It's been a long time.. Sources are now based on 0.4.14 version. All libs have been updated (lastest glshim...) and "Voxel legend", an RPG-type game, has been added to the list of game.

preview4.png

Build 05
------------

  • Update to latest sources
  • Updated libs
  • Added "Voxel Legend" game
 
Hi all,

@ptitSeb : thanks for this new release :)

Unfortunately, it's still too slow to be enjoyable (it takes a long time for the terrain in front of you to be generated and displayed on screen), at least for me on a Rebirth unit, SGX driver 4.10, OC @ 825 MHz, all eye-candy tuned down (opaque leaves, no clouds, no sound, max FPS = 5 FPS, viewing distance = 20, etc...) and a simple texture pack (mini8x). CPU usage is 100 % most of the time, as the Pandora seems to struggle with terrain generation...

On a side note, did you give Craft a go ? Looks like the game is now compatible with OpenGL ES 1.0 and 2.0. I managed to compile it some time ago, but only to stare at a black screen (shaders issue ? )

Cheers, Magic Sam
 
Back
Top