Chromium & Firefox can't play videos again

Dec 07, 2025 Last reply: 6 months ago 22 Replies

Once again an upgrade to Bookworm on a Pi5 has killed video playback in both Firefox and Chromium browsers. The video starts to load, thumbnails keep coming but the playback doesn't start and there's no sound.



I've tested it on the New York Times, YouTube, Netflix and some homemade videos that used to work. Now nothing plays, failing in the same way.



If anybody's seen this or knows a fix, please post.



Thanks for reading,



bob prohaska


What do you mean "once again"? Have you had this problem before? How did you solve it then?

... and why upgrade to Bookworm? Trixie (Debian 13) is the current version.

It's been cropping up routinely, a day or so after updating the system.

Simply continuing to update as updates were offered. Last time this occurred the issue was resolved in a couple of weeks, IIRC.

Bookworm is the established install on the host in question.

If there was reason to think upgrading to Trixie would help I'd try it, but so far nobody has suggested that's the case. Bullseye seemed to work pretty well, Bookworm somewhat less so. That trend isn't encouraging....

Far as I've seen, the _only_ problem has been with watching videos. Otherwise the system is well-behaved.

Thanks for writing,

bob prohaska

No, I don't think there's any particular reason to prefer Trixie over Bookworm if Bookworm works for you. Support for Debian "oldstable" is usually pretty good from Debian (though I think the Raspberry Pi people tend to concentrate on "stable", which would be Trixie at present).

Some third-party software works well with the RaspiOS that is current when it is released, and may only slowly (if ever) be updated for newer releases -- I'm thinking of support for some of Pimoroni's devices.

OTOH things like the Pi camera software is intended for "stable", and newer features/cameras may not work at all with older distros.

I'm not aware of any major differences in video support between distros. There IS a difference in hardware video support between Pi4 and Pi5 (I forget the details ... Pi4 has support for H.264 (and H.265?) but Pi5 - being much faster - expects you to do it in software? Something like that.). Of course, with a Pi5 you need a release that supports the Pi5, and I think Bookworm is the minimum.

When you start Firefox from a terminal does it complain about any missing libraries? Do video files play in other programs using libavcodec (mplayer, ffplay)?

Computer Nerd Kev snipped-for-privacy@telling.you.invalid> wrote:

If I point firefox at

formatting link
the controlling terminal reports a series of

[GFX1-]: Couldn't sanitize GL_RENDERER "V3D 7.1.7.0" [GFX1-]: Couldn't sanitize GL_RENDERER "V3D 7.1.7.0" GetShaderInfoLog() -> 0:2(12): error: extension `GL_EXT_shader_texture_lod' unsupported in fragment shader

GetShaderSource() ->

#extension GL_EXT_shader_texture_lod: require void main() {}

[GFX1-]: Couldn't sanitize GL_RENDERER "V3D 7.1.7.0" [GFX1-]: Couldn't sanitize GL_RENDERER "V3D 7.1.7.0" GetShaderInfoLog() -> 0:2(12): error: extension `GL_EXT_shader_texture_lod' unsupported in fragment shader

GetShaderSource() ->

#extension GL_EXT_shader_texture_lod: require void main() {}

Starting chromium causes the controlling terminal to emit [I cancelled a request to set a keychain password right off the bat]

bob@raspberrypi:~/Downloads$ chromium

formatting link
[833661:833661:1207/193840.050998:ERROR:components/dbus/xdg/request.cc:164] Request ended (non-user cancelled). [833661:833703:1207/193854.893048:ERROR:google_apis/gcm/engine/registration_request.cc:292] Registration response error message: DEPRECATED_ENDPOINT [833661:833661:1207/193855.098334:ERROR:mojo/public/cpp/bindings/lib/interface_endpoint_client.cc:732] Message 0 rejected by interface blink.mojom.WidgetHost [833719:833719:1207/193902.233304:ERROR:gpu/command_buffer/service/shared_image/shared_image_factory.cc:928] Could not find SharedImageBackingFactory with params: usage: Gles2Read|RasterRead|DisplayRead|CpuWriteOnly|CpuRead, format: (Y_UV, 420, 8unorm, ExtSamplerOff), share_between_threads: 0, gmb_type: shared_memory, size: 360x640, debug_label: MediaGmbVideoFramePoolMappableSI_Pid:833752_Pid:833752 [1207/193902.250822:WARNING:third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.cc:263] fpsimd not found [833719:833719:1207/193902.272407:ERROR:gpu/ipc/service/shared_image_stub.cc:206] SharedImageStub: Unable to create shared image [833719:833719:1207/193907.651407:ERROR:gpu/command_buffer/service/shared_image/shared_image_factory.cc:928] Could not find SharedImageBackingFactory with params: usage: Gles2Read|RasterRead|DisplayRead|CpuWriteOnly|CpuRead, format: (Y_UV, 420, 8unorm, ExtSamplerOff), share_between_threads: 0, gmb_type: shared_memory, size: 360x640, debug_label: MediaGmbVideoFramePoolMappableSI_Pid:0_Pid:0 [833719:833719:1207/193907.652464:ERROR:gpu/ipc/service/shared_image_stub.cc:206] SharedImageStub: Unable to create shared image [833719:833719:1207/193907.655955:ERROR:gpu/command_buffer/service/shared_image/shared_image_manager.cc:393] SharedImageManager::ProduceSkia: Trying to Produce a Skia representation from a non-existent mailbox. [833719:833719:1207/193907.930707:ERROR:gpu/command_buffer/service/shared_image/shared_image_manager.cc:393] SharedImageManager::ProduceSkia: Trying to Produce a Skia representation from a non-existent mailbox. [833719:833719:1207/193913.095313:ERROR:gpu/command_buffer/service/shared_image/shared_image_factory.cc:928] Could not find SharedImageBackingFactory with params: usage: Gles2Read|RasterRead|DisplayRead|CpuWriteOnly|CpuRead, format: (Y_UV, 420, 8unorm, ExtSamplerOff), share_between_threads: 0, gmb_type: shared_memory, size: 360x640, debug_label: MediaGmbVideoFramePoolMappableSI_Pid:0_Pid:0 [833719:833719:1207/193913.095521:ERROR:gpu/ipc/service/shared_image_stub.cc:206] SharedImageStub: Unable to create shared image [833719:833719:1207/193913.328449:ERROR:gpu/command_buffer/service/shared_image/shared_image_manager.cc:393] SharedImageManager::ProduceSkia: Trying to Produce a Skia representation from a non-existent mailbox. [833719:833719:1207/193916.390039:ERROR:gpu/command_buffer/service/shared_image/shared_image_factory.cc:928] Could not find SharedImageBackingFactory with params: usage: Gles2Read|RasterRead|DisplayRead|CpuWriteOnly|CpuRead, format: (Y_UV, 420, 8unorm, ExtSamplerOff), share_between_threads: 0, gmb_type: shared_memory, size: 360x640, debug_label: MediaGmbVideoFramePoolMappableSI_Pid:0_Pid:0 [833719:833719:1207/193916.390923:ERROR:gpu/ipc/service/shared_image_stub.cc:206] SharedImageStub: Unable to create shared image [833719:833719:1207/193916.397921:ERROR:gpu/command_buffer/service/shared_image/shared_image_manager.cc:393] SharedImageManager::ProduceSkia: Trying to Produce a Skia representation from a non-existent mailbox. [833661:833703:1207/193921.825240:ERROR:google_apis/gcm/engine/registration_request.cc:292] Registration response error message: DEPRECATED_ENDPOIN

I've not paid any attention to controlling terminals on RasPiOS recently, so I don't really know what to expect. It certainly looks like both Firefox and Chromium have things to complain about.

Thanks for writing!

bob prohaska

Well it's not complaining about missing/broken libraries like libavcodec, so maybe that's working. Still I say again: Do video files play in other programs using libavcodec (mplayer, ffplay)?

In my experience Firefox complains a lot (I don't use Chrom*), so it's not clear if those messages are relevent to your problem, but you could try disabling graphics acceleration in the settings since the warnings/errors are about that.

I have a locally-recorded video at

formatting link
It plays remotely using the default vlc media player that comes with RasPiOS, but without sound (there isn't much, just some background noise).

It does not play, nor advance the progress bar, using chromium or firefox.

On YouTube the progress bar advances and thumbnails display, but the normal video window remains blank when using chromium or firefox.

Copying a YouTube URL into vlc media player causes an error, which starts with Your input can't be opened: VLC is unable to open the MRL '

formatting link
I suppose that some deliberate access control by Youtube.

I'm still stumped and hoping this'll get by an upgrade, as in the past.

Thanks for writing!

bob prohaska

It does play here in firefox on windows, just the embedded <video> tag, I suspect you need more parts of gstreamer{good|bad|ugly} installed?

It's interesting, if not obviously helpful. One of my Raspbery Pis uses an old HDMI Dell monitor with an internal audio splitter. From time to time the audio drops out but the monitor keeps working. Occasionally the monitor seems to freeze up entirely, not even responding to the power button. Both problems tend to get fixed if I pull the power for a few seconds. The total lockup seems clearly to be a monitor problem, but maybe the audio problem has cousins living in the Pi.

Thanks for writing!

bob prohaska

Re: Re: Chromium & Firefox can't play videos again By: bp to All on Mon Dec 08 2025 10:00:01

I have no idea if this is related or not, but I sometimes have problems with the sound disappearing, and IIRC this started with the Bookworm upgrade a couple of yrs back. It isn't just raspbian but happens in the parent OS also.

Rebooting, and making sure the HDMI monitor is plugged in and turned on, usually fixes it -- even if the monitor was on the first time!

IMHO rasp/debian has developed some issue where it has trouble sensing the state of the HDMI monitor and, if it gets it wrong it does weird things.

If your monitor isn't HDMI then it could be a completely different issue but I thought I would mention it just in case it was helpful.

That does play here, with sound, in Firefox on Debian Trixie (on AMD64, not a Pi), and also on a Pi500+ running RaspiOS Trixie (no speakers, so I can only say the video works).

Both machines have full desktop GUIs and VLC installed, I don't know whether that makes any difference. The AMD machine is running Debian Mate and the Pi a standard PiOS.

Oh ... probably shouldn't make any difference but I also have cheese installed on both, because I was playing with webcams. I suppose cheese may have brought in some extra driver support ...??

A few hours ago both chromium and firefox started playing videos, both youtube and elsewhere.

Two updates have been installed, one related to java and the other related to png, (isn't png a graphics format?) which may have been influential.

It does appear that YouTube viewed with Chromium can force ads onto the screen, even with uBlock.origin Lite installed. On firefox, youtube plays correctly and I'm not seeing ads with uBlock Origin, at least for now.

Thanks to all for paying attention!

bob prohaska

When you run a GUI app in the regular GUI way, it used to write its error messages to the file ~/.xsession-errors. Trouble is, lines in that file never had any timestamps or any other identifying information about where they came from. Under Wayland+systemd, you can now monitor those errors a bit more cleanly with journalctl --user.

Since the latest batch of updates to Bookworm both Chromium and Firefox are playing videos successfully, albeit with some audio stutter. The updates seem to have been mostly to libraries, not the browsers.

Thanks for writing,

bob prohaska

Maybe your system did, I don't get any such file even running programs that I know dump out errors, but I'm using TinyX. Oh and a system running Xorg 21 doesn't have it either. Anyway it's easy to run programs from a terminal window for troubleshooting and a log would fill up my storage space with junk messages, so I'm not interested in enabling that.

I find journalctl unclean in all the most important respects, but you're welcome to it.

If that’s what your system is using to record its per-user log files, then your choices are either a) learn to use it, or b) switch to a different distro.

Could just be that VLC’s attempt at extracting media URLs from YouTube isn’t as up-to-date as that in a dedicated downloader like youtube-dl, yt-dlp etc al.

You could get the media URL from one of those, and then see if VLC will play it.

Already done b), and in fact on Raspberry Pi I have the (non-Systemd) syslog daemon started manually only for debugging, so normally there are no such logs at all.

So what happens to the diagnostic messages from GUI apps that you run?

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required