Устройство модуля alterator-x11
Бекэнд
Бакенд хранит всю информацию во временном конфигурационном файле /etc/X11/xorg.conf.alterator
При запуске бакэнд пытается определить драйвер видеокарты и рекомендуемое значение глубины цвета для него; монитор; рекомендуемое разрешение монитора. (см. функцию read_autodetect_data()) Эти параметры хранятся в переменных auto_cardname auto_xdepth и т.п.
(кажется, что от auto_xdepth можно легко избавиться, пользы от него нмного, а с толку он сбивает (уже сбил :)). Все равно xdepth надо заново определять при каждом переключении карты)
Команды бакэнда
- consterains
- list
- avail_xdepth
- avail_xresolution
- avail_xdriver
- avail_model
- avail_vendor
- read
- / – отдает:
- auto_cardname, auto_monitor – автоматически определенные
- config_status (существует ли конф.файл)
- monitor, driver, drivername, depth, resolution – или прописанные в конф.файле, или автоматически определенные
- monitor – отдает название производителя монитора, прописанного в коф.файле.
- write
- / – прописывает в конф.файл in_monitor, in_xdepth, in_xresolution, в зависимости от in_commit (#t/#f) устанавливает конф.файл в систему. в какой момент записывается драйвер, и надо ли здесь записывать xdepth?
- driver – прописывает в конф.файл явно заданный драйвер, определяет и прописывает рекомендуемый xdepth для него.
- monitor (in_vendor) – прописывает в конф.файл явно заданный, или автоматически определенный монитор (in_vendor=auto).
- test — запуск /usr/bin/xtest_wrapper с временным конф.файлом, возврат ошибки
Зоопарк скриптов
Определить видеокарту (с помощью lspci и systool)
Для найденной видеокарты получить название драйвера (используя таблицы /usr/share/hwdatabase/videoaliases/*):
По названию драйвера получить его полное название, список поддерживаемых значений глубины цвета и рекомендуемое значение глубины цвета (используя специальный файл с параметрами драйверов, /usr/share/alterator-x11/videocards)
То же, но в другом формате (?)