Bug 1992804

Summary: SDL2 not depending on libdecor
Product: [Fedora] Fedora Reporter: Robert <robert.de.rooy>
Component: SDL2Assignee: Neal Gompa <ngompa13>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 34CC: dchen, igor.raits, ngompa13, spotrh
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: SDL2-2.0.16-2.fc34 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-08-25 19:57:07 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Robert 2021-08-11 18:38:23 UTC
Description of problem:
I installed SDL2 and tried some windowed SDL2 programs using "SDL_VIDEODRIVER=wayland", and found that window decoration was still missing.

After digging around, some head scratching, and looking through the SDL2 code, I found that it depends on an external libdecor.

I found libdecor in the Fedora repo, and installed it, and lo and behold, it worked.

So as I see it, there are two solutions. Either SDL2 should depend on libdecor, or every windowed SDL2 program should depend on libdecor.

To me, the former seems better than the latter.

Now, SDL2 is still defaulting to X11 on Wayland, so for the moment this will only effect a subset of users that set the SDL_VIDEODRIVER environment variable.

Version-Release number of selected component (if applicable):
$ rpm -qa|grep "SDL2\|libdecor"
SDL2_net-2.0.1-13.fc34.x86_64
SDL2_net-devel-2.0.1-13.fc34.x86_64
SDL2-2.0.16-1.fc34.x86_64
SDL2-static-2.0.16-1.fc34.x86_64
SDL2-devel-2.0.16-1.fc34.x86_64
SDL2-2.0.16-1.fc34.i686
libdecor-0.1.0-1.fc34.x86_64

How reproducible:
Every time, unless libdecor is installed

Steps to Reproduce:
1. Update to SDL 2.0.16, but don't install libdecor
2. run windowed SDL program with SDL_VIDEODRIVER=wayland
3.

Actual results:
No window decoration

Expected results:
Window decoration

Additional info:

Comment 1 Neal Gompa 2021-08-12 00:40:13 UTC
You're right, SDL2 should depend on libdecor. I guess SDL does it via dlopen() rather than normal dynamic linking.

Comment 2 Fedora Update System 2021-08-23 20:49:35 UTC
FEDORA-2021-784ff5db5c has been submitted as an update to Fedora 34. https://bodhi.fedoraproject.org/updates/FEDORA-2021-784ff5db5c

Comment 3 Fedora Update System 2021-08-24 01:57:30 UTC
FEDORA-2021-784ff5db5c has been pushed to the Fedora 34 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-784ff5db5c`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-784ff5db5c

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 4 Fedora Update System 2021-08-25 19:57:07 UTC
FEDORA-2021-784ff5db5c has been pushed to the Fedora 34 stable repository.
If problem still persists, please make note of it in this bug report.