[mythtv] Replace the QtWebKit code

Piotr Oniszczuk piotr.oniszczuk at gmail.com
Thu Mar 17 15:19:14 UTC 2022



> Wiadomość napisana przez Paul Harrison <mythtv at mythqml.net> w dniu 11.03.2022, o godz. 11:48:
> 
> I have or had an initial patch to replace WebKit with WebEngine but basically I couldn't get it to keep rendering properly. What happens is any MythUI update to the screen stops the WebEngine widget from updating. If you run the frontend in a window and move the focus to another window and back to the frontend it will start to update again until another MythUI update stops it again. If you force the QT painter in the frontend it works OK so it appears to be some OpenGL compatibility. When I started to look more deeply I did notice our OpenGL renderer does make it's opengl contexts active but while the code is there to release the contexts it is commented out so we never release them. I'm no OpenGL expert so don't know if that is the real problem. The QT docs does say the WebEngine widget does require shared OpenGL contexts which we do have some support for but if we never release the contexts not sure it is going to work.

Paul,

FYI: i have a bit similar symptoms even with WebKit: video streaming is not refreshing screen or when streaming  - rest of UI screen blinks/disappears.

In my case above issues were: 1\theme dependent and 2\rendering method dependent.
1. Theme: to minimise issue make sure <webbrowser name="webbrowser" from="basebrowser"> is last widget in <window name="browser">
2. Rendering: make sure it is not EGLFS (dmabuf nor drm planes)

I think it is still worth:
-add code allowing to selectively use WebEngine (i.e. as newbasebrowser) in browser-ui.xml
-start to find where is root cause (as i.e. theme related issue might be more mythUI bug or mythUI vs. Qt best practices regarding how to properly use WebKit in Qt app)
-allows us to have code to play with when we will ask on Qt forums/StackExchange/etc for solution brainstorming

It is possible you will add your WebEngine code to myth webrowser plugin code?
Additional widget or maybe separate plugin?

br 
  
 
      


More information about the mythtv-dev mailing list