VisionFive 2 Debian Image 202308 Released (latest)

H264 video playback has improved a lot.

Can you add /sbin to PATH by default?
In the wiki, can you add sudo to the last command to install the additional packages?

sudo ./

And here is my YouTube video where I did a quick test.


sdcard.img from 361 stay on vision five 2 boot splash screen.

@bartoshe It seems you have the latest version working (202308).
Do you get proper output when you execute:

cat /proc/mtd

Because that would mean that you don’t have to use the sdcard.img, just use this image (202308).


I updated to the latest SPL/U-Boot, burned to an NVME drive, expanded to use the whole drive, ran the dependencies script and tested video.

With VLC, 1080p is still a bit slow, but I converted some videos to 720p and they work flawlessly full screen or windowed. I didn’t have any crashes during testing. I did find sound was scratchy from the jack, but excellent from HDMI.

As for the browsers, Chromium does better on most web sites, but video is still limited to 480p. Firefox seems slower then Chromium. Sound was also fine via HDMI but scratchy via jack.

The UI seems a little better - windows size and move better.

Does anyone get good sound out of the jack?

Do I need to upgrade SPL/UBoot if I have got NVMe booting in previous release?

I would read from the first post “4. Please update the SPI flash to the latest SPL/U-Boot binaries if you would like to try nvme booting (set boot mode as QSPI boot).” as you do not need to, but you probably should anyhow, upgrade the SPI flash if you do not need NVMe to boot.

Why would StarFive provide a newer version if it was not meant to be upgraded ? It is only 5 commands if you are upgrading from the previous version.

EDIT: There were 83 commits to the StarFive U-boot between v3.04 and v3.6.1, six were related to PCI and two were related to NVMe. I would see that alone as a reason to upgrade if you were using NVMe.


After following the wiki instructions and running, I am unable to install any packages.

What steps are required?

$ wget
$ chmod +x
$ sudo ./  
$ sudo apt-get install <package name>
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
 gir1.2-clutter-gst-3.0 : Depends: gir1.2-clutter-1.0 (>= 1.20.0) but it is not going to be installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).

@nb.o - I believe I also got this but did as suggested (ran “apt --fix-broken install”), then ran the dependencies script again and got “Install Success”.

Running apt --fix-broken install does not resolve the issue.

How to make debian (202308) see Nvme? There is no NVme0p1 in the dev/ directory, what does it depend on? I connected WD Nvme and it does not see it. Does it depend on uboot environment variables? how to set them

This is due to installation of clutter-gst-deb.tar.gz.
Also, the download link for gst-cogl.tar.gz does not exist and installation is failing.

1 Like

Is hardware decoding for h264 using wave5 kmod and mpv working under Debian?

From the mpv log it is being selected, but i get no working playback under Arch. It just stalls with a black image.

mpv -v  -hwdec=auto some.h264.file.mkv
[ffmpeg/video] h264_v4l2m2m: Using device /dev/video4
[ffmpeg/video] h264_v4l2m2m: driver 'wave5-dec' on card 'wave5-dec' in mplane mode
[ffmpeg/video] h264_v4l2m2m: requesting formats: output=H264/none capture=YU12/none
[vd] Using hardware decoding (v4l2m2m-copy).

It also triggers a kernel message

kernel: vdec 130a0000.vpu_dec: Setting read pointer for the decoder, fail: -5

The user is in the video group for /dev/video* access.

I noticed that automatic suspend is still enabled by default. It can’t even be disabled through Gnome’s settings GUI. That’s a strange choice on a device that doesn’t have a battery.

My experience was that it tries to suspend but fails due to the services being masked, still annoying since it spams the console.

I stopped it by following advice from here:

A modern alternative approach for disabling suspend and hibernation is to create /etc/systemd/sleep.conf.d/nosuspend.conf as


The above technique works on Debian 10 Buster and newer. See systemd-sleep.conf(5) for details.

1 Like

xWayland do not support GPU acceleration.

1 Like

I finally got around to trying this image on an nvme drive. Yes it boots straight from the nvme without the sdcard. Yes it brings up the desktop and yes Firefox and VLC are there.
I tried youtube and the video quality and sound quality is impressive.

Congrats on all the success and progress. It’s looking great.

I’m really looking forward to being able to do an apt-get upgrade without breaking everything.
It’s really painful to be reflashing images to sdcard/nvme often. Doesn’t anybody else feel the same?

Here is a friendly reminder to flash the latest firmware:


apt-get install mtd-utils
cat /proc/mtd
flashcp -v u-boot-spl.bin.normal.out /dev/mtd0
flashcp -v visionfive2_fw_payload.img /dev/mtd1

Can someone explain to me why in all the releases I have always noticed a CPU load of around 0.5/0.6 with the board completely idle? this is normal?

Thank you

What is top telling you?
Which processes are still active?

1 Like

I have noticed this as well if there if you are using a NVMe boot drive with no microsd plugged in. The microsd itself can be completely blank the last time I tested it and the load average went back to 0 consistently. I use a microsd to load my NVMe XFS root filesystem now so I can not ensure that is still the same outcome/reason however it was consistent in my original testing. This is my current load for example:
15:04:47 up 1:18, 2 users, load average: 0.00, 0.00, 0.00

1 Like

Not tried this latest release yet. I’m happy to see bluetooth is supported now but disappointed that there is still no 4K hw video decoding, which is what I’m hoping to use my VF2 for one day.