There seem to be redundant accelerated video module options for the Raspberry Pi 3.

I read that the Raspberry Pi uses a device tree (a rather clever solution for ARM systems which do not have the standardized PCI bus).

There are two different kernel device tree overlays/modules to pick from that can be enabled as kernel parameters.


From my understanding, one of them can be enabled under /boot/config.txt.


Meanwhile, the Arch Linux ARM Wiki says to do this:

The X.org driver for Raspberry Pi can be installed with the xf86-video-fbdev or xf86-video-fbturbo-git package.

What is the definitive way of getting graphics working in X.org?


  • I also read that the vc4 driver does not use the gpu_mem parameter, confusing things a bit.
  • xf86-video-fbturbo-git is a derivative of xf86-video-fbdev that was made specially for ARM devices. https://github.com/ssvb/xf86-video-fbturbo
  • 2
    Note that the X driver is independent from the kernel level driver and not part of anything device tree related. I'm not sure what purpose those overlays serve and at least one of them looks experimental in the README (the memory params are also in there, BTW). Unless you have a reason to use it (there's none given in the question), I would not bother.
    – goldilocks
    Mar 29, 2017 at 15:02
  • Instead of asking "What is the best way of doing something", describe what you have tried to do and what didn't work out. Mar 29, 2017 at 15:51
  • @DmitryGrigor The definitive way is what I am after. It is not opinion-based, because functionality is, afterall, quantifiable. There is more than one type of allowed question and this does not fit the "what did I do wrong" scheme. Mar 29, 2017 at 16:13
  • 1
    I didn't say it was opinion-based (but now that you mention it, it would be nice if you mentioned how exactly you quantify functionality). Asking for the best way to do something sets a moving target, while asking "How to achieve X" sets a clear and fixed one. If you can't get Plex Media Player running, ask that. Mar 29, 2017 at 16:50
  • @DmitryGrigoryev Try benchmarking for example. You can also list capabilities e.g. supported formats, supported modes etc. There are many ways to quantify functionality. Mar 30, 2017 at 14:14

1 Answer 1


The options in order of decreasing age and stability :

  • 1) The GPU 3D/Video BLOB which respects gpu_mem
  • 2) The 2D framebuffer drivers fbdev / fbturbo
  • 3) The in-kernel KMS/3D driver started by Eric Anholt managed by devicetree and overlays

The KMS driver is meant to someday supersede options 1) and 2) and is IMHO the "proper" way. Currently it doesn't matter much due to lack of stability and missing video acceleration support.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.