Как оказалось, все проблемы (и с иксами тоже) могут быть решены через командную строку ядра в grub.
А именно, в файле /etc/default/grub есть строка
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
В неё можно дописать опцию video= которая используется ядром для переключения консольных режимов. Иксы же тоже её используют, напрямую ли с помощью ядра или просто заимствуют из неё дефолтные настройки - не разбирался, но используют.
Что прописал:
Во-первых, xrandr показывал два интерфейса (VGA-1 и eDP-1), первый из них это тот что нужен а второй это какой-то внутренний разъём на материнке, он постоянно только мешался, создавая невидимые виртуальные экраны в иксах (из-за него же, как теперь подозреваю, потерялись и долго не могли найтись xfce4-panel после обновления - они рисовались на невидимом экране которые тогда было непонятно откуда взялся). Поэтому прописал аргумент video=eDP-1:d чтобы этот интерфейс отключить
GRUB_CMDLINE_LINUX_DEFAULT="quiet video=eDP-1:d"
Перезапустил - и правда он отключился, xrandr перестал его показывать и гуи настройка мониторов не предлагает больше выбрать второй непонятный монитор активным.
После этого стал разбираться с разрешением, дописал video=VGA-1:1920x1080@60
GRUB_CMDLINE_LINUX_DEFAULT="quiet video=eDP-1:d video=VGA-1:1920x1080@60"
Перезапустил - в консоли стало 1920x1080 постоянно и независимо от переключений монитора, в иксах появился режим 1920х1080 который не исчезает из-за автодетектов (сами автодетекты не прекратились, но поскольку они не портят нужный режим, вреда от них больше нет). Одна проблема - изображение съехало вбок (и в консоли и в иксах).
Сравнил командой "xvidtune -show" настройки при автодетекте правильного 1920х1080 и настройки прописанного из ядра 1920х1080 - они отличались.
autodetect
"1920x1080" 148.50 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
VGA-1=1920x1080@60
"1920x1080" 172.78 1920 2040 2248 2576 1080 1081 1084 1118 -hsync +vsync
Видно что в прописанном режиме сильно шире строка развёртки (2576 против 2200 пикселей), больше пискельная частота (172 против 148 МГц) и другой знак и строчной синхронизации.
попроовал режим 1920x1080M@60 (буква M, по документации, означает посчитать тайминги по каким-то стандартным формулам а не брать из какой-то таблицы режимов, почему они отличаются - не известно), получилось такое (изображение так же осталось съехавшим):
"1920x1080" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
ну и наконец 1920x1080MR@60 (буква R означает уменьшить межстрочные интервалы в формулах буквы M - это допустимо для ЖК-дисплеев но ЭЛТ в таком режиме работать не смогут)
"1920x1080" 138.50 1920 1968 2000 2080 1080 1083 1088 1111 +hsync -vsync
После чего всё стало выглядеть как надо.
Единственное что осталось не совсем идеальным: в автодетект-режиме кадровая частота строго 60, а в этих всех 59.93-59.97. Ну и вообще параметры xvidtune чуть другие чем были. Но вроде бы это всё не мешает.
ecc83 спасибо за подсказку с grub, а то я думал (посмотрев документацию к kernel cmdline) что эти настройки только для устаревшего framebuffer драйвера