[Shield Android TV General] guertler:
L4T works on SATV but CUDA device is not available

Dear Android Hackers,

Short version: L4T in running on my SATV 2015 but CUDA seems not to work correctly.

Long Version: My device is a Shield TV 2015 device and I basically followed the instruction in the first post:

Firmware upgrade after Shield activation to the most recent version

Bootloader unlocking using

fastboot oem unlock

Flashing "mmcblk1p1.img" obtained in the first post (yahoo2106s Kernel) using

fastboot flash boot mmcblk1p1.img

Preparing a sdcard according to https://xdaforums.com/showpost.php?p=69202451&postcount=421 and using Tegra210_Linux_R24.2.1_aarch64.tbz2 and Tegra_Linux_Sample-Root-Filesystem_R24.2.1_aarch64.tbz2 and an Ubuntu 14.04 Qemu container

Result was that the SATV

boots Linux

now! :highfive::good: !! Thanks very much to yahoo2016 and all other contributors to this recipe.

My major interest however is running CUDA on this device. Therefore I

downloaded JetPack-L4T-3.1-linux-x64.run, and run it within an Ubuntu 14.04 Qemu container. There I downloaded cuda-repo-l4t-8-0-local_8.0.84-1_arm64.deb and the cuda-l4t.sh script

used the script on my SATV to install the cuda debian package. It also installed some other dependencies as well.

extended the PATH and LD_LIBRARY_PATH environment variables

compiled (succuessfully) the shipped cuda examples in /usr/local/cuda/samples using make

However the execution of any sample failed: running

/usr/local/cuda/samples/5_Simulations/nbody/nbody -benchmark -numbodies=65536

only results in the error message

Error: only 0 Devices available, 1 requested. Exiting.

Strangely also

lshw -short

does not show the existance of any graphics card hardware:

H/W path Device Class Description
=================================================
system foster_e
/0 bus Motherboard
/0/0 processor cpu
/0/1 processor cpu
/0/2 processor cpu
/0/3 processor cpu
/0/4 memory 2973MiB System memory
/1 usb2 bus Nvidia xHCI Host Controller
/1/3 generic USB 10/100/1000 LAN
/2 usb1 bus Nvidia xHCI Host Controller
/3 wlan0 network Wireless interface
/4 dummy0 network Ethernet interface
/5 enx00044b482f33 network Ethernet interface

On the other hand,

glxinfo | grep NVIDIA

shows

server glx vendor string: NVIDIA Corporation
client glx vendor string: NVIDIA Corporation
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: NVIDIA Tegra X1 (nvgpu)/integrated
OpenGL core profile version string: 4.5.0 NVIDIA 24.2.1
OpenGL core profile shading language version string: 4.50 NVIDIA
OpenGL version string: 4.5.0 NVIDIA 24.2.1
OpenGL shading language version string: 4.50 NVIDIA
OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 24.2.1

and glxgears runs with

13362 frames in 5.0 seconds = 2672.306 FPS

Does anyone have an idea what could be wrong here? I was thinking that maybe

could it be the wrong kernel: Is gpgpu processing not enables in this kernel? I also tested some other kernel images for the SATV 2015 which I found in this forum and on http://www.tatsch.it/linux-4-tegra-with-cuda-on-nvidia-shield-tv/ using

fastboot boot <kernel>.img

. None of them was able to boot my SATV

Is cuda 8.0 too new and I should use older version (7.0)?

Is this some dtp problem? I did not yet fully understand what this dtp files are for