ISLAND (857450)
In ISLAND all other tested functionality works fine with the exception of movies i.e. the intro movie. This is likely related to Wine bug 9127
Upon checking the Proton logs for the game Proton may be missing support for the VP8 codec (WebM)
https://gist.github.com/Flat/f18b52ee9468eb193867a297cc1c820a
System Information
Computer Information: Manufacturer: Unknown Model: Unknown Form Factor: Desktop No Touch Input Detected
Processor Information:
CPU Vendor: AuthenticAMD
CPU Brand: AMD Ryzen 7 1800X Eight-Core Processor
CPU Family: 0x17
CPU Model: 0x1
CPU Stepping: 0x1
CPU Type: 0x0
Speed: 3656 Mhz
16 logical processors
8 physical processors
HyperThreading: Supported
FCMOV: Supported
SSE2: Supported
SSE3: Supported
SSSE3: Supported
SSE4a: Supported
SSE41: Supported
SSE42: Supported
AES: Supported
AVX: Supported
CMPXCHG16B: Supported
LAHF/SAHF: Supported
PrefetchW: Unsupported
Operating System Version: "Arch Linux" (64 bit) Kernel Name: Linux Kernel Version: 4.18.4-arch1-1-ARCH X Server Vendor: The X.Org Foundation X Server Release: 12001000 X Window Manager: Xfwm4 Steam Runtime Version: <Runtime disabled>
Video Card: Driver: NVIDIA Corporation GeForce GTX 970/PCIe/SSE2 Driver Version: 4.6.0 NVIDIA 396.54 OpenGL Version: 4.6 Desktop Color Depth: 24 bits per pixel Monitor Refresh Rate: 60 Hz VendorID: 0x10de DeviceID: 0x13c2 Revision Not Detected Number of Monitors: 2 Number of Logical Video Cards: 2 Primary Display Resolution: 1920 x 1080 Desktop Resolution: 3840 x 1080 Primary Display Size: 20.91" x 11.77" (23.98" diag) 53.1cm x 29.9cm (60.9cm diag) Primary Bus: PCI Express 16x Primary VRAM: 4096 MB Supported MSAA Modes: 2x 4x 8x 16x
Sound card: Audio device: Nvidia GPU 71 HDMI/DP
Memory: RAM: 32097 Mb
Miscellaneous: UI Language: English LANG: en_US.utf8 Total Hard Disk Space Available: 434126 Mb Largest Free Hard Disk Block: 266709 Mb VR Headset: None detected
Recent Failure Reports:
I tested this on proton 8, and the movies now play. However there is a bug in that happens at the end or whenever the you try to en the movie. The game well freeze, and become totally unresponsive and the only thing you can do is kill the process. This happens in wine 9 staging as of my testing. I managed I have submitted a fix for this upstream here. I also tested this fix with bleeding edge of proton and it was working fine the movies were able to complete. I found that the issue happened because of a deadlock when ending the movie. The deadlock happens in quartz.
Here are some relevant logs highlighting the issue (please don't mind my debug traces). As you can see the VideoWindow_put_Visible runs and gets the lock for the filter_graph object. This leads to show_window getting called and later on set_window_pos (this is all while holding the lock for the graph). Further set_window_pos calls apply_window_pos which invalidates the DCE, likely causing a WM_PAINT message being send, which end up in VideoWindow_NotifyOwnerMessage (WM_PAINT = 0xf) . But VideoWindow_NotifyOwnerMessage can't finish because it doesn't have the lock, VideoWindow_put_Visible has the lock. Later on VideoWindow_put_Visible send a new message WM_ERASEBKND this never returns as it is likely waiting for WM_PAINT to finish, thus we end up with a deadlock scenario. You can find logs here
Movies currently play perfectly on desktop with SteamOS 3.6.6/Proton 9.0-2 on OLED Deck, while the video stream stays black and only audio plays within Gamescope-session.
ENABLE_GAMESCOPE_WSI=0 %command% fixes the issue, as reported by two OLED Deck owners I helped with troubleshooting this on SteamOS' Preview branch. I can try and grab some Gamescope and Proton logs from my own Deck later, but it should be relatively easy to repro since it happens with the intro movie or if you fast forward until you reach other video (plus - no nsfw stuff, yay! 🐸)
~~Proton experimental, WSI on, black intro video screen w/ audio playing:~~ ~~steam-857450-wsi-on.log~~
~~Proton experimental, WSI off, perfect video + audio:~~ ~~steam-857450-wsi-off.log~~
~~Gamescope-session log has nothing interesting.~~
~~Tested on my OLED Deck, Gamescope 3.14.22, Fedora 40~~
EDIT: re-tested on SteamOS 3.6.20 with Proton Experimental and the issue no longer occurs