NightframeSDDM is a custom dark cinematic SDDM theme built with Qt6/QML.
V4 introduces preset identities that are visually distinct at a glance, not only numerically different.
It keeps wallpaper visibility high, uses a minimal login surface, and includes SVG power controls with optional video background support.
- Identity-driven presets (default, night, rain, pixel)
- Stable image-first mode (default, night, rain)
- Optional video background mode with safe fallback (pixel)
- Automatic fallback to image when video fails
- Modular QML architecture for maintainability
- Preset system via
presets/*.conf - SVG icon power controls (sleep, reboot, shutdown)
default: balanced urban-anime baseline, teal-cyan accent, clean readable spacingnight: deeper premium cinematic blue, sharper radii, restrained compact controlsrain: softer atmospheric grey-blue, rounder panel geometry, calmer cozy spacingpixel: neon arcade mood, compact squarer controls, video-first with robust fallback
| Default | Night |
|---|---|
![]() |
![]() |
| Rain | Pixel |
|---|---|
![]() |
NightframeSDDM/
├── assets/
│ ├── backgrounds/
│ ├── fonts/
│ ├── svg/
│ └── video/
├── components/
│ ├── Auth/
│ ├── Background/
│ ├── Common/
│ ├── Power/
│ ├── Session/
│ └── Widgets/
├── docs/
│ ├── customization.md
│ └── structure.md
├── presets/
│ ├── default.conf
│ ├── night.conf
│ ├── pixel.conf
│ └── rain.conf
├── scripts/
│ ├── install.sh
│ └── test.sh
├── Main.qml
├── metadata.desktop
├── qmldir
├── README.md
└── theme.conf
- SDDM with Qt6 greeter (
sddm-greeter-qt6preferred) - Qt6 QML runtime
- Qt Multimedia (only required for optional video mode)
Preset-driven testing:
./scripts/test.sh --preset default
./scripts/test.sh --preset night
./scripts/test.sh --preset rain
./scripts/test.sh --preset pixelEnable authentication debug overlay during preview:
./scripts/test.sh --debug-auth
./scripts/test.sh --preset night --debug-authList available presets:
./scripts/test.sh --list-presetsReduce local multimedia warning noise:
NIGHTFRAME_QUIET_TEST=1 ./scripts/test.sh --preset pixelInstall to the standard SDDM location:
./scripts/install.shInstall with preset:
./scripts/install.sh --preset default
./scripts/install.sh --preset night
./scripts/install.sh --preset rain
./scripts/install.sh --preset pixelCustom target path:
./scripts/install.sh --target /usr/share/sddm/themes/NightframeSDDM- Image mode is the safe default.
- Video mode is opt-in.
- If video decode/backend/media fails, the UI remains usable and falls back to image rendering.
theme.confis the active runtime config.Preset=<name>indicates the intended style preset.presets/*.confare complete config variants that can be applied via scripts.
Primary V4 style keys:
UiFontClockFontAccentColorSecondaryAccentColorOverlayStrengthOverlayTintPanelTintPanelOpacityPanelRadiusControlDensityClockScaleTitleOpacitySubtitleOpacityBottomControlsOpacityPanelHorizontalOffsetPanelVerticalOffsetSessionStyleTransitionProfileControlSpacingPanelBorderStrength
See:
docs/structure.mddocs/customization.md
Warnings about FFmpeg, VAAPI, VDPAU, Bluez, or device sample formats in test mode are usually environment/runtime warnings, not necessarily theme logic errors.
sddm-greeter --test-mode is a theme preview path and does not validate real PAM password authentication.
Use installed SDDM runtime for end-to-end authentication testing.


