Alterator/AlteratorX11
Устройство модуля 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/lib/alterator-x11/vcscan pcivideo:v00001002d0000791Fsv0000103Csd000030C2bc03sc00i00 RS690M [Radeon X1200 Series]
Для найденной видеокарты получить название драйвера (используя таблицы /usr/share/hwdatabase/videoaliases/*):
> /usr/lib/alterator-x11/vcscan | /usr/lib/alterator-x11/vcdrv fglrx
По названию драйвера получить его полное название, список поддерживаемых значений глубины цвета и рекомендуемое значение глубины цвета (используя специальный файл с параметрами драйверов, /usr/share/alterator-x11/videocards)
> echo fglrx | /usr/lib/alterator-x11/vcinfo xdriver fglrx xdrivername ATI Radeon,FireGL (fglrx) xdepth 24 xdlist 16 24
То же, но в другом формате (?)
> echo fglrx | /usr/lib/alterator-x11/vcinfo 1 fglrx ATI Radeon,FireGL (fglrx) 24 16 24
Ещё скрипты в /usr/lib/alterator-x11: ddcclean ddcresbest ddcsize mondups monscan ddcdump ddcreslist mondrv moninfo
Программы в /usr/bin: is_touchpad mouse_autosetup video_drivers xtest monitor_autosetup mouseconf video_scan xtest_wrapper monitor_scan resolution_autosetup video_setup monitor_setup serial_mouse_scan x11_autosetup montest video_autosetup xconf