Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

[Bug]: GStreamer doesn't support H.264 decoding, please install appropriate plugins

Open
#433 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
30/100
Issue type
Bug
Clarity
Needs clarification
Activity status
Stale
Tech stack
linux

Research direction

Start with the reported winegstreamer and h264_decoder_create logs, then compare the soda-9.0-1 and ge-proton10-15 executor behavior, including BOTTLES_USE_SYSTEM_GSTREAMER. Done means H.264 videos play in Sengoku Dynasty with soda and the documented system GStreamer setup is respected.

Written by the indexing model from the issue text.

Description

Describe the bug

In the game Sengoku Dynasty, when it try to play a video, you just see a black screen and the video doesn't play.

To Reproduce
  1. Create a new bottle with soda-9.0-1 executor.
  2. Open Sengoku Dynasty
  3. Go to in game help an try to reproduce any video.
  4. Blank screen
Package

Flatpak from Flathub

Distribution

Arch Linux

Debugging Information
Official Package: true
Version: '51.24'
DE/WM: gnome
Display:
    X.org: true
    X.org (port): :0
    Wayland: true
Graphics:
    vendors:
        nvidia: &id002
            vendor: nvidia
            envs:
                __NV_PRIME_RENDER_OFFLOAD: '1'
                __GLX_VENDOR_LIBRARY_NAME: nvidia
                __VK_LAYER_NV_optimus: NVIDIA_only
            icd: /usr/share/vulkan/icd.d/nvidia_icd.json
            nvngx_path: /usr/lib/x86_64-linux-gnu/GL/nvidia-580-76-05/lib/nvidia/wine
        amd: &id001
            vendor: amd
            envs:
                DRI_PRIME: '1'
            icd: /usr/share/vulkan/icd.d/radeon_icd.x86_64.json:/usr/lib/x86_64-linux-gnu/GL/vulkan/icd.d/radeon_icd.x86_64.json:/usr/lib/i386-linux-gnu/GL/vulkan/icd.d/radeon_icd.i686.json
    prime:
        integrated: *id001
        discrete: *id002
Kernel:
    Type: Linux
    Version: 6.16.4-arch1-1
Disk:
    Total: 33236889600
    Free: 33236705280
RAM:
    MemTotal: 61.9GiB
    MemAvailable: 57.1GiB
Bottles_envs: null
Troubleshooting Logs
0:00:02.055081335   114 0x7fa97c037d30 ERROR                   WINE wg_transform.c:574:wg_transform_create: Failed to create winegstreamer transform.
03dc:err:winediag:h264_decoder_create GStreamer doesn't support H.264 decoding, please install appropriate plugins
0:00:04.039540046   114 0x7fa97c456860 ERROR                   WINE wg_transform.c:574:wg_transform_create: Failed to create winegstreamer transform.
040c:err:winediag:h264_decoder_create GStreamer doesn't support H.264 decoding, please install appropriate plugins
0:00:05.075277264   114 0x7fa984015180 ERROR                   WINE wg_transform.c:574:wg_transform_create: Failed to create winegstreamer transform.
0428:err:winediag:h264_decoder_create GStreamer doesn't support H.264 decoding, please install appropriate plugins
Additional context

I started the system with the environment variable BOTTLES_USE_SYSTEM_GSTREAMER=1, but it doesn't seem to affect it at all. It doesn't matter whether I define it at the bottle level or at the global level. I have also verified that inside the bottle there is the directory /usr/lib/x86_64-linux-gnu/gstreamer-1.0 containing all the .so files.

The plugins are correctly installed on my system:

% gst-inspect-1.0 | grep 264
closedcaption:  h264ccextractor: H.264 Closed Caption Extractor
closedcaption:  h264ccinserter: H.264 Closed Caption Inserter
codec2json:  h2642json: H2642json
codectimestamper:  h264timestamper: H.264 timestamper
libav:  avdec_h264: libav H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 decoder
libav:  avmux_ipod: libav iPod H.264 MP4 (MPEG-4 Part 14) muxer
nvcodec:  nvautogpuh264enc: NVENC H.264 Video Encoder Auto GPU select Mode
nvcodec:  nvh264dec: NVDEC H.264 Decoder
nvcodec:  nvh264enc: NVENC H.264 Video Encoder CUDA Mode
openh264:  openh264dec: OpenH264 video decoder
openh264:  openh264enc: OpenH264 video encoder
rtp:  rtph264depay: RTP H264 depayloader
rtp:  rtph264pay: RTP H264 payloader
typefindfunctions: video/x-h264: h264, x264, 264
uvch264:  uvch264deviceprovider (GstDeviceProviderFactory)
uvch264:  uvch264mjpgdemux: UVC H264 MJPG Demuxer
uvch264:  uvch264src: UVC H264 Source
videoparsersbad:  h264parse: H.264 parser
vulkan:  vulkanh264dec: Vulkan H.264 decoder on NVIDIA GeForce RTX 2060 SUPER
x264:  x264enc: x264 H.264 Encoder

With the ge-proton10-15 executor, the videos work correctly (which is what I use as a workaround), but I'm really interested in getting them to work with soda as well.

Dominant language
No language data
Stars
111
Forks
93
Avg merge
1d 1h
Merged PRs (30d)
3

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from bottlesdevs/programs

All issues in bottlesdevs/programs

Similar issues

More Operating Systems issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.