An open API service indexing awesome lists of open source software.

https://github.com/compeydev/bad-apple-efi

An EFI application to play the silly video
https://github.com/compeydev/bad-apple-efi

bad-apple efi efi-application rust

Last synced: 10 months ago
JSON representation

An EFI application to play the silly video

Awesome Lists containing this project

README

          

# bad-apple-efi

The [bad apple video](https://www.youtube.com/watch?v=FtutLA63Cp8&pp=ygUJYmFkIGFwcGxl) but bootable, powered by 🦀

> [!NOTE]
> The EFI application does not actually include the audio, it has merely been `ffmpeg`'d into the demo video.
> Audio support would involve a complete refactor and removal of all reliance on [GOP](https://wiki.osdev.org/GOP),
> and instead move towards writing directly to the frame buffer, so that [PC Speaker](https://wiki.osdev.org/PC_Speaker) can be used,
> which requires an exit of boot services. [Pull requests](https://github.com/CompeyDev/bad-apple-efi/pulls) are welcome!

Preview

https://github.com/CompeyDev/bad-apple-efi/assets/74418041/efc399e5-9ccb-45f0-91a2-301c9ec8657c

## Usage

### Source
The following guide assumes you have [rustup](https://rustup.rs) and the `base-devel` installed.
The package names are specific to Arch Linux, but install commands can be modified to equivalents for
other distributions.

```sh
# Install prerequisites
sudo pacman -S qemu-base qemu-ui-gtk ovmf python3 python-pillow python-opencv

# Clone the repository
git clone https://git.devcomp.xyz/DevComp/bad-apple-efi.git

# Generate ASCII frames & compile EFI
make build

# Run in QEMU
make qemu-run
```

### Precompiled
Soon.