Do more on the web, with a fast and secure browser!

Download Opera browser with:

  • built-in ad blocker
  • battery saver
  • free VPN
Download Opera

Hardware acceleration breaks video on a page

  • I use Opera on my laptop (Toshiba Satellite A300 with ATI Mobility Radeon HD 3470)
    I've been using Win 10 LTSB without any problems for about a year and after that I started noticing that videos in HTML pages stopped working correctly - instead of playing video I only hear a sound and see a black rectangle or a rectangle with artifacts. The problem is the same in other chromiuim browser Vivaldi
    But if I turn off "Hardware acceleration" in Browser's settings video starts playing ok

    Firefox and IE shows video without problems

    Can I manage somehow what is the problem? Is there a way to fix it without disabling hardware specification?

    PS youtube seems to be ok always... but some other pages (not flash) are not

  • (Re) Enable hardware acceleration and check opera://gpu to see if there is any related info.

  • Done. By the way, example of the page where video is not working here
    or any pornhub video )) while youtube works OK

    GPU details below
    
    Graphics Feature Status
    Canvas: Hardware accelerated
    Flash: Hardware accelerated
    Flash Stage3D: Hardware accelerated
    Flash Stage3D Baseline profile: Hardware accelerated
    Compositing: Software only. Hardware acceleration disabled
    Multiple Raster Threads: Disabled
    Native GpuMemoryBuffers: Software only. Hardware acceleration disabled
    Hardware Protected Video Decode: Unavailable
    Rasterization: Unavailable
    Skia Deferred Display List: Disabled
    Skia Renderer: Disabled
    Surface Synchronization: Enabled
    Video Decode: Hardware accelerated
    Viz Service Display Compositor: Disabled
    WebGL: Hardware accelerated but at reduced performance
    WebGL2: Hardware accelerated but at reduced performance
    Driver Bug Workarounds
    clear_uniforms_before_first_program_use
    decode_encode_srgb_for_generatemipmap
    disable_accelerated_vpx_decode
    disable_discard_framebuffer
    disable_dxgi_zero_copy_video
    disable_framebuffer_cmaa
    disable_nv12_dxgi_video
    exit_on_context_lost
    force_cube_complete
    scalarize_vec_and_mat_constructor_args
    texsubimage_faster_than_teximage
    Problems Detected
    GPU rasterization should only be enabled on NVIDIA and Intel and AMD RX-R2 GPUs with DX11+ or any GPU using ANGLE's GL backend.: 643850
    Disabled Features: gpu_rasterization
    Protected video decoding with swap chain is for Windows and Intel only
    Disabled Features: protected_video_decode
    Some drivers are unable to reset the D3D device in the GPU process sandbox
    Applied Workarounds: exit_on_context_lost
    TexSubImage is faster for full uploads on ANGLE
    Applied Workarounds: texsubimage_faster_than_teximage
    Clear uniforms before first program use on all platforms: 124764, 349137
    Applied Workarounds: clear_uniforms_before_first_program_use
    Always rewrite vec/mat constructors to be consistent: 398694
    Applied Workarounds: scalarize_vec_and_mat_constructor_args
    ANGLE crash on glReadPixels from incomplete cube map texture: 518889
    Applied Workarounds: force_cube_complete
    Framebuffer discarding can hurt performance on non-tilers: 570897
    Applied Workarounds: disable_discard_framebuffer
    Use GL_INTEL_framebuffer_CMAA on ChromeOS: 535198
    Applied Workarounds: disable_framebuffer_cmaa
    Disable KHR_blend_equation_advanced until cc shaders are updated: 661715
    Applied Workarounds: disable(GL_KHR_blend_equation_advanced), disable(GL_KHR_blend_equation_advanced_coherent)
    Decode and Encode before generateMipmap for srgb format textures on Windows: 634519
    Applied Workarounds: decode_encode_srgb_for_generatemipmap
    Zero-copy DXGI video hangs or displays incorrect colors on AMD drivers: 623029
    Applied Workarounds: disable_dxgi_zero_copy_video
    NV12 DXGI video displays incorrect colors on older AMD drivers: 644293
    Applied Workarounds: disable_nv12_dxgi_video
    VPx decoding isn't supported well before Windows 10 creators update.: 616318, 667532
    Applied Workarounds: disable_accelerated_vpx_decode
    Don't expose disjoint_timer_query extensions to WebGL: 808744
    Raster is using a single thread.
    Disabled Features: multiple_raster_threads
    Native GpuMemoryBuffers have been disabled, either via about:flags or command line.
    Disabled Features: native_gpu_memory_buffers
    Viz service display compositor is not enabled by default.
    Disabled Features: viz_display_compositor
    Skia renderer is not used by default.
    Disabled Features: skia_renderer
    Skia deferred display list is not used by default.
    Disabled Features: skia_deferred_display_list
    Version Information
    Data exported	2018-09-08T05:43:11.064Z
    Browser version	OPR/55.0.2994.44
    Operating system	Windows NT 10.0.14393
    ANGLE commit id	unknown hash
    2D graphics backend	Skia/68
    Command Line	"C:\Program Files\Opera\55.0.2994.44\opera.exe" --enable-quic --ran-launcher --started-from-shortcut --use-turbo2 --ran-launcher --flag-switches-begin --disable-features=SharedArrayBuffer --flag-switches-end --use-turbo2 --enable-quic
    Driver Information
    Initialization time	211
    In-process GPU	false
    Passthrough Command Decoder	false
    Direct Composition	true
    Supports overlays	false
    Sandboxed	true
    GPU0	VENDOR = 0x1002 [Google Inc.], DEVICE= 0x95c4 [ANGLE (ATI Mobility Radeon HD 3400 Series Direct3D11 vs_4_1 ps_4_1)] *ACTIVE*
    Optimus	false
    AMD switchable	false
    Desktop compositing	Aero Glass
    Diagonal Monitor Size of \\.\DISPLAY1	15.3"
    Driver D3D12 feature level	Not supported
    Driver Vulkan API version	Not supported
    Driver vendor	Advanced Micro Devices, Inc.
    Driver version	8.970.100.9001
    Driver date	1-13-2015
    Pixel shader version	4.1
    Vertex shader version	4.1
    Max. MSAA samples	4
    Machine model name	
    Machine model version	
    GL_VENDOR	Google Inc.
    GL_RENDERER	ANGLE (ATI Mobility Radeon HD 3400 Series Direct3D11 vs_4_1 ps_4_1)
    GL_VERSION	OpenGL ES 2.0 (ANGLE 2.1.0.unknown hash)
    GL_EXTENSIONS	GL_ANGLE_client_arrays GL_ANGLE_depth_texture GL_ANGLE_explicit_context GL_ANGLE_explicit_context_gles1 GL_ANGLE_framebuffer_blit GL_ANGLE_framebuffer_multisample GL_ANGLE_get_d3d_texture GL_ANGLE_instanced_arrays GL_ANGLE_lossy_etc_decode GL_ANGLE_pack_reverse_row_order GL_ANGLE_program_cache_control GL_ANGLE_request_extension GL_ANGLE_robust_client_memory GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_ANGLE_texture_usage GL_ANGLE_translated_shader_source GL_CHROMIUM_bind_generates_resource GL_CHROMIUM_bind_uniform_location GL_CHROMIUM_color_buffer_float_rgb GL_CHROMIUM_color_buffer_float_rgba GL_CHROMIUM_copy_compressed_texture GL_CHROMIUM_copy_texture GL_CHROMIUM_sync_query GL_EXT_blend_minmax GL_EXT_color_buffer_half_float GL_EXT_debug_marker GL_EXT_discard_framebuffer GL_EXT_disjoint_timer_query GL_EXT_draw_buffers GL_EXT_frag_depth GL_EXT_map_buffer_range GL_EXT_occlusion_query_boolean GL_EXT_read_format_bgra GL_EXT_robustness GL_EXT_sRGB GL_EXT_shader_texture_lod GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_s3tc_srgb GL_EXT_texture_filter_anisotropic GL_EXT_texture_format_BGRA8888 GL_EXT_texture_rg GL_EXT_texture_storage GL_EXT_unpack_subimage GL_KHR_debug GL_NV_EGL_stream_consumer_external GL_NV_fence GL_NV_pack_subimage GL_NV_pixel_buffer_object GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth32 GL_OES_element_index_uint GL_OES_get_program_binary GL_OES_mapbuffer GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_OES_standard_derivatives GL_OES_surfaceless_context GL_OES_texture_float GL_OES_texture_float_linear GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_texture_npot GL_OES_vertex_array_object OES_compressed_EAC_R11_signed_texture OES_compressed_EAC_R11_unsigned_texture OES_compressed_EAC_RG11_signed_texture OES_compressed_EAC_RG11_unsigned_texture OES_compressed_ETC2_RGB8_texture OES_compressed_ETC2_RGBA8_texture OES_compressed_ETC2_punchthroughA_RGBA8_texture OES_compressed_ETC2_punchthroughA_sRGB8_alpha_texture OES_compressed_ETC2_sRGB8_alpha8_texture OES_compressed_ETC2_sRGB8_texture
    Disabled Extensions	GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent
    Disabled WebGL Extensions	EXT_disjoint_timer_query EXT_disjoint_timer_query_webgl2
    Window system binding vendor	Google Inc. (adapter LUID: 000000000000996d)
    Window system binding version	1.4 (ANGLE 2.1.0.unknown hash)
    Window system binding extensions	EGL_EXT_create_context_robustness EGL_ANGLE_d3d_share_handle_client_buffer EGL_ANGLE_d3d_texture_client_buffer EGL_ANGLE_surface_d3d_texture_2d_share_handle EGL_ANGLE_query_surface_pointer EGL_ANGLE_window_fixed_size EGL_ANGLE_keyed_mutex EGL_ANGLE_surface_orientation EGL_ANGLE_direct_composition EGL_NV_post_sub_buffer EGL_KHR_create_context EGL_EXT_device_query EGL_KHR_image EGL_KHR_image_base EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_KHR_get_all_proc_addresses EGL_KHR_stream EGL_KHR_stream_consumer_gltexture EGL_NV_stream_consumer_gltexture_yuv EGL_ANGLE_flexible_surface_compatibility EGL_ANGLE_stream_producer_d3d_texture EGL_ANGLE_create_context_webgl_compatibility EGL_CHROMIUM_create_context_bind_generates_resource EGL_CHROMIUM_sync_control EGL_EXT_pixel_format_float EGL_KHR_surfaceless_context EGL_ANGLE_display_texture_share_group EGL_ANGLE_create_context_client_arrays EGL_ANGLE_program_cache_control EGL_ANGLE_robust_resource_initialization EGL_ANGLE_create_context_extensions_enabled
    Direct rendering	Yes
    Reset notification strategy	0x8252
    GPU process crash count	0
    Compositor Information
    Tile Update Mode	One-copy
    Partial Raster	Enabled
    GpuMemoryBuffers Status
    ATC	Software only
    ATCIA	Software only
    DXT1	Software only
    DXT5	Software only
    ETC1	Software only
    R_8	Software only
    R_16	Software only
    RG_88	Software only
    BGR_565	Software only
    RGBA_4444	Software only
    RGBX_8888	GPU_READ, SCANOUT
    RGBA_8888	GPU_READ, SCANOUT
    BGRX_8888	Software only
    BGRX_1010102	Software only
    RGBX_1010102	Software only
    BGRA_8888	Software only
    RGBA_F16	Software only
    YVU_420	Software only
    YUV_420_BIPLANAR	Software only
    UYVY_422	Software only
    Display(s) Information
    Info	Display[2528732444] bounds=[0,0 1280x800], workarea=[0,0 1280x760], scale=1, external.
    Color space information	{primaries:BT709, transfer:IEC61966_2_1, matrix:RGB, range:FULL}
    Bits per color component	8
    Bits per pixel	24
    Video Acceleration Information
    Decode h264 baseline	up to 1920x1088 pixels
    Decode h264 main	up to 1920x1088 pixels
    Decode h264 high	up to 1920x1088 pixels
    Encode h264 baseline	up to 3840x2176 pixels and/or 30.000 fps
    Encode h264 main	up to 3840x2176 pixels and/or 30.000 fps
    Encode h264 high	up to 3840x2176 pixels and/or 30.000 fps
    Diagnostics
    0
    b3DAccelerationEnabled	true
    b3DAccelerationExists	true
    bAGPEnabled	true
    bAGPExistenceValid	true
    bAGPExists	true
    bCanRenderWindow	true
    bDDAccelerationEnabled	true
    bDriverBeta	false
    bDriverDebug	false
    bDriverSigned	false
    bDriverSignedValid	false
    bNoHardware	false
    dwBpp	32
    dwDDIVersion	10
    dwHeight	800
    dwRefreshRate	60
    dwWHQLLevel	0
    dwWidth	1280
    iAdapter	0
    lDriverSize	1094024
    lMiniVddSize	0
    szAGPStatusEnglish	Enabled
    szAGPStatusLocalized	Enabled
    szChipType	ATI display adapter (0x95C4)
    szD3DStatusEnglish	Enabled
    szD3DStatusLocalized	Enabled
    szDACType	Internal DAC(400MHz)
    szDDIVersionEnglish	10.1
    szDDIVersionLocalized	10.1
    szDDStatusEnglish	Enabled
    szDDStatusLocalized	Enabled
    szDXVAHDEnglish	Not Supported
    szDXVAModes	ModeMPEG2_A ModeMPEG2_C
    szDescription	ATI Mobility Radeon HD 3400 Series
    szDeviceId	0x95C4
    szDeviceIdentifier	{D7B71EE2-D684-11CF-A076-16DFBEC2C535}
    szDeviceName	\\.\DISPLAY1
    szDisplayMemoryEnglish	2042 MB
    szDisplayMemoryLocalized	2042 MB
    szDisplayModeEnglish	1280 x 800 (32 bit) (60Hz)
    szDisplayModeLocalized	1280 x 800 (32 bit) (60Hz)
    szDriverAssemblyVersion	8.970.100.9001
    szDriverAttributes	Final Retail
    szDriverDateEnglish	13.01.2015 3:00:00
    szDriverDateLocalized	1/13/2015 03:00:00
    szDriverLanguageEnglish	English
    szDriverLanguageLocalized	English
    szDriverModelEnglish	WDDM 1.1
    szDriverModelLocalized	WDDM 1.1
    szDriverName	aticfx64.dll,aticfx64.dll
    szDriverNodeStrongName	oem2.inf:cb0ae4144264b8e2:ati2mtag_M72:8.970.100.9001:pci\ven_1002&dev_95c4
    szDriverSignDate	Unknown
    szDriverVersion	8.17.0010.1129
    szKeyDeviceID	Enum\PCI\VEN_1002&DEV_95C4&SUBSYS_FF1C1179&REV_00
    szKeyDeviceKey	\Registry\Machine\System\CurrentControlSet\Control\Video\{43064B52-8C87-401E-8EF9-D7C2CC917F4D}\0000
    szManufacturer	Advanced Micro Devices, Inc.
    szMiniVdd	unknown
    szMiniVddDateEnglish	Unknown
    szMiniVddDateLocalized	unknown
    szMonitorMaxRes	Unknown
    szMonitorName	Generic PnP Monitor
    szNotesEnglish	No problems found.
    szNotesLocalized	No problems found.
    szOverlayEnglish	Not Supported
    szRankOfInstalledDriver	00D72001
    szRegHelpText	Unknown
    szRevision	Unknown
    szRevisionId	0x0000
    szSubSysId	0xFF1C1179
    szTestResultD3D7English	Not run
    szTestResultD3D7Localized	Not run
    szTestResultD3D8English	Not run
    szTestResultD3D8Localized	Not run
    szTestResultD3D9English	Not run
    szTestResultD3D9Localized	Not run
    szTestResultDDEnglish	Not run
    szTestResultDDLocalized	Not run
    szVdd	unknown
    szVendorId	0x1002
    Log Messages
    [2296:4352:0908/084151.667:ERROR:gles2_command_buffer_stub.cc(227)] : ContextResult::kFatalFailure: Failed to create surface.
    GpuProcessHostUIShim: The GPU process exited normally. Everything is okay.
    GpuProcessHostUIShim: The GPU process exited normally. Everything is okay.
    
  • they may use an unsupported video/audio format try installing a codec pack like KLite and see if that makes a difference

  • @athlonite k-kite codecs pack makes no difference. either it's installed or removed

  • @ultramax well then I have no idea what your problem is as both the linked video and (god forbid) pornhub videos work like they should for me also that GPU is fairly old so I wouldn't be expecting to much support from Opera for it as even AMD have relegated it to SOL when it comes to driver support

  • @athlonite This is why I'm here at specialized Opera forums and posted my opera://gpu/ details
    Maybe my videocard is dying... or smth. Just wonder if someone can help understand this. Maybe this is smth related to Win10 LTSB and I need to roll back to Win7

  • @ultramax I would say it's a driver issue as I said you have an old GPU AMD don't support it anymore and as you say turning off hardware acceleration allows the videos to play but with it on it fails there is the problem it's not a windows problem but an old hardware problem also I think FF and IE don't have hardware acceleration turned on by default like Opera or Chrome or most any Chromium based browser does that's why they just work OTB

  • @athlonite Several months ago all was working correctly. The same sites, the same system
    I wonder what type of the embedded video is it as I tried Live Unintu 18.04 - neither firefox nor opera can play it. I just see spinning circle and that's all

    UPD just tried to enable hardware acceleration in FireFox - also shows OK without any issues

  • So - just FYI (as they say)
    I spent couple of days trying different versions of windows to see what will be happening with the latest version of Opera and this is what I found
    Win 7 (either 32 or 64 bit) - no problems with Hardware Acceleration
    Win 10 (either 32 or 64 bit) - Hardware Acceleration does not work in Opera

    So this is probably something related to Win 10 driver (for all cases I was using automatically installed drivers from Windows Update). This makes me guess: What are my next steps: roll back to Win 7 or try to find a driver for Win 10 to make it work correctly. Maybe install Win 7 driver..

    Am I correct?

    PS But anyway - FireFox with Hardware acceleration works well (and IE with Hardware acceleration also works well). Maybe smth wrong with chromium engine? Does it make sense to ask someone from opera tech support?

  • Seems like it's a Chromium issue. Found other people with the same problems
    Raised it here, we will see if it can be fixed

  • https://bugs.chromium.org/p/chromium/issues/detail?id=820643#c41 suggests (the specific problem in that bug) to leave hardware acceleration on and just modify Opera's shortcut to pass --disable-direct-composition to launcher.exe.

    Not sure if that'll work around this case, but it's worth a try for now. Also not sure how much of a performance hit that is, but maybe it's less than disabling hardware acceleration completely.

  • @burnout426 this is my comment, #41 🙂
    I already modified my shortcut that starts the browser. Yes, it helps... but... I'd like to see it's good without any modification, like it works in Win 7

  • @ultramax said in Hardware acceleration breaks video on a page:

    So - just FYI (as they say)
    I spent couple of days trying different versions of windows to see what will be happening with the latest version of Opera and this is what I found
    Win 7 (either 32 or 64 bit) - no problems with Hardware Acceleration
    Win 10 (either 32 or 64 bit) - Hardware Acceleration does not work in Opera

    So this is probably something related to Win 10 driver (for all cases I was using automatically installed drivers from Windows Update). This makes me guess: What are my next steps: roll back to Win 7 or try to find a driver for Win 10 to make it work correctly. Maybe install Win 7 driver..

    Am I correct?

    PS But anyway - FireFox with Hardware acceleration works well (and IE with Hardware acceleration also works well). Maybe smth wrong with chromium engine? Does it make sense to ask someone from opera tech support?

    Never use drivers for GPU, Audio or Network card from Microsoft they somehow manage to screw them up go here>>>
    link text

    download and install this driver and see if it make any difference

  • @athlonite said in Hardware acceleration breaks video on a page:

    Never use drivers for GPU, Audio or Network card from Microsoft they somehow manage to screw them up go here>>>
    link text
    download and install this driver and see if it make any difference

    There is no AMD Mobility Radeon 3400 driver for Win 10 from AMD exists. Do you suggest installing smth from either Win 7 or Win 8?

  • And I have just downloaded drivers for Win 8 x64 - installed from AMD
    The same version like it used to be when it was installed by Windows update, the same issue like it used to be

  • @ultramax I think your expecting a little to much from an Legacy EOL gpu mate I posted the latest available drivers for your GPU if they don't work under Windows 10 like you want then it's probably time to upgrade your laptop to something a little more recent with a supported GPU

  • @athlonite the same drivers for Win 10 and Win 7 behave differently. And again, I was discussing the issue below (see link) so chromium support confirmed that this is chromium issue

    @burnout426 said in Hardware acceleration breaks video on a page:

    @ultramax See https://bugs.chromium.org/p/chromium/issues/detail?id=800950#c46 if you haven't.

    Already there

  • @burnout426
    ATI Radeon HD 4200 had that problem since around chromium v64. Just tried the --disable-direct-composition switch per your suggestion and it works! The cpu was pegged at 100% at full screen, when using no hardware acceleration. With it turned on and the command line switch, the cpu dropped to 50% or less at full screen. Worked on both opera 57 and vivaldi-snapshot. Seems good so far. Thanks!
    Win10

    On same box using debian, I never had any problems with same browsers. On Win10, I think the problem affects the entire ati HD 4000 series.