Skip to content

Taking screenshots in firmware

Introduction

Dasharo EDKII fork comes with the functionality of taking screenshots. This is useful for creating guides, how-tos and tests. This document is meant to show the best practices for taking screenshots.

Resolution

When taking screenshots, remember to set the display mode to 80x25. This makes the pictures easier to read when embedded into documentation. Notice how this:

is easier to read than this:

To set the mode in UEFI:

  • Enter the UEFI Setup Menu
  • Select One Time Boot
  • Select UEFI Shell
  • Type in mode 80 25 and press Enter to switch mode
  • Type in exit to go back to setup menu

You can browse the setup menu to take your screenshots now.

Taking screenshots

The key combination for taking screenshots is LCtrl + LAlt + F12. When taking screenshots, you'll notice a colored status indicator in the top left corner of the screen. The colors indicate:

  • Yellow - no writable FS found, screenshot is not taken
  • Blue - current GOP is pitch black, screenshot is not taken
  • Red - something went wrong, screenshot is not taken
  • Green - screenshot taken and saved to PNG file

PNG files are saved to the first writable partition, which will in most cases be the EFI System Partition. You can mount the ESP in Dasharo Tools Suite, e.g.:

# mount /dev/nvme0n1p1 /mnt

and then copy the files from there, or just scp them to your workstation.

PiKVM

If a platform has PiKVM connected and configured, you can use it to take screenshots instead. This makes it easier to save taken screenshots to your workstation.

To take a screenshot in PiKVM, simply click on the System menu in the top-right corner of the page and click on Screenshot:

This will open the screenshot in a new tab. From there you can right-click -> Save image as..., or simply press Ctrl + S to save the image.

Cropping

If you changed the mode prior to taking the screenshot, you'll notice that the screenshot captured the entire framebuffer with the small content screen centered in the middle. You'll need to crop them to size for usage in docs. You can do this using GIMP's Crop to Content feature.