Opentegra
Замечание: статья не завершена
Репозитории
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