5.1 KiB
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"