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