Tegra/Mainline SW/Nouveau

From eLinux.org
< Tegra‎ | Mainline SW
Revision as of 01:31, 5 November 2014 by Gnurou (talk | contribs)
Jump to: navigation, search

Nouveau Support on Jetson TK1

This page keeps track of Nouveau's status on Jetson TK1 and acts as a information hub for people wanting to run it on their boards.

Nouveau requires an upstream kernel and cannot be used with the L4T kernel. It also requires an up-to-date upstream version of U-boot. Setting up both is a somehow involved process ; but fortunately a couple of helper scripts greatly simplify the process.

Before proceeding, be aware that upstream Linux is less featured than L4T, and that things like video acceleration does not work at the moment. There is also no accelerated X driver (but Wayland works fine). Therefore, this procedure should really only be followed by people intending to hack on Nouveau or test it.

Flashing Upstream U-boot

Tegra's boot is a quite complex process, and flashing a bootloader is equally complicated task that involves many different tools. People interested in all the gory details can read the first 3 documents of ftp://download.nvidia.com/tegra-public-appnotes/index.html. For our purpose, which is to just get things to work, we will use the Tegra U-boot Flasher Scripts.

https://github.com/NVIDIA/tegra-uboot-flasher-scripts/blob/master/README-developer.txt contains all the instructions needed to flash an upstream U-boot on your board. Once U-boot is flashed, you will be able to access its shell by pressing a key on the serial console during the initial countdown. If you let it go, it will attempt to boot the L4T kernel that is likely still on your board, which will fail because of L4T-specific kernel options that U-boot does not provide. However, it will have no problem with upstream kernel and user-space we will be building in the next section.

Building and Flashing a Nouveau User-space

We need to replace L4T with an upstream kernel, up-to-date Nouveau kernel modules, and user-space that includes the latest Free graphics stack. Again, this looks like a lot of work, but again scripts will help us.

https://github.com/NVIDIA/tegra-nouveau-rootfs will assist us with the task of cross-compiling all the components we need and putting them together into a bootable system. It takes an Ubuntu 14.04 system image (the same basis than used for L4T), cross-compiles the Linux kernel, Nouveau modules, Free graphics stack (libdrm, Wayland, Mesa) as well as a couple of programs for us to play with (kmscube and weston). Just follow the instructions on the page and you should be running a completely Free graphics stack on your Jetson TK1 board!