{"id":13624602,"url":"https://github.com/kageurufu/steamdeck_startup_animations","last_synced_at":"2025-08-23T19:41:14.235Z","repository":{"id":51227407,"uuid":"520194230","full_name":"kageurufu/steamdeck_startup_animations","owner":"kageurufu","description":"A collection of steamdeck startup animations, plus a script to randomize your startup on each boot","archived":false,"fork":false,"pushed_at":"2022-10-09T15:54:46.000Z","size":6054,"stargazers_count":228,"open_issues_count":8,"forks_count":20,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-03-30T18:23:18.947Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kageurufu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-08-01T17:01:48.000Z","updated_at":"2025-03-26T00:24:02.000Z","dependencies_parsed_at":"2023-01-19T17:04:29.125Z","dependency_job_id":null,"html_url":"https://github.com/kageurufu/steamdeck_startup_animations","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kageurufu%2Fsteamdeck_startup_animations","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kageurufu%2Fsteamdeck_startup_animations/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kageurufu%2Fsteamdeck_startup_animations/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kageurufu%2Fsteamdeck_startup_animations/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kageurufu","download_url":"https://codeload.github.com/kageurufu/steamdeck_startup_animations/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251753161,"owners_count":21638248,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T21:01:44.149Z","updated_at":"2025-04-30T17:42:56.094Z","avatar_url":"https://github.com/kageurufu.png","language":"Shell","funding_links":[],"categories":["Shell"],"sub_categories":[],"readme":"# steamdeck_startup_animations\nA collection of steamdeck startup animations, plus a script to randomize your startup on each boot\n\n# So far, I've made boot animations from the following consoles:\n\n* dreamcast\n* ps1\n* ps2\n* ps4\n* switch\n* gamecube\n* ps2\n* switchfirst (first boot animation)\n* switch (regular boot animation)\n* xbox\n* xbox 360\n* xbox one\n\n# Installation\n\n```sh\ncurl -o - https://raw.githubusercontent.com/kageurufu/steamdeck_startup_animations/main/install.sh | bash -\n```\n\nIf you're (justifiably) not a fan of `curl | bash`, you can run this:\n\n```sh\nmkdir -p \"$HOME/homebrew\"\nmkdir -p \"$HOME/.config/systemd/user\"\ngit clone https://github.com/kageurufu/steamdeck_startup_animations \"$HOME/homebrew/startup_animations\"\nln -sf \"$HOME/homebrew/startup_animations/randomize_deck_startup.service\" \"$HOME/.config/systemd/user/randomize_deck_startup.service\"\nsystemctl --user daemon-reload\nsystemctl --user enable --now randomize_deck_startup.service\n```\n\n# Uninstallation\n\n```sh\nbash $HOME/homebrew/startup_animations/uninstall.sh\n```\n\n# Making an animation (somewhat advanced)\n\nI used youtube-dl to grab the best video and audio tracks from youtube, and then ffmpeg to merge them, resizing down to fit the Deck's 1280x800 screen. Then I use `truncate` to make the file the right size. \n\nThis all does work on the steamdeck\n\n### Getting the dependencies\n\n```sh\npython3 -m ensurepip\n~/.local/bin/pip install --user youtube-dl\n```\n\n### Creating the animation\n\n```sh\n# Get ps1.webm and ps1.m4a. Your file extensions may differ here\n~/.local/bin/youtube-dl -f bestvideo -o 'ps1.%(ext)s' https://www.youtube.com/watch?v=1JwbfIi5Uio\n~/.local/bin/youtube-dl -f bestaudio -o 'ps1.%(ext)s' https://www.youtube.com/watch?v=1JwbfIi5Uio\n\n# Convert the video from whatever input formats to a webm video in VP9 encoding, with vorbis encoded audio\nffmpeg -i ps1.webm -i ps1.m4a \\\n       -map 0:v:0  -map 1:a:0 \\\n       -filter:v \"scale='min(1280,iw)':min'(800,ih)':force_original_aspect_ratio=decrease,pad=1280:800:(ow-iw)/2:(oh-ih)/2\" \\\n       -c:v vp9 \\\n       -c:a libvorbis \\\n       my_deck_startup_ps1.webm\n\n# Make sure the generated file is less than 1840847B here\n# Mine was `389670`, plenty small enough\nstat -c '%s' my_deck_startup_ps1.webm\n\ntruncate -s 1840847 my_deck_startup_ps1.webm\n```\n\nThe ffmpeg command is a bit confusing, so heres a breakdown\n\n* `-i ps1.webm -i ps1.m4a`  \n  Load both the video and audio files we downloaded.\n* `-map 0:v:0  -map 1:a:0`  \n  Only use the first video stream from the first file, and first audio stream from the second.  \n  This prevents having multiple video or audio streams in the final file\n* `-filter:v \"scale='min(1280,iw)':min'(800,ih)':force_original_aspect_ratio=decrease,pad=1280:800:(ow-iw)/2:(oh-ih)/2\"`  \n  This is most confusing part, basically we're resizing the video to fit 1280x800  \n  `min'(1280,iw)':min'(800,ih)'` ensures the target size is never upscaled  \n  `force_original_aspect_ratio=decrease` scales to fit within a given size, keeping the original aspect ratio  \n  `pad=1280:800:(ow-iw)/2:(oh-ih)/2` pad the video size to 1280:800, centering the original video. This is optional and I might not use it in the future\n* `-c:v vp9 c:a libvorbis` Select our output VP9 / vorbis codecs\n\n \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkageurufu%2Fsteamdeck_startup_animations","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkageurufu%2Fsteamdeck_startup_animations","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkageurufu%2Fsteamdeck_startup_animations/lists"}