Rpi3-3b+ VC4 Manjaro ARM 19.04 Hack

If this is an inappropriate post here in the forums feel free to delete. I will understand.

@Strit has said that the manjaro team is sticking with mainline and will not do VC4 until mainline does. So in the mean time I am using the current manjaro arm kernel from the repo and only changed some files in /boot and added the Pi Foundation's overlays. Now I have the much needed VC4 gpu hardware decoding I need in my hobby with my pi3b/pi3b+.

Added additional note:

Because of the nature of VC4 you will see a few lines of text scroll by when it first boots and when it enters VC4 mode the text lines will cease in the terminal and you will not see any activity but it is still loading up things. The next thing you will see is when it enters graphical mode at the graphical login screen.

Short overview:

First off I temporally moved all uboot related files to /boot/sav. I do not like uboot and it is not needed to boot the manjaro arm kernel. I am now using the same boot format as the Pi Foundation:

I moved Image --> kernel8.img
I compiled Pi Foundation's overlays and put them in /boot/overlays:

sudo pacman -S dtc
git clone -b rpi-5.1.y --single-branch --depth 1 https://github.com/raspberrypi/linux.git
cd linux
make -j4 DTC_FLAGS="-@" dtbs
sudo mkdir /boot/overlays
cp -v arch/arm/boot/dts/overlays/*.dtb /boot/overlays
sudo sync

I moved the 3 broadcom .dtb's /boot/dts/broadcom to /boot

I created an cmdline.txt file and modified it to allocate 256M for cma

I modified the config.txt to use the vc4 3d overlay and pointed to the kernel, overlays and the correct .dtb for my device. Notice the gpu mem is 16 as the cma=256M above is what VC4 uses:

I fixed the no sound issue in the image
I took /etc/X11/xorg.conf.d/99-fbturbo.conf out of the picture:

sudo mv /etc/X11/xorg.conf.d/99-fbturbo.conf /etc/X11/xorg.conf.d/99-fbturbo~

Pic is clip of the Xorg.log showing VC4 loaded:

The next 2 pics show mpv tryng to play first with out VC4 and the next pic shows mpv playing with VC4:

1 Like

This is a really awesome write-up!

Nice job!

PS: When you say you fixed the no sound issue, was that done by the fbturbo stuff?

Thanks Strit. I forgot the terminal pic showing the manjaro original kernel and VC4 modules loaded:

1 Like

fbturbo and VC4 can not exist at the same time. It has to be one or the other depending on which mode you are using.

Sound fix:

sudo nano /etc/modprobe.d/snd_bcm2835.conf

blacklist snd_bcm2835


In my tests (on the regular pi3B), I loose all sound when I use that blacklist thing. But i have HDMI sound when not blacklisting. Can't get analog sound to work at all.

Must be a pi3b+ thing then. I have not tested it on pi3. I will right now.

My pi3 sound works just fine. I think I may have left out a step; it has been so long at least for me at 69 years old. lol.

Right click on the Sound icon on the task bar and configure after doing the black listing thing and rebooting. I believe "Built-in Digital Stero (IEC958) will be missing and you will have to click the down arrow and choose it and I also have Pulseaudio checked:

Sound device is present, the "meters" show sound, but no sound is actually getting out of my speakers.
Could just be my setup though.

All I have here is HDMI and sound thru my vizio tv speakers.

Some times in the past trying to get audio to work I have had to delete the sound configuration files in ~/ and let them create new ones and have screwed up /etc/asound.conf also

Here is a pic showing @18Mbit ATSC stream being played with mpv with the VC4 mods using hardware decoding which would be totally out of the question using software decoding. Also notice under the System Information that the cpu's has room for a even more Mbit stream:

Note that the program I use to do a spectrum scan will not be possible with the standard kernel but kaffeine in the repo should work just fine. I use my own kernel I maintain merged with the V4L media_tree and modified dvb/atsc modules that allow blind scanning for satellites/atsc. The kernel as you can see under System Information is now at version 5.2.0-rc4.

There is also an improvement playing youtube videos with VC4:

1 Like