VLC black screen but audio playing(any video format)

Whatever video i try to run on vlc, just blackscreens on me. The audio plays normally, the video track is correct, but the vieo output is black. I suspect this might be some driver error. This issue seems to persist in any video format be it mp4, mkv or even m3u8. mpv player shows no such signs though.

This is what i got after running a video on vlc via terminal:

 vlc test.mp4                                                                                                                                                                                                        ✔ 
VLC media player 3.0.20 Vetinari (revision 3.0.20-0-g6f0d0ab126b)
[0000556d3c7789d0] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
[00007f19780aa0a0] vaapi generic error: profile(7) is not supported
[00007f1988c07e00] avcodec decoder: Using NVIDIA VDPAU Driver Shared Library  545.29.06  Thu Nov 16 01:46:47 UTC 2023 for hardware decoding
[00007f197c7723a0] glconv_vdpau gl error: glVDPAUMapSurfacesNV failed: 0x502

[00007f197c7723a0] glconv_vdpau gl error: glVDPAUMapSurfacesNV failed: 0x502

and that last error keeps repeating.

Output of: sudo inxi --admin --verbosity=7 --filter --no-host --width:

  Kernel: 6.1.69-1-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 13.2.1
    clocksource: tsc available: hpet,acpi_pm
    parameters: BOOT_IMAGE=/boot/vmlinuz-6.1-x86_64
    root=UUID=f48d994e-c928-4379-8442-a607bddaabd8 rw quiet splash
    udev.log_priority=3
  Desktop: KDE Plasma v: 5.27.10 tk: Qt v: 5.15.11 info: latte-dock
    wm: kwin_wayland dm: SDDM Distro: Manjaro Linux base: Arch Linux
Machine:
  Type: Laptop System: ASUSTeK product: ASUS TUF Gaming A15 FA506IH_FA506IH
    v: 1.0 serial: <filter>
  Mobo: ASUSTeK model: FA506IH v: 1.0 serial: <filter>
    UEFI: American Megatrends v: FA506IH.316 date: 03/12/2021
Battery:
  ID-1: BAT1 charge: 33.3 Wh (100.0%) condition: 33.3/48.1 Wh (69.2%)
    volts: 12.4 min: 11.7 model: ASUS A32-K55 type: Li-ion serial: N/A
    status: full
Memory:
  System RAM: total: 16 GiB available: 15.05 GiB used: 10.7 GiB (71.1%)
  Array-1: capacity: 32 GiB slots: 2 modules: 2 EC: None
    max-module-size: 16 GiB note: est.
  Device-1: DIMM 0 type: DDR4 detail: synchronous unbuffered (unregistered)
    size: 8 GiB speed: 3200 MT/s volts: curr: 1.2 min: 1.2 max: 1.2 width (bits):
    data: 64 total: 64 manufacturer: Samsung part-no: M471A1K43DB1-CWE
    serial: <filter>
  Device-2: DIMM 0 type: DDR4 detail: synchronous unbuffered (unregistered)
    size: 8 GiB speed: 3200 MT/s volts: curr: 1.2 min: 1.2 max: 1.2 width (bits):
    data: 64 total: 64 manufacturer: Samsung part-no: M471A1K43DB1-CWE
    serial: <filter>
CPU:
  Info: model: AMD Ryzen 5 4600H with Radeon Graphics socket: FP6 bits: 64
    type: MT MCP arch: Zen 2 gen: 3 level: v3 note: check built: 2020-22
    process: TSMC n7 (7nm) family: 0x17 (23) model-id: 0x60 (96) stepping: 1
    microcode: 0x8600104
  Topology: cpus: 1x cores: 6 tpc: 2 threads: 12 smt: enabled cache:
    L1: 384 KiB desc: d-6x32 KiB; i-6x32 KiB L2: 3 MiB desc: 6x512 KiB L3: 8 MiB
    desc: 2x4 MiB
  Speed (MHz): avg: 1666 high: 3000 min/max: 1400/3000 boost: enabled
    base/boost: 3000/4000 scaling: driver: acpi-cpufreq governor: schedutil
    volts: 1.2 V ext-clock: 100 MHz cores: 1: 1400 2: 1400 3: 1400 4: 1400
    5: 3000 6: 1400 7: 1400 8: 1400 9: 1400 10: 1400 11: 3000 12: 1400
    bogomips: 71898
  Flags: 3dnowprefetch abm adx aes aperfmperf apic arat avic avx avx2 bmi1
    bmi2 bpext cat_l3 cdp_l3 clflush clflushopt clwb clzero cmov cmp_legacy
    constant_tsc cpb cppc cpuid cqm cqm_llc cqm_mbm_local cqm_mbm_total
    cqm_occup_llc cr8_legacy cx16 cx8 de decodeassists extapic extd_apicid
    f16c flushbyasid fma fpu fsgsbase fxsr fxsr_opt ht hw_pstate ibpb ibrs ibs
    irperf lahf_lm lbrv lm mba mca mce misalignsse mmx mmxext monitor movbe
    msr mtrr mwaitx nonstop_tsc nopl npt nrip_save nx osvw overflow_recov pae
    pat pausefilter pclmulqdq pdpe1gb perfctr_core perfctr_llc perfctr_nb
    pfthreshold pge pni popcnt pse pse36 rapl rdpid rdpru rdrand rdseed rdt_a
    rdtscp rep_good sep sev sev_es sha_ni skinit smap smca smep ssbd sse sse2
    sse4_1 sse4_2 sse4a ssse3 stibp succor svm svm_lock syscall tce topoext
    tsc tsc_scale umip v_spec_ctrl v_vmsave_vmload vgif vmcb_clean vme vmmcall
    wbnoinvd wdt xgetbv1 xsave xsavec xsaveerptr xsaveopt
  Vulnerabilities:
  Type: gather_data_sampling status: Not affected
  Type: itlb_multihit status: Not affected
  Type: l1tf status: Not affected
  Type: mds status: Not affected
  Type: meltdown status: Not affected
  Type: mmio_stale_data status: Not affected
  Type: retbleed mitigation: untrained return thunk; SMT enabled with STIBP
    protection
  Type: spec_rstack_overflow mitigation: safe RET
  Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via
    prctl
  Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer
    sanitization
  Type: spectre_v2 mitigation: Retpolines, IBPB: conditional, STIBP:
    always-on, RSB filling, PBRSB-eIBRS: Not affected
  Type: srbds status: Not affected
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: NVIDIA TU117M [GeForce GTX 1650 Mobile / Max-Q] vendor: ASUSTeK
    driver: nvidia v: 545.29.06 alternate: nouveau,nvidia_drm non-free: 545.xx+
    status: current (as of 2023-11; EOL~2026-12-xx) arch: Turing code: TUxxx
    process: TSMC 12nm FF built: 2018-2022 pcie: gen: 1 speed: 2.5 GT/s
    lanes: 8 link-max: gen: 3 speed: 8 GT/s lanes: 16 bus-ID: 01:00.0
    chip-ID: 10de:1f99 class-ID: 0300
  Device-2: AMD Renoir [Radeon RX Vega 6 ] vendor: ASUSTeK driver: amdgpu
    v: kernel arch: GCN-5 code: Vega process: GF 14nm built: 2017-20 pcie: gen: 4
    speed: 16 GT/s lanes: 16 ports: active: eDP-1 empty: HDMI-A-1
    bus-ID: 05:00.0 chip-ID: 1002:1636 class-ID: 0300 temp: 43.0 C
  Device-3: IMC Networks USB2.0 HD UVC WebCam driver: uvcvideo type: USB
    rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 1-4:2 chip-ID: 13d3:56a2
    class-ID: 0e02 serial: <filter>
  Display: server: X.Org v: 23.2.3 with: Xwayland v: 23.2.3
    compositor: kwin_wayland driver: X: loaded: amdgpu,nvidia
    unloaded: modesetting,nouveau alternate: fbdev,nv,vesa dri: radeonsi
    gpu: amdgpu display-ID: :1 screens: 1
  Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x286mm (20.00x11.26")
    s-diag: 583mm (22.95")
  Monitor-1: eDP-1 model: Najing CEC Panda 0x002d built: 2018 res: 1920x1080
    hz: 60 dpi: 143 gamma: 1.2 size: 340x190mm (13.39x7.48") diag: 395mm (15.5")
    ratio: 16:9 modes: max: 1920x1080 min: 640x480
  API: EGL v: 1.5 hw: drv: nvidia drv: amd radeonsi platforms: device: 0
    drv: nvidia device: 1 drv: radeonsi device: 3 drv: swrast gbm: drv: radeonsi
    surfaceless: drv: nvidia x11: drv: radeonsi inactive: wayland,device-2
  API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: amd mesa v: 23.1.9-manjaro1.1
    glx-v: 1.4 direct-render: yes renderer: AMD Radeon Graphics (renoir LLVM
    16.0.6 DRM 3.49 6.1.69-1-MANJARO) device-ID: 1002:1636 memory: 500 MiB
    unified: no
  API: Vulkan v: 1.3.274 layers: 2 device: 0 type: discrete-gpu
    name: NVIDIA GeForce GTX 1650 driver: nvidia v: 545.29.06
    device-ID: 10de:1f99 surfaces: xcb,xlib device: 1 type: integrated-gpu
    name: AMD Radeon Graphics (RADV RENOIR) driver: mesa radv
    v: 23.1.9-manjaro1.1 device-ID: 1002:1636 surfaces: xcb,xlib
Audio:
  Device-1: NVIDIA vendor: ASUSTeK driver: snd_hda_intel v: kernel pcie: gen: 3
    speed: 8 GT/s lanes: 8 link-max: lanes: 16 bus-ID: 01:00.1 chip-ID: 10de:10fa
    class-ID: 0403
  Device-2: AMD Renoir Radeon High Definition Audio vendor: ASUSTeK
    driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s lanes: 16
    bus-ID: 05:00.1 chip-ID: 1002:1637 class-ID: 0403
  Device-3: AMD ACP/ACP3X/ACP6x Audio Coprocessor driver: N/A
    alternate: snd_pci_acp3x, snd_rn_pci_acp3x, snd_pci_acp5x, snd_pci_acp6x,
    snd_acp_pci, snd_rpl_pci_acp6x, snd_pci_ps, snd_sof_amd_renoir,
    snd_sof_amd_rembrandt pcie: gen: 4 speed: 16 GT/s lanes: 16 bus-ID: 05:00.5
    chip-ID: 1022:15e2 class-ID: 0480
  Device-4: AMD Family 17h/19h HD Audio vendor: ASUSTeK driver: snd_hda_intel
    v: kernel pcie: gen: 4 speed: 16 GT/s lanes: 16 bus-ID: 05:00.6
    chip-ID: 1022:15e3 class-ID: 0403
  API: ALSA v: k6.1.69-1-MANJARO status: kernel-api with: aoss
    type: oss-emulator tools: alsactl,alsamixer,amixer
  Server-1: sndiod v: N/A status: off tools: aucat,midicat,sndioctl
  Server-2: JACK v: 1.9.22 status: off tools: jack_control,qjackctl
  Server-3: PipeWire v: 1.0.0 status: n/a (root, process) with:
    1: pipewire-pulse status: active 2: pipewire-media-session status: active
    3: pipewire-alsa type: plugin tools: pactl,pw-cat,pw-cli
Network:
  Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
    vendor: ASUSTeK driver: r8169 v: kernel pcie: gen: 1 speed: 2.5 GT/s lanes: 1
    port: e000 bus-ID: 02:00.0 chip-ID: 10ec:8168 class-ID: 0200
  IF: enp2s0 state: down mac: <filter>
  Device-2: Realtek RTL8822CE 802.11ac PCIe Wireless Network Adapter
    vendor: Lite-On driver: rtw_8822ce v: N/A modules: rtw88_8822ce pcie: gen: 1
    speed: 2.5 GT/s lanes: 1 port: d000 bus-ID: 03:00.0 chip-ID: 10ec:c822
    class-ID: 0280
  IF: wlp3s0 state: up mac: <filter>
  IP v4: <filter> type: dynamic noprefixroute scope: global
    broadcast: <filter>
  IP v6: <filter> type: noprefixroute scope: link
  WAN IP: <filter>
Bluetooth:
  Device-1: Lite-On Bluetooth Radio driver: btusb v: 0.8 type: USB rev: 1.0
    speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 3-1:2 chip-ID: 04ca:4005
    class-ID: e001 serial: <filter>
  Report: rfkill ID: hci0 rfk-id: 0 state: down bt-service: enabled,running
    rfk-block: hardware: no software: yes address: see --recommends
Logical:
  Message: No logical block device data found.
RAID:
  Message: No RAID data found.
Drives:
  Local Storage: total: 476.94 GiB used: 151.58 GiB (31.8%)
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Micron model: 2210 MTFDHBA512QFD
    size: 476.94 GiB block-size: physical: 512 B logical: 512 B speed: 31.6 Gb/s
    lanes: 4 tech: SSD serial: <filter> fw-rev: P6MA001 temp: 36.9 C
    scheme: GPT
  SMART: yes health: PASSED on: 366d 6h cycles: 2,742
    read-units: 64,446,552 [32.9 TB] written-units: 52,326,072 [26.7 TB]
  Message: No optical or floppy data found.
Partition:
  ID-1: / raw-size: 273.44 GiB size: 268.08 GiB (98.04%)
    used: 151.58 GiB (56.5%) fs: ext4 block-size: 4096 B dev: /dev/nvme0n1p5
    maj-min: 259:5 label: N/A uuid: f48d994e-c928-4379-8442-a607bddaabd8
Swap:
  Alert: No swap data was found.
Unmounted:
  ID-1: /dev/nvme0n1p1 maj-min: 259:1 size: 100 MiB fs: vfat label: N/A
    uuid: E465-6F98
  ID-2: /dev/nvme0n1p2 maj-min: 259:2 size: 16 MiB fs: N/A label: N/A
    uuid: N/A
  ID-3: /dev/nvme0n1p3 maj-min: 259:3 size: 202.73 GiB fs: ntfs label: N/A
    uuid: 648069A180697B06
  ID-4: /dev/nvme0n1p4 maj-min: 259:4 size: 674 MiB fs: ntfs label: N/A
    uuid: B69804FD9804BE3D
USB:
  Hub-1: 1-0:1 info: hi-speed hub with single TT ports: 4 rev: 2.0
    speed: 480 Mb/s (57.2 MiB/s) lanes: 1 mode: 2.0 chip-ID: 1d6b:0002
    class-ID: 0900
  Device-1: 1-4:2 info: IMC Networks USB2.0 HD UVC WebCam type: video
    driver: uvcvideo interfaces: 2 rev: 2.0 speed: 480 Mb/s (57.2 MiB/s) lanes: 1
    mode: 2.0 power: 500mA chip-ID: 13d3:56a2 class-ID: 0e02 serial: <filter>
  Hub-2: 2-0:1 info: super-speed hub ports: 2 rev: 3.1
    speed: 10 Gb/s (1.16 GiB/s) lanes: 1 mode: 3.2 gen-2x1 chip-ID: 1d6b:0003
    class-ID: 0900
  Hub-3: 3-0:1 info: hi-speed hub with single TT ports: 4 rev: 2.0
    speed: 480 Mb/s (57.2 MiB/s) lanes: 1 mode: 2.0 chip-ID: 1d6b:0002
    class-ID: 0900
  Device-1: 3-1:2 info: Lite-On Bluetooth Radio type: bluetooth driver: btusb
    interfaces: 2 rev: 1.0 speed: 12 Mb/s (1.4 MiB/s) lanes: 1 mode: 1.1
    power: 500mA chip-ID: 04ca:4005 class-ID: e001 serial: <filter>
  Hub-4: 4-0:1 info: super-speed hub ports: 2 rev: 3.1
    speed: 10 Gb/s (1.16 GiB/s) lanes: 1 mode: 3.2 gen-2x1 chip-ID: 1d6b:0003
    class-ID: 0900
Sensors:
  System Temperatures: cpu: 50.2 C mobo: N/A gpu: amdgpu temp: 44.0 C
  Fan Speeds (rpm): cpu: 2500
Info:
  Processes: 555 Uptime: 4h 18m wakeups: 0 Init: systemd v: 254
  default: graphical tool: systemctl Compilers: gcc: 13.2.1 clang: 16.0.6
  Packages: 2338 pm: pacman pkgs: 2287 libs: 480 tools: octopi,pamac,yay
  pm: flatpak pkgs: 51 Shell: Sudo (sudo) v: 1.9.15p4 default: Bash v: 5.2.21
  running-in: yakuake inxi: 3.3.31```

Check the output settings of vlc.
(and search for related topics)

I changed the output mode to all of these and there was no change

For nvidia:

You probably want vdpau or opengl there.

But also under input/codecs … check hardware accel (vdpau).

For amd:

You probably want opengl there

But also under input/codecs … check hardware accel (vaapi).

1 Like

Go Preferences → Input/codecs, hardware acceleration and select disabled or VA-API.

Is this happening to you since today’s update (also happens to me)…?

VA-API only works on the newest of nvidia and if the package libva-nvidia-driver is present.
With nvidia having no vaapi capability until recently … I dont know if its actually suggestable or not.
(no nvidia here :person_shrugging:)

Archwiki on hardware acceleration in general:

https://wiki.archlinux.org/title/Hardware_video_acceleration

Also … you might take my advice and ditch vlc and instead use mpv with a frontend like smplayer.

Its superior in a number of ways … but also its ‘automatic’ options dont fail half the time. :wink:

Also might be worth mentioning the ‘Advanced’ option that may be useful for some
(again you usually wouldnt want vaapi on nvidia)

Well, I have the same problem with hardware acceleration since today’s update, yesterday VLC was working fine and after the update this morning there’s sound but no image.

I tested the five acceleration options in Codecs and the only two that work are Disable and VA-API (not VA-API via DRM). But the funniest is that I have an AMD card and no libva-nvidia-driver package installed. :upside_down_face:

pacman -Qs nvidia                                                                                                                           

local/lib32-libvdpau 1.5-2
    Nvidia VDPAU library
local/libvdpau 1.5-2
    Nvidia VDPAU library
local/mhwd-nvidia 545.29.06-2
    MHWD module-ids for nvidia 545.29.06
local/mhwd-nvidia-390xx 390.157-9
    MHWD module-ids for nvidia 390.157
local/mhwd-nvidia-470xx 470.223.02-1
    MHWD module-ids for nvidia 470.223.02
local/xf86-video-nouveau 1.0.17-2 (xorg-drivers)
    Open Source 3D acceleration driver for nVidia cards

…then nothing I said applies?
amd cards have had vaapi forever. in fact it can use either vaapi or vdpau.
(but with vdpau being an nvidia thing … you probably would want to er on the side of vaapi)

I have an amd too. And I begrudgingly installed vlc to use it.


…Though I do now realize OP here has 2 gpus. :sweat_smile:

1 Like

I’ve just made another test and the results…

VDPAU works with mkv files (codecs 264 and 265)… but not with AVI files. :smile:

Each time I’m more confused so it’s time to sleep and tomorrow’s another day. :slightly_smiling_face:

Thank you, switching the hardware acceleration to VA-API worked.
It was in ‘Automatic’ before that

Auto is broken on vlc most of the time. :person_shrugging:

vaapi makes sense for your amdgpu, which I must assume is the default.

My default should be nvidia, but there is an integrated amdgpu as well

This would appear to show amdgpu as the default.

You can check with

glxinfo | grep 'renderer string'

Interesting. Any way I can change it to be nvidia? igpu would obviously be less powerful

Usually people with hybrid systems only want to use the more powerful card when its needed.
Like for 3D gaming.

Maybe show us mhwd

mhwd -li -l

But I would guess its PRIME.

So once again checking the things:

glxinfo | grep renderer string
prime-run glxinfo | grep 'renderer string'

If working properly the first should show the iGPU (amd) and the second the dGPU (nvidia).

In the case of steam to use the nvidia you would edit a game launch options to be

prime-run %command%

Note:
IF you really want to use the nvidia all the time … then you may be able to access an option in BIOS to disable the iGPU. This would be most preferable but is somewhat rarely available.

Alternatively you can try one of these other utilities (like envycontrol);

I had an even stranger thing happening to me after the Jan 13th upgrade. In VLC videos played fine, except Xvid encoded videos. Black screen as described above.
Strangest thing was that I could create a screen capture within VLC and this came out okay. I expected a black image.
Solution was to use hardware acceleration VA-API under the FFmpeg decoder, I believe it was set to VD-PAU originally. Even with the old setting, I could convert the video to libx264 codec and it played just fine. I believe there are far too many codecs floating around. Their sheer number make software bloated and things unnecessarily complex.

The culprit is… Mesa 23.3.3.

Proprietary bits have been removed from the repository mesa since some time.

You can use other (AUR) packages, build your own, etc.