Bug 2533633 - Include play module in the Secure Boot–signed x86_64-efi GRUB image
Summary: Include play module in the Secure Boot–signed x86_64-efi GRUB image
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: grub2
Version: 44
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Nicolas Frayer
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-09-15 09:13 UTC by Petr Řehák
Modified: 2026-10-02 01:27 UTC (History)
6 users (show)

Fixed In Version: grub2-2.12-66.fc44
Clone Of:
Environment:
Last Closed: 2026-10-02 01:27:38 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Petr Řehák 2026-09-15 09:13:30 UTC
play (PC-speaker tune playback, grub-core/commands/i386/pc/play.c) is present and buildable in Fedora's own grub2-efi-x64-modules package:

$ rpm -ql grub2-efi-x64-modules | grep play
/usr/lib/grub/x86_64-efi/play.mod

But it is not part of the fixed module set compiled into the pre-built, Secure Boot–signed grubx64.efi shipped by grub2-efi-x64 (confirmed via `strings` on the installed /usr/lib/efi/grub2/<version>/EFI/fedora/grubx64.efi — no reference to the play command exists in the binary, unlike other included commands such as password_pbkdf2, keystatus,
background_image, gfxterm, all_video, png). Since GRUB's lockdown mode (active whenever shim hands off control under Secure Boot) disables insmod for any module not already compiled into the trusted image, there is no runtime workaround — play can only be made available by including it in the module list Fedora's build uses when producing the signed image.

Debian/Ubuntu already do this. Their grub2 source package's EFI-image build script (debian/build-efi-images, used to produce the monolithic image that is then Secure Boot–signed) explicitly adds play for EFI platforms:

# Platform-specific modules
case $platform in
    x86_64-efi|i386-efi)
        CD_MODULES="$CD_MODULES
        cpuid
        play
        "
        ;;
```

(Source: debian/build-efi-images in the grub2 source package, e.g.
<https://sources.debian.org/src/grub2/2.14-3/debian/build-efi-images/>. Ubuntu's grub-efi-amd64-signed/grub-efi-ia32-signed packages are built from the same script and the same monolithic-image-then-sign architecture Fedora uses.)

Since another major distribution ships an officially Secure Boot–signed EFI GRUB with play compiled in today, with no known security issues arising from it, we'd like to ask Fedora to do the same.


Reproducible: Always

Steps to Reproduce:
1. Edit /etc/default/grub to include the INIT_TUNE variable, for example:
   init_tune="800 1"
2. Apply by issuing e.g. `sudo grub2-mkconfig -o /boot/grub2/grub.cfg`
3. Reboot the computer
Actual Results:
The message containing the following text appears: "Can't find command `play`".

Expected Results:
If the computer has a PC Speaker, or the PC Speaker is being emulated by a sound card, you should hear a simple beep.

Additional Information:
We, Adaptech s.r.o., build a UEFI Secure Boot–bootable recovery/imaging tool (AOS) whose GRUB menu uses play to
give audible tune feedback at boot time — relevant for accessibility (screen-reader/low-vision
users navigating the boot menu by ear) as well as general UX. Losing this specifically for our
Fedora-based build, while it continues to work on our previous Ubuntu-based build using the
identical GRUB feature, is the only remaining functional gap in an otherwise complete migration.

Comment 1 Petr Řehák 2026-09-29 09:40:02 UTC
Hello, I would just like to ask on when the fix could be expected to arrive. This fix will greatly improve accessibility not only for users of our software, but also for other blind users of Fedora worldwide. This is, in fact, loss of a feature that's been part of GRUB and relied on for many years without any doubt of sustained functionality.

Comment 2 Nicolas Frayer 2026-09-29 20:01:41 UTC
Hi Petr,

Sorry for the late reply.
I have added the play module in rawhide and it's on its way to f44 and f45.

Thanks,

Nicolas

Comment 3 Petr Řehák 2026-09-30 06:51:13 UTC
Hi Nicolas,
thanks much for your initiative, great work! Now to make GRUB more accessible, we imagine that telling GRUB to beep while moving between items in the menu would be great and very beneficial so that the blind would know where the selection is. However, I realize this might involve much more work than enabling the play module. Do you think that this feature would be feasible to implement? I don't have much experience in this area so any advice on how to proceed next will be welcome.

Comment 4 Fedora Update System 2026-09-30 19:59:53 UTC
FEDORA-2026-1ddf799303 (grub2-2.12-66.fc44) has been submitted as an update to Fedora 44.
https://bodhi.fedoraproject.org/updates/FEDORA-2026-1ddf799303

Comment 5 Nicolas Frayer 2026-09-30 20:20:26 UTC
Hi,

I think it might be worth you checking grub-core/normal/menu.c, it's where menu navigation is handled AFAIK.
You might be able to use the underlying implementation of the play command to beep when moving the cursor in the menu. Look for GRUB_TERM_KEY_DOWN for example.
You could have 3 unique sounds: one for the 1st line in the menu, one for last line and another one for other lines. But I'll have leave this to you as you are much experienced than me regarding UX :)

Thanks,

Nicolas

Comment 6 Fedora Update System 2026-09-30 21:08:27 UTC
FEDORA-2026-58cb0d198a (grub2-2.12-81.fc45) has been submitted as an update to Fedora 45.
https://bodhi.fedoraproject.org/updates/FEDORA-2026-58cb0d198a

Comment 7 Fedora Update System 2026-10-01 02:01:44 UTC
FEDORA-2026-1ddf799303 has been pushed to the Fedora 44 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2026-1ddf799303`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2026-1ddf799303

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

Comment 8 Fedora Update System 2026-10-01 02:20:14 UTC
FEDORA-2026-58cb0d198a has been pushed to the Fedora 45 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2026-58cb0d198a`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2026-58cb0d198a

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

Comment 9 Fedora Update System 2026-10-02 01:27:38 UTC
FEDORA-2026-1ddf799303 (grub2-2.12-66.fc44) has been pushed to the Fedora 44 stable repository.
If problem still persists, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.