Solved Mesa missing i915 driver

Hello and thank you for your time in advance,

When i run glxgears or any other app that requires 3D i have this output:
libGL error: MESA-LOADER: failed to open i915: Cannot open "/usr/local/lib/dri/i915_dri.so" (search paths
/usr/local/lib/dri, suffix _dri)
libGL error: failed to load driver: i915
After some research i realised that mesa removed older drivers and in order for them to work mesa provides Amber package but it is not available on FreeBSD.

Is somebody having similar issue? If so, is there any workaround?

EDIT:
OS: FreeBSD 13.1-RELEASE i386
I will try to add -Damber flag to meson and rebuild the package.

SOLVED:
Issue is solved, -Damber flag doesn't work so i had to force meson to build only i915 gallium version of driver.

Change this line in Makefile:
-Dgallium-drivers="${GALLIUM_DRIVERS:ts,:tl}"

To:
-Dgallium-drivers="i915"

After compilation copy i915_dri.so to /usr/local/lib/dri/, you can find it in stage folder. But be sure that your local binary mesa-dri is the same version as the one you are compiling. This is rather dirty hack but i don't care as long as it works.

Important, lock mesa-dri and mesa-libs from upgrading if you don't want to rebuild whole mesa-dri because of one file.

Now 3D acceleration works, mpv plays HD files, wine works etc...

This ports should have "Amber" option in config menu to enable older drivers to be built. I don't know why is this not a default behavior. I found that somebody has already opened an issue to bugzilla but nobody seems to care.
 
Hello, I do have the same problem. The i915 driver used to work, but not anymore since a mesa update - and I get the exact same error message everytime I try to run any application that requires 3D acceleration.
Rebuilding the whole mesa-dri will take ages in the system that needs this driver. Is it possible to upload your i915_dri.so somewhere? I have mesa-dri-22.3.7 installed (the latest version in 13.1-RELEASE-p7).
 
Hello, I do have the same problem. The i915 driver used to work, but not anymore since a mesa update - and I get the exact same error message everytime I try to run any application that requires 3D acceleration.
Rebuilding the whole mesa-dri will take ages in the system that needs this driver. Is it possible to upload your i915_dri.so somewhere? I have mesa-dri-22.3.7 installed (the latest version in 13.1-RELEASE-p7).
I will upload(HERE), no problem, notebook that i was building mesa on is pretty much ancient and building didn't take too long because i enabled i915 driver to be built only. This was built with mesa 22.3.5 on i386 arch.
 
  • Thanks
Reactions: Pap
I will upload(HERE), no problem, notebook that i was building mesa on is pretty much ancient and building didn't take too long because i enabled i915 driver to be built only. This was built with mesa 22.3.5 on i386 arch.
Thank you ayleid96 for the info and the file upload. Your build worked like a charm in my netbook. However I will try to rebuild mesa-dri from ports (with only the i915 driver enabled), since you said it didn't take long.
 
Thank you ayleid96 for the info and the file upload. Your build worked like a charm in my netbook. However I will try to rebuild mesa-dri from ports (with only the i915 driver enabled), since you said it didn't take long.
Glad to hear that!
 
I am having the same problem as well, have you tried using meson to compile the option to install the gallium driver? Mesa mentioned they have a amber branch but not sure how I can migrate it.

I'll try to rebuild the mesa-dri package with adjustment made on the makefile.
 
I got the file from the rebuild and moved it to the respective directory. My Xorg says there's a permission issue that says intel failed to set drm interface version and cannot become drm master. I'll play around with Xorg to see what's going on.
 
Hello

I am happily running FreeBSD on an old eeePC from Asus (netbook) and I have same issue with the driver discontinued by mesa-dri. I downloaded the file from ayleid96 but before proceeding I just check that the mesa-dri package version on my system is 22.3.7_2 vs the 22.3.5 compiled. I was wondering if it might work?

Alternatively what is the process to compile it? With ports? Never used yet

Thanks

M
 
Hello

I am happily running FreeBSD on an old eeePC from Asus (netbook) and I have same issue with the driver discontinued by mesa-dri. I downloaded the file from ayleid96 but before proceeding I just check that the mesa-dri package version on my system is 22.3.7_2 vs the 22.3.5 compiled. I was wondering if it might work?

Alternatively what is the process to compile it? With ports? Never used yet

Thanks

M
You can try reading the handbook to get the basics: https://docs.freebsd.org/en/books/handbook/ports/#ports-using

You can update the ports and try to compile it to create the driver. The current mesa-dri doesn't have the i915 driver so you can put the file there first to test.
 
After upgrading an old 2006 MacBook which I never use to 13.2-RELEASE (i386), I ran exactly into the same problem, so thanks to this thread and the file provided here for download, I could solve the problem, too. However, I would like to post the output from glxinfo, because the value for the video memory (Video memory: -780138496MB) looks strange to me:

Code:
$ glxinfo
name of display: :0.0
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
server glx extensions:
    GLX_ARB_context_flush_control, GLX_ARB_create_context,
    GLX_ARB_create_context_no_error, 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_get_drawable_type, GLX_EXT_libglvnd, GLX_EXT_no_config_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_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_ATI_pixel_format_float, 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_no_config_context, GLX_EXT_swap_control,
    GLX_EXT_swap_control_tear, 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_NV_float_buffer, 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_context_flush_control, GLX_ARB_create_context,
    GLX_ARB_create_context_no_error, GLX_ARB_create_context_profile,
    GLX_ARB_fbconfig_float, GLX_ARB_framebuffer_sRGB,
    GLX_ARB_get_proc_address, 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_no_config_context, GLX_EXT_swap_control,
    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: Mesa Project (0x8086)
    Device: i915 (chipset: 945GM) (0x27a2)
    Version: 22.3.6
    Accelerated: yes
    Video memory: -780138496MB
    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: Mesa Project
OpenGL renderer string: i915 (chipset: 945GM)
OpenGL version string: 2.1 Mesa 22.3.6
OpenGL shading language version string: 1.20
OpenGL extensions:
    GL_3DFX_texture_compression_FXT1, GL_AMD_shader_trinary_minmax,
    GL_ANGLE_texture_compression_dxt3, GL_ANGLE_texture_compression_dxt5,
    GL_APPLE_packed_pixels, GL_ARB_ES2_compatibility, GL_ARB_buffer_storage,
    GL_ARB_clear_buffer_object, 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_draw_instanced, 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_get_program_binary, GL_ARB_get_texture_sub_image,
    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_multisample, GL_ARB_multitexture, GL_ARB_occlusion_query,
    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_shading_language_include, GL_ARB_shadow, GL_ARB_sync,
    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_non_power_of_two, GL_ARB_texture_rectangle,
    GL_ARB_texture_storage, GL_ARB_transpose_matrix, GL_ARB_vertex_array_bgra,
    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_vertex_type_10f_11f_11f_rev, GL_ARB_vertex_type_2_10_10_10_rev,
    GL_ARB_window_pos, GL_ATI_blend_equation_separate, GL_ATI_draw_buffers,
    GL_ATI_fragment_shader, GL_ATI_separate_stencil,
    GL_ATI_texture_compression_3dc, GL_ATI_texture_env_combine3,
    GL_EXT_EGL_image_storage, GL_EXT_EGL_sync, 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_debug_label,
    GL_EXT_direct_state_access, GL_EXT_draw_instanced,
    GL_EXT_draw_range_elements, GL_EXT_fog_coord, GL_EXT_framebuffer_blit,
    GL_EXT_framebuffer_object, 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_shadow_funcs,
    GL_EXT_stencil_two_side, GL_EXT_stencil_wrap, GL_EXT_subtexture,
    GL_EXT_texture, GL_EXT_texture3D, GL_EXT_texture_compression_dxt1,
    GL_EXT_texture_compression_s3tc, 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_filter_anisotropic, GL_EXT_texture_lod_bias,
    GL_EXT_texture_object, GL_EXT_texture_rectangle, GL_EXT_texture_sRGB,
    GL_EXT_texture_sRGB_decode, GL_EXT_vertex_array, GL_EXT_vertex_array_bgra,
    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_MESA_pack_invert, GL_MESA_window_pos,
    GL_MESA_ycbcr_texture, GL_NV_ES1_1_compatibility, GL_NV_blend_square,
    GL_NV_copy_image, GL_NV_fog_distance, GL_NV_half_float,
    GL_NV_light_max_exponent, GL_NV_packed_depth_stencil,
    GL_NV_primitive_restart, GL_NV_texgen_reflection,
    GL_NV_texture_env_combine4, GL_NV_texture_rectangle, GL_OES_EGL_image,
    GL_OES_read_format, GL_S3_s3tc, 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 22.3.6
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 1.0.16
OpenGL ES profile extensions:
    GL_ANGLE_pack_reverse_row_order, GL_ANGLE_texture_compression_dxt3,
    GL_ANGLE_texture_compression_dxt5, GL_APPLE_texture_max_level,
    GL_EXT_blend_minmax, GL_EXT_compressed_ETC1_RGB8_sub_texture,
    GL_EXT_debug_label, GL_EXT_discard_framebuffer, GL_EXT_draw_buffers,
    GL_EXT_draw_elements_base_vertex, GL_EXT_draw_instanced,
    GL_EXT_frag_depth, GL_EXT_map_buffer_range, GL_EXT_multi_draw_arrays,
    GL_EXT_read_format_bgra, GL_EXT_separate_shader_objects,
    GL_EXT_texture_border_clamp, GL_EXT_texture_compression_dxt1,
    GL_EXT_texture_compression_s3tc, GL_EXT_texture_compression_s3tc_srgb,
    GL_EXT_texture_filter_anisotropic, GL_EXT_texture_format_BGRA8888,
    GL_EXT_texture_type_2_10_10_10_REV, GL_EXT_unpack_subimage,
    GL_KHR_context_flush_control, GL_KHR_debug, GL_KHR_no_error,
    GL_KHR_parallel_shader_compile, GL_MESA_bgra, GL_NV_draw_buffers,
    GL_NV_fbo_color_attachments, GL_NV_pack_subimage,
    GL_NV_pixel_buffer_object, 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

81 GLX Visuals
   

$
 
After upgrading an old 2006 MacBook which I never use to 13.2-RELEASE (i386), I ran exactly into the same problem, so thanks to this thread and the file provided here for download, I could solve the problem, too.
I did the upgrade to 13.2 and caused vesa to get loaded, got stuck in a login loop on sddm. I experimented with xorg to remove drm-kmod and discovered, you'll still need the kernel modesetting to work with mesa drivers. In order to start in a clean slate on troubleshooting the issue I removed plasma and its login manager so I can look to see if twm will even start after a few looks at the xorg logs, I was able to find out the black screen is the windows manager so I install drm-kmod and the desktop environment back, it seems mesa is using the crocus driver for glx.
 
Update: The issue with the i915 driver seems to be fixed in 14.0-RELEASE. I upgraded form 13.2 to 14.0 recently, i915_dri.so was updated during the process, and the new driver worked out-of-the-box.
 
Back
Top