nukeykt / NBlood

Reverse-engineered ports of Build games using EDuke32 engine technology and development principles (NBlood/Rednukem/PCExhumed)
616 stars 78 forks source link

Some problems on Raspberry pi #72

Closed ghost closed 5 years ago

ghost commented 5 years ago

Hi!! well done!

Ive tested eduke before on mesa drivers and it runs 100% ok at 1080p under opengl driver

for some reason, it doesnt work on this one, no error, no crash, it jus freeze and thats all.. if I set soft renderer it starts but I cant see nothing. what debug log do you need to be supplied by me? i need to rebuild for debug mode.

if Ive compile it disabling opengl it runs ok, but not at 1080 p and it doesnt scale well on fullscreen because there are no 16:9 aspect ratio options on fullscreen besides 1080p ::(

I will try updating mesa to the latest... but it should not be the problem at all..

pi@pi:~/Desktop/NBlood $ ./nblood NBlood v1.01-74-g8401d66 Built May 19 2019 18:36:56, GCC 8.1.0, 32-bit Using /home/pi/Desktop/NBlood/ for game data Using /home/pi/.config/nblood/ for game data Initializing SDL 2.0.9 Using "x11" video driver Using "nblood.pk3" as main game data file. Initializing OSD... Executing "settings.cfg" Initializing Build 3D engine Initializing engine Loading palettes Loading translucency table Loading gamma correction table Loading tiles Initialized 96,0M cache Loading "blood.def" . Definitions file "blood.def" loaded in 143 ms. Loading cosine table Initializing view subsystem Initializing status bar Initializing dynamic fire Initializing weapon animations There are 4 demo(s) in the loop Loading control setup 0 joystick(s) found Initializing network users Setting video mode 1680x1050 (32-bpp windowed) Refresh rate: 60Hz polymost_glreset() OpenGL information Broadcom VC4 V3D 2.1 2.1 Mesa 19.1.0-devel (git-f1122f78b7) gltexinvalidateall() gltexinvalidateall() polymost_glreset()

Could I launch the game with MY prebuilt eduke32 setup in some way??

ghost commented 5 years ago

there is some "glad" folder than I cant find on eduke32 source code, so its proper made for this particular project. its full of opengl stuff so I will try to mess around it a bit if something pull the trigger.

this is my glxinfo ... you cant say I am outdated on mesa :) haha

it just wont work at all....Grrr... I havent s3tc decompression available... Ive tried to add an glx profile but It failed on linking.. could you add that profile too? I dont have any more ideas...I have tried all the variants options on eduke32 compilation. the only way to make the game run its on software and only if I did not include opengl flag on compilation. I believe it try to use s3tc decompression and thats why on software I cant see nothing at all.

this is on software compilation

https://www.youtube.com/watch?v=fR7MtdXUvj0&t=440s

pi@pi:~ $ glxinfo
name of display: :0
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
server glx extensions:
    GLX_ARB_create_context, GLX_ARB_create_context_profile, 
    GLX_ARB_fbconfig_float, GLX_ARB_framebuffer_sRGB, GLX_ARB_multisample, 
    GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile, 
    GLX_EXT_fbconfig_packed_float, GLX_EXT_framebuffer_sRGB, 
    GLX_EXT_import_context, GLX_EXT_libglvnd, GLX_EXT_texture_from_pixmap, 
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_INTEL_swap_event, 
    GLX_MESA_copy_sub_buffer, GLX_OML_swap_method, GLX_SGIS_multisample, 
    GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group, 
    GLX_SGI_make_current_read, GLX_SGI_swap_control
client glx vendor string: Mesa Project and SGI
client glx version string: 1.4
client glx extensions:
    GLX_ARB_context_flush_control, GLX_ARB_create_context, 
    GLX_ARB_create_context_no_error, GLX_ARB_create_context_profile, 
    GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float, 
    GLX_ARB_framebuffer_sRGB, GLX_ARB_get_proc_address, GLX_ARB_multisample, 
    GLX_EXT_buffer_age, GLX_EXT_create_context_es2_profile, 
    GLX_EXT_create_context_es_profile, GLX_EXT_fbconfig_packed_float, 
    GLX_EXT_framebuffer_sRGB, GLX_EXT_import_context, 
    GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, GLX_EXT_visual_rating, 
    GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer, 
    GLX_MESA_multithread_makecurrent, GLX_MESA_query_renderer, 
    GLX_MESA_swap_control, GLX_OML_swap_method, GLX_OML_sync_control, 
    GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, 
    GLX_SGIX_visual_select_group, GLX_SGI_make_current_read, 
    GLX_SGI_swap_control, GLX_SGI_video_sync
GLX version: 1.4
GLX extensions:
    GLX_ARB_create_context, GLX_ARB_create_context_profile, 
    GLX_ARB_fbconfig_float, GLX_ARB_framebuffer_sRGB, 
    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_buffer_age, 
    GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile, 
    GLX_EXT_fbconfig_packed_float, GLX_EXT_framebuffer_sRGB, 
    GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, 
    GLX_EXT_visual_rating, GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer, 
    GLX_MESA_query_renderer, GLX_MESA_swap_control, GLX_OML_swap_method, 
    GLX_OML_sync_control, GLX_SGIS_multisample, GLX_SGIX_fbconfig, 
    GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group, GLX_SGI_make_current_read, 
    GLX_SGI_swap_control, GLX_SGI_video_sync
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: Broadcom (0x14e4)
    Device: VC4 V3D 2.1 (0xffffffff)
    Version: 19.2.0
    Accelerated: yes
    Video memory: 976MB
    Unified memory: yes
    Preferred profile: compat (0x2)
    Max core profile version: 0.0
    Max compat profile version: 2.1
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 2.0
OpenGL vendor string: Broadcom
OpenGL renderer string: VC4 V3D 2.1
OpenGL version string: 2.1 Mesa 19.2.0-devel (git-9cd8cd26de)
OpenGL shading language version string: 1.20
OpenGL extensions:
    GL_AMD_performance_monitor, GL_AMD_shader_trinary_minmax, 
    GL_APPLE_packed_pixels, GL_ARB_ES2_compatibility, GL_ARB_buffer_storage, 
    GL_ARB_clear_buffer_object, GL_ARB_color_buffer_float, 
    GL_ARB_compressed_texture_pixel_storage, GL_ARB_copy_buffer, 
    GL_ARB_debug_output, GL_ARB_depth_texture, GL_ARB_draw_buffers, 
    GL_ARB_draw_elements_base_vertex, GL_ARB_explicit_attrib_location, 
    GL_ARB_explicit_uniform_location, GL_ARB_fragment_coord_conventions, 
    GL_ARB_fragment_program, GL_ARB_fragment_program_shadow, 
    GL_ARB_fragment_shader, GL_ARB_framebuffer_object, 
    GL_ARB_framebuffer_sRGB, GL_ARB_get_program_binary, 
    GL_ARB_get_texture_sub_image, GL_ARB_half_float_pixel, 
    GL_ARB_half_float_vertex, 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_multisample, GL_ARB_multitexture, GL_ARB_occlusion_query, 
    GL_ARB_occlusion_query2, GL_ARB_parallel_shader_compile, 
    GL_ARB_pixel_buffer_object, GL_ARB_point_parameters, GL_ARB_point_sprite, 
    GL_ARB_program_interface_query, GL_ARB_provoking_vertex, 
    GL_ARB_robustness, GL_ARB_sampler_objects, GL_ARB_separate_shader_objects, 
    GL_ARB_shader_objects, GL_ARB_shading_language_100, GL_ARB_shadow, 
    GL_ARB_sync, GL_ARB_texture_barrier, GL_ARB_texture_border_clamp, 
    GL_ARB_texture_compression, GL_ARB_texture_cube_map, 
    GL_ARB_texture_env_add, GL_ARB_texture_env_combine, 
    GL_ARB_texture_env_crossbar, GL_ARB_texture_env_dot3, 
    GL_ARB_texture_mirrored_repeat, GL_ARB_texture_multisample, 
    GL_ARB_texture_non_power_of_two, GL_ARB_texture_rectangle, 
    GL_ARB_texture_storage, GL_ARB_texture_storage_multisample, 
    GL_ARB_texture_swizzle, GL_ARB_transpose_matrix, 
    GL_ARB_vertex_array_object, GL_ARB_vertex_attrib_binding, 
    GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_vertex_shader, 
    GL_ARB_window_pos, GL_ATI_blend_equation_separate, GL_ATI_draw_buffers, 
    GL_ATI_fragment_shader, GL_ATI_separate_stencil, 
    GL_ATI_texture_env_combine3, GL_EXT_abgr, GL_EXT_bgra, 
    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_copy_texture, 
    GL_EXT_draw_range_elements, GL_EXT_fog_coord, GL_EXT_framebuffer_blit, 
    GL_EXT_framebuffer_multisample, GL_EXT_framebuffer_multisample_blit_scaled, 
    GL_EXT_framebuffer_object, GL_EXT_framebuffer_sRGB, 
    GL_EXT_gpu_program_parameters, GL_EXT_multi_draw_arrays, 
    GL_EXT_packed_depth_stencil, 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_specular_color, GL_EXT_shader_integer_mix, 
    GL_EXT_shadow_funcs, GL_EXT_stencil_two_side, GL_EXT_stencil_wrap, 
    GL_EXT_subtexture, GL_EXT_texture, GL_EXT_texture3D, 
    GL_EXT_texture_cube_map, GL_EXT_texture_edge_clamp, 
    GL_EXT_texture_env_add, GL_EXT_texture_env_combine, 
    GL_EXT_texture_env_dot3, GL_EXT_texture_lod_bias, GL_EXT_texture_object, 
    GL_EXT_texture_rectangle, GL_EXT_texture_sRGB, GL_EXT_texture_sRGB_decode, 
    GL_EXT_texture_swizzle, GL_EXT_vertex_array, GL_IBM_multimode_draw_arrays, 
    GL_IBM_rasterpos_clip, GL_IBM_texture_mirrored_repeat, 
    GL_INGR_blend_func_separate, GL_KHR_context_flush_control, GL_KHR_debug, 
    GL_KHR_no_error, GL_KHR_parallel_shader_compile, 
    GL_KHR_texture_compression_astc_ldr, 
    GL_KHR_texture_compression_astc_sliced_3d, GL_MESA_pack_invert, 
    GL_MESA_tile_raster_order, GL_MESA_window_pos, GL_NV_blend_square, 
    GL_NV_fog_distance, GL_NV_light_max_exponent, GL_NV_packed_depth_stencil, 
    GL_NV_texgen_reflection, GL_NV_texture_barrier, 
    GL_NV_texture_env_combine4, GL_NV_texture_rectangle, GL_OES_EGL_image, 
    GL_OES_read_format, GL_SGIS_generate_mipmap, GL_SGIS_texture_border_clamp, 
    GL_SGIS_texture_edge_clamp, GL_SGIS_texture_lod, GL_SUN_multi_draw_arrays

OpenGL ES profile version string: OpenGL ES 2.0 Mesa 19.2.0-devel (git-9cd8cd26de)
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 1.0.16
OpenGL ES profile extensions:
    GL_AMD_performance_monitor, GL_APPLE_texture_max_level, 
    GL_EXT_blend_minmax, GL_EXT_compressed_ETC1_RGB8_sub_texture, 
    GL_EXT_discard_framebuffer, GL_EXT_draw_buffers, 
    GL_EXT_draw_elements_base_vertex, GL_EXT_frag_depth, 
    GL_EXT_map_buffer_range, GL_EXT_multi_draw_arrays, 
    GL_EXT_occlusion_query_boolean, GL_EXT_read_format_bgra, 
    GL_EXT_separate_shader_objects, GL_EXT_texture_border_clamp, 
    GL_EXT_texture_format_BGRA8888, GL_EXT_unpack_subimage, 
    GL_KHR_context_flush_control, GL_KHR_debug, GL_KHR_no_error, 
    GL_KHR_parallel_shader_compile, GL_KHR_texture_compression_astc_ldr, 
    GL_KHR_texture_compression_astc_sliced_3d, GL_MESA_tile_raster_order, 
    GL_NV_draw_buffers, GL_NV_fbo_color_attachments, GL_NV_read_buffer, 
    GL_NV_read_depth, GL_NV_read_depth_stencil, GL_NV_read_stencil, 
    GL_OES_EGL_image, GL_OES_EGL_image_external, GL_OES_EGL_sync, 
    GL_OES_compressed_ETC1_RGB8_texture, GL_OES_depth24, GL_OES_depth_texture, 
    GL_OES_draw_elements_base_vertex, GL_OES_element_index_uint, 
    GL_OES_fbo_render_mipmap, GL_OES_get_program_binary, GL_OES_mapbuffer, 
    GL_OES_packed_depth_stencil, GL_OES_required_internalformat, 
    GL_OES_rgb8_rgba8, GL_OES_stencil8, GL_OES_surfaceless_context, 
    GL_OES_texture_3D, GL_OES_texture_border_clamp, GL_OES_texture_npot, 
    GL_OES_vertex_array_object, GL_OES_vertex_half_float

I get this on apitrace.. dont know if its refereed to apitrace or its something meaningful

apitrace: warning: glMapBufferRange: MAP_COHERENT_BIT|MAP_WRITE_BIT unsupported
Jan200101 commented 5 years ago

glad also exists in the eduke32 svn so I am going to assume its the same in both NBlood and eduke32

Do you have all the dependencies that the eduke32 wiki states are needed for compiling with OpenGL?

ghost commented 5 years ago

Yeah, but there was a lot of regressions than unable me to run great eduke32 on latest eduke32 revisions!! thats why this revision works much better than the latest and it doesnt use glad on it!!

my eduke32 version: no glad here http://dukeworld.duke4.net/eduke32/synthesis/20180117-6582/

there is any way to avoid using glad???

my eduke32: https://youtu.be/1E2UhbWr7to

the shame its than there is no crash log... and no crash at all.. I will retry master eduke32 to compare

ghost commented 5 years ago

CONFIRMED! the same error occurs on master eduke32 !! so, dont know if its glad or whatever... but semms to me than its probably glad. it is on latest releases and not on this ( http://dukeworld.duke4.net/eduke32/synthesis/20180117-6582/ ) for example. sooo, anyway to avoid glad or at least a branch with that version on the engine ?? I think it should not be difficult... take note than rpi3 its the most famous sbc in the world..she deserve that hahaha !! thanks as always!

ghost commented 5 years ago

Mmm.. Seems to me than there is too much fixes to be done on blood src to avoid glad. I will try to report this regression on eduke32 forum.. But seems to me very difficult to debug. Maybe its s3tc compression...dont know, it should not be because that would happened without glad too. So, I will report that. Meanwhile I am testing HRP textures on eduke32.. There are textures for blood too... Soo, hope we find out a solution for this.

ghost commented 5 years ago

BloodCM works.