L4T 27.1 support for Jetson-tx1?

It seems that the latest L4T package only supports the Jetson-tx2. The L4T 24.2 uses a dated 3.10 kernel while the L4T 27.1 supports a more modern 4.4 kernel. Is there a way to get L4T 27.1 to work with the jetson-tx1?

Short of this support, has anyone had any luck with open-source drivers combined with an upstream linux/uboot flash?

I don’t know about success of mainstream outside of officially supported software, though I’ve heard parts of it work. What’s more interesting is that it was stated that the 4.x kernel will be supported on TX1 in the next release. No details were given on release date, but if things are typical, it seems it would probably be in June or July.

Guess I’ll give https://wiki.debian.org/InstallingDebianOn/NVIDIA/Jetson-TX1 a try. Seems nouveau does work though X doesn’t (yet?) support it in this setup which is fine since my system is running headless but requires GPU based processing.

If you want hardware acceleration, then you must use the NVIDIA video driver. This driver is tied to the ABI version of the X server, so if you use mainline and you want hardware video acceleration (or GPU use in general, so CUDA is also tied to this ABI version), then you’d have to downgrade to the older version of X. There is no possibility of CUDA working without the NVIDIA driver, although it is possible Nouveau could work with software-only rendering.

I’ve read that nouveau has GM20B support. I’m not using the X server so figured that EGL should at least work as it has no dependency on X. I’ll have to research this some more.

I believe Nouveau uses a frame buffer interface which does not support hardware acceleration. So far as I know, the NVIDIA driver interfaces to the X server for GPU access…X itself is a middle man regardless of whether the GPU outputs to a monitor or to a CUDA program.

I’m not sure how Vulkan API is exposed…I know there is some glue to allow Vulkan apps to run in an X environment, but it may be possible to remove X if your app uses Vulkan and Vulkan is installed. I’ve never looked to see if the NVIDIA driver has bindings to work directly with Vulkan without the X ABI in the middle. It would be interesting to know if one can run CUDA through a purely Vulkan system.

I’m currently trying to get nouveau working following:

Got through most of it but uboot got wiped in the process… I just need to figure out how to flash uboot manually and I should be set.

As for the binary drivers not working without Xorg, would that mean that a rootfs with latest kernel but older X would work with the binary drivers? If so I might try it if nouveau doesn’t pan out.

The graphics driver is tied to the X server ABI, and the X server is normally bound to a particular kernel (or at least a kernel series). The X and graphics driver mix changed quite a bit when going from the 3.x kernels to the 4.x kernels. I would guess that if you have a 4.x kernel that the R27.1 X server would work (it might still need porting if it isn’t the 4.x kernel from the R27.1 sample rootfs). I would expect the X server from R24.2.1 or earlier to be difficult to get working with a 4.x kernel (R24.2.1 and earlier depend on a 3.x kernel series).

I don’t know how compatible the R27.1 X server and graphics driver are with the TX1 since R27.1 was intended for a TX2…no doubt the TX2 graphics hardware has a lot of similarities, but there are also probably differences. Unless there is some urgent need I would think it might be better to wait for the next L4T release…then the TX1 will have a 4.x kernel with support from NVIDIA and full hardware acceleration (including CUDA).

Ah yes you’re right. I had a similar issue years ago on a laptop where I couldn’t use the nvidia binaries with debian sid due to an old Xorg dependency that was incompatible with the modern kernel and packages. I ended up using the nouveau drivers instead with success.

I definitely look forward to the update.

Edit: The tegra-nouveau-rootfs seems to work for my needs. Not sure how it compares in terms of performance but it’s a good start.