I think the issue is that Nvidia is marketing the Jetson product line to a niche community of AI enthusiasts and computer learning developers.
If they had set their sights on the broader community of ppl who just enjoy playing around with embeded tech for home use cases like media consumption or just messing around with linux, things might be different.
Actually, I think an important target for jetson is embedded systems. Anything from animated advertising display signs, and hotel elevator infotainment, to modern car navigation/radio systems, seems like fair game for the Jetsons.
I bet you’ve never developed a device driver.
Without documentation.
For a system that doesn’t have the ability to hook up a bus/logic analyzer to reverse engineer another driver.
You covered the kiosk. Point of sale is there as well. Hotel set top boxes and cable / internet combo boxes. In flight entertainment (especially since the modules can just be popped out and upgraded). Lots and lots or applications. The more display outputs it supports, the better. Some people might want a single nano/tx to drive a whole row of seats, for example. Display port would probably work for that.
Yeah, there is a reason it’s not done well, and at least one kernel developer has some stong feelings about this :P
To those who manage, who are willing to brave through it and are smarter than I, I salute you, but please, don’t frustrate yourself unnecessarly :)
Ask Nvidia nicely to implement this feature if the hardware is at all capable and I’m sure they will. It’s a lot, and I mean a lot, easier. It’s a good suggestion.
Also keep in mind that Nouveau, like its desktop PC NVIDIA drivers, is for PCI GPUs. If all other conditions are met, then the Nouveau driver would have to be ported to using the GPU integrated with the memory controller. Anything expecting PCI will fail.
I personally could care less about the nouveau drivers - I just want nvidia to support a kernel version that is at least 5.x. I need to use drivers that aren’t supported on 4.9 and am not keen on backporting them. Seriously - 4.9 is ridiculous.
Has the nouveau situation improved much? Given the age of l4t’s kernel I could get by with decent GPU performance as long as I could use other hardware drivers that will not build on 4.9.
Hmmmm… @mr.chrismitchells could you explain how you get nouveau to work? I compiled kernel branch form repo mentioned here Jetson/Nano/Upstream - eLinux.org . I have same issue with USB driver (tried with and without linux-firmware installed), but my main issue is that nouveau don’t want to work. All nouveau, Tegra DRM and host1x options are enabled in kernel config.
There is no possibility of any Nouveau kernel ever supporting GPU acceleration. Never has, and barring something extraordinary, never will. Also, 64-bit ARM is not armhf, which is 32-bit. You can call it one of arm64/aarch64/ARMv8-a. If you see an application which is armhf, then it won’t work on a Nano (at least not directly…it may be possible to use emulation or compatibility modes).
@linuxdev Sorry, but you’re wrong. Nano can handle armhf without issue. Nvidia is one not supporing 32 bit with their software, but Nano can handle it. Armhf will always be slower, but it’s a lot of apps that are still for armhf-only.
I can run them without and issue using multi-arch or chroot untill moment when they are trying to use opengl/es/egl as libs are not provided by Nvidia in 32-bit version. I tried using vtest to have acceleration, but performance is really poor.
I am considering a Nano with its installed environment. If you’ve installed a custom 32-bit support, sure, the hardware can do it (with reduced performance compared to a dedicated 32-bit system like the TK1).
Nouveau might be a special case. If Nouveau is able to use opengl/es/egl on a non-PCI GPU for software only use (the GPU just being access to a framebuffer and not participating in any rendering), then Nouveau can work, and with added 32-bit support (software), then Nouveau 32-bit would also work. You’d be disappointed.
The user space driver NVIDIA provides is the only method of hardware acceleration via the GPU. This is 64-bit only. To use with 32-bit you’d have to provide some sort of adapter layer. If you use Nouveau, then this removes the possibility of using the NVIDIA driver, and also removes the possibility of hardware acceleration from the GPU. The NVIDIA driver itself is not open source, so you are stuck with either 64-bit to run hardware acceleration, or some 32-bit to 64-bit adapter (the GPU would still be running NVIDIA 64-bit and no Nouveau would be involved).