Opentegra

Материал из Toshiba AC100 wiki
Перейти к: навигация, поиск

Замечание: статья не завершена

Репозитории

http://cgit.freedesktop.org/ - основные части включены в репозитории libdrm и xf86-video-opentegra
https://github.com/grate-driver - репозитории коллектива разработчиков opentegra
https://github.com/ac100-ru/sosuboot-tegra - репозиторий sosuboot-tegra с помощью которого можно собрать и протестировать opentegra

Введение

Замечание: на ubuntu 14.04 beta с ядром 3.1 после установки xf86-video-opentegra xorg начинает падать.

Сборка

Ставим недостающие пакеты

sudo apt-get install xutils-dev autoconf git libtool gettext gettext-base libdrm-dev libxrandr-dev pkgconf make xserver-xorg-dev

Собираем xf86-video-opentegra (http://cgit.freedesktop.org/~tagr/xf86-video-opentegra/) TODO: описать

git clone git://people.freedesktop.org/~tagr/xf86-video-opentegra
cd xf86-video-opentegra
./autogen.sh --prefix=/usr
make

Собираем libdrm (http://cgit.freedesktop.org/~tagr/drm/) TODO: описать

git clone git://people.freedesktop.org/~tagr/drm
cd drm
./autogen.sh --prefix=/usr --disable-intel --disable-nouveau --disable-radeon --disable-vmwgfx --enable-tegra-experimental-api
make

Ядро

Работает только на свежих mainline ядрах, начиная с 3.14.
В ядре для работы opentegra должны быть включены следующие опции:

CONFIG_TEGRA_HOST1X_FIREWALL=y
CONFIG_DRM_TEGRA_STAGING=y

Настройка

Создаем каталог /etc/X11/xorg.conf.d, если него нет, создаем там файл 10-tegra.conf и записываем в него примерно следующее:

Section "Device"
 Identifier "tegra"
 Driver "opentegra"
EndSection

Возможные проблемы

На момент написания этой статьи с драйверами/библиотеками могли приключиться следующие проблемы:

linker gets error, while link openclose.o: undefined reference to drmFreeVersion https://github.com/grate-driver/libdrm/commit/5abf73cb8c93cc933f458e036fd6085359b28d42

kusma fixed a crash with wide 1bpp pixmaps: https://github.com/grate-driver/xf86-video-opentegra/commit/212bdff69bf45d37141b955c54a126c42e835ec3

Тестирование opentegra в sosuboot

Для упрощения тестирования новых фич в opentegra, я добавил репозитории libdrm и opentegra в sosuboot образ ext4.

$ make BR2_EXTERNAL=../sosuboot-tegra tegra20-paz00_ext4_defconfig