1

Firstly, please excuse if this question seems bit noobish, I just started thinking about getting Raspberry PI, I don't have any experience neither with it nor with ARM platform (well, my phone, but that's something different). I was looking over at this display https://www.raspberrypi.org/products/raspberry-pi-touch-display/ . It's seems like exactly what I would need, but I need to know if I can connect it to regular linux system?

I want to go with gentoo (well, funtoo) on my Raspberry (when I buy it), does anyone here know if this display is supported by standard linux kernel (including the touch screen capabilites)? Or does it require some binary blob drivers (I don't like those)?

graywolf
  • 265
  • 1
  • 2
  • 8

3 Answers3

2

The rpi touch display driver got merged as part of kernel 4.15:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=2f733d6194bd58b26b705698f96b0f0bd9225369

So you'll be glad to know it should work on distros in future that have a kernel version of 4.15+

ericcurtin
  • 121
  • 3
1

The Raspberry Pi requires a special out-of-tree kernel period, regardless of whether you want to also use that touchscreen or not. If you are using that kernel, then you should also be able to use the touchscreen.

The good news is:

  1. You are not truly bound to any particular distro just because you need to use a special kernel, although this requires you put in some manual labour. The source for the pi kernel is available, so you can also (cross) compile it yourself (I advise against this unless you have a good reason for it). Inversely, using a particular linux distro, be it gentoo or anything else, generally does not require you use their kernel. However, it may introduce problems particularly if the kernel version falls way behind the one the distro presumes is in play. Which brings us to the second piece of good news...

  2. The people behind the pi kernel do a pretty good job of keeping it reasonably updated, unlike with most platforms in the ARM and Android world (where the "latest" version's vanilla counterpart is several years old). E.g., the latest source in that github link is currently in step with the latest version from kernel.org (4.7.0). The latest pre-compiled kernel, which may or may not be used by various pi-centric distros, is 4.4.12, probably about the same as most mainstream distros. You should be able to use that with funtoo presuming you build everything from source (I seem to recall it's possible to use some pre-compiled packages on gentoo, but if this is the case funtoo probably does not have any for the pi's architecture).

goldilocks
  • 58,859
  • 17
  • 112
  • 227
  • Out of curiosity, do you know why it requires it's own kernel? I see they keep it relatively (actually, pretty well) up to date, but why they even require it? What changes did they made that they cannot just merge it upstream? – graywolf Jun 07 '16 at 10:49
  • The Raspberry Pi has many peripherials (including the GPU "firmware" / "mailboxes") . The foundation is involved in upstreaming - but it is a slow process – flakeshake Jun 07 '16 at 11:17
  • well at least I'm glad it's being worked on :) "mailboxes"? – graywolf Jun 07 '16 at 12:48
  • 1
    Start here: http://www.phoronix.com/scan.php?page=news_item&px=MTgxMTQ I'm really not sure what all the issues are (contra @flakeshake I don't think GPU firmware is part of it, since that is loaded before the kernel, but there may be more to this). There certainly are additions that could be upstreamed since they are open source (e.g., the SD controller that is part of the BCM SoC uses a driver that is not in the vanilla tree), but getting that done depends on the relationship between the participants. – goldilocks Jun 07 '16 at 14:54
  • Actually, Raspberry Pi works in the upstream kernel, just without all functionality. – Emma Anholt Jun 08 '16 at 00:38
  • The GPU firmware does act like a peripherial indeed. Its involved in a lot of things , including the inbuilt sound-card and early framebuffer setup ! – flakeshake Jun 09 '16 at 09:12
  • @flakeshake Well, that doesn't mean it isn't loaded before the kernel, meaning it not part of the kernel proper (it is presumably loaded the same way for windows IoT). That blob that's in the /boot directory could never be upstreamed because it is proprietary; other firmware blobs that ship with the kernel actually are not, they just often ship pre-compiled because they are architecture independent (the source is there too)... – goldilocks Jun 09 '16 at 10:40
  • ...There are bits of source in the pi kernel tree distinct from the GPU firmware related, and specific to, the BCM2835 sound system (a lot of the stuff mentioned there is what's both non-properietary but not currently incorporated into the vanilla tree). Anyway, I'm not adamant in contradicting you, or @Eric Anholt, although there's an implicit contradiction there somewhere (that's a lot that the upstream kernel would be "without", including, I think, the SD card...) – goldilocks Jun 09 '16 at 10:40
0

The mainline Linux kernel supports 3D and HDMI output with a fully open source userspace stack. It doesn't yet support the touchscreen display, and you can track status for that at my github.

The Raspberry Pi foundation kernel (which you would be using if you used Gentoo's Raspberry Pi instructions) supports the panel, but it means using a mostly-closed, custom graphics stack that doesn't have many applications ported to it.

Emma Anholt
  • 705
  • 4
  • 12
  • "mostly-closed, custom graphics stack that doesn't have many applications ported to it." does that mean that I can't just run typical X server on it and use standard X applications on it? I kinda expected that it would just emulate mouse presses and the displaying part would work as regular display.. – graywolf Jun 08 '16 at 09:34
  • 1
    X works fine - but any app using GLX (aka OpenGL under X) will not. At least with the old/default kernel. – flakeshake Jun 09 '16 at 09:09