It maybe set via dbus. I found this:
and this is the display config file:
Unfortunately, this isn’t very easy to decipher:
$ gdbus call --session \
--dest=org.gnome.Mutter.DisplayConfig \
--object-path /org/gnome/Mutter/DisplayConfig \
--method org.gnome.Mutter.DisplayConfig.GetCurrentState
(uint32 1, [(('HDMI-2', 'HSD', 'HL229DPB', '1234567890123'), [('1920x1080@60', 1920, 1080, 60.0, 1.0, [1.0, 2.0], {'is-current': <true>, 'is-preferred': <true>}), ('1680x1050@59.883251190185547', 1680, 1050, 59.883251190185547, 1.0, [1.0, 2.0], {}), ('1600x1200@60', 1600, 1200, 60.0, 1.0, [1.0, 2.0], {}), ('1440x900@59.901458740234375', 1440, 900, 59.901458740234375, 1.0, [1.0], {}), ('1400x1050@59.947769165039062', 1400, 1050, 59.947769165039062, 1.0, [1.0], {}), ('1280x1024@75.024673461914062', 1280, 1024, 75.024673461914062, 1.0, [1.0], {}), ('1280x1024@60.019741058349609', 1280, 1024, 60.019741058349609, 1.0, [1.0], {}), ('1280x960@60', 1280, 960, 60.0, 1.0, [1.0], {}), ('1152x864@75', 1152, 864, 75.0, 1.0, [1.0], {}), ('1024x768@75.028579711914062', 1024, 768, 75.028579711914062, 1.0, [1.0], {}), ('1024x768@70.069358825683594', 1024, 768, 70.069358825683594, 1.0, [1.0], {}), ('1024x768@60.003841400146484', 1024, 768, 60.003841400146484, 1.0, [1.0], {}), ('832x624@74.55126953125', 832, 624, 74.55126953125, 1.0, [1.0], {}), ('800x600@75', 800, 600, 75.0, 1.0, [1.0], {}), ('800x600@72.187568664550781', 800, 600, 72.187568664550781, 1.0, [1.0], {}), ('800x600@60.316539764404297', 800, 600, 60.316539764404297, 1.0, [1.0], {}), ('800x600@56.25', 800, 600, 56.25, 1.0, [1.0], {})], {'is-builtin': <false>, 'display-name': <'HannStar Display Corp 22"'>})], [(0, 0, 1.0, uint32 0, true, [('HDMI-2', 'HSD', 'HL229DPB', '1234567890123')], @a{sv} {})], {'layout-mode': <uint32 2>, 'legacy-ui-scaling-factor': <1>})
You could try d-feet to tinker with things, and there should be some documentation somewhere:
Yeh, I tried that as well, and when it didn’t work, I started looking at dbus.