5.1 KiB
Raw Blame History

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"