Youtube Broken on Todays Update

Hello.

After running a full system update today, Youtube videos failed to play on both FireDragon and Chromium.

The first frame of a video would load. Skipping to time points within the video still worked. The preview of a video that played on mousing over the thumbnail worked as well. Enabling play, however, resulted in an infinite loading wheel.

Restoring a snapshot from this morning fixed the issue.

Running

sudo pacman -Sy garuda-update && update

and rebooting restored the issue.

I realize that any one of the updated packages could have caused this and finding the responsible one would be akin to the needle in a haystack problem. Since the snapshot restore fixes the issue in the short term, I figured the issue and its temporary solution would potentially be valuable to others here.

System:    Kernel: 5.14.14-zen1-1-zen x86_64 bits: 64 compiler: gcc v: 11.1.0
parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen root=UUID=1a97faf6-7ba2-49ec-b1a6-c220ce0c965e
rw [email protected] quiet splash rd.udev.log_priority=3 vt.global_cursor_default=0
systemd.unified_cgroup_hierarchy=1 resume=UUID=d43e6abc-bb07-448e-b1d2-f3876bf057a9 loglevel=3
Desktop: KDE Plasma 5.23.1 tk: Qt 5.15.2 info: latte-dock wm: kwin_x11 vt: 1 dm: SDDM
Distro: Garuda Linux base: Arch Linux
Machine:   Type: Desktop System: ASUS product: N/A v: N/A serial: <filter>
Mobo: ASUSTeK model: ROG STRIX B550-F GAMING v: Rev X.0x serial: <filter>
UEFI: American Megatrends v: 2423 date: 08/10/2021
CPU:       Info: 6-Core model: AMD Ryzen 5 5600X bits: 64 type: MT MCP arch: Zen 3 family: 19 (25)
model-id: 21 (33) stepping: 0 microcode: A201016 cache: L2: 3 MiB
flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm bogomips: 88801
Speed: 4650 MHz min/max: 2200/3700 MHz boost: enabled Core speeds (MHz): 1: 4650 2: 3714
3: 3717 4: 3713 5: 3712 6: 3719 7: 3712 8: 3718 9: 3717 10: 4643 11: 3712 12: 3713
Vulnerabilities: Type: itlb_multihit status: Not affected
Type: l1tf status: Not affected
Type: mds status: Not affected
Type: meltdown status: Not affected
Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via prctl and seccomp
Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer sanitization
Type: spectre_v2
mitigation: Full AMD retpoline, IBPB: conditional, IBRS_FW, STIBP: always-on, RSB filling
Type: srbds status: Not affected
Type: tsx_async_abort status: Not affected
Graphics:  Device-1: NVIDIA GM204 [GeForce GTX 970] vendor: eVga.com. driver: nvidia v: 470.74
alternate: nouveau,nvidia_drm bus-ID: 08:00.0 chip-ID: 10de:13c2 class-ID: 0300
Display: x11 server: X.Org 1.20.13 compositor: kwin_x11 driver: loaded: nvidia display-ID: :0
screens: 1
Screen-1: 0 s-res: 1920x1080 s-dpi: 95 s-size: 513x292mm (20.2x11.5") s-diag: 590mm (23.2")
Monitor-1: HDMI-0 res: 1920x1080 hz: 60 dpi: 96 size: 509x286mm (20.0x11.3") diag: 584mm (23")
OpenGL: renderer: NVIDIA GeForce GTX 970/PCIe/SSE2 v: 4.6.0 NVIDIA 470.74 direct render: Yes
Audio:     Device-1: NVIDIA GM204 High Definition Audio vendor: eVga.com. driver: snd_hda_intel v: kernel
bus-ID: 08:00.1 chip-ID: 10de:0fbb class-ID: 0403
Device-2: AMD Starship/Matisse HD Audio vendor: ASUSTeK driver: snd_hda_intel v: kernel
bus-ID: 0a:00.4 chip-ID: 1022:1487 class-ID: 0403
Sound Server-1: ALSA v: k5.14.14-zen1-1-zen running: yes
Sound Server-2: JACK v: 1.9.19 running: no
Sound Server-3: PulseAudio v: 15.0 running: yes
Sound Server-4: PipeWire v: 0.3.38 running: yes
Network:   Device-1: Intel Ethernet I225-V vendor: ASUSTeK driver: igc v: kernel port: N/A bus-ID: 07:00.0
chip-ID: 8086:15f3 class-ID: 0200
IF: enp7s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
IF-ID-1: anbox0 state: down mac: <filter>
Drives:    Local Storage: total: 1.84 TiB used: 176.86 GiB (9.4%)
SMART Message: Unable to run smartctl. Root privileges required.
ID-1: /dev/nvme0n1 maj-min: 259:1 vendor: Sabrent model: Rocket 4.0 1TB size: 931.51 GiB
block-size: physical: 512 B logical: 512 B speed: 63.2 Gb/s lanes: 4 type: SSD serial: <filter>
rev: RKT401.3 temp: 44.9 C scheme: GPT
ID-2: /dev/nvme1n1 maj-min: 259:0 vendor: Addlink model: M.2 PCIE G3x4 NVMe size: 953.87 GiB
block-size: physical: 512 B logical: 512 B speed: 31.6 Gb/s lanes: 4 type: SSD serial: <filter>
rev: ECFM32.1 temp: 26.9 C
Partition: ID-1: / raw-size: 896.87 GiB size: 896.87 GiB (100.00%) used: 176.86 GiB (19.7%) fs: btrfs
dev: /dev/nvme0n1p2 maj-min: 259:3
ID-2: /boot/efi raw-size: 260 MiB size: 256 MiB (98.46%) used: 562 KiB (0.2%) fs: vfat
dev: /dev/nvme0n1p1 maj-min: 259:2
ID-3: /home raw-size: 896.87 GiB size: 896.87 GiB (100.00%) used: 176.86 GiB (19.7%) fs: btrfs
dev: /dev/nvme0n1p2 maj-min: 259:3
ID-4: /var/log raw-size: 896.87 GiB size: 896.87 GiB (100.00%) used: 176.86 GiB (19.7%)
fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:3
ID-5: /var/tmp raw-size: 896.87 GiB size: 896.87 GiB (100.00%) used: 176.86 GiB (19.7%)
fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:3
Swap:      Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
ID-1: swap-1 type: partition size: 34.38 GiB used: 0 KiB (0.0%) priority: -2
dev: /dev/nvme0n1p3 maj-min: 259:4
ID-2: swap-2 type: zram size: 31.26 GiB used: 256 KiB (0.0%) priority: 100 dev: /dev/zram0
Sensors:   System Temperatures: cpu: 56.5 C mobo: N/A gpu: nvidia temp: 48 C
Fan Speeds (RPM): N/A gpu: nvidia fan: 0%
Info:      Processes: 338 Uptime: 1m wakeups: 0 Memory: 31.26 GiB used: 3.83 GiB (12.2%) Init: systemd
v: 249 tool: systemctl Compilers: gcc: 11.1.0 Packages: pacman: 1730 lib: 524 Shell: fish
v: 3.3.1 running-in: konsole inxi: 3.3.07
1 Like

Youtube need some resources, you do nothing with it, but cpu usage highly depend on your CPU and GPU. If you have old hardware it’s obvious that usage will be high.

Browsers don’t support out of the box hardware accelerated video decoding in linux. So, high cpu use is normal with a dual core. If you want somewhat a solution you can download chromium from Pamac. Then in search tab enter chrome://flags >> search Hardware-accelerated-video and enable it. I am also running on integrated graphics and it works most of the time.

This seems similar to this one.
The update should have removed pipewire-media-session replacing with wireplumber.
In a certain period probably this was not the case, and you have to do it manually.

Try with
sudo pacman -Rdd pipewire-media-session

1 Like

YT works after I ran the same update process as before to reproduce the issue and try your approach. :frowning_face:

I tried running your command anyway.

╰─λ sudo pacman -Rdd pipewire-media-session
[sudo] password for -----------:
error: target not found: pipewire-media-session

Also of note, however, is that running the pipewire command post update generates the same error message on my system that your linked post mentioned.

[] × pipewire
[E][00316.954053] mod.protocol-native | [module-protocol-:  606 lock_socket()] server 0x559f981d1b00: unable t
o lock lockfile '/run/user/1000/pipewire-0.lock': Resource temporarily unavailable (maybe another daemon is ru
nning)
[E][00316.954113] pw.conf      | [          conf.c:  412 load_module()] 0x559f98194740: could not load mandato
ry module "libpipewire-module-protocol-native": Resource temporarily unavailable
[E][00316.954150] default      | [      pipewire.c:  123 main()] failed to create context: Resource temporaril
y unavailable

So maybe you could try as in the linked thread
systemctl --user stop pipewire.service pipewire.socket ?

Sure

╰─λ systemctl --user stop pipewire.service pipewire.socket

...
╰─λ ps ax | grep pipewire
134265 pts/1    S<+    0:00 grep --color=auto pipewire

It doesn't break anything as far as I can tell.

Yes, it is normal that the pipewire process is still there. The new package replaced only pipewire-media-session.
I thought it was the same issue, so same solution... :pensive:

2 Likes

I think this could be repacked as a garuda feature, a privacy feature.

YT is a total waste of your time and not worth anyone's attention after 2021, its a platform for misinformation just like facebook and Windows, sorry for off topic, but truth is burning.

Request for YouTube to be disabled by default :smiley:

1 Like

Not so fast! Garuda's hotfix notification appeared for me this morning. I assume that was for the pipewire thing that my earlier rollbacks had undone. Clicking ok to install that hotfix broke YT again.

Running

systemctl --user stop pipewire.service pipewire.socket

made YT work again. I replaced wireplumber with pipewire-media-session per the other post's recommendation. I can't definitively say whether that solved the issue permanently, as I messed up the initial pipewire replacement and had to do another snapshot restore. If the Garuda hotfix breaks something again, I will whine about it further.

1 Like

The only difference I can see comparing your inxi with mine (YT and audio in general work fine here) is that you still have pulseaudio running. I replaced it (not now, long ago) with pipewire-pulse.
If you want to give it a try, install pipewire-pulse, which will ask to replace pulseaudio, then reinstall wireplumber (which will replace pipewire-media-session of course) and check if YouTube and your audio in general work. If not, just a new restore...

1 Like

On a serious note, we can't do that. I also agree that youtube is just a money factory for Google, but many people like it and we can't control it. A lot of times, you have to depend on youtube, for various basic things, from latest music videos, to latest launch events and so on. And there are not much widely used alternatives. Odyssey is not much used, at least in India. So, we have to solve the bug.
:man_shrugging:

6 Likes

Without YT I could not do what I can (I think I can) :smiley:

Ok, you can not learn taste but without the right technique taste also brings nothing :wink:

I would like to mention here the tutorials of "Logos By Nick" (Saporito).

Have a look @TilliDie :smiley:

6 Likes

I thank @SGS You are so kind and humbled!
I too without YT or the internet I would never have been able to expand my Knowledge to the level I have tried to aspire too without it :smiley:
One thing i have learnt on Garuda forum is if you want to learn you will teach :+1:
Sorry if that sounds corny :face_with_hand_over_mouth:

6 Likes

A friend of mine had the same issue. Installing pipewire-support fixed it for him.

2 Likes

I can confirm that this fixed the issue also for me! :100:

1 Like

So I tried sudo pacman -Rdd pipewire-media-session but get the target not found error. I am keeping Garuda up to date by checking for updates every time I boot up but need to run systemctl --user stop pipewire.service pipewire.socket if I want to play something on you YT. What did you guys do to fix it permanently?
Thanks for your help!

Try systemctl --user disable pipewire.service pipewire.socket

2 Likes

Made a quick cmd that should fix any audio issues people are still having from the originally broken hotfix.

update remote 2021-10-audio

Let me know if that works!

1 Like

Hi @TNE, thanks for taking the time but unfortunately it did not fix the issue. The cmd went through everything without a glitch but ended with the message "Pipewire-support is not installed! Not applying any fixes".

inxi -A reports this:

Device-2: AMD Family 17h HD Audio driver: snd_hda_intel
Device-3: Kingston HyperX 7.1 Audio type: USB driver: hid-generic,snd-usb-audio,usbhid
Sound Server-1: ALSA v: k5.14.14-zen1-1-zen running: yes
Sound Server-2: PulseAudio v: 15.0 running: yes
Sound Server-3: PipeWire v: 0.3.39 running: yes

YT still is acting up and once I systemctl --user stop pipewire.service pipewire.socket videos start playing.

I will try systemctl --user disable pipewire.service pipewire.socket and see whether that fixes it (assuming it will disable pipewire for good).