Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. QtWebEngine
  4. QT mf.dll error presumably OpenGl error
QtWS25 Last Chance

QT mf.dll error presumably OpenGl error

Scheduled Pinned Locked Moved Unsolved QtWebEngine
4 Posts 3 Posters 4.0k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • updatesvcU Offline
    updatesvcU Offline
    updatesvc
    wrote on last edited by updatesvc
    #1

    I get the following runtime errors when I run an QWebengineView program.I am on Windows 10 64bit.
    I read abit aout the issue(though i am not sure if is the same exact problem) here BUG REPORT.But it says merged code review1 and code review 2.I presume this means , it has been integrated into QT 5.9 framework.

    [9964:3004:0702/204303.476:INFO:dxva_video_decode_accelerator_win.cc(1120)] mf.dll is required for hardware video decoding
    [9964:3004:0702/204303.476:INFO:dxva_video_decode_accelerator_win.cc(1120)] mf.dll is required for hardware video decoding
    [9964:3004:0702/204303.774:ERROR:gl_context_wgl.cc(78)] Could not share GL contexts.
    [9964:3004:0702/204303.774:ERROR:gl_context_wgl.cc(78)] Could not share GL contexts.
    [9964:3004:0702/204303.775:ERROR:gpu_command_buffer_stub.cc(623)] Failed to create context.
    [9964:3004:0702/204303.787:ERROR:gl_context_wgl.cc(78)] Could not share GL contexts.
    [9964:3004:0702/204303.789:ERROR:gpu_command_buffer_stub.cc(623)] Failed to create context.
    [9964:3004:0702/204303.775:ERROR:gpu_command_buffer_stub.cc(623)] Failed to create context.
    [9964:3004:0702/204303.787:ERROR:gl_context_wgl.cc(78)] Could not share GL contexts.
    [9964:3004:0702/204303.789:ERROR:gpu_command_buffer_stub.cc(623)] Failed to create context.
    [9964:3004:0702/204303.909:ERROR:gl_context_wgl.cc(78)] Could not share GL contexts.
    [9964:3004:0702/204303.909:ERROR:gl_context_wgl.cc(78)] Could not share GL contexts.
    [9964:3004:0702/204303.911:ERROR:gpu_command_buffer_stub.cc(623)] Failed to create context.
    [9964:3004:0702/204303.921:ERROR:gl_context_wgl.cc(78)] Could not share GL contexts.
    [9964:3004:0702/204303.922:ERROR:gpu_command_buffer_stub.cc(623)] Failed to create context.
    [9964:3004:0702/204303.911:ERROR:gpu_command_buffer_stub.cc(623)] Failed to create context.
    [9964:3004:0702/204303.921:ERROR:gl_context_wgl.cc(78)] Could not share GL contexts.
    [9964:3004:0702/204303.922:ERROR:gpu_command_buffer_stub.cc(623)] Failed to create context.
    qt.network.ssl: QSslSocket: cannot resolve SSL_set_alpn_protos
    qt.network.ssl: QSslSocket: cannot resolve SSL_CTX_set_alpn_select_cb
    qt.network.ssl: QSslSocket: cannot resolve SSL_get0_alpn_selected
    

    The mf.dll error specifically is what has me worried.
    alt text

    T 1 Reply Last reply
    1
    • updatesvcU updatesvc

      I get the following runtime errors when I run an QWebengineView program.I am on Windows 10 64bit.
      I read abit aout the issue(though i am not sure if is the same exact problem) here BUG REPORT.But it says merged code review1 and code review 2.I presume this means , it has been integrated into QT 5.9 framework.

      [9964:3004:0702/204303.476:INFO:dxva_video_decode_accelerator_win.cc(1120)] mf.dll is required for hardware video decoding
      [9964:3004:0702/204303.476:INFO:dxva_video_decode_accelerator_win.cc(1120)] mf.dll is required for hardware video decoding
      [9964:3004:0702/204303.774:ERROR:gl_context_wgl.cc(78)] Could not share GL contexts.
      [9964:3004:0702/204303.774:ERROR:gl_context_wgl.cc(78)] Could not share GL contexts.
      [9964:3004:0702/204303.775:ERROR:gpu_command_buffer_stub.cc(623)] Failed to create context.
      [9964:3004:0702/204303.787:ERROR:gl_context_wgl.cc(78)] Could not share GL contexts.
      [9964:3004:0702/204303.789:ERROR:gpu_command_buffer_stub.cc(623)] Failed to create context.
      [9964:3004:0702/204303.775:ERROR:gpu_command_buffer_stub.cc(623)] Failed to create context.
      [9964:3004:0702/204303.787:ERROR:gl_context_wgl.cc(78)] Could not share GL contexts.
      [9964:3004:0702/204303.789:ERROR:gpu_command_buffer_stub.cc(623)] Failed to create context.
      [9964:3004:0702/204303.909:ERROR:gl_context_wgl.cc(78)] Could not share GL contexts.
      [9964:3004:0702/204303.909:ERROR:gl_context_wgl.cc(78)] Could not share GL contexts.
      [9964:3004:0702/204303.911:ERROR:gpu_command_buffer_stub.cc(623)] Failed to create context.
      [9964:3004:0702/204303.921:ERROR:gl_context_wgl.cc(78)] Could not share GL contexts.
      [9964:3004:0702/204303.922:ERROR:gpu_command_buffer_stub.cc(623)] Failed to create context.
      [9964:3004:0702/204303.911:ERROR:gpu_command_buffer_stub.cc(623)] Failed to create context.
      [9964:3004:0702/204303.921:ERROR:gl_context_wgl.cc(78)] Could not share GL contexts.
      [9964:3004:0702/204303.922:ERROR:gpu_command_buffer_stub.cc(623)] Failed to create context.
      qt.network.ssl: QSslSocket: cannot resolve SSL_set_alpn_protos
      qt.network.ssl: QSslSocket: cannot resolve SSL_CTX_set_alpn_select_cb
      qt.network.ssl: QSslSocket: cannot resolve SSL_get0_alpn_selected
      

      The mf.dll error specifically is what has me worried.
      alt text

      T Offline
      T Offline
      ThatDud3
      wrote on last edited by ThatDud3
      #2

      I too noticed these two things:

      1. Windows 10 reported as Windows NT 6.2 - specifically by QtWebEngine

      e.g.: QtWebEngine (demobrowser.exe) vs Chromium - UA

      Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) QtWebEngine/5.9.1 Chrome/56.0.2924.122 Safari/537.36

      Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36

      but I thought it was erroneously hard-coded at build time vs run-time detection

      1. aforementioned mf.dll
        there is actually mf.dll in Windows 10 (not sure that's what QtWebEngine is looking for) - C:\Windows\System32\mf.dll
        I tried to copy it in my projects folders - both debug and release without success.. perhaps we should copy it into some web engine deployment folder like .../resources or even within a *.pak

      I'm still looking for a solution (and a proper documentation too - still not sure it is searching for the same mf.dll in system32 folder)

      Keep us posted if you find an answer..

      1 Reply Last reply
      0
      • T Offline
        T Offline
        ThatDud3
        wrote on last edited by ThatDud3
        #3

        Finally found the offending code
        https://fossies.org/linux/qt-everywhere-opensource-src/qtwebengine/src/3rdparty/chromium/media/gpu/dxva_video_decode_accelerator_win.cc

        constexpr const wchar_t* const kMediaFoundationVideoDecoderDLLs[] = {
             L"mf.dll", L"mfplat.dll", L"msmpeg2vdec.dll",
         };
        //...
        VideoDecodeAccelerator::SupportedProfiles
          DXVAVideoDecodeAccelerator::GetSupportedProfiles(
              const gpu::GpuPreferences& preferences) {
        //...
            for (const wchar_t* mfdll : kMediaFoundationVideoDecoderDLLs) {
              if (!::GetModuleHandle(mfdll)) {
                // Windows N is missing the media foundation DLLs unless the media
                // feature pack is installed.
                DVLOG(ERROR) << mfdll << " is required for hardware video decoding";
                return profiles;
              }
            }
        }
        

        which implies I have so called Windows N (or KN - these come without Media Player/Framework at all) and I should install "Media Feature Pack for N editions of Windows 10 Version 1607"
        https://support.microsoft.com/en-us/help/3133719/media-feature-pack-for-n-editions-of-windows-10-version-1607

        ...but I'm on Windows 10 Enterprise (no N, KN whatsoever) and mf.dll is already present

        so far my best guess is - since GetModuleHandle parameter must point to "The name of the loaded module" for some reason that module (mf.dll) was not added as a dependency and/or not loaded at run-time (before the aforemetnoined call to GetModuleHandle) therefore not found and that's a totally different bug...

        1 Reply Last reply
        0
        • C Offline
          C Offline
          Croitor Alexandru
          wrote on last edited by
          #4

          You can ingore the mf.dll warnings. They will be removed once the patch at https://codereview.qt-project.org/#/c/201773/ is applied.

          1 Reply Last reply
          0

          • Login

          • Login or register to search.
          • First post
            Last post
          0
          • Categories
          • Recent
          • Tags
          • Popular
          • Users
          • Groups
          • Search
          • Get Qt Extensions
          • Unsolved