New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make hardware accelerated video decoding work #24

Closed
i-rinat opened this Issue Jun 2, 2014 · 40 comments

Comments

Projects
None yet
4 participants
@i-rinat
Owner

i-rinat commented Jun 2, 2014

There is some API that mention hwaccel. Try to implement them and see what comes out.

@i-rinat i-rinat added this to the Someday in the future milestone Jun 2, 2014

@i-rinat i-rinat added the enhancement label Jun 2, 2014

@dilworks

This comment has been minimized.

Show comment
Hide comment
@dilworks

dilworks Jul 16, 2014

Is this related to missing hardware video decoding?

not implemented: PPB_VideoDecoder(Dev);0.16

so far, the usual workarounds/config edits for Flash for enabling VDPAU don't seem to work here.

dilworks commented Jul 16, 2014

Is this related to missing hardware video decoding?

not implemented: PPB_VideoDecoder(Dev);0.16

so far, the usual workarounds/config edits for Flash for enabling VDPAU don't seem to work here.

@i-rinat

This comment has been minimized.

Show comment
Hide comment
@i-rinat

i-rinat Jul 16, 2014

Owner

Is this related to missing hardware video decoding?

Yes, it is. When the issue was opened there were no such messages in a log. They appeared after only after enable_hw_video_decode=1 was passed as "command line arguments" to Flash player. Now when it asks for appropriate interface, there is high probability it will work once those interfaces get implemented (both PPB_VideoDecoder(Dev) and PPP_VideoDecoder(Dev)).

the usual workarounds/config edits for Flash for enabling VDPAU don't seem to work here.

Pepper Flash uses solely PPAPI for every interaction with browser and/or OS. Since Chromium runs PPAPI plug-ins in a sandbox, there is no way to directly use system level API, such as VDPAU.

Owner

i-rinat commented Jul 16, 2014

Is this related to missing hardware video decoding?

Yes, it is. When the issue was opened there were no such messages in a log. They appeared after only after enable_hw_video_decode=1 was passed as "command line arguments" to Flash player. Now when it asks for appropriate interface, there is high probability it will work once those interfaces get implemented (both PPB_VideoDecoder(Dev) and PPP_VideoDecoder(Dev)).

the usual workarounds/config edits for Flash for enabling VDPAU don't seem to work here.

Pepper Flash uses solely PPAPI for every interaction with browser and/or OS. Since Chromium runs PPAPI plug-ins in a sandbox, there is no way to directly use system level API, such as VDPAU.

@simonbcn

This comment has been minimized.

Show comment
Hide comment
@simonbcn

simonbcn Mar 4, 2015

Ubuntu 14.04 64 bits
NVIDIA proprietary drivers installed, downloaded from NVIDIA website
PepperFlash version 16.0.0.305

My /etc/freshwrapper.conf:

# "Command-line" arguments for Flash
flash_command_line = "enable_hw_video_decode=1,enable_stagevideo_auto=1"

# enable 3d and stage 3d
enable_3d = 1

# when set to 1, limits output to warnings and errors only
quiet = 1

# Enables DNS query case randomization to partially protect against DNS
# poisoning attacks. It was reported that some Mikrotik routers do not
# support this trick. Set parameter to 0 if you have an affected model
randomize_dns_case = 1

Where can I find a guide of these parameters? Why do I have to enable the 3D to enable the hardware acceleration?

In flash config is enabled:
20150304_13 06 07_01

But when I play any video this is showed in stats:
20150304_13 05 31_01

Why no hardware acceleration is enabled?

simonbcn commented Mar 4, 2015

Ubuntu 14.04 64 bits
NVIDIA proprietary drivers installed, downloaded from NVIDIA website
PepperFlash version 16.0.0.305

My /etc/freshwrapper.conf:

# "Command-line" arguments for Flash
flash_command_line = "enable_hw_video_decode=1,enable_stagevideo_auto=1"

# enable 3d and stage 3d
enable_3d = 1

# when set to 1, limits output to warnings and errors only
quiet = 1

# Enables DNS query case randomization to partially protect against DNS
# poisoning attacks. It was reported that some Mikrotik routers do not
# support this trick. Set parameter to 0 if you have an affected model
randomize_dns_case = 1

Where can I find a guide of these parameters? Why do I have to enable the 3D to enable the hardware acceleration?

In flash config is enabled:
20150304_13 06 07_01

But when I play any video this is showed in stats:
20150304_13 05 31_01

Why no hardware acceleration is enabled?

@i-rinat

This comment has been minimized.

Show comment
Hide comment
@i-rinat

i-rinat Mar 4, 2015

Owner

@simonbcn, I don't have an access to a machine with nVidia hardware at the moment, and only can guess.

Where can I find a guide of these parameters?

freshwrapper.conf.example is the only guide available (aside source code). flash_command_line and enable_3d are the values passed to PepperFlash when it asks for them.

Why do I have to enable the 3D to enable the hardware acceleration?

Because hardware acceleration is the same as OpenGL|ES 2 support. 3d for short. PepperFlash uses OpenGL|ES 2 to scale video. Video decoding interface is also depends on OpenGL|ES 2. But accelerated video decoding is not implemented.

Why no hardware acceleration is enabled?

GLES 2 should be available and it's probably not, on your machine. I currently use GLX to acquire context, but rather than GL, I ask for GLES 2, which is exposed by driver as GLX_ARB_create_context, GLX_ARB_create_context_profile, and GLX_EXT_create_context_es2_profile extensions. Ensure they are amongst server glx extensions in glxinfo output.

Owner

i-rinat commented Mar 4, 2015

@simonbcn, I don't have an access to a machine with nVidia hardware at the moment, and only can guess.

Where can I find a guide of these parameters?

freshwrapper.conf.example is the only guide available (aside source code). flash_command_line and enable_3d are the values passed to PepperFlash when it asks for them.

Why do I have to enable the 3D to enable the hardware acceleration?

Because hardware acceleration is the same as OpenGL|ES 2 support. 3d for short. PepperFlash uses OpenGL|ES 2 to scale video. Video decoding interface is also depends on OpenGL|ES 2. But accelerated video decoding is not implemented.

Why no hardware acceleration is enabled?

GLES 2 should be available and it's probably not, on your machine. I currently use GLX to acquire context, but rather than GL, I ask for GLES 2, which is exposed by driver as GLX_ARB_create_context, GLX_ARB_create_context_profile, and GLX_EXT_create_context_es2_profile extensions. Ensure they are amongst server glx extensions in glxinfo output.

@simonbcn

This comment has been minimized.

Show comment
Hide comment
@simonbcn

simonbcn Mar 4, 2015

That isn't the problem:

$ glxinfo 
name of display: :0
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: NVIDIA Corporation
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_multisample, GLX_EXT_buffer_age, 
    GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile, 
    GLX_EXT_framebuffer_sRGB, GLX_EXT_stereo_tree, GLX_EXT_swap_control, 
    GLX_EXT_swap_control_tear, GLX_EXT_texture_from_pixmap, 
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_NV_delay_before_swap, 
    GLX_NV_float_buffer, GLX_NV_multisample_coverage, GLX_SGIX_fbconfig, 
    GLX_SGIX_pbuffer, GLX_SGI_swap_control, GLX_SGI_video_sync
client glx vendor string: NVIDIA Corporation
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_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_stereo_tree, GLX_EXT_swap_control, 
    GLX_EXT_swap_control_tear, GLX_EXT_texture_from_pixmap, 
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_NV_copy_image, 
    GLX_NV_delay_before_swap, GLX_NV_float_buffer, 
    GLX_NV_multisample_coverage, GLX_NV_present_video, GLX_NV_swap_group, 
    GLX_NV_video_capture, GLX_NV_video_out, GLX_SGIX_fbconfig, 
    GLX_SGIX_pbuffer, 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_get_proc_address, GLX_ARB_multisample, GLX_EXT_buffer_age, 
    GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile, 
    GLX_EXT_framebuffer_sRGB, GLX_EXT_stereo_tree, GLX_EXT_swap_control, 
    GLX_EXT_swap_control_tear, GLX_EXT_texture_from_pixmap, 
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_NV_delay_before_swap, 
    GLX_NV_float_buffer, GLX_NV_multisample_coverage, GLX_SGIX_fbconfig, 
    GLX_SGIX_pbuffer, GLX_SGI_swap_control, GLX_SGI_video_sync
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GT 220/PCIe/SSE2
OpenGL core profile version string: 3.3.0 NVIDIA 340.76
OpenGL core profile shading language version string: 3.30 NVIDIA via Cg compiler
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
    GL_ARB_ES2_compatibility, GL_ARB_ES3_compatibility, 
    GL_ARB_arrays_of_arrays, GL_ARB_base_instance, GL_ARB_blend_func_extended, 
    GL_ARB_clear_buffer_object, GL_ARB_color_buffer_float, 
    GL_ARB_compressed_texture_pixel_storage, 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_depth_texture, 
    GL_ARB_draw_buffers, GL_ARB_draw_buffers_blend, 
    GL_ARB_draw_elements_base_vertex, GL_ARB_draw_instanced, 
    GL_ARB_enhanced_layouts, GL_ARB_explicit_attrib_location, 
    GL_ARB_explicit_uniform_location, GL_ARB_fragment_coord_conventions, 
    GL_ARB_fragment_layer_viewport, GL_ARB_fragment_program, 
    GL_ARB_fragment_program_shadow, GL_ARB_fragment_shader, 
    GL_ARB_framebuffer_no_attachments, GL_ARB_framebuffer_object, 
    GL_ARB_framebuffer_sRGB, GL_ARB_geometry_shader4, 
    GL_ARB_get_program_binary, GL_ARB_half_float_pixel, 
    GL_ARB_half_float_vertex, GL_ARB_imaging, 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_occlusion_query2, 
    GL_ARB_pixel_buffer_object, GL_ARB_point_parameters, GL_ARB_point_sprite, 
    GL_ARB_program_interface_query, GL_ARB_provoking_vertex, 
    GL_ARB_robust_buffer_access_behavior, GL_ARB_robustness, 
    GL_ARB_sample_shading, 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_texture_lod, 
    GL_ARB_shading_language_100, GL_ARB_shading_language_420pack, 
    GL_ARB_shading_language_include, GL_ARB_shading_language_packing, 
    GL_ARB_shadow, GL_ARB_stencil_texturing, GL_ARB_sync, 
    GL_ARB_texture_border_clamp, GL_ARB_texture_buffer_object, 
    GL_ARB_texture_buffer_range, 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_gather, 
    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_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_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_viewport_array, GL_ARB_window_pos, GL_ATI_draw_buffers, 
    GL_ATI_texture_float, GL_ATI_texture_mirror_once, 
    GL_EXTX_framebuffer_mixed_formats, GL_EXT_Cg_shader, GL_EXT_abgr, 
    GL_EXT_bgra, GL_EXT_bindable_uniform, 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_depth_bounds_test, GL_EXT_direct_state_access, 
    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_geometry_shader4, 
    GL_EXT_gpu_program_parameters, GL_EXT_gpu_shader4, 
    GL_EXT_import_sync_object, 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_provoking_vertex, GL_EXT_rescale_normal, GL_EXT_secondary_color, 
    GL_EXT_separate_shader_objects, 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_texture3D, GL_EXT_texture_array, 
    GL_EXT_texture_buffer_object, 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, GL_EXT_texture_lod_bias, GL_EXT_texture_mirror_clamp, 
    GL_EXT_texture_object, GL_EXT_texture_sRGB, GL_EXT_texture_sRGB_decode, 
    GL_EXT_texture_shared_exponent, GL_EXT_texture_storage, 
    GL_EXT_texture_swizzle, GL_EXT_timer_query, GL_EXT_transform_feedback2, 
    GL_EXT_vertex_array, GL_EXT_vertex_array_bgra, GL_EXT_x11_sync_object, 
    GL_IBM_rasterpos_clip, GL_IBM_texture_mirrored_repeat, GL_KHR_debug, 
    GL_KTX_buffer_region, GL_NVX_conditional_render, GL_NVX_gpu_memory_info, 
    GL_NV_ES1_1_compatibility, GL_NV_blend_square, GL_NV_conditional_render, 
    GL_NV_copy_depth_to_color, GL_NV_copy_image, GL_NV_depth_buffer_float, 
    GL_NV_depth_clamp, GL_NV_explicit_multisample, GL_NV_fence, 
    GL_NV_float_buffer, GL_NV_fog_distance, GL_NV_fragment_program, 
    GL_NV_fragment_program2, GL_NV_fragment_program_option, 
    GL_NV_framebuffer_multisample_coverage, GL_NV_geometry_shader4, 
    GL_NV_gpu_program4, GL_NV_gpu_program4_1, GL_NV_half_float, 
    GL_NV_light_max_exponent, GL_NV_multisample_coverage, 
    GL_NV_multisample_filter_hint, GL_NV_occlusion_query, 
    GL_NV_packed_depth_stencil, GL_NV_parameter_buffer_object, 
    GL_NV_parameter_buffer_object2, GL_NV_path_rendering, 
    GL_NV_pixel_data_range, GL_NV_point_sprite, GL_NV_primitive_restart, 
    GL_NV_register_combiners, GL_NV_register_combiners2, 
    GL_NV_shader_buffer_load, GL_NV_texgen_reflection, GL_NV_texture_barrier, 
    GL_NV_texture_compression_vtc, GL_NV_texture_env_combine4, 
    GL_NV_texture_expand_normal, GL_NV_texture_multisample, 
    GL_NV_texture_rectangle, GL_NV_texture_shader, GL_NV_texture_shader2, 
    GL_NV_texture_shader3, GL_NV_transform_feedback, 
    GL_NV_transform_feedback2, GL_NV_vdpau_interop, GL_NV_vertex_array_range, 
    GL_NV_vertex_array_range2, GL_NV_vertex_buffer_unified_memory, 
    GL_NV_vertex_program, GL_NV_vertex_program1_1, GL_NV_vertex_program2, 
    GL_NV_vertex_program2_option, GL_NV_vertex_program3, GL_S3_s3tc, 
    GL_SGIS_generate_mipmap, GL_SGIS_texture_lod, GL_SGIX_depth_texture, 
    GL_SGIX_shadow, GL_SUN_slice_accum

OpenGL version string: 3.3.0 NVIDIA 340.76
OpenGL shading language version string: 3.30 NVIDIA via Cg compiler
OpenGL context flags: (none)
OpenGL profile mask: (none)
OpenGL extensions:
    GL_ARB_ES2_compatibility, GL_ARB_ES3_compatibility, 
    GL_ARB_arrays_of_arrays, GL_ARB_base_instance, GL_ARB_blend_func_extended, 
    GL_ARB_clear_buffer_object, GL_ARB_color_buffer_float, 
    GL_ARB_compatibility, GL_ARB_compressed_texture_pixel_storage, 
    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_depth_texture, GL_ARB_draw_buffers, GL_ARB_draw_buffers_blend, 
    GL_ARB_draw_elements_base_vertex, GL_ARB_draw_instanced, 
    GL_ARB_enhanced_layouts, GL_ARB_explicit_attrib_location, 
    GL_ARB_explicit_uniform_location, GL_ARB_fragment_coord_conventions, 
    GL_ARB_fragment_layer_viewport, GL_ARB_fragment_program, 
    GL_ARB_fragment_program_shadow, GL_ARB_fragment_shader, 
    GL_ARB_framebuffer_no_attachments, GL_ARB_framebuffer_object, 
    GL_ARB_framebuffer_sRGB, GL_ARB_geometry_shader4, 
    GL_ARB_get_program_binary, GL_ARB_half_float_pixel, 
    GL_ARB_half_float_vertex, GL_ARB_imaging, 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_occlusion_query2, 
    GL_ARB_pixel_buffer_object, GL_ARB_point_parameters, GL_ARB_point_sprite, 
    GL_ARB_program_interface_query, GL_ARB_provoking_vertex, 
    GL_ARB_robust_buffer_access_behavior, GL_ARB_robustness, 
    GL_ARB_sample_shading, 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_texture_lod, 
    GL_ARB_shading_language_100, GL_ARB_shading_language_420pack, 
    GL_ARB_shading_language_include, GL_ARB_shading_language_packing, 
    GL_ARB_shadow, GL_ARB_stencil_texturing, GL_ARB_sync, 
    GL_ARB_texture_border_clamp, GL_ARB_texture_buffer_object, 
    GL_ARB_texture_buffer_range, 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_gather, 
    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_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_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_viewport_array, GL_ARB_window_pos, GL_ATI_draw_buffers, 
    GL_ATI_texture_float, GL_ATI_texture_mirror_once, 
    GL_EXTX_framebuffer_mixed_formats, GL_EXT_Cg_shader, GL_EXT_abgr, 
    GL_EXT_bgra, GL_EXT_bindable_uniform, 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_depth_bounds_test, GL_EXT_direct_state_access, 
    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_geometry_shader4, 
    GL_EXT_gpu_program_parameters, GL_EXT_gpu_shader4, 
    GL_EXT_import_sync_object, 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_provoking_vertex, GL_EXT_rescale_normal, GL_EXT_secondary_color, 
    GL_EXT_separate_shader_objects, 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_texture3D, GL_EXT_texture_array, 
    GL_EXT_texture_buffer_object, 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, GL_EXT_texture_lod_bias, GL_EXT_texture_mirror_clamp, 
    GL_EXT_texture_object, GL_EXT_texture_sRGB, GL_EXT_texture_sRGB_decode, 
    GL_EXT_texture_shared_exponent, GL_EXT_texture_storage, 
    GL_EXT_texture_swizzle, GL_EXT_timer_query, GL_EXT_transform_feedback2, 
    GL_EXT_vertex_array, GL_EXT_vertex_array_bgra, GL_EXT_x11_sync_object, 
    GL_IBM_rasterpos_clip, GL_IBM_texture_mirrored_repeat, GL_KHR_debug, 
    GL_KTX_buffer_region, GL_NVX_conditional_render, GL_NVX_gpu_memory_info, 
    GL_NV_ES1_1_compatibility, GL_NV_blend_square, GL_NV_conditional_render, 
    GL_NV_copy_depth_to_color, GL_NV_copy_image, GL_NV_depth_buffer_float, 
    GL_NV_depth_clamp, GL_NV_explicit_multisample, GL_NV_fence, 
    GL_NV_float_buffer, GL_NV_fog_distance, GL_NV_fragment_program, 
    GL_NV_fragment_program2, GL_NV_fragment_program_option, 
    GL_NV_framebuffer_multisample_coverage, GL_NV_geometry_shader4, 
    GL_NV_gpu_program4, GL_NV_gpu_program4_1, GL_NV_half_float, 
    GL_NV_light_max_exponent, GL_NV_multisample_coverage, 
    GL_NV_multisample_filter_hint, GL_NV_occlusion_query, 
    GL_NV_packed_depth_stencil, GL_NV_parameter_buffer_object, 
    GL_NV_parameter_buffer_object2, GL_NV_path_rendering, 
    GL_NV_pixel_data_range, GL_NV_point_sprite, GL_NV_primitive_restart, 
    GL_NV_register_combiners, GL_NV_register_combiners2, 
    GL_NV_shader_buffer_load, GL_NV_texgen_reflection, GL_NV_texture_barrier, 
    GL_NV_texture_compression_vtc, GL_NV_texture_env_combine4, 
    GL_NV_texture_expand_normal, GL_NV_texture_multisample, 
    GL_NV_texture_rectangle, GL_NV_texture_shader, GL_NV_texture_shader2, 
    GL_NV_texture_shader3, GL_NV_transform_feedback, 
    GL_NV_transform_feedback2, GL_NV_vdpau_interop, GL_NV_vertex_array_range, 
    GL_NV_vertex_array_range2, GL_NV_vertex_buffer_unified_memory, 
    GL_NV_vertex_program, GL_NV_vertex_program1_1, GL_NV_vertex_program2, 
    GL_NV_vertex_program2_option, GL_NV_vertex_program3, GL_S3_s3tc, 
    GL_SGIS_generate_mipmap, GL_SGIS_texture_lod, GL_SGIX_depth_texture, 
    GL_SGIX_shadow, GL_SUN_slice_accum
$ glxinfo | grep GLX_ARB_create_context
    GLX_ARB_create_context, GLX_ARB_create_context_profile, 
    GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float, 
    GLX_ARB_create_context, GLX_ARB_create_context_profile, 
    GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float, 
    GLX_ARB_create_context, GLX_ARB_create_context_profile, 
    GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float, 
$ glxinfo | grep GLX_EXT_create_context
    GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile, 
    GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile, 
    GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile, 

simonbcn commented Mar 4, 2015

That isn't the problem:

$ glxinfo 
name of display: :0
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: NVIDIA Corporation
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_multisample, GLX_EXT_buffer_age, 
    GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile, 
    GLX_EXT_framebuffer_sRGB, GLX_EXT_stereo_tree, GLX_EXT_swap_control, 
    GLX_EXT_swap_control_tear, GLX_EXT_texture_from_pixmap, 
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_NV_delay_before_swap, 
    GLX_NV_float_buffer, GLX_NV_multisample_coverage, GLX_SGIX_fbconfig, 
    GLX_SGIX_pbuffer, GLX_SGI_swap_control, GLX_SGI_video_sync
client glx vendor string: NVIDIA Corporation
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_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_stereo_tree, GLX_EXT_swap_control, 
    GLX_EXT_swap_control_tear, GLX_EXT_texture_from_pixmap, 
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_NV_copy_image, 
    GLX_NV_delay_before_swap, GLX_NV_float_buffer, 
    GLX_NV_multisample_coverage, GLX_NV_present_video, GLX_NV_swap_group, 
    GLX_NV_video_capture, GLX_NV_video_out, GLX_SGIX_fbconfig, 
    GLX_SGIX_pbuffer, 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_get_proc_address, GLX_ARB_multisample, GLX_EXT_buffer_age, 
    GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile, 
    GLX_EXT_framebuffer_sRGB, GLX_EXT_stereo_tree, GLX_EXT_swap_control, 
    GLX_EXT_swap_control_tear, GLX_EXT_texture_from_pixmap, 
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_NV_delay_before_swap, 
    GLX_NV_float_buffer, GLX_NV_multisample_coverage, GLX_SGIX_fbconfig, 
    GLX_SGIX_pbuffer, GLX_SGI_swap_control, GLX_SGI_video_sync
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GT 220/PCIe/SSE2
OpenGL core profile version string: 3.3.0 NVIDIA 340.76
OpenGL core profile shading language version string: 3.30 NVIDIA via Cg compiler
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
    GL_ARB_ES2_compatibility, GL_ARB_ES3_compatibility, 
    GL_ARB_arrays_of_arrays, GL_ARB_base_instance, GL_ARB_blend_func_extended, 
    GL_ARB_clear_buffer_object, GL_ARB_color_buffer_float, 
    GL_ARB_compressed_texture_pixel_storage, 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_depth_texture, 
    GL_ARB_draw_buffers, GL_ARB_draw_buffers_blend, 
    GL_ARB_draw_elements_base_vertex, GL_ARB_draw_instanced, 
    GL_ARB_enhanced_layouts, GL_ARB_explicit_attrib_location, 
    GL_ARB_explicit_uniform_location, GL_ARB_fragment_coord_conventions, 
    GL_ARB_fragment_layer_viewport, GL_ARB_fragment_program, 
    GL_ARB_fragment_program_shadow, GL_ARB_fragment_shader, 
    GL_ARB_framebuffer_no_attachments, GL_ARB_framebuffer_object, 
    GL_ARB_framebuffer_sRGB, GL_ARB_geometry_shader4, 
    GL_ARB_get_program_binary, GL_ARB_half_float_pixel, 
    GL_ARB_half_float_vertex, GL_ARB_imaging, 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_occlusion_query2, 
    GL_ARB_pixel_buffer_object, GL_ARB_point_parameters, GL_ARB_point_sprite, 
    GL_ARB_program_interface_query, GL_ARB_provoking_vertex, 
    GL_ARB_robust_buffer_access_behavior, GL_ARB_robustness, 
    GL_ARB_sample_shading, 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_texture_lod, 
    GL_ARB_shading_language_100, GL_ARB_shading_language_420pack, 
    GL_ARB_shading_language_include, GL_ARB_shading_language_packing, 
    GL_ARB_shadow, GL_ARB_stencil_texturing, GL_ARB_sync, 
    GL_ARB_texture_border_clamp, GL_ARB_texture_buffer_object, 
    GL_ARB_texture_buffer_range, 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_gather, 
    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_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_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_viewport_array, GL_ARB_window_pos, GL_ATI_draw_buffers, 
    GL_ATI_texture_float, GL_ATI_texture_mirror_once, 
    GL_EXTX_framebuffer_mixed_formats, GL_EXT_Cg_shader, GL_EXT_abgr, 
    GL_EXT_bgra, GL_EXT_bindable_uniform, 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_depth_bounds_test, GL_EXT_direct_state_access, 
    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_geometry_shader4, 
    GL_EXT_gpu_program_parameters, GL_EXT_gpu_shader4, 
    GL_EXT_import_sync_object, 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_provoking_vertex, GL_EXT_rescale_normal, GL_EXT_secondary_color, 
    GL_EXT_separate_shader_objects, 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_texture3D, GL_EXT_texture_array, 
    GL_EXT_texture_buffer_object, 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, GL_EXT_texture_lod_bias, GL_EXT_texture_mirror_clamp, 
    GL_EXT_texture_object, GL_EXT_texture_sRGB, GL_EXT_texture_sRGB_decode, 
    GL_EXT_texture_shared_exponent, GL_EXT_texture_storage, 
    GL_EXT_texture_swizzle, GL_EXT_timer_query, GL_EXT_transform_feedback2, 
    GL_EXT_vertex_array, GL_EXT_vertex_array_bgra, GL_EXT_x11_sync_object, 
    GL_IBM_rasterpos_clip, GL_IBM_texture_mirrored_repeat, GL_KHR_debug, 
    GL_KTX_buffer_region, GL_NVX_conditional_render, GL_NVX_gpu_memory_info, 
    GL_NV_ES1_1_compatibility, GL_NV_blend_square, GL_NV_conditional_render, 
    GL_NV_copy_depth_to_color, GL_NV_copy_image, GL_NV_depth_buffer_float, 
    GL_NV_depth_clamp, GL_NV_explicit_multisample, GL_NV_fence, 
    GL_NV_float_buffer, GL_NV_fog_distance, GL_NV_fragment_program, 
    GL_NV_fragment_program2, GL_NV_fragment_program_option, 
    GL_NV_framebuffer_multisample_coverage, GL_NV_geometry_shader4, 
    GL_NV_gpu_program4, GL_NV_gpu_program4_1, GL_NV_half_float, 
    GL_NV_light_max_exponent, GL_NV_multisample_coverage, 
    GL_NV_multisample_filter_hint, GL_NV_occlusion_query, 
    GL_NV_packed_depth_stencil, GL_NV_parameter_buffer_object, 
    GL_NV_parameter_buffer_object2, GL_NV_path_rendering, 
    GL_NV_pixel_data_range, GL_NV_point_sprite, GL_NV_primitive_restart, 
    GL_NV_register_combiners, GL_NV_register_combiners2, 
    GL_NV_shader_buffer_load, GL_NV_texgen_reflection, GL_NV_texture_barrier, 
    GL_NV_texture_compression_vtc, GL_NV_texture_env_combine4, 
    GL_NV_texture_expand_normal, GL_NV_texture_multisample, 
    GL_NV_texture_rectangle, GL_NV_texture_shader, GL_NV_texture_shader2, 
    GL_NV_texture_shader3, GL_NV_transform_feedback, 
    GL_NV_transform_feedback2, GL_NV_vdpau_interop, GL_NV_vertex_array_range, 
    GL_NV_vertex_array_range2, GL_NV_vertex_buffer_unified_memory, 
    GL_NV_vertex_program, GL_NV_vertex_program1_1, GL_NV_vertex_program2, 
    GL_NV_vertex_program2_option, GL_NV_vertex_program3, GL_S3_s3tc, 
    GL_SGIS_generate_mipmap, GL_SGIS_texture_lod, GL_SGIX_depth_texture, 
    GL_SGIX_shadow, GL_SUN_slice_accum

OpenGL version string: 3.3.0 NVIDIA 340.76
OpenGL shading language version string: 3.30 NVIDIA via Cg compiler
OpenGL context flags: (none)
OpenGL profile mask: (none)
OpenGL extensions:
    GL_ARB_ES2_compatibility, GL_ARB_ES3_compatibility, 
    GL_ARB_arrays_of_arrays, GL_ARB_base_instance, GL_ARB_blend_func_extended, 
    GL_ARB_clear_buffer_object, GL_ARB_color_buffer_float, 
    GL_ARB_compatibility, GL_ARB_compressed_texture_pixel_storage, 
    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_depth_texture, GL_ARB_draw_buffers, GL_ARB_draw_buffers_blend, 
    GL_ARB_draw_elements_base_vertex, GL_ARB_draw_instanced, 
    GL_ARB_enhanced_layouts, GL_ARB_explicit_attrib_location, 
    GL_ARB_explicit_uniform_location, GL_ARB_fragment_coord_conventions, 
    GL_ARB_fragment_layer_viewport, GL_ARB_fragment_program, 
    GL_ARB_fragment_program_shadow, GL_ARB_fragment_shader, 
    GL_ARB_framebuffer_no_attachments, GL_ARB_framebuffer_object, 
    GL_ARB_framebuffer_sRGB, GL_ARB_geometry_shader4, 
    GL_ARB_get_program_binary, GL_ARB_half_float_pixel, 
    GL_ARB_half_float_vertex, GL_ARB_imaging, 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_occlusion_query2, 
    GL_ARB_pixel_buffer_object, GL_ARB_point_parameters, GL_ARB_point_sprite, 
    GL_ARB_program_interface_query, GL_ARB_provoking_vertex, 
    GL_ARB_robust_buffer_access_behavior, GL_ARB_robustness, 
    GL_ARB_sample_shading, 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_texture_lod, 
    GL_ARB_shading_language_100, GL_ARB_shading_language_420pack, 
    GL_ARB_shading_language_include, GL_ARB_shading_language_packing, 
    GL_ARB_shadow, GL_ARB_stencil_texturing, GL_ARB_sync, 
    GL_ARB_texture_border_clamp, GL_ARB_texture_buffer_object, 
    GL_ARB_texture_buffer_range, 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_gather, 
    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_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_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_viewport_array, GL_ARB_window_pos, GL_ATI_draw_buffers, 
    GL_ATI_texture_float, GL_ATI_texture_mirror_once, 
    GL_EXTX_framebuffer_mixed_formats, GL_EXT_Cg_shader, GL_EXT_abgr, 
    GL_EXT_bgra, GL_EXT_bindable_uniform, 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_depth_bounds_test, GL_EXT_direct_state_access, 
    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_geometry_shader4, 
    GL_EXT_gpu_program_parameters, GL_EXT_gpu_shader4, 
    GL_EXT_import_sync_object, 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_provoking_vertex, GL_EXT_rescale_normal, GL_EXT_secondary_color, 
    GL_EXT_separate_shader_objects, 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_texture3D, GL_EXT_texture_array, 
    GL_EXT_texture_buffer_object, 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, GL_EXT_texture_lod_bias, GL_EXT_texture_mirror_clamp, 
    GL_EXT_texture_object, GL_EXT_texture_sRGB, GL_EXT_texture_sRGB_decode, 
    GL_EXT_texture_shared_exponent, GL_EXT_texture_storage, 
    GL_EXT_texture_swizzle, GL_EXT_timer_query, GL_EXT_transform_feedback2, 
    GL_EXT_vertex_array, GL_EXT_vertex_array_bgra, GL_EXT_x11_sync_object, 
    GL_IBM_rasterpos_clip, GL_IBM_texture_mirrored_repeat, GL_KHR_debug, 
    GL_KTX_buffer_region, GL_NVX_conditional_render, GL_NVX_gpu_memory_info, 
    GL_NV_ES1_1_compatibility, GL_NV_blend_square, GL_NV_conditional_render, 
    GL_NV_copy_depth_to_color, GL_NV_copy_image, GL_NV_depth_buffer_float, 
    GL_NV_depth_clamp, GL_NV_explicit_multisample, GL_NV_fence, 
    GL_NV_float_buffer, GL_NV_fog_distance, GL_NV_fragment_program, 
    GL_NV_fragment_program2, GL_NV_fragment_program_option, 
    GL_NV_framebuffer_multisample_coverage, GL_NV_geometry_shader4, 
    GL_NV_gpu_program4, GL_NV_gpu_program4_1, GL_NV_half_float, 
    GL_NV_light_max_exponent, GL_NV_multisample_coverage, 
    GL_NV_multisample_filter_hint, GL_NV_occlusion_query, 
    GL_NV_packed_depth_stencil, GL_NV_parameter_buffer_object, 
    GL_NV_parameter_buffer_object2, GL_NV_path_rendering, 
    GL_NV_pixel_data_range, GL_NV_point_sprite, GL_NV_primitive_restart, 
    GL_NV_register_combiners, GL_NV_register_combiners2, 
    GL_NV_shader_buffer_load, GL_NV_texgen_reflection, GL_NV_texture_barrier, 
    GL_NV_texture_compression_vtc, GL_NV_texture_env_combine4, 
    GL_NV_texture_expand_normal, GL_NV_texture_multisample, 
    GL_NV_texture_rectangle, GL_NV_texture_shader, GL_NV_texture_shader2, 
    GL_NV_texture_shader3, GL_NV_transform_feedback, 
    GL_NV_transform_feedback2, GL_NV_vdpau_interop, GL_NV_vertex_array_range, 
    GL_NV_vertex_array_range2, GL_NV_vertex_buffer_unified_memory, 
    GL_NV_vertex_program, GL_NV_vertex_program1_1, GL_NV_vertex_program2, 
    GL_NV_vertex_program2_option, GL_NV_vertex_program3, GL_S3_s3tc, 
    GL_SGIS_generate_mipmap, GL_SGIS_texture_lod, GL_SGIX_depth_texture, 
    GL_SGIX_shadow, GL_SUN_slice_accum
$ glxinfo | grep GLX_ARB_create_context
    GLX_ARB_create_context, GLX_ARB_create_context_profile, 
    GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float, 
    GLX_ARB_create_context, GLX_ARB_create_context_profile, 
    GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float, 
    GLX_ARB_create_context, GLX_ARB_create_context_profile, 
    GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float, 
$ glxinfo | grep GLX_EXT_create_context
    GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile, 
    GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile, 
    GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile, 
@i-rinat

This comment has been minimized.

Show comment
Hide comment
@i-rinat

i-rinat Mar 4, 2015

Owner

Are there any error messages in stdout/stderr?

Build with cmake -DTRACE_ALL=1 .. && make and collect trace output (will be large). Does it contain ppb_graphics3d_* calls?

Owner

i-rinat commented Mar 4, 2015

Are there any error messages in stdout/stderr?

Build with cmake -DTRACE_ALL=1 .. && make and collect trace output (will be large). Does it contain ppb_graphics3d_* calls?

@simonbcn

This comment has been minimized.

Show comment
Hide comment
@simonbcn

simonbcn Mar 4, 2015

This is the output: https://dl.dropboxusercontent.com/u/1466192/firefox.log
The errors:

$ grep -i error firefox.log 
###!!! [Parent][MessageChannel::Call] Error: Channel error: cannot send/recv
[fresh] [error] [NP] caught Xlib error 8
[fresh] [error] [NP] caught Xlib error 8
[fresh] [error] [NP] caught Xlib error 171
[fresh] [error] [NP] caught Xlib error 171
[fresh] [error] ppb_graphics3d_create, glXMakeCurrent failed
[fresh] [error] ppb_graphics3d_create, glXMakeCurrent failed
[fresh 21810] [PPB] {full} ppb_var_add_ref var={STRING:1:0x7fae05ff3fe8:onError}
[fresh 21810] [PPB] {full} ppb_var_add_ref var={STRING:1:0x7fae05ee60a0:ytPlayeronErrorplayer_uid_731855904_1}
[fresh 21810] [PPB] {full} ppb_var_var_to_utf8 var={STRING:2:0x7fae05ff3fe8:onError}
[fresh 21810] [PPB] {full} ppb_var_var_to_utf8 var={STRING:2:0x7fae05ee60a0:ytPlayeronErrorplayer_uid_731855904_1}
[fresh 21810] [PPB] {full} ppb_var_release var={STRING:2:0x7fae05ff3fe8:onError}
[fresh 21810] [PPB] {full} ppb_var_release var={STRING:2:0x7fae05ee60a0:ytPlayeronErrorplayer_uid_731855904_1}
[fresh 21810] [PPB] {full} ppb_var_var_from_utf8 data=try { __flash__toXML(ytPlayeronErrorplayer_uid_731855904_1(0)) ; } catch (e) { "<undefined/>"; }, len=96
[fresh 21810] [PPB] {full} ppb_instance_execute_script instance=10, script={STRING:1:0x7fae07714400:try { __flash__toXML(ytPlayeronErrorplayer_uid_731855904_1(0)) ; } catch (e) { "<undefined/>"; }}
[fresh 21810] [PPB] {full} ppb_var_release var={STRING:1:0x7fae07714400:try { __flash__toXML(ytPlayeronErrorplayer_uid_731855904_1(0)) ; } catch (e) { "<undefined/>"; }}
[fresh 21810] [PPB] {full} ppb_var_var_from_utf8 data=An error occurred, please try again later. BEGIN_LINKLearn MoreEND_LINK, len=71
[fresh 21810] [PPB] {full} ppb_browser_font_measure_text font=2901, text={.text={STRING:1:0x7fae05ec4740:An error occurred, please try again later. BEGIN_LINKLearn MoreEND_LINK}, .rtl=0, .override_direction=0}
[fresh 21810] [PPB] {full} ppb_var_release var={STRING:1:0x7fae05ec4740:An error occurred, please try again later. BEGIN_LINKLearn MoreEND_LINK}
[fresh 21810] [PPB] {full} ppb_var_var_from_utf8 data=An error occurred, please try again later. BEGIN_LINKLearn , len=59
[fresh 21810] [PPB] {full} ppb_browser_font_measure_text font=2901, text={.text={STRING:1:0x7fae05ec6900:An error occurred, please try again later. BEGIN_LINKLearn }, .rtl=0, .override_direction=0}
[fresh 21810] [PPB] {full} ppb_var_release var={STRING:1:0x7fae05ec6900:An error occurred, please try again later. BEGIN_LINKLearn }
[fresh 21810] [PPB] {full} ppb_var_var_from_utf8 data=An error occurred, please try again later. BEGIN_LINKLearn MoreEND_LINK, len=71
[fresh 21810] [PPB] {full} ppb_browser_font_measure_text font=2903, text={.text={STRING:1:0x7fae05ec4740:An error occurred, please try again later. BEGIN_LINKLearn MoreEND_LINK}, .rtl=0, .override_direction=0}
[fresh 21810] [PPB] {full} ppb_var_release var={STRING:1:0x7fae05ec4740:An error occurred, please try again later. BEGIN_LINKLearn MoreEND_LINK}
[fresh 21810] [PPB] {full} ppb_var_var_from_utf8 data=An error occurred, please try again later. , len=43
[fresh 21810] [PPB] {full} ppb_browser_font_measure_text font=2905, text={.text={STRING:1:0x7fae05ecefa0:An error occurred, please try again later. }, .rtl=0, .override_direction=0}
[fresh 21810] [PPB] {full} ppb_var_release var={STRING:1:0x7fae05ecefa0:An error occurred, please try again later. }
[fresh 21810] [PPB] {full} ppb_var_var_from_utf8 data=An error occurred, please try again later. , len=43
[fresh 21810] [PPB] {full} ppb_browser_font_measure_text font=2907, text={.text={STRING:1:0x7fae05ecefa0:An error occurred, please try again later. }, .rtl=0, .override_direction=0}
[fresh 21810] [PPB] {full} ppb_var_release var={STRING:1:0x7fae05ecefa0:An error occurred, please try again later. }
[fresh 21810] [PPB] {full} ppb_var_var_from_utf8 data=An error occurred, please try again later. , len=43
[fresh 21810] [PPB] {full} ppb_browser_font_measure_text font=2909, text={.text={STRING:1:0x7fae05ecefa0:An error occurred, please try again later. }, .rtl=0, .override_direction=0}
[fresh 21810] [PPB] {full} ppb_var_release var={STRING:1:0x7fae05ecefa0:An error occurred, please try again later. }
[fresh 21810] [PPB] {full} ppb_var_var_from_utf8 data=An error occurred, please try again later. , len=43
[fresh 21810] [PPB] {full} ppb_browser_font_measure_text font=2913, text={.text={STRING:1:0x7fae05ecefa0:An error occurred, please try again later. }, .rtl=0, .override_direction=0}
[fresh 21810] [PPB] {full} ppb_var_release var={STRING:1:0x7fae05ecefa0:An error occurred, please try again later. }
[fresh 21810] [PPB] {full} ppb_var_var_from_utf8 data=An error occurred, please try again later. , len=43
[fresh 21810] [PPB] {full} ppb_browser_font_measure_text font=2915, text={.text={STRING:1:0x7fae05ecefa0:An error occurred, please try again later. }, .rtl=0, .override_direction=0}
[fresh 21810] [PPB] {full} ppb_var_release var={STRING:1:0x7fae05ecefa0:An error occurred, please try again later. }
[fresh 21810] [PPB] {full} ppb_var_var_from_utf8 data=An error occurred, please try again later. , len=43
[fresh 21810] [PPB] {full} ppb_browser_font_measure_text font=2917, text={.text={STRING:1:0x7fae05ecefa0:An error occurred, please try again later. }, .rtl=0, .override_direction=0}
[fresh 21810] [PPB] {full} ppb_var_release var={STRING:1:0x7fae05ecefa0:An error occurred, please try again later. }
[fresh 21810] [PPB] {full} ppb_var_var_from_utf8 data=An error occurred, please try again later. , len=43
[fresh 21810] [PPB] {full} ppb_browser_font_measure_text font=2923, text={.text={STRING:1:0x7fae05ecefa0:An error occurred, please try again later. }, .rtl=0, .override_direction=0}
[fresh 21810] [PPB] {full} ppb_var_release var={STRING:1:0x7fae05ecefa0:An error occurred, please try again later. }
[fresh 21810] [PPB] {full} ppb_var_var_from_utf8 data=An error occurred, please try again later. , len=43
[fresh 21810] [PPB] {full} ppb_browser_font_draw_text_at font=2923, image_data=2924, text={.text={STRING:1:0x7fae05ecefa0:An error occurred, please try again later. }, .rtl=0, .override_direction=0}, position={.x=0, .y=15}, color=0xffffffff, clip={.x=-246, .y=0, .w=860, .h=19}, image_data_is_opaque=0
[fresh 21810] [PPB] {full} ppb_var_release var={STRING:1:0x7fae05ecefa0:An error occurred, please try again later. }
[fresh 21810] [PPB] {full} ppb_var_var_from_utf8 data=An error occurred, please t, len=27
[fresh 21810] [PPB] {full} ppb_browser_font_measure_text font=3389, text={.text={STRING:1:0x7fae05f6ac00:An error occurred, please t}, .rtl=0, .override_direction=0}
[fresh 21810] [PPB] {full} ppb_var_release var={STRING:1:0x7fae05f6ac00:An error occurred, please t}
[fresh 21810] [PPB] {full} ppb_var_var_from_utf8 data=An error occu, len=13
[fresh 21810] [PPB] {full} ppb_browser_font_measure_text font=3389, text={.text={STRING:1:0x7fae0746e6c0:An error occu}, .rtl=0, .override_direction=0}
[fresh 21810] [PPB] {full} ppb_var_release var={STRING:1:0x7fae0746e6c0:An error occu}
[fresh 21810] [PPB] {full} ppb_var_var_from_utf8 data=An error occurred, please t, len=27
[fresh 21810] [PPB] {full} ppb_browser_font_measure_text font=3391, text={.text={STRING:1:0x7fae05f6ac00:An error occurred, please t}, .rtl=0, .override_direction=0}
[fresh 21810] [PPB] {full} ppb_var_release var={STRING:1:0x7fae05f6ac00:An error occurred, please t}
[fresh 21810] [PPB] {full} ppb_var_var_from_utf8 data=An error occu, len=13
[fresh 21810] [PPB] {full} ppb_browser_font_measure_text font=3391, text={.text={STRING:1:0x7fae0746e6c0:An error occu}, .rtl=0, .override_direction=0}
[fresh 21810] [PPB] {full} ppb_var_release var={STRING:1:0x7fae0746e6c0:An error occu}
###!!! [Parent][MessageChannel::Call] Error: Channel error: cannot send/recv
###!!! [Parent][OnMaybeDequeueOne] Error: Channel error: cannot send/recv
###!!! [Parent][OnMaybeDequeueOne] Error: Channel error: cannot send/recv
[fresh] [error] [NP] caught Xlib error 8
[fresh] [error] [NP] caught Xlib error 8
[fresh] [error] [NP] caught Xlib error 171
[fresh] [error] [NP] caught Xlib error 171
[fresh] [error] ppb_graphics3d_create, glXMakeCurrent failed
[fresh] [error] ppb_graphics3d_create, glXMakeCurrent failed
[fresh 22208] [PPB] {full} ppb_var_add_ref var={STRING:1:0x7f646bc66fd0:onError}
[fresh 22208] [PPB] {full} ppb_var_add_ref var={STRING:1:0x7f646bcc0370:ytPlayeronErrorplayer_uid_949439993_1}
[fresh 22208] [PPB] {full} ppb_var_var_to_utf8 var={STRING:2:0x7f646bc66fd0:onError}
[fresh 22208] [PPB] {full} ppb_var_var_to_utf8 var={STRING:2:0x7f646bcc0370:ytPlayeronErrorplayer_uid_949439993_1}
[fresh 22208] [PPB] {full} ppb_var_release var={STRING:2:0x7f646bc66fd0:onError}
[fresh 22208] [PPB] {full} ppb_var_release var={STRING:2:0x7f646bcc0370:ytPlayeronErrorplayer_uid_949439993_1}
###!!! [Parent][MessageChannel::Call] Error: Channel error: cannot send/recv
###!!! [Parent][OnMaybeDequeueOne] Error: Channel error: cannot send/recv

And the lines with ppb_graphics3d_*:

$ grep -i ppb_graphics3d firefox.log 
[fresh 21444] [PPB] {full} ppb_get_interface interface_name=PPB_Graphics3D;1.0
[fresh 21804] [PPB] {full} ppb_get_interface interface_name=PPB_Graphics3D;1.0
[fresh 21810] [PPB] {full} ppb_get_interface interface_name=PPB_Graphics3D;1.0
[fresh 21810] [PPB] {full} ppb_graphics3d_create intance=10, share_context=0, attrib_list={TODO}
[fresh 21810] ppb_graphics3d_create, glXChooseFBConfig returned 36 configs, choosing first one
[fresh] [error] ppb_graphics3d_create, glXMakeCurrent failed
[fresh] [error] ppb_graphics3d_create, glXMakeCurrent failed
[fresh 22202] [PPB] {full} ppb_get_interface interface_name=PPB_Graphics3D;1.0
[fresh 22208] [PPB] {full} ppb_get_interface interface_name=PPB_Graphics3D;1.0
[fresh 22208] [PPB] {full} ppb_graphics3d_create intance=10, share_context=0, attrib_list={TODO}
[fresh 22208] ppb_graphics3d_create, glXChooseFBConfig returned 36 configs, choosing first one
[fresh] [error] ppb_graphics3d_create, glXMakeCurrent failed
[fresh] [error] ppb_graphics3d_create, glXMakeCurrent failed

simonbcn commented Mar 4, 2015

This is the output: https://dl.dropboxusercontent.com/u/1466192/firefox.log
The errors:

$ grep -i error firefox.log 
###!!! [Parent][MessageChannel::Call] Error: Channel error: cannot send/recv
[fresh] [error] [NP] caught Xlib error 8
[fresh] [error] [NP] caught Xlib error 8
[fresh] [error] [NP] caught Xlib error 171
[fresh] [error] [NP] caught Xlib error 171
[fresh] [error] ppb_graphics3d_create, glXMakeCurrent failed
[fresh] [error] ppb_graphics3d_create, glXMakeCurrent failed
[fresh 21810] [PPB] {full} ppb_var_add_ref var={STRING:1:0x7fae05ff3fe8:onError}
[fresh 21810] [PPB] {full} ppb_var_add_ref var={STRING:1:0x7fae05ee60a0:ytPlayeronErrorplayer_uid_731855904_1}
[fresh 21810] [PPB] {full} ppb_var_var_to_utf8 var={STRING:2:0x7fae05ff3fe8:onError}
[fresh 21810] [PPB] {full} ppb_var_var_to_utf8 var={STRING:2:0x7fae05ee60a0:ytPlayeronErrorplayer_uid_731855904_1}
[fresh 21810] [PPB] {full} ppb_var_release var={STRING:2:0x7fae05ff3fe8:onError}
[fresh 21810] [PPB] {full} ppb_var_release var={STRING:2:0x7fae05ee60a0:ytPlayeronErrorplayer_uid_731855904_1}
[fresh 21810] [PPB] {full} ppb_var_var_from_utf8 data=try { __flash__toXML(ytPlayeronErrorplayer_uid_731855904_1(0)) ; } catch (e) { "<undefined/>"; }, len=96
[fresh 21810] [PPB] {full} ppb_instance_execute_script instance=10, script={STRING:1:0x7fae07714400:try { __flash__toXML(ytPlayeronErrorplayer_uid_731855904_1(0)) ; } catch (e) { "<undefined/>"; }}
[fresh 21810] [PPB] {full} ppb_var_release var={STRING:1:0x7fae07714400:try { __flash__toXML(ytPlayeronErrorplayer_uid_731855904_1(0)) ; } catch (e) { "<undefined/>"; }}
[fresh 21810] [PPB] {full} ppb_var_var_from_utf8 data=An error occurred, please try again later. BEGIN_LINKLearn MoreEND_LINK, len=71
[fresh 21810] [PPB] {full} ppb_browser_font_measure_text font=2901, text={.text={STRING:1:0x7fae05ec4740:An error occurred, please try again later. BEGIN_LINKLearn MoreEND_LINK}, .rtl=0, .override_direction=0}
[fresh 21810] [PPB] {full} ppb_var_release var={STRING:1:0x7fae05ec4740:An error occurred, please try again later. BEGIN_LINKLearn MoreEND_LINK}
[fresh 21810] [PPB] {full} ppb_var_var_from_utf8 data=An error occurred, please try again later. BEGIN_LINKLearn , len=59
[fresh 21810] [PPB] {full} ppb_browser_font_measure_text font=2901, text={.text={STRING:1:0x7fae05ec6900:An error occurred, please try again later. BEGIN_LINKLearn }, .rtl=0, .override_direction=0}
[fresh 21810] [PPB] {full} ppb_var_release var={STRING:1:0x7fae05ec6900:An error occurred, please try again later. BEGIN_LINKLearn }
[fresh 21810] [PPB] {full} ppb_var_var_from_utf8 data=An error occurred, please try again later. BEGIN_LINKLearn MoreEND_LINK, len=71
[fresh 21810] [PPB] {full} ppb_browser_font_measure_text font=2903, text={.text={STRING:1:0x7fae05ec4740:An error occurred, please try again later. BEGIN_LINKLearn MoreEND_LINK}, .rtl=0, .override_direction=0}
[fresh 21810] [PPB] {full} ppb_var_release var={STRING:1:0x7fae05ec4740:An error occurred, please try again later. BEGIN_LINKLearn MoreEND_LINK}
[fresh 21810] [PPB] {full} ppb_var_var_from_utf8 data=An error occurred, please try again later. , len=43
[fresh 21810] [PPB] {full} ppb_browser_font_measure_text font=2905, text={.text={STRING:1:0x7fae05ecefa0:An error occurred, please try again later. }, .rtl=0, .override_direction=0}
[fresh 21810] [PPB] {full} ppb_var_release var={STRING:1:0x7fae05ecefa0:An error occurred, please try again later. }
[fresh 21810] [PPB] {full} ppb_var_var_from_utf8 data=An error occurred, please try again later. , len=43
[fresh 21810] [PPB] {full} ppb_browser_font_measure_text font=2907, text={.text={STRING:1:0x7fae05ecefa0:An error occurred, please try again later. }, .rtl=0, .override_direction=0}
[fresh 21810] [PPB] {full} ppb_var_release var={STRING:1:0x7fae05ecefa0:An error occurred, please try again later. }
[fresh 21810] [PPB] {full} ppb_var_var_from_utf8 data=An error occurred, please try again later. , len=43
[fresh 21810] [PPB] {full} ppb_browser_font_measure_text font=2909, text={.text={STRING:1:0x7fae05ecefa0:An error occurred, please try again later. }, .rtl=0, .override_direction=0}
[fresh 21810] [PPB] {full} ppb_var_release var={STRING:1:0x7fae05ecefa0:An error occurred, please try again later. }
[fresh 21810] [PPB] {full} ppb_var_var_from_utf8 data=An error occurred, please try again later. , len=43
[fresh 21810] [PPB] {full} ppb_browser_font_measure_text font=2913, text={.text={STRING:1:0x7fae05ecefa0:An error occurred, please try again later. }, .rtl=0, .override_direction=0}
[fresh 21810] [PPB] {full} ppb_var_release var={STRING:1:0x7fae05ecefa0:An error occurred, please try again later. }
[fresh 21810] [PPB] {full} ppb_var_var_from_utf8 data=An error occurred, please try again later. , len=43
[fresh 21810] [PPB] {full} ppb_browser_font_measure_text font=2915, text={.text={STRING:1:0x7fae05ecefa0:An error occurred, please try again later. }, .rtl=0, .override_direction=0}
[fresh 21810] [PPB] {full} ppb_var_release var={STRING:1:0x7fae05ecefa0:An error occurred, please try again later. }
[fresh 21810] [PPB] {full} ppb_var_var_from_utf8 data=An error occurred, please try again later. , len=43
[fresh 21810] [PPB] {full} ppb_browser_font_measure_text font=2917, text={.text={STRING:1:0x7fae05ecefa0:An error occurred, please try again later. }, .rtl=0, .override_direction=0}
[fresh 21810] [PPB] {full} ppb_var_release var={STRING:1:0x7fae05ecefa0:An error occurred, please try again later. }
[fresh 21810] [PPB] {full} ppb_var_var_from_utf8 data=An error occurred, please try again later. , len=43
[fresh 21810] [PPB] {full} ppb_browser_font_measure_text font=2923, text={.text={STRING:1:0x7fae05ecefa0:An error occurred, please try again later. }, .rtl=0, .override_direction=0}
[fresh 21810] [PPB] {full} ppb_var_release var={STRING:1:0x7fae05ecefa0:An error occurred, please try again later. }
[fresh 21810] [PPB] {full} ppb_var_var_from_utf8 data=An error occurred, please try again later. , len=43
[fresh 21810] [PPB] {full} ppb_browser_font_draw_text_at font=2923, image_data=2924, text={.text={STRING:1:0x7fae05ecefa0:An error occurred, please try again later. }, .rtl=0, .override_direction=0}, position={.x=0, .y=15}, color=0xffffffff, clip={.x=-246, .y=0, .w=860, .h=19}, image_data_is_opaque=0
[fresh 21810] [PPB] {full} ppb_var_release var={STRING:1:0x7fae05ecefa0:An error occurred, please try again later. }
[fresh 21810] [PPB] {full} ppb_var_var_from_utf8 data=An error occurred, please t, len=27
[fresh 21810] [PPB] {full} ppb_browser_font_measure_text font=3389, text={.text={STRING:1:0x7fae05f6ac00:An error occurred, please t}, .rtl=0, .override_direction=0}
[fresh 21810] [PPB] {full} ppb_var_release var={STRING:1:0x7fae05f6ac00:An error occurred, please t}
[fresh 21810] [PPB] {full} ppb_var_var_from_utf8 data=An error occu, len=13
[fresh 21810] [PPB] {full} ppb_browser_font_measure_text font=3389, text={.text={STRING:1:0x7fae0746e6c0:An error occu}, .rtl=0, .override_direction=0}
[fresh 21810] [PPB] {full} ppb_var_release var={STRING:1:0x7fae0746e6c0:An error occu}
[fresh 21810] [PPB] {full} ppb_var_var_from_utf8 data=An error occurred, please t, len=27
[fresh 21810] [PPB] {full} ppb_browser_font_measure_text font=3391, text={.text={STRING:1:0x7fae05f6ac00:An error occurred, please t}, .rtl=0, .override_direction=0}
[fresh 21810] [PPB] {full} ppb_var_release var={STRING:1:0x7fae05f6ac00:An error occurred, please t}
[fresh 21810] [PPB] {full} ppb_var_var_from_utf8 data=An error occu, len=13
[fresh 21810] [PPB] {full} ppb_browser_font_measure_text font=3391, text={.text={STRING:1:0x7fae0746e6c0:An error occu}, .rtl=0, .override_direction=0}
[fresh 21810] [PPB] {full} ppb_var_release var={STRING:1:0x7fae0746e6c0:An error occu}
###!!! [Parent][MessageChannel::Call] Error: Channel error: cannot send/recv
###!!! [Parent][OnMaybeDequeueOne] Error: Channel error: cannot send/recv
###!!! [Parent][OnMaybeDequeueOne] Error: Channel error: cannot send/recv
[fresh] [error] [NP] caught Xlib error 8
[fresh] [error] [NP] caught Xlib error 8
[fresh] [error] [NP] caught Xlib error 171
[fresh] [error] [NP] caught Xlib error 171
[fresh] [error] ppb_graphics3d_create, glXMakeCurrent failed
[fresh] [error] ppb_graphics3d_create, glXMakeCurrent failed
[fresh 22208] [PPB] {full} ppb_var_add_ref var={STRING:1:0x7f646bc66fd0:onError}
[fresh 22208] [PPB] {full} ppb_var_add_ref var={STRING:1:0x7f646bcc0370:ytPlayeronErrorplayer_uid_949439993_1}
[fresh 22208] [PPB] {full} ppb_var_var_to_utf8 var={STRING:2:0x7f646bc66fd0:onError}
[fresh 22208] [PPB] {full} ppb_var_var_to_utf8 var={STRING:2:0x7f646bcc0370:ytPlayeronErrorplayer_uid_949439993_1}
[fresh 22208] [PPB] {full} ppb_var_release var={STRING:2:0x7f646bc66fd0:onError}
[fresh 22208] [PPB] {full} ppb_var_release var={STRING:2:0x7f646bcc0370:ytPlayeronErrorplayer_uid_949439993_1}
###!!! [Parent][MessageChannel::Call] Error: Channel error: cannot send/recv
###!!! [Parent][OnMaybeDequeueOne] Error: Channel error: cannot send/recv

And the lines with ppb_graphics3d_*:

$ grep -i ppb_graphics3d firefox.log 
[fresh 21444] [PPB] {full} ppb_get_interface interface_name=PPB_Graphics3D;1.0
[fresh 21804] [PPB] {full} ppb_get_interface interface_name=PPB_Graphics3D;1.0
[fresh 21810] [PPB] {full} ppb_get_interface interface_name=PPB_Graphics3D;1.0
[fresh 21810] [PPB] {full} ppb_graphics3d_create intance=10, share_context=0, attrib_list={TODO}
[fresh 21810] ppb_graphics3d_create, glXChooseFBConfig returned 36 configs, choosing first one
[fresh] [error] ppb_graphics3d_create, glXMakeCurrent failed
[fresh] [error] ppb_graphics3d_create, glXMakeCurrent failed
[fresh 22202] [PPB] {full} ppb_get_interface interface_name=PPB_Graphics3D;1.0
[fresh 22208] [PPB] {full} ppb_get_interface interface_name=PPB_Graphics3D;1.0
[fresh 22208] [PPB] {full} ppb_graphics3d_create intance=10, share_context=0, attrib_list={TODO}
[fresh 22208] ppb_graphics3d_create, glXChooseFBConfig returned 36 configs, choosing first one
[fresh] [error] ppb_graphics3d_create, glXMakeCurrent failed
[fresh] [error] ppb_graphics3d_create, glXMakeCurrent failed
@i-rinat

This comment has been minimized.

Show comment
Hide comment
@i-rinat

i-rinat Mar 4, 2015

Owner

@simonbcn, try code from xr-24-32-bit branch. I think there was a color depth conflict, which should be fixed by a patch.

Owner

i-rinat commented Mar 4, 2015

@simonbcn, try code from xr-24-32-bit branch. I think there was a color depth conflict, which should be fixed by a patch.

@simonbcn

This comment has been minimized.

Show comment
Hide comment
@simonbcn

simonbcn Mar 4, 2015

Ok, it seems that now works:
20150305_00 37 16_01

In console it shows these messages:

NOT SANDBOXED
[fresh  7639] not implemented: PPB_OpenGLES2DrawBuffers(Dev);1.0
[fresh  7639] not implemented: PPB_VideoDecoder(Dev);0.16
[fresh] [error] ppb_core_call_on_browser_thread, no alive instance available
[fresh] [error] ppb_core_call_on_browser_thread, no alive instance available

###!!! [Parent][MessageChannel::Call] Error: Channel error: cannot send/recv


###!!! [Parent][OnMaybeDequeueOne] Error: Channel error: cannot send/recv


###!!! [Parent][OnMaybeDequeueOne] Error: Channel error: cannot send/recv

simonbcn commented Mar 4, 2015

Ok, it seems that now works:
20150305_00 37 16_01

In console it shows these messages:

NOT SANDBOXED
[fresh  7639] not implemented: PPB_OpenGLES2DrawBuffers(Dev);1.0
[fresh  7639] not implemented: PPB_VideoDecoder(Dev);0.16
[fresh] [error] ppb_core_call_on_browser_thread, no alive instance available
[fresh] [error] ppb_core_call_on_browser_thread, no alive instance available

###!!! [Parent][MessageChannel::Call] Error: Channel error: cannot send/recv


###!!! [Parent][OnMaybeDequeueOne] Error: Channel error: cannot send/recv


###!!! [Parent][OnMaybeDequeueOne] Error: Channel error: cannot send/recv
@i-rinat

This comment has been minimized.

Show comment
Hide comment
@i-rinat

i-rinat Mar 5, 2015

Owner

OK, good, pushed patch to the master branch.

You can also check if both opaque and transparent modes are working well on this test page. First entry with "wmode=transparent" text in it should be oval shaped.

Owner

i-rinat commented Mar 5, 2015

OK, good, pushed patch to the master branch.

You can also check if both opaque and transparent modes are working well on this test page. First entry with "wmode=transparent" text in it should be oval shaped.

@simonbcn

This comment has been minimized.

Show comment
Hide comment
@simonbcn

simonbcn Mar 5, 2015

Yes, both opaque and transparent modes are working well:
20150305_10 23 36_01

simonbcn commented Mar 5, 2015

Yes, both opaque and transparent modes are working well:
20150305_10 23 36_01

@ItachiSan

This comment has been minimized.

Show comment
Hide comment
@ItachiSan

ItachiSan Mar 29, 2015

I'm interested in it too.
I'm on ArchLinux and I'm using the git AUR package (so, it's built against latest sources) and I've the same message of simonbcn (accellerated video rendering, software video decoding).
Just to know, what actually the video decoding part is up to?

ItachiSan commented Mar 29, 2015

I'm interested in it too.
I'm on ArchLinux and I'm using the git AUR package (so, it's built against latest sources) and I've the same message of simonbcn (accellerated video rendering, software video decoding).
Just to know, what actually the video decoding part is up to?

@i-rinat

This comment has been minimized.

Show comment
Hide comment
@i-rinat

i-rinat Mar 29, 2015

Owner

Just to know, what actually the video decoding part is up to?

Most functions are implemented as interfaces in PPAPI. For video decoding it's PPB_VideoDecoder(Dev). As always, one need to implement all functions that are used by PepperFlash. Their implementation can in turn depend on some other interface implementations, and so on. Total interface count is limited, so one day or another process will converge. :-)

I started once, but work stagnated, and I decided to postpone it for a while. I think either ffmpeg, libav or gstreamer could be used to provide actual decoding. But interface translation glue code still needs to be created.

Owner

i-rinat commented Mar 29, 2015

Just to know, what actually the video decoding part is up to?

Most functions are implemented as interfaces in PPAPI. For video decoding it's PPB_VideoDecoder(Dev). As always, one need to implement all functions that are used by PepperFlash. Their implementation can in turn depend on some other interface implementations, and so on. Total interface count is limited, so one day or another process will converge. :-)

I started once, but work stagnated, and I decided to postpone it for a while. I think either ffmpeg, libav or gstreamer could be used to provide actual decoding. But interface translation glue code still needs to be created.

@ItachiSan

This comment has been minimized.

Show comment
Hide comment
@ItachiSan

ItachiSan Mar 29, 2015

Got it! I'm almost sure GStreamer would be one of the best choices (usually WebkitGTK has GStreamer as dependency for HTML5 video playback), but that's just my idea/opinion ;-)

ItachiSan commented Mar 29, 2015

Got it! I'm almost sure GStreamer would be one of the best choices (usually WebkitGTK has GStreamer as dependency for HTML5 video playback), but that's just my idea/opinion ;-)

@ItachiSan

This comment has been minimized.

Show comment
Hide comment
@ItachiSan

ItachiSan Mar 30, 2015

Funny fact: using Flash Player on Youtube with Intel Graphics on Windows 8.1 gives me software rendering, hardware decoding, while your open-source implementation gives us on Linux hardware rendering, software decoding.

You just could work at Adobe/Google or else ;P

ItachiSan commented Mar 30, 2015

Funny fact: using Flash Player on Youtube with Intel Graphics on Windows 8.1 gives me software rendering, hardware decoding, while your open-source implementation gives us on Linux hardware rendering, software decoding.

You just could work at Adobe/Google or else ;P

@i-rinat

This comment has been minimized.

Show comment
Hide comment
@i-rinat

i-rinat Mar 30, 2015

Owner

gives us on Linux hardware rendering

Having hardware accelerated rendering for embedded videos was the most significant reason for this project to start. While NPAPI Flash's hardware acceleration via VDPAU is limited to windowed plugin mode only, freshplayerplugin can utilize rendering to offscreen pixmap trick to offload scaling to GPU for all modes, including windowless one.

From libvdpau-va-gl I learned that accelerated scaling lowers CPU consumption from, say 100-110% to about 30% on 720p H.264 content, but accelerated decoding lowers it further only to 10-15%. So for 720p, hw decoding gives only a fifth as much performance gain as hw scaling.

Of course video decode cost for >=1080p is higher, and hw decoding is still nice feature to have.

Owner

i-rinat commented Mar 30, 2015

gives us on Linux hardware rendering

Having hardware accelerated rendering for embedded videos was the most significant reason for this project to start. While NPAPI Flash's hardware acceleration via VDPAU is limited to windowed plugin mode only, freshplayerplugin can utilize rendering to offscreen pixmap trick to offload scaling to GPU for all modes, including windowless one.

From libvdpau-va-gl I learned that accelerated scaling lowers CPU consumption from, say 100-110% to about 30% on 720p H.264 content, but accelerated decoding lowers it further only to 10-15%. So for 720p, hw decoding gives only a fifth as much performance gain as hw scaling.

Of course video decode cost for >=1080p is higher, and hw decoding is still nice feature to have.

@i-rinat

This comment has been minimized.

Show comment
Hide comment
@i-rinat

i-rinat Jun 2, 2015

Owner

Added H.264 decoding via VA-API in ca4607e (and a half a dozen follow-up commits).

Owner

i-rinat commented Jun 2, 2015

Added H.264 decoding via VA-API in ca4607e (and a half a dozen follow-up commits).

@ItachiSan

This comment has been minimized.

Show comment
Hide comment
@ItachiSan

ItachiSan Jun 3, 2015

IT WORKS
At least, for me
schermata da 2015-06-03 19-16-43
ENHANCE
schermata del 2015-06-03 19-17-03
As a "first try" is amazing :D

ItachiSan commented Jun 3, 2015

IT WORKS
At least, for me
schermata da 2015-06-03 19-16-43
ENHANCE
schermata del 2015-06-03 19-17-03
As a "first try" is amazing :D

@i-rinat

This comment has been minimized.

Show comment
Hide comment
@i-rinat

i-rinat Jun 10, 2015

Owner

Adding VDPAU support is too messy for older ffmpeg versions, so I'm going to postpone it indefinitely. There is vdpau-va-driver driver exists which can provide VA-API interface, so that's not a big impairment anyway.

Owner

i-rinat commented Jun 10, 2015

Adding VDPAU support is too messy for older ffmpeg versions, so I'm going to postpone it indefinitely. There is vdpau-va-driver driver exists which can provide VA-API interface, so that's not a big impairment anyway.

@i-rinat i-rinat added the fixed label Jun 10, 2015

@i-rinat i-rinat closed this Jun 10, 2015

@simonbcn

This comment has been minimized.

Show comment
Hide comment
@simonbcn

simonbcn Jun 10, 2015

It works partially to me:
20150610_23 14 40_01

Ubuntu 14.04 64 bits
NVIDIA proprietary drivers installed, downloaded from NVIDIA website
PepperFlash version 18.0.0.160

My /etc/freshwrapper.conf:

# "Command-line" arguments for Flash
flash_command_line = "enable_hw_video_decode=1,enable_stagevideo_auto=1"

# enable 3d and stage 3d
enable_3d = 1

# when set to 1, limits output to warnings and errors only
quiet = 1

# Enables DNS query case randomization to partially protect against DNS
# poisoning attacks. It was reported that some Mikrotik routers do not
# support this trick. Set parameter to 0 if you have an affected model
randomize_dns_case = 1

There isn't accelerated video decoding.

simonbcn commented Jun 10, 2015

It works partially to me:
20150610_23 14 40_01

Ubuntu 14.04 64 bits
NVIDIA proprietary drivers installed, downloaded from NVIDIA website
PepperFlash version 18.0.0.160

My /etc/freshwrapper.conf:

# "Command-line" arguments for Flash
flash_command_line = "enable_hw_video_decode=1,enable_stagevideo_auto=1"

# enable 3d and stage 3d
enable_3d = 1

# when set to 1, limits output to warnings and errors only
quiet = 1

# Enables DNS query case randomization to partially protect against DNS
# poisoning attacks. It was reported that some Mikrotik routers do not
# support this trick. Set parameter to 0 if you have an affected model
randomize_dns_case = 1

There isn't accelerated video decoding.

@i-rinat

This comment has been minimized.

Show comment
Hide comment
@i-rinat

i-rinat Jun 10, 2015

Owner

It works partially to me

Actually, doesn't work at all. This issue is only about video decoding, not rendering.
But that's expected, since hwdec is disabled by default. Add enable_hwdec=1 line to freshwrapper.conf to enable it. You'll also need vdpau-va-driver to translate VA-API calls to nVidia's native VDPAU interface.

Owner

i-rinat commented Jun 10, 2015

It works partially to me

Actually, doesn't work at all. This issue is only about video decoding, not rendering.
But that's expected, since hwdec is disabled by default. Add enable_hwdec=1 line to freshwrapper.conf to enable it. You'll also need vdpau-va-driver to translate VA-API calls to nVidia's native VDPAU interface.

@simonbcn

This comment has been minimized.

Show comment
Hide comment
@simonbcn

simonbcn Jun 10, 2015

It still doesn't work.

$ cat /etc/freshwrapper.conf 
# "Command-line" arguments for Flash
flash_command_line="enable_hw_video_decode=1,enable_stagevideo_auto=1"

# enable 3d and stage 3d
enable_3d=1

enable_hwdec=1

# when set to 1, limits output to warnings and errors only
quiet=1

# Enables DNS query case randomization to partially protect against DNS
# poisoning attacks. It was reported that some Mikrotik routers do not
# support this trick. Set parameter to 0 if you have an affected model
randomize_dns_case=1
$ apt-cache policy vdpau-va-driver 
vdpau-va-driver:
  Installed: 0.7.3-2ubuntu1.2

20150611_01 30 56_01

simonbcn commented Jun 10, 2015

It still doesn't work.

$ cat /etc/freshwrapper.conf 
# "Command-line" arguments for Flash
flash_command_line="enable_hw_video_decode=1,enable_stagevideo_auto=1"

# enable 3d and stage 3d
enable_3d=1

enable_hwdec=1

# when set to 1, limits output to warnings and errors only
quiet=1

# Enables DNS query case randomization to partially protect against DNS
# poisoning attacks. It was reported that some Mikrotik routers do not
# support this trick. Set parameter to 0 if you have an affected model
randomize_dns_case=1
$ apt-cache policy vdpau-va-driver 
vdpau-va-driver:
  Installed: 0.7.3-2ubuntu1.2

20150611_01 30 56_01

@i-rinat i-rinat removed the fixed label Jun 11, 2015

@i-rinat i-rinat reopened this Jun 11, 2015

@i-rinat

This comment has been minimized.

Show comment
Hide comment
@i-rinat

i-rinat Jun 11, 2015

Owner

@simonbcn,
Are there any error messages in the stderr output? You need to launch browser from terminal emulator to see them.

Owner

i-rinat commented Jun 11, 2015

@simonbcn,
Are there any error messages in the stderr output? You need to launch browser from terminal emulator to see them.

@simonbcn

This comment has been minimized.

Show comment
Hide comment
@i-rinat

This comment has been minimized.

Show comment
Hide comment
@i-rinat

i-rinat Jun 11, 2015

Owner

Here is those lines:

vdpau_video: VdpVideoSurfaceCreate(): status 20: The size of a supplied object does not match the object it is being used with.
[fresh] [error] prepare_vaapi_context, can't create VA surfaces
[fresh] [error] prepare_vaapi_context, can't create VA surfaces

Error 20 is VDP_STATUS_INVALID_SIZE which matches error description, but doesn't make any sense for VdpVideoSurfaceCreate. Unfortunately, I don't have an nVidia card now to test it.

Owner

i-rinat commented Jun 11, 2015

Here is those lines:

vdpau_video: VdpVideoSurfaceCreate(): status 20: The size of a supplied object does not match the object it is being used with.
[fresh] [error] prepare_vaapi_context, can't create VA surfaces
[fresh] [error] prepare_vaapi_context, can't create VA surfaces

Error 20 is VDP_STATUS_INVALID_SIZE which matches error description, but doesn't make any sense for VdpVideoSurfaceCreate. Unfortunately, I don't have an nVidia card now to test it.

@ItachiSan

This comment has been minimized.

Show comment
Hide comment
@ItachiSan

ItachiSan Jun 15, 2015

I have problems on Ubuntu too; I have 12.04, with the git package from Webupd8 PPA.
I've an Optimus laptop, so I'm using Intel Graphics by default.
I've also FFMpeg installed (maybe is too old?)

ItachiSan commented Jun 15, 2015

I have problems on Ubuntu too; I have 12.04, with the git package from Webupd8 PPA.
I've an Optimus laptop, so I'm using Intel Graphics by default.
I've also FFMpeg installed (maybe is too old?)

@i-rinat

This comment has been minimized.

Show comment
Hide comment
@i-rinat

i-rinat Jun 15, 2015

Owner

What kind of problems? Did you try version from master branch?

Owner

i-rinat commented Jun 15, 2015

What kind of problems? Did you try version from master branch?

@simonbcn

This comment has been minimized.

Show comment
Hide comment
@simonbcn

simonbcn Jun 16, 2015

It works now. I had an outdated version of ffmpeg installed. I didn't know that it used this program.
But I can't use it because it plays very slow. 😢
Thanks for your work. 👍

simonbcn commented Jun 16, 2015

It works now. I had an outdated version of ffmpeg installed. I didn't know that it used this program.
But I can't use it because it plays very slow. 😢
Thanks for your work. 👍

@i-rinat

This comment has been minimized.

Show comment
Hide comment
@i-rinat

i-rinat Jun 16, 2015

Owner

Well, then I'm closing this issue. Feel free to open another.
(This one was about implementation itself, which is completed. Compatibility issues are better tracked in separate threads, there they have smaller chances to be missed).

Owner

i-rinat commented Jun 16, 2015

Well, then I'm closing this issue. Feel free to open another.
(This one was about implementation itself, which is completed. Compatibility issues are better tracked in separate threads, there they have smaller chances to be missed).

@i-rinat i-rinat closed this Jun 16, 2015

@i-rinat

This comment has been minimized.

Show comment
Hide comment
@i-rinat

i-rinat Jun 17, 2015

Owner

Decoding via VDPAU was added in commits from fbd4b16 to 5ea6d4b.

Note, VDPAU is used only if VA-API wasn't found, so if you have vdpau-va-driver installed, it will get in the way. Either remove that driver, or add enable_vaapi = 0 line to ~/.config/freshwrapper.conf. Latter will prevent freshwrapper from trying VA-API at all.

Owner

i-rinat commented Jun 17, 2015

Decoding via VDPAU was added in commits from fbd4b16 to 5ea6d4b.

Note, VDPAU is used only if VA-API wasn't found, so if you have vdpau-va-driver installed, it will get in the way. Either remove that driver, or add enable_vaapi = 0 line to ~/.config/freshwrapper.conf. Latter will prevent freshwrapper from trying VA-API at all.

@ItachiSan

This comment has been minimized.

Show comment
Hide comment
@ItachiSan

ItachiSan Jun 20, 2015

@simonbcn where did you find it? I still have the Ubuntu Precise one :/

ItachiSan commented Jun 20, 2015

@simonbcn where did you find it? I still have the Ubuntu Precise one :/

@simonbcn

This comment has been minimized.

Show comment
Hide comment
@simonbcn

simonbcn Jun 20, 2015

@ItachiSan I use the ffmpeg git version compiled by me.

simonbcn commented Jun 20, 2015

@ItachiSan I use the ffmpeg git version compiled by me.

@ItachiSan

This comment has been minimized.

Show comment
Hide comment
@ItachiSan

ItachiSan Jun 21, 2015

@simonbcn ok mate, thanks for the info! If that's the case, I'll probably backport some FFMPEG package to Precise ;)

ItachiSan commented Jun 21, 2015

@simonbcn ok mate, thanks for the info! If that's the case, I'll probably backport some FFMPEG package to Precise ;)

@i-rinat

This comment has been minimized.

Show comment
Hide comment
@i-rinat

i-rinat Jun 21, 2015

Owner

I broke compilation against older ffmpeg versions when added VDPAU code. It uses hwaccel infrastructure which VDPAU code in ffmpeg was ported to only recently.
After efa056d it should be compilable again.
It's worth to note, acceleration via VDPAU won't work with older ffmpeg versions, but vdpau-va-driver compatibility layer can still help there.

Owner

i-rinat commented Jun 21, 2015

I broke compilation against older ffmpeg versions when added VDPAU code. It uses hwaccel infrastructure which VDPAU code in ffmpeg was ported to only recently.
After efa056d it should be compilable again.
It's worth to note, acceleration via VDPAU won't work with older ffmpeg versions, but vdpau-va-driver compatibility layer can still help there.

@ItachiSan

This comment has been minimized.

Show comment
Hide comment
@ItachiSan

ItachiSan Jun 21, 2015

@i-rinat which is the minimum libav/ffmpeg version needed? So I can build Ubuntu packages for me ;)

ItachiSan commented Jun 21, 2015

@i-rinat which is the minimum libav/ffmpeg version needed? So I can build Ubuntu packages for me ;)

@i-rinat

This comment has been minimized.

Show comment
Hide comment
@i-rinat

i-rinat Jun 21, 2015

Owner

I don't know exactly which version is OK, but 0.8.7 from Ubuntu Precise should be fine. VDPAU code won't work until you have:

2013-01-13 - 8ee7b38 / 44e065d - lavc 54.87.100 / 54.36.0 - vdpau.h
  Add AVVDPAUContext struct for VDPAU hardware-accelerated decoding.

2013-01-12 - dae382b / 169fb94 - lavu 52.14.100 / 52.4.0 - pixdesc.h
  Add AV_PIX_FMT_VDPAU flag.

That's the excerpt from APIchanges from ffmpeg source code. A bit later there is a "FFmpeg 1.0" cut, so 1.0 and later should be OK in VDPAU sense.

Owner

i-rinat commented Jun 21, 2015

I don't know exactly which version is OK, but 0.8.7 from Ubuntu Precise should be fine. VDPAU code won't work until you have:

2013-01-13 - 8ee7b38 / 44e065d - lavc 54.87.100 / 54.36.0 - vdpau.h
  Add AVVDPAUContext struct for VDPAU hardware-accelerated decoding.

2013-01-12 - dae382b / 169fb94 - lavu 52.14.100 / 52.4.0 - pixdesc.h
  Add AV_PIX_FMT_VDPAU flag.

That's the excerpt from APIchanges from ffmpeg source code. A bit later there is a "FFmpeg 1.0" cut, so 1.0 and later should be OK in VDPAU sense.

@ItachiSan

This comment has been minimized.

Show comment
Hide comment
@ItachiSan

ItachiSan Jun 21, 2015

Actually, I'm trying compiling LibAV instead of FFMpeg (as the first one) is supported from Ubuntu; if I have no success, I'll build FFMpeg instead.

ItachiSan commented Jun 21, 2015

Actually, I'm trying compiling LibAV instead of FFMpeg (as the first one) is supported from Ubuntu; if I have no success, I'll build FFMpeg instead.

@ItachiSan

This comment has been minimized.

Show comment
Hide comment
@ItachiSan

ItachiSan Jun 23, 2015

Ok, I'm backporting lots of stuff; just to know @i-rinat which is the minimum VA-API version needed?
So I can stop bothering you here :)

ItachiSan commented Jun 23, 2015

Ok, I'm backporting lots of stuff; just to know @i-rinat which is the minimum VA-API version needed?
So I can stop bothering you here :)

@i-rinat

This comment has been minimized.

Show comment
Hide comment
@i-rinat

i-rinat Jun 23, 2015

Owner

@ItachiSan, I don't know exactly. 1.0.15 from Ubuntu Precise should be fine.

Owner

i-rinat commented Jun 23, 2015

@ItachiSan, I don't know exactly. 1.0.15 from Ubuntu Precise should be fine.

@ItachiSan

This comment has been minimized.

Show comment
Hide comment
@ItachiSan

ItachiSan Jun 23, 2015

It is not... :/
But it is not specific of the implementation, so I'll move this discussion in another issue, so it will be more clear.

ItachiSan commented Jun 23, 2015

It is not... :/
But it is not specific of the implementation, so I'll move this discussion in another issue, so it will be more clear.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment