obsproject / obs-studio

OBS Studio - Free and open source software for live streaming and screen recording
https://obsproject.com
GNU General Public License v2.0
58.82k stars 7.83k forks source link

Missing OpenGL Extension in Mesa #48

Closed CrystalGamma closed 4 years ago

CrystalGamma commented 10 years ago

obs-studio (commit 7d48dbb1dc563af9fc072070f2b1e0fa1801452c) gets far enough to open a window, but immediately crashes leaving this output:

$ LD_LIBRARY_PATH=$LD_LIBRARY_PATH":/usr/local/lib" obs "Qt Warning - invalid keysym: dead_actute" Attempted path: share/obs/obs-studio/locale/en.txt Attempted path: /usr/local/share/obs/obs-studio/locale/en.txt info: X and Y: 848 477 Backbuffers: 2 Color Format: 3 ZStencil Format: 0 Adapter: 0

info: OpenGL version: 3.0 Mesa 10.1.0

info: Number of memory leaks: 2

or does it require OGL3.3 (which my Sandy Bridge front-end GPU driver can't provide) and crashes because of that?

benklett commented 10 years ago

obs-studio does not work on mesa yet because it uses some opengl extensions which mesa currently does not have (I think it was ARB_separate_shader_objects). Jim wanted to get a workaround but I think he did not have time yet.

computerquip commented 10 years ago

Mesa is currently working on this extension. I personally think it would be better to wait for it to be implemented in Mesa than make a work around just for Mesa. I don't know of any other major vendor that doesn't support this extension outside of Mesa.

On Fri, Mar 7, 2014 at 4:03 PM, Benjamin Klettbach <notifications@github.com

wrote:

obs-studio does not work on mesa yet because it uses some opengl extensions which mesa currently does not have (I think it was ARB_separate_shader_objects). Jim wanted to get a workaround but I think he did not have time yet.

Reply to this email directly or view it on GitHubhttps://github.com/jp9000/obs-studio/issues/48#issuecomment-37072853 .

CrystalGamma commented 10 years ago

Does look like it's being worked on:

GL 4.1:

GLSL 4.1 not started GL_ARB_ES2_compatibility DONE (i965, nv50, nvc0, r300, r600, radeonsi) GL_ARB_get_program_binary DONE (0 binary formats) GL_ARB_separate_shader_objects started (Ian Romanick, Gregory Hainaut) GL_ARB_shader_precision not started GL_ARB_vertex_attrib_64bit not started GL_ARB_viewport_array DONE (i965, nv50, r600)

So I just have to wait until they get this extension mainlined and into the drivers?

computerquip commented 10 years ago

One thing Jim has mentioned as a worry is the lack of insight on when it might actually be considered ready. For all we know, it may not be until the end of the year. As far as Intel and AMD users, this is kind of a letdown.

This issue should stay open as more news from Mesa reels in and should only be closed when either a fix is proposed or the extension becomes supported by Mesa. It is a problem (for Linux anyways... development else where is completely unaffected as well as nvidia users since they must use the proprietary blob anyways).

I do suggest changing the issue title however.

jp9000 commented 10 years ago

I will probably rewrite the shader code before release so that it works without that extension.

computerquip commented 10 years ago

Actually, looking further into it, there appears to be a few optimizations that are only possible with monolithic shaders. Looking into Mesa's code, you can see comments like:

/* IMPORTANT: * Don't enable EXT_separate_shader_objects. It disallows a certain * optimization in the GLSL compiler and therefore is considered * harmful. */ ctx->Extensions.EXT_separate_shader_objects = GL_FALSE;

This is even realized in the extension specification which says:

"While GLSL's monolithic approach has some advantages for optimizing shaders as a unit that span multiple domains, all existing GPU hardware supports the more flexible mix-and-match approach."

Then later on, it explains in depth how while the monolithic approach has advantages, it's not convenient at all. Just thought it interesting...

thenexxuz-zz commented 10 years ago

@CrystalGamma The first warning you received can be corrected with the following command: sudo sed -i -e 's/dead_actute/dead_acute/' /usr/share/X11/locale/en_US.UTF-8/Compose NOTE: This is confirmed only on Arch Linux, on other distros, your milage may vary.

CrystalGamma commented 10 years ago

EXT_separate_shader_objects should be available in Mesa 10.2: http://cgit.freedesktop.org/mesa/mesa/commit/docs/GL3.txt?id=a06c9791d1b7fcedfb56ecbdc601d42fab196916 I'm fetching it right now from [testing] and will soon tell you if it works.

CrystalGamma commented 10 years ago

It still fails, but I don't have the insight to know why. An old manual build from git (2014-04-24) gives this: $ LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/xxx/src/obsbuild/libobs:/home/xxx/src/obsbuild/libobs-opengl:/home/xxx/src/obsbuild/deps/glad" ./obs Attempted path: ../../data/obs-studio/locale/en.txt QObject::connect: invalid null parameter info: X and Y: 909 477 Backbuffers: 2 Color Format: 3 ZStencil Format: 0 Adapter: 0

info: OpenGL version: 3.0 Mesa 10.2.0-rc5

info: Created new platform data info: Attempting path: ../../data/libobs/default.effect

error: device_create_vertexshader (GL) failed error: device_create_pixelshader (GL) failed error: device_create_vertexshader (GL) failed error: device_create_pixelshader (GL) failed info: Attempting path: ../../data/libobs/format_conversion.effect

error: device_create_vertexshader (GL) failed error: device_create_pixelshader (GL) failed error: device_create_vertexshader (GL) failed error: device_create_pixelshader (GL) failed error: device_create_vertexshader (GL) failed error: device_create_pixelshader (GL) failed error: device_create_vertexshader (GL) failed error: device_create_pixelshader (GL) failed error: device_create_vertexshader (GL) failed error: device_create_pixelshader (GL) failed info: Freeing OBS context data error: Failed to initialize video info: Number of memory leaks: 0

While an install from the AUR (https://aur.archlinux.org/packages/obs-studio-git) is not even able to create a GL context:

$ obs Attempted path: share/obs/obs-studio/locale/en.txt Attempted path: /usr/local/share/obs/obs-studio/locale/en.txt QObject::connect: invalid null parameter info: X and Y: 909 477 Backbuffers: 2 Color Format: 3 ZStencil Format: 0 Adapter: 0

error: Failed to create OpenGL context. error: device_create (GL) failed info: Freeing OBS context data error: Failed to initialize video info: Number of memory leaks: 0

computerquip commented 10 years ago

What would be awesome is if you would report this to the mesa bugtracker/mailing list. It works on every other main vendor so I can eaily doubt this is our fault. On Jun 5, 2014 4:33 AM, "CrystalGamma" notifications@github.com wrote:

It still fails, but I don't have the insight to know why. An old manual build from git (2014-04-24) gives this: $ LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/xxx/src/obsbuild/libobs:/home/xxx/src/obsbuild/libobs-opengl:/home/xxx/src/obsbuild/deps/glad" ./obs Attempted path: ../../data/obs-studio/locale/en.txt QObject::connect: invalid null parameter info: X and Y: 909 477 Backbuffers: 2 Color Format: 3 ZStencil Format: 0 Adapter: 0

info: OpenGL version: 3.0 Mesa 10.2.0-rc5

info: Created new platform data info: Attempting path: ../../data/libobs/default.effect

error: device_create_vertexshader (GL) failed error: device_create_pixelshader (GL) failed error: device_create_vertexshader (GL) failed error: device_create_pixelshader (GL) failed info: Attempting path: ../../data/libobs/format_conversion.effect

error: device_create_vertexshader (GL) failed error: device_create_pixelshader (GL) failed error: device_create_vertexshader (GL) failed error: device_create_pixelshader (GL) failed error: device_create_vertexshader (GL) failed error: device_create_pixelshader (GL) failed error: device_create_vertexshader (GL) failed error: device_create_pixelshader (GL) failed error: device_create_vertexshader (GL) failed error: device_create_pixelshader (GL) failed info: Freeing OBS context data error: Failed to initialize video info: Number of memory leaks: 0

While an install from the AUR ( https://aur.archlinux.org/packages/obs-studio-git) is not even able to create a GL context:

$ obs Attempted path: share/obs/obs-studio/locale/en.txt Attempted path: /usr/local/share/obs/obs-studio/locale/en.txt QObject::connect: invalid null parameter info: X and Y: 909 477 Backbuffers: 2 Color Format: 3 ZStencil Format: 0 Adapter: 0

error: Failed to create OpenGL context. error: device_create (GL) failed info: Freeing OBS context data error: Failed to initialize video info: Number of memory leaks: 0

— Reply to this email directly or view it on GitHub https://github.com/jp9000/obs-studio/issues/48#issuecomment-45199225.

CrystalGamma commented 10 years ago

Which case do you mean? The first one, or the second one, in which case, what kind of context is OBS trying to create?

computerquip commented 10 years ago

Sorry! I did not read the output and assumed you had the same result I received whenever I tested it! The old revision doesn't have an explicit request for a context version. We used to just try and get the latest context, and then from there, figure out whether or not the context supported the extensions we need and error out if it does not. This does not work because you cannot get "the latest" context supported by core. You must explicitly specify 3.1 or 3.2 (in our case, 3.2) to get a core profile at all.

Mesa now supports separate shader objects. However, it does not work properly for us. I've not made any simple test cases where it fails yet so I can't really submit a bug without something to prove the bug.

I order for you to use an OpenGL 3.2 context, you need an updated version of LLVM probably. I would post the version of LLVM and mesa here.

computerquip commented 10 years ago

Btw, Mesa has no intention of supporting GL_ARB_compatibility. This is why Mesa can't provide a context higher than 3.0 unless you specify a version.

schaurian commented 10 years ago

I'm able to start Obs-studio with mesa and i'm able to record, but everything looks very strange. Video: https://drive.google.com/file/d/0B6m6Y4L4URaNeUp3RW5lVHgtOGc/edit?usp=sharing Picture: https://drive.google.com/file/d/0B6m6Y4L4URaNdjN2UzAxSXA4WGc/edit?usp=sharing

Are you guys working on a perfect mesa support? (my mesa version: 10.2.1 )

jp9000 commented 10 years ago

Mesa is almost working, but I'm pretty sure there's a bug in mesa when using these extensions that causes those graphical glitches that you see.

Ziemas commented 10 years ago

For reference for those following this bug, the mesa bug report is located at https://bugs.freedesktop.org/show_bug.cgi?id=79783

CrystalGamma commented 10 years ago

EDIT: I just realized that my hardware/driver only exposes OGL3.1, so obviously I can't get a 3.2 context there. Gonna test it on my newer device soon. Original comment following:

I just got back to trying OBS on Linux (was a bit busy lately) and rebuilt from git via AUR, but I still can't get a GL context. LLVM is 3.4.2-1, Mesa is 10.2.2-1 (along with intel-dri etc.). Or do I need to use special defines during compile, or command line arguments?

CrystalGamma commented 10 years ago

Tried running freshly compiled OBS on r600g (Radeon HD 6970, should support OGL 3.3), it fails to run while dumping shader code and complaining that my driver doesn't support GLSL 150 (which is wrong since it supports v330. The context is only 3.0. Is this still this bug or should it go elsewhere? Mesa: 10.2.2, LLVM: 3.4.2

computerquip commented 10 years ago

Run glxinfo and tell me highest context supported please. There will be two sections it tells you... one for compatibility (which is always going to be 3.0 for Mesa) and one for Core (which should be 3.3 at this time for r600g mesa).

CrystalGamma commented 10 years ago

It is 3.3. glxinfo output following (sans display modes):

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_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_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_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_create_context_es2_profile, 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_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 OpenGL vendor string: X.Org OpenGL renderer string: Gallium 0.4 on AMD CAYMAN OpenGL core profile version string: 3.3 (Core Profile) Mesa 10.2.2 OpenGL core profile shading language version string: 3.30 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_seamless_cubemap_per_texture, GL_AMD_shader_stencil_export, GL_AMD_shader_trinary_minmax, GL_AMD_vertex_shader_layer, GL_ANGLE_texture_compression_dxt3, GL_ANGLE_texture_compression_dxt5, GL_ARB_ES2_compatibility, GL_ARB_base_instance, GL_ARB_blend_func_extended, GL_ARB_buffer_storage, GL_ARB_clear_buffer_object, GL_ARB_conservative_depth, GL_ARB_copy_buffer, GL_ARB_debug_output, GL_ARB_depth_buffer_float, GL_ARB_depth_clamp, GL_ARB_draw_buffers, GL_ARB_draw_buffers_blend, GL_ARB_draw_elements_base_vertex, GL_ARB_draw_instanced, GL_ARB_explicit_attrib_location, GL_ARB_fragment_coord_conventions, GL_ARB_fragment_shader, GL_ARB_framebuffer_object, GL_ARB_framebuffer_sRGB, GL_ARB_get_program_binary, GL_ARB_half_float_pixel, GL_ARB_half_float_vertex, GL_ARB_instanced_arrays, GL_ARB_internalformat_query, GL_ARB_invalidate_subdata, GL_ARB_map_buffer_alignment, GL_ARB_map_buffer_range, GL_ARB_multi_bind, GL_ARB_occlusion_query2, GL_ARB_pixel_buffer_object, GL_ARB_point_sprite, GL_ARB_provoking_vertex, GL_ARB_robustness, GL_ARB_sampler_objects, GL_ARB_seamless_cube_map, GL_ARB_separate_shader_objects, GL_ARB_shader_bit_encoding, GL_ARB_shader_objects, GL_ARB_shader_stencil_export, GL_ARB_shader_texture_lod, GL_ARB_shading_language_420pack, GL_ARB_shading_language_packing, GL_ARB_sync, GL_ARB_texture_buffer_object, GL_ARB_texture_buffer_object_rgb32, GL_ARB_texture_buffer_range, GL_ARB_texture_compression_rgtc, GL_ARB_texture_cube_map_array, GL_ARB_texture_float, GL_ARB_texture_mirror_clamp_to_edge, GL_ARB_texture_multisample, GL_ARB_texture_non_power_of_two, GL_ARB_texture_rectangle, GL_ARB_texture_rg, GL_ARB_texture_rgb10_a2ui, GL_ARB_texture_storage, GL_ARB_texture_storage_multisample, GL_ARB_texture_swizzle, 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_texture_compression_3dc, 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_provoking_vertex, GL_EXT_shader_integer_mix, GL_EXT_texture_array, GL_EXT_texture_compression_dxt1, GL_EXT_texture_compression_latc, 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_debug, GL_MESA_pack_invert, GL_MESA_texture_signed_rgba, 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

OpenGL version string: 3.0 Mesa 10.2.2 OpenGL shading language version string: 1.30 OpenGL context flags: (none) OpenGL extensions: GL_AMD_conservative_depth, GL_AMD_draw_buffers_blend, GL_AMD_seamless_cubemap_per_texture, GL_AMD_shader_stencil_export, GL_AMD_shader_trinary_minmax, GL_ANGLE_texture_compression_dxt3, GL_ANGLE_texture_compression_dxt5, GL_APPLE_packed_pixels, GL_APPLE_vertex_array_object, GL_ARB_ES2_compatibility, GL_ARB_base_instance, GL_ARB_blend_func_extended, GL_ARB_buffer_storage, GL_ARB_clear_buffer_object, GL_ARB_color_buffer_float, GL_ARB_conservative_depth, GL_ARB_copy_buffer, 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_elements_base_vertex, GL_ARB_draw_instanced, GL_ARB_explicit_attrib_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_half_float_pixel, GL_ARB_half_float_vertex, GL_ARB_instanced_arrays, GL_ARB_internalformat_query, 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_pixel_buffer_object, GL_ARB_point_parameters, GL_ARB_point_sprite, GL_ARB_provoking_vertex, GL_ARB_robustness, GL_ARB_sampler_objects, GL_ARB_seamless_cube_map, GL_ARB_separate_shader_objects, GL_ARB_shader_bit_encoding, GL_ARB_shader_objects, GL_ARB_shader_stencil_export, GL_ARB_shader_texture_lod, GL_ARB_shading_language_100, GL_ARB_shading_language_420pack, GL_ARB_shading_language_packing, GL_ARB_shadow, GL_ARB_sync, GL_ARB_texture_border_clamp, GL_ARB_texture_compression, 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_mirror_clamp_to_edge, GL_ARB_texture_mirrored_repeat, GL_ARB_texture_multisample, GL_ARB_texture_non_power_of_two, GL_ARB_texture_rectangle, GL_ARB_texture_rg, GL_ARB_texture_rgb10_a2ui, GL_ARB_texture_storage, GL_ARB_texture_storage_multisample, GL_ARB_texture_swizzle, 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_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_separate_stencil, GL_ATI_texture_compression_3dc, GL_ATI_texture_env_combine3, GL_ATI_texture_float, GL_ATI_texture_mirror_once, 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_buffers2, GL_EXT_draw_instanced, 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_float, GL_EXT_packed_pixels, GL_EXT_pixel_buffer_object, GL_EXT_point_parameters, GL_EXT_polygon_offset, 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_array, 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_add, GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3, GL_EXT_texture_filter_anisotropic, GL_EXT_texture_integer, GL_EXT_texture_lod_bias, GL_EXT_texture_mirror_clamp, GL_EXT_texture_object, GL_EXT_texture_rectangle, 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, 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_debug, GL_MESA_pack_invert, GL_MESA_texture_signed_rgba, GL_MESA_window_pos, GL_NV_blend_square, GL_NV_conditional_render, GL_NV_depth_clamp, GL_NV_fog_distance, GL_NV_light_max_exponent, GL_NV_packed_depth_stencil, GL_NV_primitive_restart, GL_NV_texgen_reflection, GL_NV_texture_barrier, GL_NV_texture_env_combine4, GL_NV_texture_rectangle, GL_NV_vdpau_interop, 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

bootkiller commented 10 years ago

It's working here with Mesa driver with an ATI HD4770 on Arch Linux, however I have same bug as @schauer97

glxinfo: https://gist.github.com/bootkiller/37b88fbd7431e14b6f43

computerquip commented 10 years ago

CrystalGamma, obs-studio should print out the context version whenever it starts up. Can you post the startup output?