Announcement

Collapse
No announcement yet.

OpenGL 4.1 on ATI 6470m

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • OpenGL 4.1 on ATI 6470m

    I have a HP-EliteBook-8460p with ATI 6470m. According to the hardware the card has OpenGL 4.1 support. But in Ubuntu 16.04 I get

    [email protected]:~$ glxinfo | grep "OpenGL version"
    OpenGL version string: 3.0 Mesa 12.1.0-devel (git-727a9b2 2016-06-25 xenial-oibaf-ppa)

    I am using this ppa BTW

    ppaibaf/graphics-drivers

    under "About This Computer" it says under Graphics

    Gallium 0.4 on AMD CAICOS (DRM 2.43.0 / 4.4.0-24-generic, LLVM 3.8.0)

    I thought the mesa etc. had OpenGL 4.1 support now at least. Is there a way to get that with open source drivers on this card?

  • #2
    I don't think Caicos has HW double-precision support, does it ? If not then you'll need to over-ride the GL level (or I think you can just over-ride the fp64 extensions) to get 4.1, since GL 4.1 depends on having either double precision HW support or emulation of same in the shader compiler (which isn't there yet).

    Comment


    • #3
      Originally posted by bridgman View Post
      I don't think Caicos has HW double-precision support, does it ? If not then you'll need to over-ride the GL level (or I think you can just over-ride the fp64 extensions) to get 4.1, since GL 4.1 depends on having either double precision HW support or emulation of same in the shader compiler (which isn't there yet).
      How would I do that?

      Comment


      • #4
        I don't remember the syntax for over-riding extensions, but try the following to over-ride the GL level:

        MESA_GL_VERSION_OVERRIDE=4.1 MESA_GLSL_VERSION_OVERRIDE=410 %command%
        ... where %command% would be whatever game you are running that needs GL 4.0 or 4.1. If you are running Steam you can save this in the launch string for the app.

        Note that I am not 100% sure you have sufficiently new driver bits to get 4.1 support other than the fp64 extensions but at first glance it seems OK.

        If you want to be sure you can run glxinfo and pick through the output you should find that you have all the extensions required for GL 4.1 besides GL_ARB_vertex_attrib_64bit and GL_ARB_gpu_shader_fp64. Might as well use mesamatrix.net as a cheat sheet for the extensions you need.

        Comment


        • #5
          Originally posted by bridgman View Post
          I don't remember the syntax for over-riding extensions, but try the following to over-ride the GL level:



          ... where %command% would be whatever game you are running that needs GL 4.0 or 4.1. If you are running Steam you can save this in the launch string for the app.

          Note that I am not 100% sure you have sufficiently new driver bits to get 4.1 support other than the fp64 extensions but at first glance it seems OK.

          If you want to be sure you can run glxinfo and pick through the output you should find that you have all the extensions required for GL 4.1 besides GL_ARB_vertex_attrib_64bit and GL_ARB_gpu_shader_fp64. Might as well use mesamatrix.net as a cheat sheet for the extensions you need.
          Tried using the override command on the game I wanted to run and it still complains about missing OpenGL 4.1. I also checked the mesamatrix.net against running glxinfo and found all the extensiions for OpenGL 4.0 and 4.1 except the GL_ARB_vertex_attrib_64bit and GL_ARB_gpu_shader_fp64 extensions.

          Comment


          • #6
            That's odd - can you try running glxinfo with the same override command to make sure you're entering it correctly ?

            I guess it's possible your game is looking for a 4.1 compatibility context but AFAIK all the game devs have learned not to do that. What is the game and what are the error messages ?

            Comment


            • #7
              Originally posted by bridgman View Post
              That's odd - can you try running glxinfo with the same override command to make sure you're entering it correctly ?

              I guess it's possible your game is looking for a 4.1 compatibility context but AFAIK all the game devs have learned not to do that. What is the game and what are the error messages ?
              I am trying to run Saints Row: Gat of out Hell on Steam. As you can see below still no fo64 or 64bit extensions.

              Code:
              [email protected]:~$ MESA_GL_VERSION_OVERRIDE=4.1 MESA_GLSL_VERSION_OVERRIDE=410 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_create_context_robustness, 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_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_swap_control
              client glx vendor string: Mesa Project and SGI
              client glx version string: 1.4
              client glx extensions:
                  GLX_ARB_create_context, 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_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
              Extended renderer info (GLX_MESA_query_renderer):
                  Vendor: X.Org (0x1002)
                  Device: AMD CAICOS (DRM 2.43.0 / 4.4.0-24-generic, LLVM 3.8.0) (0x6760)
                  Version: 12.1.0
                  Accelerated: yes
                  Video memory: 1024MB
                  Unified memory: no
                  Preferred profile: core (0x1)
                  Max core profile version: 4.1
                  Max compat profile version: 4.1
                  Max GLES1 profile version: 1.1
                  Max GLES[23] profile version: 3.0
              OpenGL vendor string: X.Org
              OpenGL renderer string: Gallium 0.4 on AMD CAICOS (DRM 2.43.0 / 4.4.0-24-generic, LLVM 3.8.0)
              OpenGL core profile version string: 4.1 (Core Profile) Mesa 12.1.0-devel (git-81978c6 2016-06-25 xenial-oibaf-ppa)
              OpenGL core profile shading language version string: 4.10
              OpenGL core profile context flags: (none)
              OpenGL core profile profile mask: core profile
              OpenGL core profile extensions:
                  GL_AMD_conservative_depth, GL_AMD_draw_buffers_blend,
                  GL_AMD_performance_monitor, GL_AMD_pinned_memory,
                  GL_AMD_seamless_cubemap_per_texture, GL_AMD_shader_stencil_export,
                  GL_AMD_shader_trinary_minmax, GL_AMD_vertex_shader_layer,
                  GL_AMD_vertex_shader_viewport_index, GL_ANGLE_texture_compression_dxt3,
                  GL_ANGLE_texture_compression_dxt5, GL_ARB_ES2_compatibility,
                  GL_ARB_ES3_compatibility, GL_ARB_arrays_of_arrays, GL_ARB_base_instance,
                  GL_ARB_blend_func_extended, GL_ARB_buffer_storage,
                  GL_ARB_clear_buffer_object, GL_ARB_clip_control,
                  GL_ARB_compressed_texture_pixel_storage,
                  GL_ARB_conditional_render_inverted, GL_ARB_conservative_depth,
                  GL_ARB_copy_buffer, GL_ARB_copy_image, GL_ARB_debug_output,
                  GL_ARB_depth_buffer_float, GL_ARB_depth_clamp, GL_ARB_derivative_control,
                  GL_ARB_direct_state_access, GL_ARB_draw_buffers,
                  GL_ARB_draw_buffers_blend, GL_ARB_draw_elements_base_vertex,
                  GL_ARB_draw_indirect, GL_ARB_draw_instanced,
                  GL_ARB_explicit_attrib_location, GL_ARB_explicit_uniform_location,
                  GL_ARB_fragment_coord_conventions, GL_ARB_fragment_layer_viewport,
                  GL_ARB_fragment_shader, GL_ARB_framebuffer_no_attachments,
                  GL_ARB_framebuffer_object, GL_ARB_framebuffer_sRGB,
                  GL_ARB_get_program_binary, GL_ARB_get_texture_sub_image,
                  GL_ARB_gpu_shader5, GL_ARB_half_float_pixel, GL_ARB_half_float_vertex,
                  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_occlusion_query2,
                  GL_ARB_pipeline_statistics_query, GL_ARB_pixel_buffer_object,
                  GL_ARB_point_sprite, GL_ARB_program_interface_query,
                  GL_ARB_provoking_vertex, 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_bit_encoding, GL_ARB_shader_objects,
                  GL_ARB_shader_precision, GL_ARB_shader_stencil_export,
                  GL_ARB_shader_subroutine, GL_ARB_shader_texture_image_samples,
                  GL_ARB_shader_texture_lod, GL_ARB_shading_language_420pack,
                  GL_ARB_shading_language_packing, GL_ARB_stencil_texturing, GL_ARB_sync,
                  GL_ARB_tessellation_shader, GL_ARB_texture_barrier,
                  GL_ARB_texture_buffer_object, GL_ARB_texture_buffer_object_rgb32,
                  GL_ARB_texture_buffer_range, GL_ARB_texture_compression_bptc,
                  GL_ARB_texture_compression_rgtc, GL_ARB_texture_cube_map_array,
                  GL_ARB_texture_float, GL_ARB_texture_gather,
                  GL_ARB_texture_mirror_clamp_to_edge, 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_uniform_buffer_object,
                  GL_ARB_vertex_array_bgra, GL_ARB_vertex_array_object,
                  GL_ARB_vertex_attrib_binding, 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_ATI_blend_equation_separate, GL_ATI_meminfo,
                  GL_ATI_texture_float, GL_ATI_texture_mirror_once, GL_EXT_abgr,
                  GL_EXT_blend_equation_separate, GL_EXT_draw_buffers2,
                  GL_EXT_draw_instanced, GL_EXT_framebuffer_blit,
                  GL_EXT_framebuffer_multisample, GL_EXT_framebuffer_multisample_blit_scaled,
                  GL_EXT_framebuffer_sRGB, GL_EXT_packed_depth_stencil, GL_EXT_packed_float,
                  GL_EXT_pixel_buffer_object, GL_EXT_polygon_offset_clamp,
                  GL_EXT_provoking_vertex, GL_EXT_shader_integer_mix, GL_EXT_texture_array,
                  GL_EXT_texture_compression_dxt1, GL_EXT_texture_compression_rgtc,
                  GL_EXT_texture_compression_s3tc, GL_EXT_texture_filter_anisotropic,
                  GL_EXT_texture_integer, GL_EXT_texture_mirror_clamp, GL_EXT_texture_sRGB,
                  GL_EXT_texture_sRGB_decode, GL_EXT_texture_shared_exponent,
                  GL_EXT_texture_snorm, GL_EXT_texture_swizzle, GL_EXT_timer_query,
                  GL_EXT_transform_feedback, GL_EXT_vertex_array_bgra,
                  GL_IBM_multimode_draw_arrays, GL_KHR_context_flush_control, GL_KHR_debug,
                  GL_MESA_pack_invert, GL_MESA_texture_signed_rgba, GL_NVX_gpu_memory_info,
                  GL_NV_conditional_render, GL_NV_depth_clamp, GL_NV_packed_depth_stencil,
                  GL_NV_texture_barrier, GL_NV_vdpau_interop, GL_OES_EGL_image,
                  GL_OES_read_format, GL_S3_s3tc
              Warning: GL error 0x500 at line 501
              
              OpenGL version string: 4.1 (Core Profile) Mesa 12.1.0-devel (git-81978c6 2016-06-25 xenial-oibaf-ppa)
              OpenGL shading language version string: 4.10
              OpenGL context flags: (none)
              OpenGL profile mask: core profile
              OpenGL extensions:
              
              OpenGL ES profile version string: OpenGL ES 3.0 Mesa 12.1.0-devel (git-81978c6 2016-06-25 xenial-oibaf-ppa)
              OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
              OpenGL ES profile extensions:
                  GL_ANGLE_texture_compression_dxt3, GL_ANGLE_texture_compression_dxt5,
                  GL_APPLE_texture_max_level, GL_EXT_base_instance,
                  GL_EXT_blend_func_extended, GL_EXT_blend_minmax,
                  GL_EXT_color_buffer_float, GL_EXT_discard_framebuffer,
                  GL_EXT_draw_buffers, GL_EXT_draw_buffers_indexed,
                  GL_EXT_draw_elements_base_vertex, GL_EXT_map_buffer_range,
                  GL_EXT_multi_draw_arrays, GL_EXT_polygon_offset_clamp,
                  GL_EXT_read_format_bgra, GL_EXT_separate_shader_objects,
                  GL_EXT_shader_integer_mix, GL_EXT_texture_border_clamp,
                  GL_EXT_texture_compression_dxt1, GL_EXT_texture_filter_anisotropic,
                  GL_EXT_texture_format_BGRA8888, GL_EXT_texture_rg,
                  GL_EXT_texture_sRGB_decode, GL_EXT_texture_type_2_10_10_10_REV,
                  GL_EXT_unpack_subimage, GL_KHR_context_flush_control, GL_KHR_debug,
                  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_depth_texture_cube_map, GL_OES_draw_buffers_indexed,
                  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_rgb8_rgba8, GL_OES_sample_shading,
                  GL_OES_sample_variables, GL_OES_shader_multisample_interpolation,
                  GL_OES_standard_derivatives, GL_OES_stencil8, GL_OES_surfaceless_context,
                  GL_OES_texture_3D, GL_OES_texture_border_clamp, GL_OES_texture_float,
                  GL_OES_texture_float_linear, GL_OES_texture_half_float,
                  GL_OES_texture_half_float_linear, GL_OES_texture_npot,
                  GL_OES_texture_stencil8, GL_OES_vertex_array_object
              Last edited by fettouhi; 06-26-2016, 01:49 PM.

              Comment


              • #8
                The error that I get from running the game insteam is a popup with the name "Graphic Requirements not met" and the error saying "Unfortunately, the requires OpenGL 4.1 to run, and your OpenGL driver does not provide support for it. The game will now exit.". Running it from at terminal gives:

                Code:
                [email protected]:~/.steam/steam/steamapps/common/Saints Row Gat out of Hell$ ./saintsrowgooh
                ./SaintsRow4GooH.i386: error while loading shared libraries: libSDL2-2.0.so.0: cannot open shared object file: No such file or directory
                ./SaintsRow4GooH.i386 failed to start due to the following dependancy problems:
                    linux-gate.so.1 =>  (0xf771c000)
                    libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xf75a2000)
                    libGL.so.1 => /usr/lib/i386-linux-gnu/mesa/libGL.so.1 (0xf753c000)
                    libSDL2-2.0.so.0 => not found
                    librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xf7532000)
                    libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf752d000)
                    libsteam_api.so => ./libsteam_api.so (0xf751b000)
                    libfreetype.so.6 => /usr/lib/i386-linux-gnu/libfreetype.so.6 (0xf746b000)
                    libopenal-eon.so.1 => ./libopenal-eon.so.1 (0xf7400000)
                    libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xf73e5000)
                    libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xf726e000)
                    libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf7219000)
                    libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf71fc000)
                    libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf71de000)
                    libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf7028000)
                    libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xf7002000)
                    libexpat.so.1 => /lib/i386-linux-gnu/libexpat.so.1 (0xf6fd8000)
                    libxcb-dri3.so.0 => /usr/lib/i386-linux-gnu/libxcb-dri3.so.0 (0xf6fd4000)
                    libxcb-present.so.0 => /usr/lib/i386-linux-gnu/libxcb-present.so.0 (0xf6fcf000)
                    libxcb-sync.so.1 => /usr/lib/i386-linux-gnu/libxcb-sync.so.1 (0xf6fc7000)
                    libxshmfence.so.1 => /usr/lib/i386-linux-gnu/libxshmfence.so.1 (0xf6fc4000)
                    libglapi.so.0 => /usr/lib/i386-linux-gnu/libglapi.so.0 (0xf6fa8000)
                    libXext.so.6 => /usr/lib/i386-linux-gnu/libXext.so.6 (0xf6f93000)
                    libXdamage.so.1 => /usr/lib/i386-linux-gnu/libXdamage.so.1 (0xf6f8e000)
                    libXfixes.so.3 => /usr/lib/i386-linux-gnu/libXfixes.so.3 (0xf6f87000)
                    libX11-xcb.so.1 => /usr/lib/i386-linux-gnu/libX11-xcb.so.1 (0xf6f84000)
                    libxcb-glx.so.0 => /usr/lib/i386-linux-gnu/libxcb-glx.so.0 (0xf6f69000)
                    libxcb-dri2.so.0 => /usr/lib/i386-linux-gnu/libxcb-dri2.so.0 (0xf6f63000)
                    libXxf86vm.so.1 => /usr/lib/i386-linux-gnu/libXxf86vm.so.1 (0xf6f5b000)
                    libdrm.so.2 => /usr/lib/i386-linux-gnu/libdrm.so.2 (0xf6f49000)
                    /lib/ld-linux.so.2 (0x5663e000)
                    libpng12.so.0 => /lib/i386-linux-gnu/libpng12.so.0 (0xf6f1e000)
                    libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xf6f1a000)
                    libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xf6f12000)
                here it complain about a dependency issue but I have installed libSDL2.

                Comment


                • #9
                  Could you please post the error output with libSDL2 present ?

                  IIRC there are some residual issues with Steam and open source drivers where old libraries shipped with the game get in the way. Don't remember details unfortunately.

                  Comment


                  • #10
                    [email protected]:~/.steam/steam/steamapps/common/Saints Row Gat out of Hell$ ./saintsrowgooh
                    ERROR - eON failed to initialise!

                    and then the popup appears as mentioned before.

                    Comment

                    Working...
                    X