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
- Host: GitHub
- URL: https://github.com/compeydev/bad-apple-efi
- Owner: CompeyDev
- License: gpl-3.0
- Created: 2024-05-01T11:43:50.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-08-30T15:51:19.000Z (almost 2 years ago)
- Last Synced: 2025-04-01T07:51:14.591Z (about 1 year ago)
- Topics: bad-apple, efi, efi-application, rust
- Language: Rust
- Homepage:
- Size: 36.1 KB
- Stars: 17
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
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.