From 58b46d9e37469dc4497867b2424cf8f23dde4db4 Mon Sep 17 00:00:00 2001 From: Liav A Date: Sat, 21 May 2022 19:38:50 +0300 Subject: [PATCH] Utilities: Add edid-dump program to dump EDID from Display connectors --- Userland/Utilities/CMakeLists.txt | 1 + Userland/Utilities/edid-dump.cpp | 38 +++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 Userland/Utilities/edid-dump.cpp diff --git a/Userland/Utilities/CMakeLists.txt b/Userland/Utilities/CMakeLists.txt index 593aa5741b6..d4f35c26571 100644 --- a/Userland/Utilities/CMakeLists.txt +++ b/Userland/Utilities/CMakeLists.txt @@ -107,6 +107,7 @@ target_link_libraries(disk_benchmark LibMain) target_link_libraries(dmesg LibMain) target_link_libraries(du LibMain) target_link_libraries(echo LibMain) +target_link_libraries(edid-dump LibMain LibEDID) target_link_libraries(env LibMain) target_link_libraries(errno LibMain) target_link_libraries(expr LibRegex LibMain) diff --git a/Userland/Utilities/edid-dump.cpp b/Userland/Utilities/edid-dump.cpp new file mode 100644 index 00000000000..2ac465b249c --- /dev/null +++ b/Userland/Utilities/edid-dump.cpp @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2022, Liav A. + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +ErrorOr serenity_main(Main::Arguments arguments) +{ + TRY(Core::System::pledge("stdio rpath wpath")); + + StringView display_connector_file_name; + Core::ArgsParser args; + args.add_positional_argument(display_connector_file_name, "Display Connector Device Path", "display connector file name", Core::ArgsParser::Required::Yes); + + args.parse(arguments); + + auto edid = TRY(EDID::Parser::from_framebuffer_device(display_connector_file_name, 0)); + + out("{}", StringView { edid.bytes() }); + return 0; +}