1920 x 1080 video seems to play flawlessly on RPI4 + Manjaro-Arm after config changes

If anyone else happens to be interested in playing 1920 x 1080 videos full screen on RPI4 + Manjaro-Arm (XFCE), here is a recipe that seems to enable flawless playback. 64 bit Linux distros like Manjaro-Arm does not have accelerated video decoding since the required video engine firmware only works with 32 distros. However the following settings seems to let FullHD videos to play smoothly on the RPI4.

My video monitor is a FullHD 1920 x 1080 TV and audio is sent to HDMI to play back on the TV. My video storage is on a magnetic 1 TB hard drive connected to USB3 - port. My video player is the commandline driven: mpv. I'm not sure if every setting here is necessary or not, this "recipe" may or may not work for your hardware.

Update Manjaro (XFCE) RPI4 packages to get the latest kernel: pacman -Syyu

My kernel is: 4.19.76-1-MANJARO-ARM

If you have black borders around Manjaro desktop, then add this line to:/boot/config.txt:

disable_overscan=1

To get HDMI - audio working properly, add the following line to: /boot/config:

hdmi_drive=2

Add the following text at the end of kernel commanline in: /boot/cmdline.txt:

snd-bcm2835.enable_compat_alsa=0

The following removes random audio crackling while playing videos. Find these lines in: /etc/pulse/default.pa

### Automatically load driver modules depending on the hardware available
.ifexists module-udev-detect.so
load-module module-udev-detect
.else

and change the text in the line that starts with "load-module" to read:

load-module module-udev-detect tsched=0

Disable display compositing by going to Manjaro XFCE Settings and finding: Window Manager Tweaks / Compositor. Untick the option "Enable Display Compositing".

Disable fbturbo video driver:

cd  /etc/x11/xorg.conf.d/
mv  99-fbturbo.conf  99-fbturbo.conf.orig

Reboot

Now install mpv and test video playback: mpv SomeVideo.mp4
You can toggle fullscreen on / off while video is playing by pressing f on the keyboard. There might be some tearing when video is playing in a window, but not when it is full screen.

If you have problems in playback check mpv output and make sure mpv uses: "gpu" as the video driver and: "pulse" as audio driver. These should be the default outputs for mpv. You can force these also on the commandline:

mpv -vo gpu -ao pulse SomeVideo.mp4

You can set video and audio outputs to default to these values by writing the following lines to: ~/.config/mpv/config

vo=gpu
ao=pulse
2 Likes

i dont have arm devices, but if 1080p playback is a common problem on the rpi4 then maybe make this thread a tutorial.

Most of these things, will be default in the next release.
Only recently did the kernel and firmware actually get the capability to do this. :slight_smile:

1 Like

Forum kindly sponsored by