bug good first issue help wanted linux ubuntu plymouth boot-theme graphics documentation
The Dragon Boot Plymouth theme installation script completes successfully on Ubuntu 22.04, but instead of displaying the animated dragon boot splash screen, the system shows only a black screen during boot. The boot process completes normally, but the visual theme does not appear.
Expected Behavior:
A smooth 24-frame dragon animation should display during system boot with a progress bar at the bottom.
Actual Behavior:
Black screen appears during boot - no animation, no progress bar, no visual feedback.
Make the Dragon Boot Plymouth theme fully operational on:
- ✅ Primary Target: Ubuntu 22.04 LTS (user's current OS)
- 🔄 Secondary Targets: Other Linux distributions that support custom Plymouth boot themes (Debian, Arch, Pop!_OS, Fedora, etc.)
The theme should display a cinematic glowing dragon animation during boot on UEFI systems with proper graphics framebuffer support.
-
Installation Script (
scripts/install.script)- Successfully installs dependencies (plymouth, grub, etc.)
- Copies all 24 PNG animation frames to
/usr/share/plymouth/themes/dragon/ - Copies theme definition files (
.plymouthand.script) - Configures
/etc/plymouth/plymouthd.conf - Updates GRUB configuration in
/etc/default/grub - Runs
update-grubandupdate-initramfs -u -v - Registers theme with
update-alternatives - Completes without errors
-
Animation Assets (
frames/directory)- 24 high-quality PNG frames (frame_000.png through frame_023.png)
- Each frame is approximately 2MB (1920x1080 resolution)
- Total of ~50MB of animation assets
-
Theme Configuration Files
usr/share/plymouth/themes/dragon/dragon.plymouth- Theme metadatausr/share/plymouth/themes/dragon/dragon.script- Animation script (126 lines)etc/plymouth/plymouthd.conf- Daemon configuration
-
Documentation
docs/README.md- Installation and feature documentationdocs/TROUBLESHOOTING.md- Comprehensive troubleshooting guidedocs/STRUCTURE.md- Repository structure documentation
- Plymouth Theme Display
- Theme doesn't render during boot
- Black screen appears instead of animation
- No visible errors during installation
- System boots normally otherwise
The install script successfully performs these steps:
# 1. Installs dependencies
sudo apt install -y plymouth plymouth-themes grub2-common plymouth-label plymouth-x11
# 2. Copies theme files to system directory
/usr/share/plymouth/themes/dragon/
├── frame_000.png ... frame_023.png (24 frames)
├── dragon.plymouth
└── dragon.script
# 3. Configures plymouthd.conf
/etc/plymouth/plymouthd.conf
Theme=dragon
ShowDelay=0
# 4. Updates GRUB configuration
/etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash loglevel=3 fbcon=map:1 gfxpayload=keep video=efifb"
GRUB_GFXMODE=1024x768
GRUB_GFXPAYLOAD_LINUX=keep
# 5. Registers and activates theme
sudo update-alternatives --install /usr/share/plymouth/themes/default.plymouth default.plymouth /usr/share/plymouth/themes/dragon/dragon.plymouth 100
sudo update-alternatives --set default.plymouth /usr/share/plymouth/themes/dragon/dragon.plymouth
# 6. Updates system
sudo update-grub
sudo update-initramfs -u -vThe dragon.script file includes:
- Frame loading logic (loads all 24 PNG frames)
- Animation update function (cycles through frames)
- Progress bar rendering
- Callback functions for Plymouth events
- 25 FPS refresh rate
Based on the troubleshooting guide, possible causes include:
-
Graphics/Framebuffer Issues
- Missing kernel framebuffer support (
/dev/fb*devices) - Graphics driver compatibility (NVIDIA, AMD, Intel)
- EFI framebuffer not initializing properly
- Secure Boot blocking unsigned themes
- Missing kernel framebuffer support (
-
Plymouth Script Issues
- Script may have syntax errors not caught during installation
- Image loading paths may be incorrect
- Plymouth script engine may not support all functions used
-
GRUB Configuration Issues
- Resolution mismatch between GRUB and Plymouth
- Graphics payload not properly preserved
- Console parameters interfering with framebuffer
-
Theme Registration Issues
- Theme may not be properly registered in initramfs
- Alternative selection may not be persisting
- Plymouth may be reverting to fallback theme
-
File Path Issues
- Duplicate theme directories exist (
/usr/share/plymouth/themes/dragon/and/usr/share/plymouth/dragon/) - Installation may be copying to wrong location
- Script
ImageDirvariable may not match actual file locations
- Duplicate theme directories exist (
-
Verify Plymouth Installation
# Check if Plymouth is actually running during boot sudo journalctl -b | grep -i plymouth # Verify theme is registered update-alternatives --list default.plymouth # Check initramfs contains theme files lsinitramfs /boot/initrd.img-$(uname -r) | grep dragon
-
Test Theme Without Rebooting
sudo plymouthd --debug --no-daemon & sudo plymouth --show-splash # Wait a few seconds to see if animation appears sudo plymouth --quit
-
Check Script Syntax
# Plymouth script syntax checker (if available) sudo plymouth --check-script /usr/share/plymouth/themes/dragon/dragon.script -
Verify Frame Files Load Correctly
- Check if PNG files are valid:
file frames/frame_000.png - Verify file permissions:
ls -la /usr/share/plymouth/themes/dragon/ - Ensure paths in script match actual file locations
- Check if PNG files are valid:
-
Compare with Working Themes
# Test with default theme to confirm Plymouth works sudo update-alternatives --set default.plymouth /usr/share/plymouth/themes/fade-in/fade-in.plymouth sudo update-initramfs -u # Reboot and verify fade-in works
-
Enable Plymouth Debug Logging
- Add debug flags to understand what's failing
- Check kernel logs for framebuffer initialization
- Monitor Plymouth's startup sequence
-
Graphics Driver Testing
- Verify graphics drivers are properly loaded
- Test with different kernel parameters (nomodeset, etc.)
- Check if framebuffer devices exist (
ls /dev/fb*)
-
Resolution and Scaling
- Test with lower resolution (800x600, 1024x768)
- Reduce PNG file sizes (optimize/compress images)
- Try different GRUB graphics modes
-
Script Debugging
- Add debug output to dragon.script
- Verify all Plymouth callbacks are functioning
- Test with simplified animation (fewer frames)
-
Installation Command:
sudo wget -qO- https://raw.githubusercontent.com/statikfintechllc/dragon-boot/master/scripts/install.script | bash -
Repository Files:
- Installation script:
scripts/install.script - Theme script:
usr/share/plymouth/themes/dragon/dragon.script - Theme definition:
usr/share/plymouth/themes/dragon/dragon.plymouth - Troubleshooting guide:
docs/TROUBLESHOOTING.md
- Installation script:
-
External Documentation:
- Plymouth Theming Guide: https://www.freedesktop.org/wiki/Software/Plymouth/
- Plymouth Script API: Check system docs at
/usr/share/doc/plymouth/
The issue will be considered resolved when:
- ✅ Dragon animation displays during boot on Ubuntu 22.04
- ✅ No black screen - animation is visible and smooth
- ✅ Progress bar appears and functions correctly
- ✅ Theme works after clean install using the one-line install command
- ✅ Documentation is updated with any required fixes or prerequisites
- ✅ Root cause is identified and documented for future reference
This is a good first issue - perfect for contributors who want to learn about:
- Linux boot process and Plymouth themes
- Graphics framebuffer systems
- GRUB bootloader configuration
- Shell scripting and system configuration
Steps to help:
- Fork the repository
- Test the installation on Ubuntu 22.04 (or VM)
- Run diagnostic commands from "Suggested Investigation Areas"
- Document your findings in comments on this issue
- If you find a fix, submit a PR with explanation
No prior Plymouth experience needed! The troubleshooting guide provides comprehensive debugging steps.
- Creator's Note: "I built this as a cool idea, I have no idea how boot themes need to work, but would love to have this operational."
- Current Status: Install script works perfectly, but the visual theme doesn't display
- Hardware: The issue has been observed on Ubuntu 22.04 systems
- Urgency: Low - system still boots normally, this is a cosmetic enhancement
- None yet - this is the primary tracking issue for boot theme functionality
Let's make this dragon breathe fire! 🐉🔥