Skip to content
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

Transparent line across the top of the web view #436

Closed
a-m-s opened this issue May 10, 2018 · 12 comments
Closed

Transparent line across the top of the web view #436

a-m-s opened this issue May 10, 2018 · 12 comments
Labels
QtWebEngine port Related to new QtWebEngine port of Nuvola. type: bug Something is not working as expected or the documentation is incorrect.

Comments

@a-m-s
Copy link

a-m-s commented May 10, 2018

Blocked by tiliado/valacef#11

There is a transparent line across the top of every web view that does not appear in other browsers. It's typically rendered in white, and is particularly noticeable when watching full-screen videos (e.g. YouTube or BBC).

It's been bugging me for a while, but I've just noticed that it shows up in snapshots taken with the new sidebar too:
webview
You'll probably have to download that image and view it in an external tool to see the problem (Gnome Image Viewer works).

@jiri-janousek
Copy link
Member

Yeah, it looks as if the top 1 px line was erased. Playing with the offset of the web view X window does not help.

@jiri-janousek jiri-janousek added the type: bug Something is not working as expected or the documentation is incorrect. label May 10, 2018
@jiri-janousek
Copy link
Member

It's pixel-perfect in ValaCEF so the issue is in Nuvola Runtime.

@jiri-janousek
Copy link
Member

  • I've added a 2px red line at y=0 and a shorter 1px green line at y=1. Initially, the top part of the red line was not visible, confirming this issue.
  • Then I set margin-top to 1px and the line became visible, i.e. the web view is not crippled anymore. I suppose that whatever painted over the web view now paints over the 1px margin (light grey color).
    zoomed
  • The snapshot of the web views also looks good, so I suppose the fullscreen mode will work well as well. I'll rebuild Nuvola ADK for you to check that.
  • I think it is a pretty good workaround until I find out which GTK+ widgetry is responsible for the issue and how to fix that for good.

jiri-janousek added a commit that referenced this issue May 11, 2018
A workaround for an erased 1px top line.

Issue: #436

Signed-off-by: Jiří Janoušek <janousek.jiri@gmail.com>
@jiri-janousek
Copy link
Member

The snapshot of the web views also looks good, so I suppose the fullscreen mode will work well as well. I'll rebuild Nuvola ADK for you to check that.

Hello @ams, could you confirm that with the latest ADK or any app flatpak (stable or master)?

I think it is a pretty good workaround until I find out which GTK+ widgetry is responsible for the issue and how to fix that for good.

I'm afraid it is necessary to switch to windowless/off-screen rendering as the current windowed rendering doesn't work well with GTK+ 3 drawing model and it will get even worse with GTK+ 4. CEF supports OSR, but it is not accelerated yet (tiliado/valacef#11).

@jiri-janousek jiri-janousek added the blocked This ticket is blocked by another ticked, which needs to be resolved first. label May 13, 2018
@a-m-s
Copy link
Author

a-m-s commented May 15, 2018

The screen shot tool seems fixed, but I still see the line on my screen, in both windowed and fullscreen mode.
screenshot from 2018-05-15 13-41-02
You can see the white line between title bar and content.

@jiri-janousek
Copy link
Member

Sure, the line is expected in the windowed mode - as I said I added only a workaround with a 1px top margin. But I didn't expect it in the fullscreen mode. Now I remember how the fullscreen is implemented and it makes sense - I thought only the CEF window goes to fullscreen, but the fullscreen applies to the whole Nuvola window including the 1px top margin.

@jiri-janousek
Copy link
Member

@a-m-s, could you test with Nuvola/master and VALACEF_DEFAULT_RENDERING_MODE=offscreen? E.g. VALACEF_DEFAULT_RENDERING_MODE=offscreen flatpak run eu.tiliado.NuvolaAdk//master?

@jiri-janousek jiri-janousek added the need info Assignee needs more information to work on this ticket. label May 24, 2018
jiri-janousek added a commit that referenced this issue May 24, 2018
@a-m-s
Copy link
Author

a-m-s commented May 25, 2018

The first time I ran it I got a Segmentation Fault.

bash-4.3$ VALACEF_DEFAULT_RENDERING_MODE=offscreen nuvolaruntime -D
Runner: [DEBUG Δ058137us DioriteGtk] DesktopShell.vala:251: Shell: gnome shell 3.28.2, CSD 1, appmenu 1, menubar 0
Runner: [DEBUG Δ000726us Nuvola] Connection.vala:115: Network Proxy: system settings
Runner: [DEBUG Δ000991us Nuvola] WebkitOptions.vala:51: MSE supported: no
Runner: [WARNING Δ014016us Nuvola] StartupWindow.vala:83: Unable to load application icon.
Runner: [DEBUG Δ000223us Nuvola] WebApp.vala:340: Theme icon eu.tiliado.NuvolaAdkAppBbcIplayer 64 not found.
Runner: [DEBUG Δ140647us Nuvola] AppRunnerController.vala:114: Scale factor: 1
Runner: [DEBUG Δ007849us Nuvola] FormatSupport.vala:86: Trying to play /app/share/nuvolaruntime/audio/audiotest.mp3.
Runner: [DEBUG Δ001405us DioriteGtk] Application.vala:276: XFCE session vanished: org.xfce.SessionManager
Runner: [DEBUG Δ000260us Nuvola] FormatSupport.vala:86: Pipeline state changed from NULL to READY.
Runner: [DEBUG Δ000401us Nuvola] Graphics.vala:35: Nvidia 396.24, i915 1, bumblebeed 1 => ignored 1
Runner: [DEBUG Δ010071us Nuvola] FormatSupport.vala:86: Pipeline state changed from READY to PAUSED.
Runner: [DEBUG Δ000224us Nuvola] FormatSupport.vala:86: Pipeline state changed from PAUSED to PLAYING.
Runner: [DEBUG Δ007876us Nuvola] FormatSupport.vala:86: End of stream for file /app/share/nuvolaruntime/audio/audiotest.mp3.
Runner: [DEBUG Δ004109us Nuvola] StartupCheck.vala:216: Checking requirements with WebKitGTK 2.20.2
Runner: [DEBUG Δ000081us Nuvola] Traits.vala:62: Chromium[65] -> DRT_REQUIREMENT_STATE_UNSUPPORTED 
Runner: [DEBUG Δ000039us Nuvola] Traits.vala:62: Codec[H264] -> DRT_REQUIREMENT_STATE_UNSUPPORTED 
Runner: [DEBUG Δ000029us Nuvola] Traits.vala:62: Codec[MP3] -> DRT_REQUIREMENT_STATE_SUPPORTED 
Runner: [DEBUG Δ000030us Nuvola] Traits.vala:62: Feature[MSE] -> DRT_REQUIREMENT_STATE_UNSUPPORTED 
Runner: [DEBUG Δ000029us Nuvola] WebkitOptions.vala:136: Nuvola.WebPlugin: Shockwave Flash (enabled, flash) at /app/lib/flash/libflashplayer.so: Shockwave Flash 28.0 r0
Runner: [DEBUG Δ000020us Nuvola] Traits.vala:62: Feature[Flash] -> DRT_REQUIREMENT_STATE_SUPPORTED 
Runner: [DEBUG Δ000024us Nuvola] StartupCheck.vala:216: Checking requirements with Chromium 67.0.3396.30
Runner: [DEBUG Δ000031us Nuvola] Traits.vala:62: Chromium[65] -> DRT_REQUIREMENT_STATE_SUPPORTED 
Runner: [DEBUG Δ000024us Nuvola] Traits.vala:62: Codec[H264] -> DRT_REQUIREMENT_STATE_SUPPORTED 
Runner: [DEBUG Δ000024us Nuvola] Traits.vala:62: Codec[MP3] -> DRT_REQUIREMENT_STATE_SUPPORTED 
Runner: [DEBUG Δ000024us Nuvola] Traits.vala:62: Feature[MSE] -> DRT_REQUIREMENT_STATE_SUPPORTED 
Runner: [DEBUG Δ000029us Nuvola] Traits.vala:62: Feature[Flash] -> DRT_REQUIREMENT_STATE_UNKNOWN 
Runner: [DEBUG Δ000242us CefGtk] init.vala:84: No widevine plugin dir.
InitLibcLocaltimeFunctions
Your system is broken: dlsym doesn't work! This has been reported to be caused by Nvidia's libGL. You should expect time related functions to misbehave. http://code.google.com/p/chromium/issues/detail?id=16800
InitLibcLocaltimeFunctions
Runner: [DEBUG Δ043812us Nuvola] StartupCheck.vala:247: Checking requirements with Chromium 67.0.3396.30
Runner: [DEBUG Δ000069us Nuvola] Traits.vala:62: Chromium[65] -> DRT_REQUIREMENT_STATE_SUPPORTED 
Runner: [DEBUG Δ000039us Nuvola] Traits.vala:62: Codec[H264] -> DRT_REQUIREMENT_STATE_SUPPORTED 
Runner: [DEBUG Δ000034us Nuvola] Traits.vala:62: Codec[MP3] -> DRT_REQUIREMENT_STATE_SUPPORTED 
Runner: [DEBUG Δ000032us Nuvola] Traits.vala:62: Feature[MSE] -> DRT_REQUIREMENT_STATE_SUPPORTED 
Runner: [DEBUG Δ000033us Nuvola] Traits.vala:62: Feature[Flash] -> DRT_REQUIREMENT_STATE_SUPPORTED 
InitLibcLocaltimeFunctions
Runner: [WARNING Δ256944us Nuvola] WebAppWindow.vala:77: Unable to load application icon.
Runner: [DEBUG Δ003990us Nuvola] WebkitOptions.vala:51: MSE supported: no
Runner: [INFO Δ000250us Nuvola] CefEngine.vala:295: Partially implemented: register_ipc_handlers()
Runner: [INFO Δ000152us CefGtk] WebView.vala:74: CEF rendering mode: CEF_GTK_RENDERING_MODE_OFFSCREEN
Runner: [INFO Δ003435us CefGtk] Client.vala:106: get_life_span_handler
Segmentation fault (core dumped)

However, subsequent runs all worked correctly, and the annoying line across the top is gone. :-)

@jiri-janousek
Copy link
Member

Great, so the offscreen rendering seems to be a promising way to go as it solves three bugs. Unfortunately, the memory & CPU usage suffers as Nuvola needs to keep the pixel buffer around (~40 MB for Full HD) and does the final drawing with CPU instead of GPU (Poster circle gives 23 fps instead of 60 fps). That needs to be optimized. More at tiliado/valacef#11

@jiri-janousek jiri-janousek removed the need info Assignee needs more information to work on this ticket. label May 25, 2018
@jiri-janousek jiri-janousek added the QtWebEngine port Related to new QtWebEngine port of Nuvola. label Feb 16, 2020
@jiri-janousek
Copy link
Member

This should be resolved with #583.

@jiri-janousek jiri-janousek removed the blocked This ticket is blocked by another ticked, which needs to be resolved first. label Oct 27, 2020
@jiri-janousek
Copy link
Member

This will be fixed in the QtWebWengine port of Nuvola in #583. The work-in-progress components Wayland Embedded View Framework Server and Wayland Embedded View Framework Client don't exhibit this issue.

@jiri-janousek
Copy link
Member

I'm closing this ticket as Nuvola Player has discontinued active development. We are going to provide only integration bug fixes on a best-effort basis until the final End-of-Life on December 31, 2022. I'm sorry that I haven't managed to resolve this ticket in time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
QtWebEngine port Related to new QtWebEngine port of Nuvola. type: bug Something is not working as expected or the documentation is incorrect.
Projects
None yet
Development

No branches or pull requests

2 participants