- Package:
- src:fuse-emulator
- Source:
- src:fuse-emulator
- Submitter:
- Simon McVittie
- Date:
- 2026-05-16 17:21:01 UTC
- Severity:
- normal
- Tags:
This package has a Depends or Build-Depends on SDL version 1.2, which
is unmaintained upstream.
If possible, please port this package to SDL 2 and close this bug. There
is a migration guide at <https://wiki.libsdl.org/SDL2/MigrationGuide>,
and examples of successful ports from SDL 1.2 to SDL 2 can be found in
the commit history of packages like darkplaces and ioquake3.
If it is not possible to port to SDL 2, please test the package with
libsdl1.2-compat-shim (preferably version 1.2.64 or later), and leave
this bug open to track the package as still using SDL 1.2 APIs.
libsdl1.2-compat-shim is a compatibility layer that provides the SDL 1.2
API/ABI by using SDL 2: it has already replaced the "classic" SDL 1.2
library in some other distributions like Fedora and Arch, and my intention
is to do the same in Debian during the trixie release cycle.
Please don't change dependencies from libsdl1.2debian to
libsdl1.2-compat-shim, or from libsdl1.2-dev to libsdl1.2-compat-dev.
The -compat packages have Provides for the old package names, and my
intention is to make a future version of sdl12-compat take over the old
package names, to minimize the changes that are required in dependent
packages.
The interesting scenarios to test with libsdl1.2-compat-shim are:
1. Install libsdl1.2-compat-shim and run the program in an X11 environment,
such as "GNOME on Xorg" or XFCE.
($XDG_RUNTIME_DIR/wayland-* should not exist)
2. Install libsdl1.2-compat-shim and run the program in a Wayland
environment such as GNOME's default mode, using Xwayland.
($XDG_RUNTIME_DIR/wayland-* should exist)
3. Install libsdl1.2-compat-shim and run the program in a Wayland
environment, but this time with environment variable
SDL_VIDEODRIVER=wayland so that it uses the native Wayland interface
(this is not currently the default for SDL 2).
4. Install libsdl1.2-compat-dev and recompile the package.
Note that using libsdl1.2-compat and LD_LIBRARY_PATH is not sufficient if
the package contains programs that are setgid games. See
<https://github.com/libsdl-org/sdl12-compat/blob/main/HOW_TO_TEST_GAMES.md>
for more information.
If any of those fail, please report it as a bug in the
libsdl1.2-compat-shim or libsdl1.2-compat-dev package as appropriate,
with "affects" pointing to the program that is affected.
Thanks,
smcv
Tested with - fuse-emulator-sdl 1.6.0+dfsg1-2 - libsdl1.2-compat / libsdl1.2-compat-shim 1.2.64-2 This seems to work perfectly fine. This seems to work perfectly fine. The window appears without decorations so it's impossible to move it. Otherwise it seems to work fine. Switching between fullscreen and normal mode also works as expected. The package builds fine without issues. Berto
Thanks for testing! I've added your results to upstream's Google
spreadsheet of tested games/programs.
libsdl2-2.0-0 Depends on libdecor-0-0, which Recommends
libdecor-0-plugin-1-cairo (or another compatible plugin, but currently
there are none in Debian).
If you install the recommended package then you should get some simplistic
client-side window decorations (black rectangular titlebar, white bold
text, maximize/minimize/close icons light up in various colours on
mouseover) when running in a native Wayland environment like GNOME that
prefers client-side decorations.
If SDL 2 ever starts defaulting to native Wayland then I might give it
a direct Recommends on a libdecor plugin as a heavier hint that users
should really install one, but in practice that's unlikely to happen.
(SDL 3 in experimental does default to native Wayland, though.)
smcv
Indeed, installing that plugin solves the problem, thanks. One thing that I just noticed when using the shim is that after switching the app to full screen mode and then back to windowed mode the mouse pointer remains trapped inside the window. This only seems to happen with SDL2 (both with and without SDL_VIDEODRIVER=wayland), I cannot reproduce that behavior with SDL1. If I press alt-tab to switch to another window I can move the pointer just fine, but if I go back to Fuse and move the pointer inside the window then it gets trapped again. Berto
I don't know whether this is working as designed, or a bug -
either one seems plausible for a machine emulator. If this seems
wrong to you as its maintainer, please could you report it to
<https://github.com/libsdl-org/sdl12-compat/> with steps that someone
who doesn't know anything about this particular package could use to
reproduce it?
A Debian bug against src:sdl12-compat would also be welcome, but I'm
unlikely to be able to do anything about the finer points of mouse
capture other than forwarding it upstream, so there will probably be
much more efficient information transfer if you can upstream it yourself.
(Sorry, I don't think I have ever used a Spectrum, emulated or otherwise,
so I don't know where one would look for whatever software and/or firmware
might be necessary to test it meaningfully.)
Thanks,
smcv
I don't think this works as designed, since the original SDL1 version does not do that and it would be weird to grab the mouse only after coming back from full screen... anyway, it's not a terrible problem and it would not be a blocker for me, but I just reported it: https://github.com/libsdl-org/sdl12-compat/issues/301 Thanks! Berto
Es gibt eine Familienspende in Höhe von 1.850.000,00 USD von Cheng Charlie Saephan. Bitte antworten Sie für weitere Informationen. Denken Sie daran, Ihrer Familie und den Bedürftigen in Ihrer Umgebung Gutes zu tun. Dies ist bereits der zweite Versuch, Sie zu erreichen. Bitte antworten Sie für weitere Details.
We believe that the bug you reported is fixed in the latest version of
fuse-emulator, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to 1038355@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Alberto Garcia <berto@igalia.com> (supplier of updated fuse-emulator package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Sat, 16 May 2026 18:55:11 +0200
Source: fuse-emulator
Architecture: source
Version: 1.8.0+dfsg-1
Distribution: unstable
Urgency: medium
Maintainer: Alberto Garcia <berto@igalia.com>
Changed-By: Alberto Garcia <berto@igalia.com>
Closes: 1038355
Changes:
fuse-emulator (1.8.0+dfsg-1) unstable; urgency=medium
.
* New upstream release.
* Refresh all patches.
* Build using SDL2 (Closes: #1038355):
- debian/control: remove build dependency on libsdl1.2-dev.
- sdl2-joystick.patch: use SDL2 for joystick support
- debian/rules: use --with-sdl2 --with-audio-driver=sdl2.
* debian/rules:
- Stop setting {GLIB,GDK}_DISABLE_DEPRECATION_WARNINGS, Fuse does that
now by default.
- fuse.desktop is now net.sourceforge.fuse_emulator.Fuse.desktop,
rename rules and install files accordingly.
* debian/control:
- Update Standards-Version to 4.7.4.
* debian/copyright:
- Add copyright information about the AppStream metadata file.
* debian/fuse-emulator-common.lintian-overrides:
- Override appstream-metadata-validation-failed. This happens because
the .desktop file is not found during validation. The reason is that
we install it manually.
* gresources-precedence.patch:
- When building resources, give the build dir precedence over the
source dir. The Fuse tarball ships an incorrect version of
ui/gtk3/menu_data.ui file, we have to use the one generated by us.
Checksums-Sha1:
fdb85f263ee950607c221955024a8ed0a3d5a53c 2206 fuse-emulator_1.8.0+dfsg-1.dsc
aeda306bca88baf6ae1cd379a9c7ba55e6759099 1099768 fuse-emulator_1.8.0+dfsg.orig.tar.xz
25640c82dca09e063f4518ab42513232523ad711 11060 fuse-emulator_1.8.0+dfsg-1.debian.tar.xz
0c7bf4a24e0c4f1017039a9e1d66a0f54a905065 16012 fuse-emulator_1.8.0+dfsg-1_source.buildinfo
Checksums-Sha256:
7b74c13e9f8591d6b2e493a3eb569a4bd58e43146320bbff14cc6acc6f67267f 2206 fuse-emulator_1.8.0+dfsg-1.dsc
22b646b358a45c088869d74854af8e352441f7c079382066c4a19409ba44d680 1099768 fuse-emulator_1.8.0+dfsg.orig.tar.xz
6afcf473ddf413ba77f981f854f83d792c90256187960f2c526dafb445f49a9d 11060 fuse-emulator_1.8.0+dfsg-1.debian.tar.xz
886855f97c90fe84473d39173814729e18c0593e003f91d37d688b3a368c11a2 16012 fuse-emulator_1.8.0+dfsg-1_source.buildinfo
Files:
bf67d9e905b8540e895f84ef16613143 2206 otherosfs optional fuse-emulator_1.8.0+dfsg-1.dsc
1ae8529eec22217e5346c91177d326be 1099768 otherosfs optional fuse-emulator_1.8.0+dfsg.orig.tar.xz
41ef28f902fef0da47f3fa447021c9e6 11060 otherosfs optional fuse-emulator_1.8.0+dfsg-1.debian.tar.xz
a4b837d4eedd951cb685d88f988e1a13 16012 otherosfs optional fuse-emulator_1.8.0+dfsg-1_source.buildinfo
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEEYrwugQBKzlHMYFizAAyEYu0C2AIFAmoIor0ACgkQAAyEYu0C
2AJJcw/9EjSod8WyxYPNcb2s0xI5uC15kut34gS8VP5CTQVdb4k+WTY6bwu0Tpgm
W83PkQ1odzYDQ3l67uiSshaakSXSkIRn1FNaWegBveafyLiksENbIlzXLf82Y7HI
PCk7nUbmXvHXuSYUQF4JzwgvFNoei+ABwPrgHywdg3G4iOmsFEiugXeUQWfj52xt
azFfU+pEDpMpGgaA31cWho+CW1jT1L+vnszzCQvt/lxjKtkn9W/i8y4ThXpC40E8
YPQiusfSJirwjYaPAQZiZOSEayzbs1aP4RvabyS0esRHsE4JSG1ymChq9cOAm9RB
/LNlsPWI3oQrJ8JxHb7z5lMlIpu+E2zJqLMmCDsV/HHnpKoceFHe5OgzX9xcDNWc
0X0CzmGXoIGDyfc4iWWr99srx8iJ4W/ywClEK5hTS6BieEiwNebZvFPT8QBEx6Bi
fr6vCigqDiqZXXW8xNEFIDwk++GqY1yh3aCau6FEXsvw3qvuEuwxtJNvtAWiXpWd
SxUTx+hQyyOR5r8oDDYHQ1YanZ3RjmSCCwHgD5RX6mLiHGA9pfYZj7qY7ToatZZY
hPPHGdC4SnAay31NeeCfe1yHsQC6b4+UKhaCcFKzOFogAT3ut7OG2Qv2LkOPH6XB
ydv2lYABmMdWGSzMz0BZ5hG9AnDgoOYFq6CgiT+GL9xcn8AZwwM=
=LXV9
-----END PGP SIGNATURE-----