User Tools

Site Tools

Translations of this page:


Table of Contents


HDMI works with Kernel 4.16 in some cases (1080p,1280×1024). Driver with fbdev was backported to 4.14 and ported to 5.0 hdmi works but fbdev does not.

Discussion in Forum.

Resolution can be set in BPI-BOOT/bananapi/bpi-r2/linux/uEnv.txt:

bootopts=vmalloc=496M debug=7 initcall_debug=0 video=1280x1024-32

this resolution will be used for both virtual Console and X-Server.

more about this setting:

to resize only font on Console this can be done:

setfont Uni3-TerminusBold32x16.psf.gz

available fonts are in /usr/share/consolefonts/

Thanks to ForumUser Alex R. aka “DeadMeat”

Normally hdmi will be turned off if no monitor is connected (or switched off) while bootup. You can change this with a video-option:


This keeps hdmi enabled and allow hotplug,but in my case there is a resolution-issue.

DRM Debugging

add “drm.debug=0x04” to bootopts in uEnv.txt (maybe 0x07 optionally with log_buf_len=1M)


in 5.4 lima is merged to mainline-kernel and do need only some small changes for r2

but it needs mesa compiled with some small changes too mesa.patch

git clone --single-branch --branch mesa-19.3.2 mesa-source
cd mesa-source/
git checkout mesa-19.3.2
patch -p1 < mesa.patch
meson ./build --buildtype plain --libdir lib/arm-linux-gnueabihf --localstatedir /var/lib --prefix /usr --sysconfdir /etc --wrap-mode nodownload -Dplatforms=surfaceless,x11,drm -Dllvm=true -Dlmsensors=false -Dlibunwind=false -Dgallium-nine=false -Dgallium-va=false -Dgallium-vdpau=false -Dgallium-xa=false -Dgallium-xvmc=false -Dgallium-opencl=disabled -Dosmesa=none -Dbuild-tests=false -Dglx=dri -Dshared-glapi=true -Ddri3=true -Degl=true -Dgbm=true -Dgles1=false -Dgles2=true -Dglvnd=false -Dselinux=false -Dvalgrind=false -Ddri-drivers= -Dgallium-drivers=kmsro,lima
ninja -C build/
sudo ninja -C build/ install

important for debian is “–libdir lib/arm-linux-gnueabihf” with only “lib” x-server crashes while loading with segmentation fault.

maybe libdrm needs to be compiled too

git clone --single-branch --branch libdrm-2.4.100
cd drm
git checkout libdrm-2.4.100
meson build/  --prefix=/usr
#meson --reconfigure  build/ --prefix /usr --libdir lib/arm-linux-gnueabihf -Damdgpu=false -Dradeon=false -Dnouveau=false
ninja -C build/
sudo ninja -C build/ install
#or install to a folder
mkdir install
DESTDIR=$(pwd)/install ninja -C build/ install


while lima initialization hdmi display needs to connected (best at boottime). You can call initialization again by unloading+loading lima module (modprobe -r lima;modprobe lima)

Xorg needs a little adjustment too,else you get thos error (/var/log/Xorg.0.log):

(EE) Cannot run in framebuffer mode. Please specify busIDs for all framebuffer devices

just create /etc/X11/xorg.conf.d/40-serverflags.conf (there is no /etc/X11/xorg.conf by default) with the following content:

Section "ServerFlags"
      Option "AutoAddGPU" "off"


en/bpi-r2/hdmi.txt · Last modified: 2020/02/13 19:35 by frank