From 2f87e4c2f3bccf33bfffcd8d9822b81f41a47a3e Mon Sep 17 00:00:00 2001 From: Andrei Alexeyev Date: Tue, 9 May 2023 15:01:45 +0200 Subject: renderer,config: add custom DRM modeline support (#2254) This allows specifying custom display resolutions for the DRM backend. This is useful for display overclocking, working around broken EDIDs, etc. To use this feature, specify a modeline instead of a resolution in the config, for example: monitor = DP-1, modeline 1071.101 3840 3848 3880 3920 2160 2263 2271 2277 +hsync -vsync, 0x0, 1 This example is a custom 3840x2160@120Hz mode with tightened timings. I use it because the standard timings don't work with my monitor and GPU combination (M28U with RX580). The syntax is compatible with Sway and Xorg. --- src/config/ConfigManager.hpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/config/ConfigManager.hpp') diff --git a/src/config/ConfigManager.hpp b/src/config/ConfigManager.hpp index 1d35e9dd..ea824a32 100644 --- a/src/config/ConfigManager.hpp +++ b/src/config/ConfigManager.hpp @@ -11,6 +11,7 @@ #include #include #include +#include #include "../Window.hpp" #include "../helpers/WLClasses.hpp" @@ -44,6 +45,7 @@ struct SMonitorRule { wl_output_transform transform = WL_OUTPUT_TRANSFORM_NORMAL; std::string mirrorOf = ""; bool enable10bit = false; + drmModeModeInfo drmMode = {}; }; struct SWorkspaceRule { -- cgit v1.2.3