Alterator/AlteratorX11

Материал из ALT Linux Wiki
Freesource-logo.png Blue Glass Arrow.svg MediaWiki logo.png
Эта страница была перемещена с freesource.info.
Эта страница наверняка требует чистки и улучшения — смело правьте разметку и ссылки.
Просьба по окончанию убрать этот шаблон со страницы.


Устройство модуля 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