Wayland camera and headphones woes… How to debug?

I tried to move to Wayland… It went well until I needed to use the camera. Then, oh boy! Both camera and headphones work fine under X11.

  • Camera:

    • Works fine with Signal installed from flatpak.
    • Does not work with Discord installed from flatpak: no device found!
    • In Chrome/Google Meet, shows a brief image, then white. Chrome is installed via dnf5.
  • Headphones:

    • Works fine in Signal.
    • Does not work in Discord, neither input nor output.
    • Does work fine in Chrome/Google Meet.

How do I make them work?

I strongly suspect both Discord and Chrome to have some special configuration needed, but what? ¯\_(ツ)_/¯

This is frustrating since it is blocking me from moving to Wayland.


Some system info:

✓ ; uname -a
Linux nightwatch 6.15.5-200.fc42.x86_64 #1 SMP PREEMPT_DYNAMIC Sun Jul  6 09:16:17 UTC 2025 x86_64 GNU/Linux
✓ ; lsusb | rg -i Web
Bus 001 Device 002: ID 046d:082d Logitech, Inc. HD Pro Webcam C920
✓ ; sudo lshw -short|rg -i matis
/0/100                                    bridge         Starship/Matisse Root Complex
/0/100/0.2                                generic        Starship/Matisse IOMMU
/0/100/1.1                                bridge         Starship/Matisse GPP Bridge
/0/100/1.2                                bridge         Starship/Matisse GPP Bridge
/0/100/1.2/0                              bridge         Matisse Switch Upstream
/0/100/1.2/0/1                            bridge         Matisse PCIe GPP Bridge
/0/100/1.2/0/4                            bridge         Matisse PCIe GPP Bridge
/0/100/1.2/0/6                            bridge         Matisse PCIe GPP Bridge
/0/100/1.2/0/8                            bridge         Matisse PCIe GPP Bridge
/0/100/1.2/0/8/0                          generic        Starship/Matisse Reserved SPP
/0/100/1.2/0/8/0.1                        bus            Matisse USB 3.0 Host Controller
/0/100/1.2/0/8/0.3                        bus            Matisse USB 3.0 Host Controller
/0/100/1.2/0/9                            bridge         Matisse PCIe GPP Bridge
/0/100/1.2/0/a                            bridge         Matisse PCIe GPP Bridge
/0/100/3.1                                bridge         Starship/Matisse GPP Bridge
/0/100/7.1                                bridge         Starship/Matisse Internal PCIe GPP Bridge 0 to bus[E:B]
/0/100/7.1/0                              generic        Starship/Matisse PCIe Dummy Function
/0/100/8.1                                bridge         Starship/Matisse Internal PCIe GPP Bridge 0 to bus[E:B]
/0/100/8.1/0                              generic        Starship/Matisse Reserved SPP
/0/100/8.1/0.1                            generic        Starship/Matisse Cryptographic Coprocessor PSPCPP
/0/100/8.1/0.3                            bus            Matisse USB 3.0 Host Controller
/0/100/8.1/0.4            card2           multimedia     Starship/Matisse HD Audio Controller
/0/101                                    bridge         Starship/Matisse PCIe Dummy Host Bridge
/0/102                                    bridge         Starship/Matisse PCIe Dummy Host Bridge
/0/103                                    bridge         Starship/Matisse PCIe Dummy Host Bridge
/0/104                                    bridge         Starship/Matisse PCIe Dummy Host Bridge
/0/105                                    bridge         Starship/Matisse PCIe Dummy Host Bridge
/0/106                                    bridge         Starship/Matisse PCIe Dummy Host Bridge
/0/107                                    bridge         Starship/Matisse PCIe Dummy Host Bridge
/0/108                                    bridge         Matisse/Vermeer Data Fabric: Device 18h; Function 0
/0/109                                    bridge         Matisse/Vermeer Data Fabric: Device 18h; Function 1
/0/10a                                    bridge         Matisse/Vermeer Data Fabric: Device 18h; Function 2
/0/10b                                    bridge         Matisse/Vermeer Data Fabric: Device 18h; Function 3
/0/10c                                    bridge         Matisse/Vermeer Data Fabric: Device 18h; Function 4
/0/10d                                    bridge         Matisse/Vermeer Data Fabric: Device 18h; Function 5
/0/10e                                    bridge         Matisse/Vermeer Data Fabric: Device 18h; Function 6
/0/10f                                    bridge         Matisse/Vermeer Data Fabric: Device 18h; Function 7

Oh, here is how I start the apps:

/usr/bin/google-chrome --ozone-platform-hint=wayland
flatpak run --filesystem=~/.XCompose:ro com.discordapp.Discord
flatpak run --filesystem=~/.XCompose:ro org.signal.Signal --use-tray-icon

This might, or might not impact things…

Can you provide additional details on what DE or WM are you using?

Hyprland with JaKooLit Dots as a configuration.

Check for your devices on the LHDB. For your camera: https://linux-hardware.org/?id=usb:046d-082d uses uvcvideo. There are often user comments on issues with some devices. modprobe -v uvcvideo may give some details of the issue. Also try journalctl --no-hostname --no-pager -b -g video.

It is not unusual for newer kernels to have issues with network, sound, and video, so it is often useful to have USB wifi and audio dongles and a different camera while waiting for updates that fix your issue. You may find you need different devices with some flatpack apps.

:thinking: Why would any of this be different whether I use X11 or Wayland? Am I not getting something here?

The same kernel and drivers work fine on X11, no issues whatsoever. If I switch to Wayland, that’s where the problems start…

Hyprland is outside of my expertise, but here are some things you could try:

  1. Make sure xdg-desktop-portal-hyprland and xdg-desktop-portal-gtk are installed.
  2. Make sure pipewire, pipewire-pulseaudio and wireplumber are installed.

Some more questions:

  • How are you starting your Hyprland session? Is it via a display manager or tty?
  • Can you post the output of fpaste --sysinfo --printonly?
  • When you use Discord and play audio with it, does any entries show up on pavucontrol/helvum?

It is via the display manager.

I would, but the output exceeds the character limit for posts… What are you looking for in the output?

I have not used helvum. It was showing as working on pavucontrol.

Hum… Tried Wayland again. Some good news: Discord now works with camera and headphones. Good, despite me doing nothing… But, I’ll take it!

However, Chrome is still being utterly broken. I’ll open a new thread to keep things clean.

I wanted your hardware info and information about your audio server. If you remove --printonly, it should prompt you to upload to Fedora Pastebin, and you can share the link here.