Implement Screen Blank Timeout and OLED Protection Mechanism
To address the issue of potential burn-in on OLED screens caused by prolonged display of static content during cryptroot passphrase prompts in the php-form-template repository.
The issue involves the risk of burn-in on OLED screens when displaying static content, such as cryptroot passphrase prompts during boot, for extended periods. This can lead to permanent damage to the screen, especially when the brightness is set to maximum and the lid is closed, preventing screen repositioning or blanking.
Proposed Solution:
- Screen Blank Timeout: Implement a screen blank timeout mechanism that blanks the screen after a specified duration of inactivity, such as 180 seconds, during cryptroot passphrase prompts.
- User Interaction: Allow users to bring the screen back from blanking with a keystroke, ensuring accessibility and convenience.
- Dynamic Brightness Adjustment: Investigate the feasibility of dynamically adjusting screen brightness during cryptroot passphrase prompts to reduce the risk of burn-in.
- Power Management: Consider implementing a power-off mechanism after an extended period of inactivity (e.g., 10 minutes) if no cryptroot passphrase is provided, mitigating the risk of burn-in in scenarios such as the notebook being in a backpack.
- Screen Type Detection: Explore possibilities for detecting OLED screens at boot stage to enable tailored protection mechanisms specific to OLED displays.
Expected Outcome:
The implementation of screen blank timeout and OLED protection mechanisms will help mitigate the risk of burn-in on OLED screens during cryptroot passphrase prompts, enhancing screen longevity and preventing permanent damage.
Additional Notes:
- Consider conducting thorough testing across various hardware configurations to ensure compatibility and effectiveness of the implemented mechanisms.
- Encourage community feedback and contributions to refine and improve the proposed solutions for optimal performance and user experience.
- Document the implemented changes and their impact in the repository's documentation or README file for transparency and user guidance.