Attempting to get 1.91 built on Mac

Discussion and announcements regarding the Mac port… er, original version of Oolite.

Moderators: winston, another_commander

User avatar
MrFlibble
---- E L I T E ----
---- E L I T E ----
Posts: 303
Joined: Sun Feb 18, 2024 12:13 pm

Re: Attempting to get 1.91 built on Mac

Post by MrFlibble »

phkb wrote: Mon Jul 08, 2024 2:56 am
And fingers-crossed, I've managed to zip the thing up properly this time, so it should execute without having to do any sort of shenanigans with terminal.
:lol:

I'll have an AMD PCIe card in my hands in the next couple of days, hopefully suitable for hand-off to a VM. Meanwhile, I hope someone with a real mac will have the thrill of being the first to report success.
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6604
Joined: Wed Feb 28, 2007 7:54 am

Re: Attempting to get 1.91 built on Mac

Post by another_commander »

phkb wrote: Mon Jul 08, 2024 2:06 am

Code: Select all

12:02:24.183 [startup.exception]: ***** Unhandled exception during startup: NSInvalidArgumentException (-[MyOpenGLView setMsaa:]: unrecognized selector sent to instance 0x11784a000).

Closing log at 2024-07-08 02:02:27 +0000.
Good job getting it to see OGL 4.1. The error above is an actual one and I expect that it will halt execution regardless of VM or not. The fix should be simple though. Just put this inside the MyOpenGLView.m found in the Cocoa folder:

Code: Select all

- (void) setMsaa:(BOOL)newMsaa
{
	_msaa = !!newMsaa;
}
and this inside MyOpeGLView.h:

Code: Select all

- (void) setMsaa:(BOOL)newMsaa;
and don't forget to declare

Code: Select all

BOOL _msaa;
inside the interface declaration in the same header.

While at it, you might want to also implement the (BOOL) msaa method in the Cocoa edition of MyOpenGLView.h/m. You can refer to the equivalent SDL method and copy it as-is.

The framebuffer not complete errors are probably due to the VM. Most likely the VM has no support for GL_RGBA16F but hopefully real hardware does. You will need a few debug glGetError calls, one after every framebuffer setup command to see where exactly it fails. Also I am not sure why it says that it has no support for the GL_ARB_shading_language_100 extension if it supports OGL v4.1. Maybe another VM quirk? You will not be able to use the new renderer without shader support.
User avatar
phkb
Impressively Grand Sub-Admiral
Impressively Grand Sub-Admiral
Posts: 4809
Joined: Tue Jan 21, 2014 10:37 pm
Location: Writing more OXPs, because the world needs more OXPs.

Re: Attempting to get 1.91 built on Mac

Post by phkb »

Thanks, a_c. That error has been removed, so here is a new build for someone with a real Mac to test.: OoliteMac_1.91_TestBuild3.zip.

Fingers-crossed, Mac people!
User avatar
Cholmondely
Archivist
Archivist
Posts: 5251
Joined: Tue Jul 07, 2020 11:00 am
Location: The Delightful Domains of His Most Britannic Majesty (industrial? agricultural? mainly anything?)
Contact:

Re: Attempting to get 1.91 built on Mac

Post by Cholmondely »

It opened (on the older Mac with the Intel chip) - and I got the new splash screen. But then the screen went black. So I quit.

(Edited to add: It stays black... for yonks - I tried several other times)

Latest.log:

Code: Select all

Opening log for Oolite development version 1.91.0-220208 (x86-64 test release) under Mac OS X Version 10.15.3 (Build 19D2064) at 2024-07-08 09:56:27 +0000.
Machine type: MacBookAir9,1, 8192 MiB memory, 2 (4 logical) x x86 (family 0x38435547) @ 1100 MHz.
Build options: OpenAL, new planets, JavaScript console support, Debug plug-in support, OXP verifier, localization tools, debug GraphViz support, JavaScript profiling.

Note that the contents of the log file can be adjusted by editing logcontrol.plist.

10:56:29.260 [dataCache.rebuild.pathsChanged] +[ResourceManager checkCacheUpToDateForPaths:] (ResourceManager.m:1156): Cache is stale (search paths have changed). Rebuilding from scratch.
10:56:29.577 [joystick.error.init] -[OOMacJoystickManager init] (OOMacJoystickManager.m:80): Cannot open HID manager; joystick support will not function.
10:56:29.577 [rendering.opengl.version] -[OOOpenGLExtensionManager reset] (OOOpenGLExtensionManager.m:221): OpenGL renderer version: 2.1.0 ("2.1 INTEL-14.4.26"). Vendor: "Intel Inc.". Renderer: "Intel(R) Iris(TM) Plus Graphics OpenGL Engine (1x6x8 (fused) LP".
10:56:29.577 [rendering.opengl.extensions] -[OOOpenGLExtensionManager reset] (OOOpenGLExtensionManager.m:222): OpenGL extensions (128):
GL_EXT_texture_compression_dxt1, GL_EXT_rescale_normal, GL_EXT_transform_feedback, GL_EXT_blend_func_separate, GL_EXT_framebuffer_sRGB, GL_ATI_texture_env_combine3, GL_ARB_draw_elements_base_vertex, GL_EXT_debug_label, GL_EXT_geometry_shader4, GL_EXT_secondary_color, GL_EXT_separate_specular_color, GL_EXT_shadow_funcs, GL_NV_texgen_reflection, GL_NV_blend_square, GL_ARB_texture_compression_rgtc, GL_EXT_stencil_wrap, GL_ARB_texture_env_crossbar, GL_EXT_framebuffer_blit, GL_ATI_separate_stencil, GL_APPLE_vertex_point_size, GL_EXT_texture_rectangle, GL_APPLE_specular_vector, GL_EXT_packed_depth_stencil, GL_EXT_blend_color, GL_ARB_fragment_program_shadow, GL_EXT_texture_env_add, GL_EXT_provoking_vertex, GL_EXT_texture_array, GL_ARB_texture_env_combine, GL_ARB_point_sprite, GL_ARB_multisample, GL_EXT_framebuffer_object, GL_ARB_framebuffer_sRGB, GL_EXT_texture_lod_bias, GL_APPLE_pixel_buffer, GL_ARB_vertex_program, GL_EXT_bgra, GL_APPLE_fence, GL_APPLE_ycbcr_422, GL_EXT_timer_query, GL_EXT_vertex_array_bgra, GL_ARB_depth_clamp, GL_IBM_rasterpos_clip, GL_ARB_pixel_buffer_object, GL_SGIS_generate_mipmap, GL_EXT_framebuffer_multisample_blit_scaled, GL_ARB_shader_texture_lod, GL_ARB_texture_float, GL_ARB_texture_rectangle, GL_ARB_vertex_shader, GL_NV_texture_barrier, GL_ARB_provoking_vertex, GL_ARB_texture_env_add, GL_APPLE_object_purgeable, GL_ARB_texture_env_dot3, GL_APPLE_rgb_422, GL_NV_depth_clamp, GL_ARB_texture_mirrored_repeat, GL_ARB_texture_cube_map, GL_APPLE_element_array, GL_ATI_texture_float, GL_ARB_window_pos, GL_ARB_sync, GL_ARB_vertex_buffer_object, GL_APPLE_texture_range, GL_NV_conditional_render, GL_EXT_stencil_two_side, GL_ARB_texture_compression, GL_ARB_instanced_arrays, GL_EXT_blend_minmax, GL_ARB_texture_border_clamp, GL_EXT_draw_buffers2, GL_ARB_shading_language_100, GL_EXT_blend_equation_separate, GL_ARB_vertex_blend, GL_EXT_blend_subtract, GL_EXT_packed_float, GL_APPLE_aux_depth_stencil, GL_APPLE_row_bytes, GL_NV_light_max_exponent, GL_EXT_abgr, GL_EXT_texture_filter_anisotropic, GL_ARB_vertex_array_bgra, GL_ARB_draw_buffers, GL_ARB_transpose_matrix, GL_ARB_color_buffer_float, GL_EXT_gpu_program_parameters, GL_APPLE_client_storage, GL_ARB_texture_non_power_of_two, GL_ARB_multitexture, GL_EXT_gpu_shader4, GL_APPLE_flush_render, GL_ARB_framebuffer_object, GL_APPLE_vertex_program_evaluators, GL_APPLE_transform_hint, GL_EXT_texture_compression_s3tc, GL_APPLE_flush_buffer_range, GL_EXT_texture_integer, GL_SGIS_texture_edge_clamp, GL_NV_fog_distance, GL_ARB_occlusion_query, GL_ARB_fragment_shader, GL_ARB_texture_rg, GL_ARB_fragment_program, GL_ARB_seamless_cube_map, GL_ARB_shader_objects, GL_EXT_draw_range_elements, GL_APPLE_vertex_array_object, GL_ARB_depth_texture, GL_EXT_texture_sRGB, GL_ARB_half_float_vertex, GL_APPLE_vertex_array_range, GL_ARB_shadow, GL_EXT_multi_draw_arrays, GL_ARB_half_float_pixel, GL_APPLE_packed_pixels, GL_ARB_point_parameters, GL_EXT_debug_marker, GL_EXT_texture_sRGB_decode, GL_EXT_clip_volume_hint, GL_SGIS_texture_lod, GL_EXT_fog_coord, GL_EXT_texture_shared_exponent, GL_ATI_texture_mirror_once, GL_APPLE_float_pixels, GL_EXT_framebuffer_multisample, GL_ARB_depth_buffer_float, GL_ARB_draw_instanced
10:56:29.593 [rendering.opengl.shader.support] -[OOOpenGLExtensionManager reset] (OOOpenGLExtensionManager.m:256): Shaders are supported.
10:56:29.620 [dataCache.rebuild.pathsChanged] +[ResourceManager checkCacheUpToDateForPaths:] (ResourceManager.m:1156): Cache is stale (search paths have changed). Rebuilding from scratch.
10:56:29.621 [searchPaths.dumpAll] +[ResourceManager logPaths] (ResourceManager.m:2240): Resource paths: 
    /var/folders/6s/ysb64pns7r3472gl73j4zsnc0000gn/T/AppTranslocation/6FDC7D69-51EA-4048-A3A8-D26C1FB3A480/d/Oolite 1.91.app/Contents/Resources
    ~/Library/Application Support/Oolite/Managed AddOns
    ~/Library/Application Support/Oolite/AddOns
    ~/.Oolite/AddOns
10:56:29.633 [shipData.load.begin] +[OOShipRegistry(Singleton) allocWithZone:] (OOShipRegistry.m:1698): Loading ship data.
10:56:30.242 [startup.complete] -[GameController applicationDidFinishLaunching:] (GameController.m:269): ========== Loading complete in 0.89 seconds. ==========
10:56:31.290 [exit.context] -[OoliteApp terminate:] (OoliteApp.m:68): Exiting: Cocoa terminate event.

Closing log at 2024-07-08 09:56:31 +0000.
Last edited by Cholmondely on Mon Jul 08, 2024 10:40 am, edited 1 time in total.
Comments wanted:
Missing OXPs? What do you think is missing?
Lore: The economics of ship building How many built for Aronar?
Lore: The Space Traders Flight Training Manual: Cowell & MgRath Do you agree with Redspear?
User avatar
MrFlibble
---- E L I T E ----
---- E L I T E ----
Posts: 303
Joined: Sun Feb 18, 2024 12:13 pm

Re: Attempting to get 1.91 built on Mac

Post by MrFlibble »

phkb wrote: Mon Jul 08, 2024 8:49 am
Thanks, a_c. That error has been removed, so here is a new build for someone with a real Mac to test.: OoliteMac_1.91_TestBuild3.zip.

Fingers-crossed, Mac people!
Odd results on KVM-qemu-libvirt. I'd expected it to simply fail. Black window, alt-F12 maximises/minimises it.

Log head: I stopped it when it'd got to >300 Megs!

Code: Select all

Opening log for Oolite version 1.91 (x86-64 test release) under Mac OS X Version 13.6.7 (Build 22G720) at 2024-07-08 09:57:58 +0000.
Machine type: iMacPro1,1, 8192 MiB memory, 2 x x86 (Penryn) @ 3200 MHz.
Build options: OpenAL, GLSL shaders, new planets, JavaScript console support, Debug plug-in support, OXP verifier, localization tools, debug GraphViz support, JavaScript profiling.

Note that the contents of the log file can be adjusted by editing logcontrol.plist.

10:57:58.105 [dataCache.rebuild]: Data cache version (1.90) does not match Oolite version (1.91), rebuilding cache.
10:57:59.933 [joystick.error.init]: Cannot open HID manager; joystick support will not function.
10:57:59.935 [rendering.opengl.version]: OpenGL renderer version: 4.1.0 ("4.1 APPLE-20.5.2"). Vendor: "Apple Inc.". Renderer: "Apple Software Renderer".
10:57:59.935 [rendering.opengl.extensions]: OpenGL extensions (46):
GL_ARB_blend_func_extended, GL_ARB_texture_swizzle, GL_APPLE_texture_range, GL_ARB_shader_subroutine, GL_ARB_viewport_array, GL_EXT_debug_label, GL_ARB_occlusion_query2, GL_EXT_texture_compression_s3tc, GL_ARB_instanced_arrays, GL_ARB_ver
tex_type_2_10_10_10_rev, GL_ARB_vertex_attrib_64bit, GL_EXT_framebuffer_multisample_blit_scaled, GL_ARB_gpu_shader5, GL_ARB_sampler_objects, GL_ARB_shading_language_include, GL_ARB_transform_feedback2, GL_APPLE_container_object_shareable,
 GL_EXT_texture_mirror_clamp, GL_EXT_texture_filter_anisotropic, GL_ATI_texture_mirror_once, GL_ARB_gpu_shader_fp64, GL_ARB_internalformat_query, GL_ARB_ES2_compatibility, GL_ARB_texture_gather, GL_ARB_draw_buffers_blend, GL_ARB_sample_sh
ading, GL_ARB_separate_shader_objects, GL_ARB_texture_cube_map_array, GL_ARB_shader_bit_encoding, GL_ARB_tessellation_shader, GL_ARB_transform_feedback3, GL_ARB_texture_storage, GL_ARB_texture_buffer_object_rgb32, GL_ARB_texture_rgb10_a2u
i, GL_EXT_depth_bounds_test, GL_APPLE_flush_render, GL_ARB_explicit_attrib_location, GL_ARB_timer_query, GL_APPLE_rgb_422, GL_ARB_draw_indirect, GL_EXT_debug_marker, GL_EXT_texture_sRGB_decode, GL_APPLE_client_storage, GL_NV_texture_barri
er, GL_ARB_texture_query_lod, GL_APPLE_row_bytes
10:57:59.943 [rendering.opengl.shader.support]: Shaders will not be used (OpenGL extension GL_ARB_shading_language_100 is not available).
10:57:59.945 [initTargetFramebufferWithViewSize.result]: ***** ERROR: ***** Error: Multisample framebuffer not complete
10:57:59.946 [initTargetFramebufferWithViewSize.result]: ***** ERROR: ***** Error: Framebuffer not complete
10:57:59.946 [initTargetFramebufferWithViewSize.result]: ***** ERROR: ***** Error: Passthrough framebuffer not complete
10:57:59.946 [initTargetFramebufferWithViewSize.result]: ***** ERROR: ***** Error: Pingpong framebuffers not complete
10:57:59.946 [initTargetFramebufferWithViewSize.result]: ***** ERROR: ***** Error: Pingpong framebuffers not complete
10:58:00.009 [dataCache.rebuild]: Data cache version (1.90) does not match Oolite version (1.91), rebuilding cache.
10:58:00.026 [searchPaths.dumpAll]: Resource paths: 
    /var/folders/dl/585dfkxn0sg1lsdkmrpyn_nc0000gn/T/AppTranslocation/2941C7AF-B13E-4D7F-A77F-FDE4CEB369E1/d/Oolite.app/Contents/Resources
    ~/Library/Application Support/Oolite/Managed AddOns
    ~/Library/Application Support/Oolite/AddOns
    ~/Library/Application Support/Oolite/AddOns/org.oolite.hiran.OoliteStarter.oxp
    ~/Library/Application Support/Oolite/AddOns/Debug.oxp
10:58:00.044 [MSAA.setup]: Multisample anti-aliasing not requested.
10:58:00.044 [shipData.load.begin]: Loading ship data.
10:58:00.628 [debugSupport.load.success]: Debug Bundle loaded successfully.
10:58:00.636 [startup.complete]: ========== Loading complete in 0.91 seconds. ==========
10:58:00.763 [rendering.opengl.state]: Incorrect OpenGL state in -[Universe drawUniverse] (line 4869)->OOSetOpenGLState
10:58:00.763 [rendering.opengl.state]: Expected previous state: <canonical initial state>
  10:58:00.763 [rendering.opengl.state]: GL_SHADE_MODEL should be GL_SMOOTH but is GL_ZERO.
  10:58:00.763 [rendering.opengl.state]: GL_TEXTURE_ENV_MODE should be ENABLED but is ENABLED.
10:58:00.763 [rendering.opengl.state]: Incorrect OpenGL state in -[Universe drawUniverse] (line 4933)->OOSetOpenGLState
10:58:00.763 [rendering.opengl.state]: Expected previous state: OPENGL_STATE_OPAQUE
  10:58:00.763 [rendering.opengl.state]: GL_LIGHTING should be ENABLED but is disabled.
  10:58:00.763 [rendering.opengl.state]: GL_TEXTURE_2D should be ENABLED but is disabled.
  10:58:00.763 [rendering.opengl.state]: GL_VERTEX_ARRAY should be ENABLED but is disabled.
  10:58:00.763 [rendering.opengl.state]: GL_NORMAL_ARRAY should be ENABLED but is disabled.
  10:58:00.763 [rendering.opengl.state]: GL_SHADE_MODEL should be GL_SMOOTH but is GL_ZERO.
  10:58:00.763 [rendering.opengl.state]: GL_TEXTURE_ENV_MODE should be ENABLED but is ENABLED.
10:58:00.763 [rendering.opengl.state]: Incorrect OpenGL state in -[Universe drawUniverse] (line 4997)->OOVerifyOpenGLState
10:58:00.763 [rendering.opengl.state]: Expected previous state: OPENGL_STATE_OPAQUE
  10:58:00.763 [rendering.opengl.state]: GL_LIGHTING should be ENABLED but is disabled.
  10:58:00.763 [rendering.opengl.state]: GL_TEXTURE_2D should be ENABLED but is disabled.
  10:58:00.763 [rendering.opengl.state]: GL_VERTEX_ARRAY should be ENABLED but is disabled.
  10:58:00.763 [rendering.opengl.state]: GL_NORMAL_ARRAY should be ENABLED but is disabled.
  10:58:00.763 [rendering.opengl.state]: GL_SHADE_MODEL should be GL_SMOOTH but is GL_ZERO.
  10:58:00.763 [rendering.opengl.state]: GL_TEXTURE_ENV_MODE should be ENABLED but is ENABLED.
10:58:00.763 [rendering.opengl.state]: Incorrect OpenGL state in -[Universe drawUniverse] (line 4933)->OOSetOpenGLState
10:58:00.763 [rendering.opengl.state]: Expected previous state: OPENGL_STATE_OPAQUE
  10:58:00.763 [rendering.opengl.state]: GL_LIGHTING should be ENABLED but is disabled.
  10:58:00.763 [rendering.opengl.state]: GL_TEXTURE_2D should be ENABLED but is disabled.
  10:58:00.763 [rendering.opengl.state]: GL_VERTEX_ARRAY should be ENABLED but is disabled.
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6604
Joined: Wed Feb 28, 2007 7:54 am

Re: Attempting to get 1.91 built on Mac

Post by another_commander »

Something is funny here. Cholly's and MrFlibble's versions of the executable differ. Cholly, I think you are running a very old 1.91 there - earlier than the introduction of the new renderer, which could also explain why the game continues to run instead of throwing an "OpenGL too old" exception and terminating (OGL 2.1 is reported in the log). Are you sure you are launching the correct binary?
User avatar
Cholmondely
Archivist
Archivist
Posts: 5251
Joined: Tue Jul 07, 2020 11:00 am
Location: The Delightful Domains of His Most Britannic Majesty (industrial? agricultural? mainly anything?)
Contact:

Re: Attempting to get 1.91 built on Mac

Post by Cholmondely »

another_commander wrote: Mon Jul 08, 2024 10:24 am
Something is funny here. Cholly's and MrFlibble's versions of the executable differ. Cholly, I think you are running a very old 1.91 there - earlier than the introduction of the new renderer, which could also explain why the game continues to run instead of throwing an "OpenGL too old" exception and terminating (OGL 2.1 is reported in the log). Are you sure you are launching the correct binary?
Merely the one linked just above.

I do have access to a newer AppleMac, so will try that one out anon.
Comments wanted:
Missing OXPs? What do you think is missing?
Lore: The economics of ship building How many built for Aronar?
Lore: The Space Traders Flight Training Manual: Cowell & MgRath Do you agree with Redspear?
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6604
Joined: Wed Feb 28, 2007 7:54 am

Re: Attempting to get 1.91 built on Mac

Post by another_commander »

Your log says that the build you are running is 1.91.0-220208, which is from February 2022. I still think there is a mix-up somewhere.
User avatar
Cholmondely
Archivist
Archivist
Posts: 5251
Joined: Tue Jul 07, 2020 11:00 am
Location: The Delightful Domains of His Most Britannic Majesty (industrial? agricultural? mainly anything?)
Contact:

Re: Attempting to get 1.91 built on Mac

Post by Cholmondely »

another_commander wrote: Mon Jul 08, 2024 10:53 am
Your log says that the build you are running is 1.91.0-220208, which is from February 2022. I still think there is a mix-up somewhere.
Sorry to spend so long getting back to you...

I now have two 1.91's on my drive. The older is from 2022. But I clicked on the brand new one.

The old one starts up just fine (and then crashes shortly afterwards).

The new one gives me a blank screen - as well as the latest.log shown above with the mixed-up details!
Comments wanted:
Missing OXPs? What do you think is missing?
Lore: The economics of ship building How many built for Aronar?
Lore: The Space Traders Flight Training Manual: Cowell & MgRath Do you agree with Redspear?
User avatar
phkb
Impressively Grand Sub-Admiral
Impressively Grand Sub-Admiral
Posts: 4809
Joined: Tue Jan 21, 2014 10:37 pm
Location: Writing more OXPs, because the world needs more OXPs.

Re: Attempting to get 1.91 built on Mac

Post by phkb »

If you delete the latest.log file, and then rerun the new 1.91, does it get recreated in the same location?
User avatar
Cholmondely
Archivist
Archivist
Posts: 5251
Joined: Tue Jul 07, 2020 11:00 am
Location: The Delightful Domains of His Most Britannic Majesty (industrial? agricultural? mainly anything?)
Contact:

Re: Attempting to get 1.91 built on Mac

Post by Cholmondely »

Yes, it does. And all my various Oolite installations (2022's 1.91, 1.90, 1.88 and 1.77.1 all create their latest.log there, shunting the previous one into "previous.log".
Comments wanted:
Missing OXPs? What do you think is missing?
Lore: The economics of ship building How many built for Aronar?
Lore: The Space Traders Flight Training Manual: Cowell & MgRath Do you agree with Redspear?
User avatar
maik
Wiki Wizard
Wiki Wizard
Posts: 2024
Joined: Wed Mar 10, 2010 12:30 pm
Location: Ljubljana, Slovenia (mainly industrial, feudal, TL12)

Re: Attempting to get 1.91 built on Mac

Post by maik »

I just tried your latest build on my M1-based MacBook Air. No luck either I'm afraid:

Code: Select all

Opening log for Oolite version 1.91 (x86-64 test release) under Mac OS X Version 14.5 (Build 23F79) at 2024-07-10 17:32:47 +0000.
Machine type: MacBookAir10,1, 8192 MiB memory, 8 x x86 (Westmere) @ 2400 MHz.
Build options: OpenAL, GLSL shaders, new planets, JavaScript console support, Debug plug-in support, OXP verifier, localization tools, debug GraphViz support, JavaScript profiling.

Note that the contents of the log file can be adjusted by editing logcontrol.plist.

19:32:47.393 [dataCache.notFound]: No data cache found, starting from scratch.
19:32:48.602 [joystick.error.init]: Cannot open HID manager; joystick support will not function.
19:32:48.602 [rendering.opengl.version]: OpenGL renderer version: 4.1.0 ("4.1 Metal - 88.1"). Vendor: "Apple". Renderer: "Apple M1".
19:32:48.602 [rendering.opengl.extensions]: OpenGL extensions (43):
GL_ARB_blend_func_extended, GL_ARB_texture_swizzle, GL_APPLE_texture_range, GL_ARB_shader_subroutine, GL_ARB_viewport_array, GL_EXT_debug_label, GL_ARB_occlusion_query2, GL_EXT_texture_compression_s3tc, GL_ARB_instanced_arrays, GL_ARB_vertex_type_2_10_10_10_rev, GL_ARB_vertex_attrib_64bit, GL_EXT_framebuffer_multisample_blit_scaled, GL_ARB_gpu_shader5, GL_ARB_sampler_objects, GL_ARB_shading_language_include, GL_ARB_transform_feedback2, GL_APPLE_container_object_shareable, GL_EXT_texture_filter_anisotropic, GL_ARB_gpu_shader_fp64, GL_ARB_internalformat_query, GL_ARB_ES2_compatibility, GL_ARB_texture_gather, GL_ARB_draw_buffers_blend, GL_ARB_sample_shading, GL_ARB_separate_shader_objects, GL_ARB_texture_cube_map_array, GL_ARB_shader_bit_encoding, GL_ARB_tessellation_shader, GL_ARB_transform_feedback3, GL_ARB_texture_storage, GL_ARB_texture_buffer_object_rgb32, GL_ARB_texture_rgb10_a2ui, GL_APPLE_flush_render, GL_ARB_explicit_attrib_location, GL_ARB_timer_query, GL_APPLE_rgb_422, GL_ARB_draw_indirect, GL_EXT_debug_marker, GL_EXT_texture_sRGB_decode, GL_APPLE_client_storage, GL_NV_texture_barrier, GL_ARB_texture_query_lod, GL_APPLE_row_bytes
19:32:48.608 [rendering.opengl.shader.support]: Shaders will not be used (OpenGL extension GL_ARB_shading_language_100 is not available).
19:32:48.610 [initTargetFramebufferWithViewSize.result]: ***** ERROR: ***** Error: Multisample framebuffer not complete
19:32:48.611 [initTargetFramebufferWithViewSize.result]: ***** ERROR: ***** Error: Framebuffer not complete
19:32:48.611 [initTargetFramebufferWithViewSize.result]: ***** ERROR: ***** Error: Passthrough framebuffer not complete
19:32:48.611 [initTargetFramebufferWithViewSize.result]: ***** ERROR: ***** Error: Pingpong framebuffers not complete
19:32:48.611 [initTargetFramebufferWithViewSize.result]: ***** ERROR: ***** Error: Pingpong framebuffers not complete
19:32:48.640 [dataCache.notFound]: No data cache found, starting from scratch.
19:32:48.644 [searchPaths.dumpAll]: Resource paths: 
    /var/folders/yg/dzbxbj1n4r7cbgl4rbhds8kh0000gn/T/AppTranslocation/D9E5CD9A-9BD2-4134-A646-08E3228F59D7/d/Oolite.app/Contents/Resources
19:32:48.652 [MSAA.setup]: Multisample anti-aliasing not requested.
19:32:48.652 [shipData.load.begin]: Loading ship data.
19:32:48.996 [startup.complete]: ========== Loading complete in 0.69 seconds. ==========
19:32:49.148 [rendering.opengl.state]: Incorrect OpenGL state in -[Universe drawUniverse] (line 4869)->OOSetOpenGLState
19:32:49.148 [rendering.opengl.state]: Expected previous state: <canonical initial state>
  19:32:49.148 [rendering.opengl.state]: GL_SHADE_MODEL should be GL_SMOOTH but is GL_ZERO.
  19:32:49.148 [rendering.opengl.state]: GL_TEXTURE_ENV_MODE should be ENABLED but is ENABLED.
19:32:49.148 [rendering.opengl.state]: Incorrect OpenGL state in -[Universe drawUniverse] (line 4933)->OOSetOpenGLState
19:32:49.148 [rendering.opengl.state]: Expected previous state: OPENGL_STATE_OPAQUE
  19:32:49.148 [rendering.opengl.state]: GL_LIGHTING should be ENABLED but is disabled.
  19:32:49.148 [rendering.opengl.state]: GL_TEXTURE_2D should be ENABLED but is disabled.
  19:32:49.148 [rendering.opengl.state]: GL_VERTEX_ARRAY should be ENABLED but is disabled.
  19:32:49.148 [rendering.opengl.state]: GL_NORMAL_ARRAY should be ENABLED but is disabled.
  19:32:49.148 [rendering.opengl.state]: GL_SHADE_MODEL should be GL_SMOOTH but is GL_ZERO.
  19:32:49.148 [rendering.opengl.state]: GL_TEXTURE_ENV_MODE should be ENABLED but is ENABLED.
19:32:49.148 [rendering.opengl.state]: Incorrect OpenGL state in -[Universe drawUniverse] (line 4997)->OOVerifyOpenGLState
It goes on for a very long while with more Incorrect OpenGL state objections until I terminate it.
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6604
Joined: Wed Feb 28, 2007 7:54 am

Re: Attempting to get 1.91 built on Mac

Post by another_commander »

@maik when you launch 1.90, does the extensions list contain GL_ARB_shading_language_100?
User avatar
maik
Wiki Wizard
Wiki Wizard
Posts: 2024
Joined: Wed Mar 10, 2010 12:30 pm
Location: Ljubljana, Slovenia (mainly industrial, feudal, TL12)

Re: Attempting to get 1.91 built on Mac

Post by maik »

It does:

Code: Select all

Opening log for Oolite version 1.90 (x86-64) under Mac OS X Version 14.5 (Build 23F79) at 2024-07-11 08:08:55 +0000.
Machine type: MacBookAir10,1, 8192 MiB memory, 8 x x86 (Westmere) @ 2400 MHz.
Build options: OpenAL, new planets.

Note that the contents of the log file can be adjusted by editing logcontrol.plist.

10:08:55.336 [dataCache.rebuild]: Data cache version (1.91) does not match Oolite version (1.90), rebuilding cache.
10:08:56.223 [joystick.error.init]: Cannot open HID manager; joystick support will not function.
10:08:56.224 [rendering.opengl.version]: OpenGL renderer version: 2.1.0 ("2.1 Metal - 88.1"). Vendor: "Apple". Renderer: "Apple M1".
10:08:56.224 [rendering.opengl.extensions]: OpenGL extensions (133):
GL_EXT_texture_compression_dxt1, GL_EXT_rescale_normal, GL_EXT_transform_feedback, GL_EXT_blend_func_separate, GL_EXT_framebuffer_sRGB, GL_ATI_texture_env_combine3, GL_ARB_draw_elements_base_vertex, GL_EXT_debug_label, GL_EXT_geometry_shader4, GL_EXT_secondary_color, GL_EXT_separate_specular_color, GL_EXT_shadow_funcs, GL_NV_texgen_reflection, GL_NV_blend_square, GL_ARB_texture_compression_rgtc, GL_EXT_stencil_wrap, GL_ARB_texture_env_crossbar, GL_EXT_framebuffer_blit, GL_EXT_bindable_uniform, GL_ATI_separate_stencil, GL_APPLE_vertex_point_size, GL_EXT_texture_rectangle, GL_APPLE_specular_vector, GL_EXT_packed_depth_stencil, GL_EXT_blend_color, GL_ARB_fragment_program_shadow, GL_EXT_texture_env_add, GL_ARB_imaging, GL_EXT_provoking_vertex, GL_EXT_texture_array, GL_ARB_texture_env_combine, GL_ARB_point_sprite, GL_ARB_multisample, GL_EXT_framebuffer_object, GL_ARB_framebuffer_sRGB, GL_EXT_texture_lod_bias, GL_APPLE_pixel_buffer, GL_ARB_vertex_program, GL_EXT_bgra, GL_APPLE_fence, GL_APPLE_ycbcr_422, GL_EXT_timer_query, GL_EXT_vertex_array_bgra, GL_ARB_depth_clamp, GL_IBM_rasterpos_clip, GL_ARB_pixel_buffer_object, GL_SGIS_generate_mipmap, GL_EXT_framebuffer_multisample_blit_scaled, GL_NV_vertex_program2_option, GL_ARB_shader_texture_lod, GL_ARB_texture_float, GL_ARB_texture_rectangle, GL_ARB_vertex_shader, GL_NV_texture_barrier, GL_ARB_provoking_vertex, GL_ARB_texture_env_add, GL_ARB_texture_env_dot3, GL_APPLE_rgb_422, GL_NV_depth_clamp, GL_ARB_texture_mirrored_repeat, GL_ARB_texture_cube_map, GL_APPLE_element_array, GL_ATI_texture_float, GL_ARB_window_pos, GL_ARB_sync, GL_ARB_vertex_buffer_object, GL_APPLE_texture_range, GL_NV_fragment_program2, GL_NV_conditional_render, GL_EXT_stencil_two_side, GL_ARB_texture_compression, GL_ARB_instanced_arrays, GL_EXT_blend_minmax, GL_ARB_texture_border_clamp, GL_EXT_draw_buffers2, GL_ARB_shading_language_100, GL_EXT_blend_equation_separate, GL_ARB_vertex_blend, GL_EXT_blend_subtract, GL_EXT_packed_float, GL_APPLE_aux_depth_stencil, GL_APPLE_row_bytes, GL_NV_light_max_exponent, GL_EXT_abgr, GL_EXT_texture_filter_anisotropic, GL_ARB_vertex_array_bgra, GL_ARB_draw_buffers, GL_ARB_transpose_matrix, GL_ARB_color_buffer_float, GL_EXT_gpu_program_parameters, GL_APPLE_client_storage, GL_ARB_texture_non_power_of_two, GL_ARB_multitexture, GL_EXT_gpu_shader4, GL_APPLE_flush_render, GL_NV_vertex_program3, GL_ARB_framebuffer_object, GL_APPLE_vertex_program_evaluators, GL_APPLE_transform_hint, GL_EXT_texture_compression_s3tc, GL_APPLE_flush_buffer_range, GL_EXT_texture_integer, GL_SGIS_texture_edge_clamp, GL_NV_fog_distance, GL_ARB_occlusion_query, GL_ARB_fragment_shader, GL_ARB_texture_rg, GL_ARB_fragment_program, GL_ARB_seamless_cube_map, GL_ARB_shader_objects, GL_EXT_draw_range_elements, GL_APPLE_vertex_array_object, GL_ARB_depth_texture, GL_NV_fragment_program_option, GL_EXT_texture_sRGB, GL_ARB_half_float_vertex, GL_SGI_color_matrix, GL_ARB_shadow, GL_EXT_multi_draw_arrays, GL_ARB_half_float_pixel, GL_APPLE_packed_pixels, GL_ARB_point_parameters, GL_EXT_debug_marker, GL_EXT_texture_sRGB_decode, GL_EXT_clip_volume_hint, GL_SGIS_texture_lod, GL_EXT_fog_coord, GL_EXT_texture_shared_exponent, GL_ARB_shadow_ambient, GL_EXT_framebuffer_multisample, GL_APPLE_float_pixels, GL_ARB_depth_buffer_float, GL_ARB_draw_instanced
10:08:56.234 [rendering.opengl.shader.support]: Shaders are supported.
10:08:56.238 [dataCache.rebuild]: Data cache version (1.91) does not match Oolite version (1.90), rebuilding cache.
10:08:56.242 [searchPaths.dumpAll]: Resource paths: 
    /var/folders/yg/dzbxbj1n4r7cbgl4rbhds8kh0000gn/T/AppTranslocation/35C0DE46-A67F-4906-834C-792CF63FA26C/d/Oolite.app/Contents/Resources
10:08:56.250 [shipData.load.begin]: Loading ship data.
10:08:56.641 [startup.complete]: ========== Loading complete in 0.60 seconds. ==========
10:09:06.907 [exit.context]: Exiting: Cocoa terminate event.

Closing log at 2024-07-11 08:09:06 +0000.
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6604
Joined: Wed Feb 28, 2007 7:54 am

Re: Attempting to get 1.91 built on Mac

Post by another_commander »

Thanks maik, that was... interesting. So, when on OGL 2.1 all the extensions necessary to run the game are present, but on OGL 4.1 there is only a handful? And, more importantly, the extension needed to run shaders on 4.1 is not present, when the OpenGL 3.x/4.x render model relies on the shader pipeline?

The only logical explanation I have for this is the assumption that the Apple OGL 4.1 variant implements the shading language extension - plus many others as GL core features and that's why nothing comes up when looking for such functionality in the supported extensions. It's not there because it has been moved to core. I would suggest that if we get a follow-up test binary, it should come with these two changes:

- Removal of extensions checking in OOOpenGLExtensionManager.m. Effectively commenting out this:

Code: Select all

NSString * const requiredExtension[] = 
					{
						@"GL_ARB_shading_language_100",
						@"GL_ARB_fragment_shader",
						@"GL_ARB_vertex_shader",
						@"GL_ARB_multitexture",
						@"GL_ARB_shader_objects",
						nil	// sentinel - don't remove!
						};
NSString * const *required = NULL;
	
for (required = requiredExtension; *required != nil; ++required)
{
	if (![self haveExtension:*required])
	{
		OOLog(kOOLogOpenGLShaderSupport, @"Shaders will not be used (OpenGL extension %@ is not available).", *required);
		return;
	}
}
All the extensions listed above do not exist in maik's 4.1 log, but they are all standard OGL features and Apple's 4.1 implementation should have them available. If the game runs with the check removed, then my hypothesis would be correct.

- glGetError logging for every line used to set up the various framebuffers. We need to try to understand where exactly it fails and ends up not completing the framebuffers that are needed to render the scene. No framebuffers -> black screen.
Post Reply