# Calista xserver - код и скрипты сборки x-server 1.18.4 для операционной системы Calista Данный сборщик работает под FreeBSD 15 Оригинальный код x-server 1.18.4 взят с https://www.x.org/releases/individual/xserver/xorg-server-1.18.4.tar.gz ВНИМАНИЕ - в текущей папке xorg-server 1.18.4 есть патчи, папку не удалять и не заменять Для сборки и установки запускаем файл ./build # Информация для написания новых версий данной автоматизации ## Локальный репозиторий ``` #Создана структура папок mkdir ./packages/All #Переходим и добавляем нужные пакеты cd ./packages/All pkg fetch -o . pixman #Добавили сам пакет pkg fetch -o . $(pkg rquery %dn pixman) # зависимости pixman #Можно ещё Так pkg fetch -o . пакет пакет пакет #Возвращаемся cd ../.. pkg repo packages #Инициировали репозиторий nano pkg.conf #Добавляем конфиг #x-server-dep: { # url: "file:///root/calista-xserver/packages", # enabled: yes, # priority: 100 #} #Добавили пакет - обновили репозиторий pkg repo packages ``` Драйвер nvidia который используется для работы в этом xserver - это драйвера с маской nvidia-driver-304 В примере для Toshiba satellite A100 - там стоит видеокарта Nvidia GeForce Go 7600 Если мы будем ставить nvidia-driver-304 стандартным способом с помощью pkg, этот пакет затрет нашу скомпилированную версию иксов Так что мы просто производим pkg fetch nvidia-drive-304, а затем распаковываем полученый пакет (например у меня он был по пути /var/cache/pkg/nvidia-driver-304-304.137_11~6f584e845d.pkg) в корень файловой системы, предварительно, конечно, установив зависимости КРОМЕ XORG_SERVER затем просто делаем символичную ссылку xorg-server на Xorg (по пути /usr/local/bin) ``` tar -xzvf /var/cache/pkg/nvidia-driver-304-304.137_11~6f584e845d.pkg -C / ``` Создаем /etc/X11/xorg.conf ``` Section "Device" Identifier "Device0" Driver "nvidia" VendorName "NVIDIA" EndSection Section "Screen" Identifier "Screen0" Device "Device)" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Depth 24 Modes "1280x800" # Стандартное разрешение для ноутбуков того поколения EndSubSection EndSection Section "Monitor" Identifier "Monitor0" VendorName "Generic" ModelName "LCD" Option "DPMS" # Включаем управление питанием монитора EndSection Section "ServerLayout" Identifier "Layout0" Screen "Screen0" EndSection ``` И запукаем иксы ``` X :0 ``` Готово ``` Section "Device" Identifier "Device0" Driver "nvidia" VendorName "NVIDIA" EndSection Section "Screen" Identifier "Screen0" Device "Device)" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Depth 24 Modes "1280x800" # Стандартное разрешение для ноутбуков того поколения EndSubSection EndSection Section "Monitor" Identifier "Monitor0" VendorName "Generic" ModelName "LCD" #Option "DPMS" # Включаем управление питанием монитора EndSection Section "ServerLayout" Identifier "Layout0" Screen "Screen0" Option "AutoAddDevices" "false" EndSection Section "InputDevice" Identifier "Mouse0" Driver "mouse" Option "Protocol" "auto" Option "Device" "/dev/sysmouse" Option "ZAxisMapping" "4 5" Option "Buttons" "5" EndSection Section "InputDevice" Identifier "Keyboard0" Driver "kbd" EndSection ``` # Примеры запусков Запустить xserver и xterm ``` X :0 & sleep 2 && DISPLAY=:0 xterm & ``` После запуска xserver можно запустить композитный менеджер ctwm Дла нормальной работы клавиатуры в /etc/rc.conf раскладка должна быть английской ``` hostname="calista-dev" keymap="us.kbd" ifconfig_fxp0="DHCP" ifconfig_fxp0_ipv6="inet6 accept_rtadv" sshd_enable="YES" ntpd_enable="YES" ntpd_sync_on_start="YES" moused_enable="YES" # Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable dumpdev="AUTO" zfs_enable="YES" kld_list="nvidia" dbus_enable="YES" ```