Repository navigation
Enable VirtIO sound in Linux guest - #782
Merged
Merged
Conversation
Prepare the prebuilt Linux guest image for the VirtIO sound device implementation. Enable the Linux sound subsystem and VirtIO sound driver: - CONFIG_SOUND provides the top-level sound subsystem support. - CONFIG_SND enables ALSA support. - CONFIG_SND_PCM provides PCM playback support used by virtio-snd. - CONFIG_SND_TIMER provides the ALSA timer infrastructure. - CONFIG_SND_VIRTIO enables the Linux VirtIO sound driver. Also enable the ALSA command-line utilities in Buildroot: - BR2_PACKAGE_ALSA_UTILS provides the ALSA userspace utility package. - BR2_PACKAGE_ALSA_UTILS_APLAY provides aplay, which is used by the virtio-snd smoke test to verify PCM device enumeration. - BR2_PACKAGE_ALSA_UTILS_SPEAKER_TEST provides speaker-test for manual PCM playback verification.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Prepare the rv32emu Linux guest image for the VirtIO sound device implementation in #761.
This PR only adds the guest-side Linux and Buildroot configuration required for VirtIO sound support. The emulator-side VirtIO sound device implementation remains in #761.
Why this is separated from #761
The emulator-side VirtIO sound implementation is being developed in #761, but its CI test requires a Linux image that already contains the
virtio_snddriver and ALSA userspace tools.The regular rv32emu CI does not rebuild the Linux kernel and Buildroot root filesystem for every pull request. Instead, github workflow normally fetch the published
Linux-Imageartifact from:https://github.com/sysprog21/rv32emu-prebuilt/releases
Linux image generation is handled separately by .github/workflows/build-linux-artifacts.yml.
It runs after relevant changes reach
master, rebuilds the guest withmake build-linux-image, and publishes a newLinux-Imagetorv32emu-prebuilt.Therefore, this small PR prepares the guest-side VirtIO sound support separately from #761. After it is merged and the
Build Linux artifactworkflow completes successfully, the published Linux image is expected to contain thevirtio_snddriver and ALSA utilities required by the CI test.Summary by cubic
Prepares the prebuilt Linux guest image for the upcoming VirtIO sound device implementation by enabling the Linux sound subsystem and VirtIO sound driver, and adding ALSA command-line utilities to the Buildroot root filesystem.
CONFIG_SOUND,CONFIG_SND,CONFIG_SND_PCM,CONFIG_SND_TIMER, andCONFIG_SND_VIRTIO.alsa-utilswithaplayandspeaker-test.This is guest-side configuration only; the emulator-side VirtIO sound device implementation stays in #761. After merge, the Build Linux artifact workflow rebuilds the image, so the published
Linux-Imagewill include the driver and tools the CI test needs.Written for commit a60e342. Summary will update on new commits.