Cruisers Forum
 


Reply
 
Thread Tools Search this Thread Rate Thread Display Modes
Old 09-04-2015, 16:07   #721
Registered User
 
NahanniV's Avatar

Join Date: Mar 2011
Location: Nova Scotia Canada
Boat: Wharram Tiki 46
Posts: 1,321
Re: OpenCPN Runs on Embedded ARM

Quote:
Originally Posted by bdbcat View Post
NahanniIV...

Can you give me a lat/lon or chart reference for the Netherlands crash? Screenshot at all?

Thanks
Dave
I can't seem to display those Dutch ENC charts at all.

I have the charts from here:
ENC - Fairway Information Services

If I zoom in around:
51 35.6626 N 003 36.9273 E

Then select the ENC from the bar at the bottom of the screen.

OpenCPN crashes, displaying "Aborted" if started from a terminal window.

I'll try with US ENCs later.

Cheers,
JM.
NahanniV is offline   Reply With Quote
Old 09-04-2015, 19:27   #722
Registered User
 
NahanniV's Avatar

Join Date: Mar 2011
Location: Nova Scotia Canada
Boat: Wharram Tiki 46
Posts: 1,321
Re: OpenCPN Runs on Embedded ARM

Tried with US ENCs this evening and could not get them to display at all.

I found that the configuration->Charts->VectorChartDisplay kept reverting to display category==base and nothing checked; Could this be something introduced in the android changes ?

Tried deleting the config file and .xml files to reset everything but it did not help.

Raster charts and CM93 charts worked OK.

If I have time tomorrow, I might try disabling stencil buffer in the 4.0 code to see how that works.

Cheers,
JM.
NahanniV is offline   Reply With Quote
Old 12-04-2015, 21:14   #723
Marine Service Provider
 
bdbcat's Avatar

Join Date: Mar 2008
Posts: 7,387
Re: OpenCPN Runs on Embedded ARM

NahanniIV...

I found a bug in the armhf math for ENC SENC file creation. Could affect your ENC display difficulties on native arm machines.

Please try the latest github, when you get a chance. You will need to delete your existing SENC files (~/.opencpn/SENC/*.S57) in order to have new SENCs made.

Good Luck
Dave
bdbcat is offline   Reply With Quote
Old 13-04-2015, 09:13   #724
Registered User
 
NahanniV's Avatar

Join Date: Mar 2011
Location: Nova Scotia Canada
Boat: Wharram Tiki 46
Posts: 1,321
Re: OpenCPN Runs on Embedded ARM

Quote:
Originally Posted by bdbcat View Post
NahanniIV...

I found a bug in the armhf math for ENC SENC file creation. Could affect your ENC display difficulties on native arm machines.

Please try the latest github, when you get a chance. You will need to delete your existing SENC files (~/.opencpn/SENC/*.S57) in order to have new SENCs made.

Good Luck
Dave
I had files in (~/.opencpnSENC/) ? There was no (~/.opencpn/SENC/).

I deleted all config and chart files.
Built from latest source.
Tried CM93: Still a problem with dredged areas (using stencil buffer in log).
Tried US ENCs OpenCPN aborted when chart was first displayed.
Tried NL ENCs but could not get them to display at all.
BSB Raster charts worked OK, but eventually got error:
"ERROR: EGL Error detected: EGL_BAD_ALLOC (0x3003)" and program aborted.

Then I rebuilt changing glChartcanvass.cpp to force stencil buffer off.
CM93 problem with dredged area was fixed.
All other problems remained.

Cheers,
JM.
NahanniV is offline   Reply With Quote
Old 15-04-2015, 16:38   #725
Registered User
 
sbfreddie's Avatar

Join Date: Mar 2012
Location: Southern Texas, Port Isabel
Boat: I Wish
Posts: 175
Images: 1
Send a message via Skype™ to sbfreddie
Re: OpenCPN Runs on Embedded ARM

Quote:
Originally Posted by bdbcat View Post
NahanniIV...

I found a bug in the armhf math for ENC SENC file creation. Could affect your ENC display difficulties on native arm machines.

Please try the latest github, when you get a chance. You will need to delete your existing SENC files (~/.opencpn/SENC/*.S57) in order to have new SENCs made.

Good Luck
Dave
Dave:
Hi, I think I have found the problem with the build of the gl cache crash. While watching OpenCPN 4.1.412 rebuild the gl compressed cache update using the command line option: "opencpn -rebuild_gl_raster_cache".
I watched the memory usage climb from around 150MB to 1.4GB in about 5 minutes. I would say for all those who have less than 2 GB of main memory this is the cause of the crash. Right now after running for 19 minutes O is using 1.4GB (76%) of main memory.

When I tried to use the command line option: "opencpn -unit_test_1" to convert the charts from ENC to SENC O crashes after just 5 charts. With each chart the memory use grows until it not only consumes all of main memory (1.8GB) but also another 2GB of the disk swap.

As just a guess, I would assume there is a memory leak somewhere.

(This board is called a Tegra-TK1, and it has (4) 2.3GHz ARM7l processors, full OpenGL 4.4 & OpenGL ES3, 2GB of main memory, SATA, USB2, USB3, HDMI, audio in & out, gigabit ethernet, mini PCIe port, Full size SD card, and 16GB onboard flash.)
This board is screaming fast. Faster that my 2.25GHz Mac Mini.

Thanks for all you do,
Freddie
sbfreddie is offline   Reply With Quote
Old 15-04-2015, 17:07   #726
Registered User
 
NahanniV's Avatar

Join Date: Mar 2011
Location: Nova Scotia Canada
Boat: Wharram Tiki 46
Posts: 1,321
Re: OpenCPN Runs on Embedded ARM

Quote:
Originally Posted by sbfreddie View Post
Dave:
Hi, I think I have found the problem with the build of the gl cache crash. While watching OpenCPN 4.1.412 rebuild the gl compressed cache update using the command line option: "opencpn -rebuild_gl_raster_cache".
I watched the memory usage climb from around 150MB to 1.4GB in about 5 minutes. I would say for all those who have less than 2 GB of main memory this is the cause of the crash. Right now after running for 19 minutes O is using 1.4GB (76%) of main memory.

When I tried to use the command line option: "opencpn -unit_test_1" to convert the charts from ENC to SENC O crashes after just 5 charts. With each chart the memory use grows until it not only consumes all of main memory (1.8GB) but also another 2GB of the disk swap.

As just a guess, I would assume there is a memory leak somewhere.

(This board is called a Tegra-TK1, and it has (4) 2.3GHz ARM7l processors, full OpenGL 4.4 & OpenGL ES3, 2GB of main memory, SATA, USB2, USB3, HDMI, audio in & out, gigabit ethernet, mini PCIe port, Full size SD card, and 16GB onboard flash.)
This board is screaming fast. Faster that my 2.25GHz Mac Mini.

Thanks for all you do,
Freddie
Did you try running OpenCPN V4.0 ?
Seems it should run in OpenGL mode without GLShim on that board.

Have you measured the actual current consumption of the board ?

The specs are great, but it's a bit spendy.

Cheers,
JM.
NahanniV is offline   Reply With Quote
Old 15-04-2015, 17:29   #727
Registered User
 
sbfreddie's Avatar

Join Date: Mar 2012
Location: Southern Texas, Port Isabel
Boat: I Wish
Posts: 175
Images: 1
Send a message via Skype™ to sbfreddie
Re: OpenCPN Runs on Embedded ARM

Quote:
Originally Posted by NahanniV View Post
Did you try running OpenCPN V4.0 ?
Seems it should run in OpenGL mode without GLShim on that board.

Have you measured the actual current consumption of the board ?

The specs are great, but it's a bit spendy.

Cheers,
JM.
JM:
Yes, you are right it does work without the GLShim however once the cache is rebuilt it is about 100 times faster.

If you are interested in power consumption then look at this page: Jetson/Jetson TK1 Power - eLinux.org

At a price of $192 plus shipping its a little pricy, but with full OpenGL from NVIDIA built in, its worth it to me.

This board not only will run OpenCPN without any headaches right out of the box, you can also watch full 1080p videos, as well as install gnuradio right out of the box without fiddling around with the low level firmware or software.

Thanks,
Freddie
sbfreddie is offline   Reply With Quote
Old 15-04-2015, 17:58   #728
Registered User
 
NahanniV's Avatar

Join Date: Mar 2011
Location: Nova Scotia Canada
Boat: Wharram Tiki 46
Posts: 1,321
Re: OpenCPN Runs on Embedded ARM

Quote:
Originally Posted by sbfreddie View Post
JM:
Yes, you are right it does work without the GLShim however once the cache is rebuilt it is about 100 times faster.
......
Glshim and Caching are two separate things. In OpenCPN V4.0 you should be able to run with OpenGL and Caching without installing GLshim.

The current code has some problems, also, since the TK1 supports OpenGLES you may be getting GLshim built even though you don't need (or want)it.

Cheers,
JM.
NahanniV is offline   Reply With Quote
Old 15-04-2015, 18:23   #729
Registered User
 
sbfreddie's Avatar

Join Date: Mar 2012
Location: Southern Texas, Port Isabel
Boat: I Wish
Posts: 175
Images: 1
Send a message via Skype™ to sbfreddie
Re: OpenCPN Runs on Embedded ARM

Quote:
Originally Posted by NahanniV View Post
Glshim and Caching are two separate things. In OpenCPN V4.0 you should be able to run with OpenGL and Caching without installing GLshim.

The current code has some problems, also, since the TK1 supports OpenGLES you may be getting GLshim built even though you don't need (or want)it.

Cheers,
JM.
JM:
Yes, again you are right (senior moment). No I did not install GLShim, because I don't need it on this board. It has OpenGL 4.0 built in, so OpenCPN uses Open GL not OpenGL-ES2.
I looked in the log and it indicates "O" is using OpenGL.

[CODE]17:54:20 PDT: 2015-04-15
17:54:20 PDT: ------- Starting OpenCPN -------
17:54:20 PDT: Version 4.1.412 Build 2015-04-12
17:54:20 PDT: wxWidgets version: wxWidgets 2.8.12 Linux 32 bit wxGTK
17:54:20 PDT: MemoryStatus: mem_total: 1888 mb, mem_initial: 19 mb
17:54:20 PDT: SData_Locn is /usr/local/share/opencpn/
17:54:20 PDT: PrivateDataDir is /home/ubuntu/.opencpn
17:54:20 PDT: Using existing Config_File: /home/ubuntu/.opencpn/opencpn.conf
17:54:20 PDT: Styles loading from /usr/local/share/opencpn/uidata/styles.xml
17:54:20 PDT: No styles found at: /home/ubuntu/
17:54:20 PDT: No styles found at: /home/ubuntu/.opencpn/
17:54:20 PDT: Detected display size (horizontal): 650 mm
17:54:20 PDT: Detected display size (horizontal): 650 mm
17:54:20 PDT: Setting Viewpoint Lat/Lon 38.6657, -122.951
17:54:20 PDT: Setting Ownship Lat/Lon 39.5318, -121.471
17:54:20 PDT: System default Language: en_US
17:54:20 PDT: Opencpn language set to: en_US
17:54:22 PDT: Creating glChartCanvas
17:54:22 PDT: OpenGL-> Renderer String: GK20A/NullRM/AXI
17:54:22 PDT: OpenGL-> Version reported: 4.4.0 NVIDIA 21.3
17:54:22 PDT: OpenGL extensions available:
17:54:22 PDT: GL_AMD_multi_draw_indirect GL_AMD_seamless_cubemap_per_texture GL_ARB_arrays_of_arrays GL_ARB_base_instance GL_ARB_bindless_texture GL_ARB_blend_func_extended GL_ARB_buffer_storage GL_ARB_clear_buffer_object GL_ARB_clear_texture GL_ARB_color_buffer_float GL_ARB_compatibility GL_ARB_compressed_texture_pixel_storage GL_ARB_conservative_depth GL_ARB_compute_shader GL_ARB_compute_variable_group_size GL_ARB_copy_buffer GL_ARB_copy_image GL_ARB_debug_output GL_ARB_depth_buffer_float GL_ARB_depth_clamp GL_ARB_depth_texture GL_ARB_draw_buffers GL_ARB_draw_buffers_blend GL_ARB_draw_indirect GL_ARB_draw_elements_base_vertex GL_ARB_draw_instanced GL_ARB_enhanced_layouts GL_ARB_ES2_compatibility GL_ARB_ES3_compatibility GL_ARB_explicit_attrib_location GL_ARB_explicit_uniform_location GL_ARB_fragment_coord_conventions GL_ARB_fragment_layer_viewport GL_ARB_fragment_program GL_ARB_fragment_program_shadow GL_ARB_fragment_shader GL_ARB_framebuffer_no_attachments GL_ARB_framebuffer_object GL_ARB_framebuffer_sRGB GL_ARB_geometry_shader4 GL_ARB_get_program_binary GL_ARB_gpu_shader5 GL_ARB_gpu_shader_fp64 GL_ARB_half_float_pixel GL_ARB_half_float_vertex GL_ARB_imaging GL_ARB_indirect_parameters GL_ARB_instanced_arrays GL_ARB_internalformat_query GL_ARB_internalformat_query2 GL_ARB_invalidate_subdata GL_ARB_map_buffer_alignment GL_ARB_map_buffer_range GL_ARB_multi_bind GL_ARB_multi_draw_indirect GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query GL_ARB_occlusion_query2 GL_ARB_pixel_buffer_object GL_ARB_point_parameters GL_ARB_point_sprite GL_ARB_program_interface_query GL_ARB_provoking_vertex GL_ARB_robust_buffer_access_behavior GL_ARB_robustness GL_ARB_sample_shading GL_ARB_sampler_objects GL_ARB_seamless_cube_map GL_ARB_seamless_cubemap_per_texture GL_ARB_separate_shader_objects GL_ARB_shader_atomic_counters GL_ARB_shader_bit_encoding GL_ARB_shader_draw_parameters GL_ARB_shader_group_vote GL_ARB_shader_image_load_store GL_ARB_shader_image_size GL_ARB_shader_objects GL_ARB_shader_precision GL_ARB_query_buffer_object GL_ARB_shader_storage_buffer_object GL_ARB_shader_subroutine GL_ARB_shader_texture_lod GL_ARB_shading_language_100 GL_ARB_shading_language_420pack GL_ARB_shading_language_include GL_ARB_shading_language_packing GL_ARB_shadow GL_ARB_stencil_texturing GL_ARB_sync GL_ARB_tessellation_shader GL_ARB_texture_border_clamp GL_ARB_texture_buffer_object GL_ARB_texture_buffer_object_rgb32 GL_ARB_texture_buffer_range GL_ARB_texture_compression GL_ARB_texture_compression_bptc GL_ARB_texture_compression_rgtc GL_ARB_texture_cube_map GL_ARB_texture_cube_map_array GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_ARB_texture_float GL_ARB_texture_gather GL_ARB_texture_mirror_clamp_to_edge GL_ARB_texture_mirrored_repeat GL_ARB_texture_multisample GL_ARB_texture_non_power_of_two GL_ARB_texture_query_levels GL_ARB_texture_query_lod GL_ARB_texture_rectangle GL_ARB_texture_rg GL_ARB_texture_rgb10_a2ui GL_ARB_texture_stencil8 GL_ARB_texture_storage GL_ARB_texture_storage_multisample GL_ARB_texture_swizzle GL_ARB_texture_view GL_ARB_timer_query GL_ARB_transform_feedback2 GL_ARB_transform_feedback3 GL_ARB_transform_feedback_instanced GL_ARB_transpose_matrix GL_ARB_uniform_buffer_object GL_ARB_vertex_array_bgra GL_ARB_vertex_array_object GL_ARB_vertex_attrib_64bit GL_ARB_vertex_attrib_binding GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_vertex_shader GL_ARB_vertex_type_10f_11f_11f_rev GL_ARB_vertex_type_2_10_10_10_rev GL_ARB_viewport_array GL_ARB_window_pos GL_ATI_draw_buffers GL_ATI_texture_float GL_ATI_texture_mirror_once GL_S3_s3tc GL_EXT_texture_env_add GL_EXT_abgr GL_EXT_bgra GL_EXT_bindable_uniform GL_EXT_blend_color GL_EXT_blend_equation_separate GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_compiled_vertex_array GL_EXT_Cg_shader GL_EXT_depth_bounds_test GL_EXT_direct_state_access GL_EXT_draw_buffers2 GL_EXT_draw_instanced GL_EXT_draw_range_elements GL_EXT_fog_coord GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_EXTX_framebuffer_mixed_formats GL_EXT_framebuffer_multisample_blit_scaled GL_EXT_framebuffer_object GL_EXT_framebuffer_sRGB GL_EXT_geometry_shader4 GL_EXT_gpu_program_parameters GL_EXT_gpu_shader4 GL_EXT_multi_draw_arrays GL_EXT_packed_depth_stencil GL_EXT_packed_float GL_EXT_packed_pixels GL_EXT_pixel_buffer_object GL_EXT_point_parameters GL_EXT_provoking_vertex GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_shader_objects GL_EXT_separate_specular_color GL_EXT_shader_image_load_store GL_EXT_shader_integer_mix GL_EXT_shadow_funcs GL_EXT_stencil_two_side GL_EXT_stencil_wrap GL_EXT_texture3D GL_EXT_texture_array GL_EXT_texture_buffer_object GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_latc GL_EXT_texture_compression_rgtc GL_EXT_texture_compression_s3tc GL_EXT_texture_cube_map GL_EXT_texture_edge_clamp GL_EXT_texture_env_combine GL_EXT_texture_env_dot3 GL_EXT_texture_filter_anisotropic GL_EXT_texture_integer GL_EXT_texture_lod GL_EXT_texture_lod_bias GL_EXT_texture_mirror_clamp GL_EXT_texture_object GL_EXT_texture_shared_exponent GL_EXT_texture_sRGB GL_EXT_texture_sRGB_decode GL_EXT_texture_storage GL_EXT_texture_swizzle GL_EXT_timer_query GL_EXT_transform_feedback2 GL_EXT_vertex_array GL_EXT_vertex_array_bgra GL_EXT_vertex_attrib_64bit GL_EXT_x11_sync_object GL_EXT_import_sync_object GL_IBM_rasterpos_clip GL_IBM_texture_mirrored_repeat GL_KHR_debug GL_KHR_texture_compression_astc_ldr GL_KTX_buffer_region GL_NV_bindless_multi_draw_indirect GL_NV_bindless_multi_draw_indirect_count GL_NV_bindless_texture GL_NV_blend_equation_advanced GL_NV_blend_equation_advanced_coherent GL_NV_blend_square GL_NV_compute_program5 GL_NV_conditional_render GL_NV_copy_depth_to_color GL_NV_copy_image GL_NV_depth_buffer_float GL_NV_depth_clamp GL_NV_draw_texture GL_NV_ES1_1_compatibility GL_NV_ES3_1_compatibility GL_NV_explicit_multisample GL_NV_fence GL_NV_float_buffer GL_NV_fog_distance GL_NV_fragment_program GL_NV_fragment_program_option GL_NV_fragment_program2 GL_NV_framebuffer_multisample_coverage GL_NV_geometry_shader4 GL_NV_gpu_program4 GL_NV_gpu_program4_1 GL_NV_gpu_program5 GL_NV_gpu_program5_mem_extended GL_NV_gpu_program_fp64 GL_NV_gpu_shader5 GL_NV_half_float GL_NV_light_max_exponent GL_NV_multisample_coverage GL_NV_multisample_filter_hint GL_NV_occlusion_query GL_NV_packed_depth_stencil GL_NV_parameter_buffer_object GL_NV_parameter_buffer_object2 GL_NV_path_rendering GL_NV_pixel_data_range GL_NV_point_sprite GL_NV_primitive_restart GL_NV_register_combiners GL_NV_register_combiners2 GL_NV_shader_atomic_counters GL_NV_shader_atomic_float GL_NV_shader_buffer_load GL_NV_shader_storage_buffer_object GL_NV_texgen_reflection GL_NV_texture_barrier GL_NV_texture_compression_vtc GL_NV_texture_env_combine4 GL_NV_texture_multisample GL_NV_texture_rectangle GL_NV_texture_shader GL_NV_texture_shader2 GL_NV_texture_shader3 GL_NV_transform_feedback GL_NV_transform_feedback2 GL_NV_vdpau_interop GL_NV_vertex_array_range GL_NV_vertex_array_range2 GL_NV_vertex_attrib_integer_64bit GL_NV_vertex_buffer_unified_memory GL_NV_vertex_program GL_NV_vertex_program1_1 GL_NV_vertex_program2 GL_NV_vertex_program2_option GL_NV_vertex_program3 GL_NVX_conditional_render GL_NVX_nvenc_interop GL_NV_shader_thread_group GL_NV_shader_thread_shuffle GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_SGIS_generate_mipmap GL_SGIS_texture_lod GL_SGIX_depth_texture GL_SGIX_shadow GL_SUN_slice_accum
17:54:22 PDT: OpenGL-> Texture rectangle format: de1
17:54:22 PDT: OpenGL-> Using Vertexbuffer Objects
17:54:22 PDT: OpenGL-> Using Framebuffer Objects
17:54:22 PDT: OpenGL-> Using FBO Stencil buffer
17:54:22 PDT: OpenGL-> Using Stencil buffer clipping
17:54:22 PDT: OpenGL-> Using Scissor Clipping
17:54:22 PDT: OpenGL-> Using Display Lists
17:54:22 PDT: OpenGL-> Using s3tc dxt1 compression
17:54:22 PDT: OpenGL-> Compressed tile size: 128kb (6:1)
17:54:22 PDT: OpenGL-> Minimum cartographic line width: 1.0
17:54:22 PDT: OpenGL-> Minimum symbol line width: 1.0
/CODE]

Thanks,
Freddie
sbfreddie is offline   Reply With Quote
Old 15-04-2015, 19:07   #730
Registered User
 
NahanniV's Avatar

Join Date: Mar 2011
Location: Nova Scotia Canada
Boat: Wharram Tiki 46
Posts: 1,321
Re: OpenCPN Runs on Embedded ARM

You could install the stable version of OpenCPN like this:
Configuring Ubuntu PPA | Official OpenCPN Homepage

The current version that you are trying now is under development and mainly focusing on Android.

I would be interested in hearing how the stable version of OpenCPN works on the TK1.

Cheers,
JM.
NahanniV is offline   Reply With Quote
Old 15-04-2015, 19:14   #731
Registered User
 
sbfreddie's Avatar

Join Date: Mar 2012
Location: Southern Texas, Port Isabel
Boat: I Wish
Posts: 175
Images: 1
Send a message via Skype™ to sbfreddie
Re: OpenCPN Runs on Embedded ARM

Quote:
Originally Posted by NahanniV View Post
You could install the stable version of OpenCPN like this:
Configuring Ubuntu PPA | Official OpenCPN Homepage

The current version that you are trying now is focusing on Android.

Cheers,
JM.
JM:
I have not had much luck with the prebuilt versions of O. However my script only takes about 5 minutes to build the latest stable version of O, plus most of the plugins in about another 8-10 minutes.

Thanks,
Freddie
sbfreddie is offline   Reply With Quote
Old 15-04-2015, 19:24   #732
Registered User

Join Date: Feb 2010
Location: Tierra del Fuego
Boat: Phantom 19
Posts: 6,194
Re: OpenCPN Runs on Embedded ARM

Freddie...
Any exact info behind "not much luck with the prebuilt versions"? Like for example what the problems with them are.
Unfortunately I have no ARM HW to test them so I have to rely on what Launchpad produces and so far nobody ever answered my question whether the product works or not

Pavel
nohal is online now   Reply With Quote
Old 15-04-2015, 19:29   #733
Registered User
 
sbfreddie's Avatar

Join Date: Mar 2012
Location: Southern Texas, Port Isabel
Boat: I Wish
Posts: 175
Images: 1
Send a message via Skype™ to sbfreddie
Re: OpenCPN Runs on Embedded ARM

Quote:
Originally Posted by nohal View Post
Freddie...
Any exact info behind "not much luck with the prebuilt versions"? Like for example what the problems with them are.
Unfortunately I have no ARM HW to test them so I have to rely on what Launchpad produces and so far nobody ever answered my question whether the product works or not

Pavel
Pavel:
I tried it last week and it would not work, I don't remember the specifics though.
Tomorrow I will try again with the PPA, and let you know.

Thanks,
Freddie
sbfreddie is offline   Reply With Quote
Old 16-04-2015, 14:33   #734
Marine Service Provider
 
bdbcat's Avatar

Join Date: Mar 2008
Posts: 7,387
Re: OpenCPN Runs on Embedded ARM

Freddie...

Yo! My worst tester nightmare returns! Long time no hear

O 4.1.xxx has lots of changes related to armhf, both in the code, and in the build scripts. And the the linux armhf environment is substantially different from the android environment, even though they have a common processor model.

So, my question is this:
Does the gl texture cache memory growth occur in O4, also? Or is it happening only on 4.1.412 built by you locally from github? And does it eventually crash?

I have not heard about raster cache crashes under android, so far.

Also, be careful about evaluating memory footprints under linux. The philosophy of linux is: "Unused memory is wasted memory". Processes routinely overcommit physical memory, expecting that actual page faults will sort things out when the memory is really needed later, if at all. So, growth of memory for a particular process is not a problem until a malloc request actaully fails, causing a crash. This may indeed indicate a real leak.

And memory management under android is a whole 'nother beast. Automatic Java garbage collection, and no swap space, for example...

Thanks
Dave
bdbcat is offline   Reply With Quote
Old 16-04-2015, 18:34   #735
Registered User
 
sbfreddie's Avatar

Join Date: Mar 2012
Location: Southern Texas, Port Isabel
Boat: I Wish
Posts: 175
Images: 1
Send a message via Skype™ to sbfreddie
Re: OpenCPN Runs on Embedded ARM

Quote:
Originally Posted by bdbcat View Post
Freddie...

Yo! My worst tester nightmare returns! Long time no hear

O 4.1.xxx has lots of changes related to armhf, both in the code, and in the build scripts. And the the linux armhf environment is substantially different from the android environment, even though they have a common processor model.

So, my question is this:
Does the gl texture cache memory growth occur in O4, also? Or is it happening only on 4.1.412 built by you locally from github? And does it eventually crash?

I have not heard about raster cache crashes under android, so far.

Also, be careful about evaluating memory footprints under linux. The philosophy of linux is: "Unused memory is wasted memory". Processes routinely overcommit physical memory, expecting that actual page faults will sort things out when the memory is really needed later, if at all. So, growth of memory for a particular process is not a problem until a malloc request actaully fails, causing a crash. This may indeed indicate a real leak.

And memory management under android is a whole 'nother beast. Automatic Java garbage collection, and no swap space, for example...

Thanks
Dave
Dave:
It's always good to hear from you. I have been lirking around for all this time, just have not had much to say.
I rebuilt from git, O 4.0.0 and guess what I see, the exact same problems for both the gl texture cache rebuilding and the ENC conversion. Crashes, although not as soon as O 4.1.xxx, but never the less, crashes. Here is a snip from the sys log:

Code:
Apr 16 09:44:35 tegra-ubuntu kernel: [57045.702459] [31904]  1000 31904   354712     4269     643   290076             0 opencpn
Apr 16 09:44:35 tegra-ubuntu kernel: [57045.702469] Out of memory: Kill process 31904 (opencpn) score 192 or sacrifice child
Apr 16 09:44:35 tegra-ubuntu kernel: [57045.710407] Killed process 31904 (opencpn) total-vm:1418848kB, anon-rss:0kB, file-rss:17036kB
So, what your saying is that it is normal for an application to continually grow in size until it uses all the available memory and then it crashes? I was watching the Chromium web browser's memory footprint as I was loading up tabs in the browser and did not notice a large increase in the memory usage.

Here is a snippet from the make log during the build of O 4.0.0:

Code:
Configuring with Cmake...
-- The C compiler identification is GNU 4.8.2
-- The CXX compiler identification is GNU 4.8.2
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- *** Build Architecture is armhf
-- *** Staging to build opencpn 4.0.0 ***
-- *** Package will NOT include documentation ***
-- *** Package will NOT include GSHHS data ***
-- *** Package will NOT include tide and current data ***
-- Looking for XOpenDisplay in /usr/lib/arm-linux-gnueabihf/libX11.so;/usr/lib/arm-linux-gnueabihf/libXext.so
-- Looking for XOpenDisplay in /usr/lib/arm-linux-gnueabihf/libX11.so;/usr/lib/arm-linux-gnueabihf/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found X11: /usr/lib/arm-linux-gnueabihf/libX11.so
-- Found OpenGL: /usr/lib/arm-linux-gnueabihf/libGL.so  
-- Found OpenGL...
--     Lib: /usr/lib/arm-linux-gnueabihf/libGLU.so/usr/lib/arm-linux-gnueabihf/libGL.so/usr/lib/arm-linux-gnueabihf/libSM.so/usr/lib/arm-linux-gnueabihf/libICE.so/usr/lib/arm-linux-gnueabihf/libX11.so/usr/lib/arm-linux-gnueabihf/libXext.so
--     Include: /usr/include
-- Found OpenGLESv2
-- Found wxWidgets: TRUE  
-- Found wxWidgets...
-- -L/usr/lib/arm-linux-gnueabihf;-pthread;-Wl,-Bsymbolic-functions;-Wl,-z,relro;;-L/usr/lib/arm-linux-gnueabihf;;;-lwx_baseu-2.8;-lwx_gtk2u_core-2.8;-lwx_baseu_net-2.8;-lwx_baseu_xml-2.8;-lwx_gtk2u_html-2.8;-lwx_gtk2u_adv-2.8;-lwx_gtk2u_aui-2.8;-lwx_gtk2u_gl-2.8
-- 
-- *** Staging to build opencpn  ***
-- Build type: Release
-- *** Will install to /usr/local  ***
-- checking for module 'freetype2'
--   found freetype2, version 17.1.11
-- Found Freetype: /usr/lib/arm-linux-gnueabihf/libfreetype.so (found version "17.1.11") 
-- Found GTK2_GTK: /usr/lib/arm-linux-gnueabihf/libgtk-x11-2.0.so  
-- Found GTK2
-- Found Portaudio: /usr/lib/arm-linux-gnueabihf/libportaudio.so
-- Portaudio Found
-- Found Gettext: /usr/bin/msgmerge (found version "0.18.3") 
-- Found BZip2: /usr/lib/arm-linux-gnueabihf/libbz2.so (found version "1.0.6") 
-- Looking for BZ2_bzCompressInit in /usr/lib/arm-linux-gnueabihf/libbz2.so
-- Looking for BZ2_bzCompressInit in /usr/lib/arm-linux-gnueabihf/libbz2.so - found
-- Found ZLIB: /usr/lib/arm-linux-gnueabihf/libz.so (found version "1.2.8") 
-- Found TinyXML: /usr/include  
-- Building with tinyxml includes
-- S57 ENC support: enabled
-- Garmin Host Mode support: enabled
-- 
-- *** Staging to build PlugIns ***
-- 
-- *** Staging to build dashboard_pi ***
-- *** Staging to build grib_pi ***
-- Writing spec file...
-- Configuring done
-- Generating done
-- Build files have been written to: /home/ubuntu/GitOpenCPN/OpenCPN/build
Configuring with cmake of opencpn was Successful...
Do you think this is a problem, having both OpenGL and OpenGLESv2 found during the same build?

Also here is a snippet from O's log file concerning the use of OpenGL:

Code:
09:23:08 PDT: OpenGL-> Renderer String: GK20A/NullRM/AXI
09:23:08 PDT: OpenGL-> Version reported:  4.4.0 NVIDIA 21.3
09:23:08 PDT: OpenGL-> Texture rectangle format: de1
09:23:08 PDT: OpenGL-> Using Vertexbuffer Objects
09:23:08 PDT: OpenGL-> Using Framebuffer Objects
09:23:08 PDT: OpenGL-> FBO Stencil buffer unavailable
09:23:08 PDT: OpenGL-> Using Depth buffer clipping
09:23:08 PDT: OpenGL-> Using s3tc dxt1 compression
09:23:08 PDT: OpenGL-> Compressed tile size: 128kb (6:1)
09:23:08 PDT: OpenGL-> Minimum cartographic line width:  1.0
09:23:08 PDT: OpenGL-> Minimum symbol line width:  1.0
If you would like, I will send the entire logs.

Thanks,
Freddie
sbfreddie is offline   Reply With Quote
Reply

Tags
opencpn

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Open CPN and Google Earth bgrimwade OpenCPN 19 09-12-2011 15:32
OpenCPN Version 2.5 Release bdbcat OpenCPN 86 02-09-2011 18:14
OpenCPN Stops Running BobLarkin OpenCPN 2 30-08-2011 23:38
Route Properties, Missing Functions James Baines OpenCPN 13 13-07-2011 04:31

Advertise Here


All times are GMT -7. The time now is 04:49.


Google+
Powered by vBulletin® Version 3.8.8 Beta 1
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Social Knowledge Networks
Powered by vBulletin® Version 3.8.8 Beta 1
Copyright ©2000 - 2024, vBulletin Solutions, Inc.

ShowCase vBulletin Plugins by Drive Thru Online, Inc.