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

[Bug]: Certain Videos glitch out into a white screen #5975

Closed
6 tasks done
liammcsh2008 opened this issue Oct 27, 2024 · 38 comments · Fixed by #6489
Closed
6 tasks done

[Bug]: Certain Videos glitch out into a white screen #5975

liammcsh2008 opened this issue Oct 27, 2024 · 38 comments · Fixed by #6489
Labels

Comments

@liammcsh2008
Copy link

liammcsh2008 commented Oct 27, 2024

Guidelines

  • I have encountered this bug in the latest release of FreeTube.
  • I have encountered this bug in the official downloads of FreeTube.
  • I have searched the issue tracker for open and closed issues that are similar to the bug report I want to file, without success.
  • I have searched the documentation for information that matches the description of the bug I want to file, without success.
  • This issue contains only one bug.

Describe the bug

  1. Go to a certain video
  2. Click play
  3. FreeTube Glitches out and video gets a white screen

Expected Behavior

Video should play normally

Issue Labels

causes crash, content not loading

FreeTube Version

v0.22.0

Operating System Version

Windows 11 version 23H2

Installation Method

.exe

Primary API used

Local API

Last Known Working FreeTube Version (If Any)

No response

Additional Information

Result of new video player update

Nightly Build

@absidue
Copy link
Member

absidue commented Oct 27, 2024

As with your last bug report, please provide a lot more information, ideally in the original message so we don't have to ask you for it. The more information you can provide the more likely we are going to be able to investigate t and find a solution. Using vague language like "certain videos" but not actually providing the videos, doesn't help, because we can't read minds, we have no idea what is happening on your computer unless you provide details.

@liammcsh2008
Copy link
Author

image
image

@tuxayo
Copy link

tuxayo commented Oct 27, 2024

@liammcsh2008 links please, to make it as easy as possible.

@liammcsh2008
Copy link
Author

@liammcsh2008
Copy link
Author

@liammcsh2008
Copy link
Author

https://www.youtube-nocookie.com/embed/xXBHkxJPhwU don't forget about that too

@Nvixbl

This comment has been minimized.

@absidue
Copy link
Member

absidue commented Oct 28, 2024

@Nvixbl That is completely unrelated, it's yellow so just a warning and it's part of the YouTube response that FreeTube doesn't even use.

@PHY1643
Copy link

PHY1643 commented Oct 28, 2024

I am also experiencing this. However, it does not occur with "certain" videos; it occurs with nearly any video. If I open a video, click play, and then switch to either "full window" or "full screen", the video blanks out to white with the tiny frowny face at the upper right. (Audio continues to play.) Same thing if I move the FreeTube window from one screen to another while a video is playing.

My info:
OS: Linux (Pop!_OS 22.04 LTS)
FreeTube Version: 0.22.0 Beta (Flatpak)
Hardware: Intel i7-10170U (integrated graphics); 16GB RAM

@0Nero0
Copy link

0Nero0 commented Oct 28, 2024

Only happens in the flatpak app for me, appimage works fine.

@Erothas
Copy link

Erothas commented Oct 28, 2024

I was about to create a new issue about this yesterday, but I got lazy, and waited for someone else to do it instead. As @PHY1643 stated, this happens with nearly any video for me. There are a few weird things about it though:

  • Once you enable the picture-in-picture mode, the video starts playing just fine; in the separate picture window, of course.
  • The problem does not occur all the time. So, I switched on my PC an hour ago, and it was working fine. I quit freetube, and decided to relaunch it a bit later. Now it's back to the white screen. So, after experiencing this for two days, it seems to random.
  • I believe this issue is only exclusive to the flatpak variant on Linux.

@PHY1643
Copy link

PHY1643 commented Oct 29, 2024

One other comment (Flatpak only; I've not tested other installs): I've found that once a video blanks out to a white screen, the only way I can reliably restore proper functionality is to quit FreeTube, clear out its cache (manually, via the terminal), relaunch FreeTube, and restart the video. If I don't clear the cache and pre-emptively set the window size/function, then I get a white screen again and have to start over.

@chev2
Copy link

chev2 commented Oct 29, 2024

In my case, this appears to be some sort of hardware acceleration issue. I always get this warning in the dev tools console whenever a video 'crashes'/turns into a white screen:
Screenshot_20241028_204929
...which points to it being some sort of mishap with my GPU. I have an AMD RX 6700 XT for reference. I'm running the Flatpak version of FreeTube but I haven't tested any other formats like the AppImage.

Also, I'd like to point out that for me, the audio track of the video continues to work, so it's only video that's breaking.

A workaround I found was disabling the Flatpak permission device=dri (If you use Flatseal then it's "GPU acceleration" under the Device category) which I assume makes FreeTube fall back to using software-based rendering. I don't really need hardware acceleration so this works fine for me as a solution.

In case it's needed, here's my system specs:

- OS: EndeavourOS Linux (kernel version 6.6.58-1-lts)
- CPU: Intel i5-9600K
- GPU: AMD Radeon RX 6700 XT (kernel driver: amdgpu)
- 32 GB RAM
- FreeTube Flatpak version: 0.22.0 Beta
- Mesa driver version: 24.2.5

@absidue

This comment was marked as off-topic.

@FreeTubeApp FreeTubeApp deleted a comment from miltuss Nov 1, 2024
@FreeTubeApp FreeTubeApp deleted a comment from miltuss Nov 1, 2024
@absidue
Copy link
Member

absidue commented Nov 1, 2024

@chev2 Thank you for the detailed information, definitely sounds like an issue with hardware acceleration which is causing Chromium's player to crash (if you look in the top left corner of the white area you'll notice a square with a :( inside of it, which to me at least seems to indicate that it crashed). As you are using Linux and an AMD GPU could you please try running FreeTube with --enable-features=''? In the past some people have had issues with VA-API and AMD GPUs with FreeTube.

@absidue
Copy link
Member

absidue commented Nov 1, 2024

Another thing to check is if you get anything interesting logged to the terminal when the crash happens (you'll have to launch FreeTube from the terminal), maybe it is logging it there instead of to the devtools as something is crashing in the internals of Chromium.

@Nvixbl
Copy link

Nvixbl commented Nov 1, 2024

Are these errors relevant? I found these only showing up in the console whenever this issue with the video image happens, the audio works fine, no other errors reported. I'm running Nvidia proprietery drivers.

Screenshot From 2024-11-01 11-41-42

@absidue
Copy link
Member

absidue commented Nov 1, 2024

@Nvixbl No, those hopefully shouldn't be related those are about the thumbnails you see when you hover over the seek bar.

Can you try running FreeTube from your terminal and see if anything interesting pops up there when the error happens?

@Nvixbl
Copy link

Nvixbl commented Nov 1, 2024

@absidue here's what shows up upon launching the app:
Screenshot From 2024-11-01 12-01-57

Also the images displayed on hover work all the time even though the video itself doesn't and so far I haven't experienced this issue on my other machine with the AMD APU (flatpak too), giving you all the info I can think of because I got no idea what to look for tbh.

@absidue
Copy link
Member

absidue commented Nov 1, 2024

Okay that is very interesting, according to the log something is going wrong while doing something with images???, so the GPU process restarts itself in an attempt to recover from it, which is why video playback ends. Thank you for all the information.

@kccloy
Copy link

kccloy commented Nov 1, 2024

Ubuntu 24.04 ARC-750 graphics works fine with --enable-features='' mentioned earlier

Without flag console session though I forgot to see which timestamp matches the white screen. Not sure it's helpful but different than previous and no image errors (or rather different image error maybe?):

$ freetube --no-sandbox
[7253:1101/182041.849601:ERROR:gl_surface_presentation_helper.cc(260)] GetVSyncParametersIfAvailable() failed for 1 times!
[7253:1101/182053.920518:ERROR:gbm_wrapper.cc(431)] nullptr returned from gbm_bo_import
[7253:1101/182053.920634:ERROR:shared_image_factory.cc(946)] CreateSharedImage: could not create backing.
[7253:1101/182053.920770:ERROR:gpu_service_impl.cc(1164)] Exiting GPU process because some drivers can't recover from errors. GPU process will restart shortly.
[7215:1101/182053.938726:ERROR:gpu_process_host.cc(1007)] GPU process exited unexpectedly: exit_code=8704
[7429:1101/182134.481599:ERROR:gbm_wrapper.cc(431)] nullptr returned from gbm_bo_import
[7429:1101/182134.481686:ERROR:shared_image_factory.cc(946)] CreateSharedImage: could not create backing.
[7429:1101/182134.481765:ERROR:gpu_service_impl.cc(1164)] Exiting GPU process because some drivers can't recover from errors. GPU process will restart shortly.
[7215:1101/182134.491389:ERROR:gpu_process_host.cc(1007)] GPU process exited unexpectedly: exit_code=8704
[7580:1101/182155.896772:ERROR:gl_surface_presentation_helper.cc(260)] GetVSyncParametersIfAvailable() failed for 1 times!
[7580:1101/182155.905340:ERROR:gl_surface_presentation_helper.cc(260)] GetVSyncParametersIfAvailable() failed for 2 times!
[7580:1101/182157.685376:ERROR:gl_surface_presentation_helper.cc(260)] GetVSyncParametersIfAvailable() failed for 3 times!

@KPCOFGS

This comment has been minimized.

@panosalevropoulos
Copy link
Contributor

panosalevropoulos commented Nov 5, 2024

I have the same issue with Flatpak on AMD GPU. Using --enable-features='' fixes it for me.

Without --enable-features='':

F: Can't get document portal: GDBus.Error:org.freedesktop.DBus.Error.NoReply: Message recipient disconnected from message bus without replying
[2:1106/005212.560875:ERROR:bus.cc(407)] Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
LaunchProcess: failed to execvp:
xdg-settings
[2:1106/005212.662314:ERROR:bus.cc(407)] Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
[2:1106/005212.662351:ERROR:bus.cc(407)] Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
[2:1106/005212.664514:ERROR:object_proxy.cc(576)] Failed to call method: org.freedesktop.DBus.Properties.Get: object_path= /org/freedesktop/portal/desktop: org.freedesktop.DBus.Error.InvalidArgs: No such interface “org.freedesktop.portal.FileChooser”
[2:1106/005212.664523:ERROR:select_file_dialog_linux_portal.cc(287)] Failed to read portal version property
[46:1106/005216.770844:ERROR:gl_surface_presentation_helper.cc(260)] GetVSyncParametersIfAvailable() failed for 1 times!
[46:1106/005222.107816:ERROR:gl_surface_presentation_helper.cc(260)] GetVSyncParametersIfAvailable() failed for 2 times!
[46:1106/005227.932001:ERROR:gbm_wrapper.cc(431)] nullptr returned from gbm_bo_import
[46:1106/005227.932164:ERROR:shared_image_factory.cc(946)] CreateSharedImage: could not create backing.
[46:1106/005227.932336:ERROR:gpu_service_impl.cc(1164)] Exiting GPU process because some drivers can't recover from errors. GPU process will restart shortly.
[2:1106/005227.960676:ERROR:gpu_process_host.cc(1007)] GPU process exited unexpectedly: exit_code=8704
^C
[2 preload-host-spawn-strategy] Dropping 0x32f000108d80 (3) because of connection closed                                                                                                                                                                                                                                                            
[2:1106/005238.839357:FATAL:bus.cc(1246)] D-Bus connection was disconnected. Aborting.

With --enable-features='':

F: Can't get document portal: GDBus.Error:org.freedesktop.DBus.Error.NoReply: Message recipient disconnected from message bus without replying
[2:1106/005241.017668:ERROR:bus.cc(407)] Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
LaunchProcess: failed to execvp:
xdg-settings
[2:1106/005241.128982:ERROR:bus.cc(407)] Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
[2:1106/005241.129023:ERROR:bus.cc(407)] Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
[2:1106/005241.131671:ERROR:object_proxy.cc(576)] Failed to call method: org.freedesktop.DBus.Properties.Get: object_path= /org/freedesktop/portal/desktop: org.freedesktop.DBus.Error.InvalidArgs: No such interface “org.freedesktop.portal.FileChooser”
[2:1106/005241.131684:ERROR:select_file_dialog_linux_portal.cc(287)] Failed to read portal version property

@liammcsh2008
Copy link
Author

How can I do the --enable-features='' on Windows 11, which is what I am using for FreeTube?

@absidue
Copy link
Member

absidue commented Nov 6, 2024

@liammcsh2008 You don't, passing that on Windows won't do anything, as FreeTube only sets the enable features flag on Linux (to enable hardware accelerated video playback, which works automatically on Windows), so you would be setting something that is already empty to empty.

@chev2
Copy link

chev2 commented Nov 7, 2024

@chev2 Thank you for the detailed information, definitely sounds like an issue with hardware acceleration which is causing Chromium's player to crash (if you look in the top left corner of the white area you'll notice a square with a :( inside of it, which to me at least seems to indicate that it crashed). As you are using Linux and an AMD GPU could you please try running FreeTube with --enable-features=''? In the past some people have had issues with VA-API and AMD GPUs with FreeTube.

Apologies for not replying sooner. I can confirm that the --enable-features='' works for me same as other users have reported. As for logging, I get this output from journalctl when the player crashes:

Nov 06 16:53:29 endeavour-pc flatpak[41198]: [47:1106/165329.005306:ERROR:gbm_wrapper.cc(431)] nullptr returned from gbm_bo_import
Nov 06 16:53:29 endeavour-pc flatpak[41198]: [47:1106/165329.005406:ERROR:shared_image_factory.cc(946)] CreateSharedImage: could not create backing.
Nov 06 16:53:29 endeavour-pc flatpak[41198]: [47:1106/165329.005485:ERROR:gpu_service_impl.cc(1164)] Exiting GPU process because some drivers can't recover from errors. GPU process will restart shortly.
Nov 06 16:53:29 endeavour-pc flatpak[41143]: [2:1106/165329.015692:ERROR:gpu_process_host.cc(1007)] GPU process exited unexpectedly: exit_code=8704
Nov 06 16:53:29 endeavour-pc flatpak[41299]: [129:1106/165329.408517:ERROR:display.cc(197)] Frame latency is negative: -1.058 ms

Unfortunately I can't seem to run FreeTube from the command line (the Flatpak version, anyway), I just get a few errors before it exits. I'm not an expert on how Flatpak works, so I'm not sure if it's having trouble with permissions or portals and if I'm doing something wrong--It's likely unrelated with this bug, however.

$ flatpak run io.freetubeapp.FreeTube 
[2:1106/165952.668957:ERROR:bus.cc(407)] Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
LaunchProcess: failed to execvp:
xdg-settings
[2:1106/165952.783278:ERROR:wayland_connection.cc(198)] Failed to connect to Wayland display: No such file or directory (2)
[2:1106/165952.783297:ERROR:ozone_platform_wayland.cc(264)] Failed to initialize Wayland platform
[2:1106/165952.783300:ERROR:env.cc(258)] The platform failed to initialize.  Exiting.

@liammcsh2008
Copy link
Author

It's also been happening with videos with CinemaScope Ratio

@Erothas
Copy link

Erothas commented Nov 18, 2024

Is it normal that issues which renders the app unusable, take this long to be fixed? Genuine question.

@absidue
Copy link
Member

absidue commented Nov 18, 2024

@Erothas We are volunteers that work on FreeTube in our spare time, nobody is getting paid to work on FreeTube. If want things to happen faster, you are welcome to get your hands dirty and contribute to FreeTube, the app is open source and we accept pull requests.

Comments like that are counterproductive because all they do is demotivate us even further, which means we'll spend our spare time doing other things that aren't so mentally draining.

@Erothas
Copy link

Erothas commented Nov 18, 2024

@absidue First of all. I would like to apologise if my message came off as insensitive or brash in any way. That wasn't my intention. However, and as I explicitly stated, it was a genuine question, not an off handed comment meant to deliver any negativity. I am not a github guru or know anything about actual coding. I assumed, with the radio silence on this issue, that it may have been buried and/or unnoticed in some form or another. What I was after was simply a hint as to whether it really was normal for issues of this urgency to take this long, as I initially assumed it would be something that would be fixed right away.

Ultimately, my question should have been worded in a better way, I agree. However, I also feel like it wasn't egregious, if the last part of my question was to be taken into consideration. Anyway, once again, you have my apologies.

@absidue
Copy link
Member

absidue commented Nov 19, 2024

The two main reasons why nobody can do anything about this issue is that firstly it is not happening to any of the maintainers or anyone that has enough development experience with FreeTube to experiment with various things, the second reason is that it is highly likely to be some low-level incompatibility between certain graphics drivers and Chromium/Electron, which is completely out of our hands. All we can do is wait for updates to Chromium and Electron that hopefully fix it or experiment and see if we can avoid whatever triggers it on the FreeTube side, but as mentioned above that is currently not possible.

But yes to answer your question it is completely normal for things to take this long on a volunteer driven project, where the maintainers have limited time and especially in cases like this where the problem can't be reproduced by any of the maintainers. Nothing in FreeTube is actually urgent, despite what some users like you seem to think, if anything breaks you can always use other 3rd party clients or even YouTube's official ones in the meantime, it is not a life or death situation.

@Erothas
Copy link

Erothas commented Nov 19, 2024

Thank you very much for taking the time to reply once again. That was thorough and conclusive, and clarifies everything up for me.

@baumeister
Copy link

baumeister commented Nov 26, 2024

I have a similar issue with all three of deb, flatpak, or AppImage on

Kubuntu 24.04.1
KDE Plasma 5.27.11 (on X11)
AMD Radeon RX 6600

Whenever you watch a video and make it 'full-screen' it turns white while audio continues to work. After that all videos remain white even after un-maximizing again, or starting a different video. This remains in effect until you restart the application. The white videos still play correctly in picture in picture view. This behavior is fully reproducible, i.e. appears in 100% of attempts.

There is no error output to the console when the white screen problem is reproduced. However, when watching the first video the following is logged to the console (even when the video is still working and the error is not reproduced by maximizing):

[119707:1126/124601.712898:ERROR:gbm_wrapper.cc(431)] nullptr returned from gbm_bo_import
[119707:1126/124601.713001:ERROR:shared_image_factory.cc(946)] CreateSharedImage: could not create backing.
[119707:1126/124601.713157:ERROR:gpu_service_impl.cc(1164)] Exiting GPU process because some drivers can't recover from errors. GPU process will restart shortly.
[119648:1126/124601.729876:ERROR:gpu_process_host.cc(1007)] GPU process exited unexpectedly: exit_code=8704

Running the AppImage with --enable-features='' resolves the issue and also the above error does not appear on the console.

@Surpus
Copy link

Surpus commented Nov 27, 2024

for me running env -u WAYLAND_DISPLAY freetube fixed it

similar problem (also happened back when I used arch with flatpak, videos still have audio but have blank white screen fullscreen or not (pip still outputs the full video, external player can't play the video)

nixos 24.05, nix-channel 24.11
uwsm enabled
hyprland enabled

@absidue
Copy link
Member

absidue commented Dec 1, 2024

As mentioned in my previous messages the cause is likely an incompatiblity between certain graphics drivers and low level GPU handling in Chromium. The reason that passing --enable-features='' helps on Linux is that that disables FreeTube/Electron/Chromium using the VA-API or in other words it is no longer using hardware acceleration for video playback, which would explain why the GPU errors vanish in that case.

Could someone please try the latest FreeTube nightly which uses a newer Electron version that 0.22.0 and see if that helps? https://github.com/FreeTubeApp/FreeTube/actions/runs/12097704441 (you need to be logged in to GitHub for GitHub to let you download it)

If not we'll likely have to stop FreeTube enabling VA-API and Linux users will just have to accept that FreeTube won't use hardware acceleration for video playback.

@absidue
Copy link
Member

absidue commented Dec 1, 2024

@baumeister As you mentioned that it only happens when you switch to fullscreen, do you have the video quality set to auto or to a specific resolution? If it is set to auto, switching to full screen will usually make FreeTube switch to a higher resolution stream.

@baumeister
Copy link

I downloaded the 5184 AppImage but same problem:

./FreeTube-0.22.0-nightly-5184.AppImage --no-sandbox
xdg-mime: application argument missing
Try 'xdg-mime --help' for more information.
[557332:1201/105334.963175:ERROR:gbm_wrapper.cc(436)] nullptr returned from gbm_bo_import
[557332:1201/105334.963296:ERROR:shared_image_factory.cc(873)] CreateSharedImage: could not create backing.
[557332:1201/105334.963422:ERROR:gpu_service_impl.cc(1161)] Exiting GPU process because some drivers can't recover from errors. GPU process will restart shortly.
[557270:1201/105334.979219:ERROR:gpu_process_host.cc(982)] GPU process exited unexpectedly: exit_code=8704

Error again being printed to the console at the exact time I start the video. No error being printed when I maximize and the video turns white.

As you mentioned that it only happens when you switch to fullscreen, do you have the video quality set to auto or to a specific resolution? If it is set to auto, switching to full screen will usually make FreeTube switch to a higher resolution stream.

Video is at the default of 720p when I start it and stays like this after I maximize and the screen has turned white. Changing the resolution before or after does not make a difference. However, I now realized that the white videos are not just caused by maximizing (it's just that I always maximize it on one display by habit) but I can also reliably reproduce it by just switching to a different video from the initial one. And I can also reproduce it by maximizing and then unmaximizing the application window while the stream is running (even without maximizing the stream inside of it).

Copy link
Contributor

github-actions bot commented Dec 9, 2024

This issue has been automatically closed because there has been no response to our request for more information from the original author. With only the information that is currently in the issue, we don't have enough information to take action. Please reach out if you have or find the answers we need so that we can investigate further.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.