VisionFive 2 Debian Image 202306 Released

VisionFive 2 Debian Image 202306 has been released. here is the simple release notes.
Please check the wiki page for more detail:


  1. Although 4K resolution is supported, there is still performance drop issue where frame rate is dropped during desktop usage. Thus, it is recommended to switch to 1080p60 resolution for a smooth desktop user experience.
  2. Please avoid running apt upgrade as it will override the existing customized mesa and linux-libc-dev versions provided.
  3. Create a new wiki page for VF2 Debian User Guide: VisionFive 2 Debian User Guide | RVspace
  4. Please update the SPI flash to the latest SPL/U-Boot binaries if you would like to try this nvme image (set boot mode as QSPI boot).

Image Download link:

What’s New

  • Supported SBC: VF2 v1.2A and v1.3B;
  • Based on Linux kernel 5.15 (VisionFive2 kernel tag: v3.1.5);
  • Based on StarFive U-Boot tag v3.1.5;
  • Debian snapshot date: 20221225T084846Z(sid);
  • Added AIC8800 WiFi dongle support;
  • IMG DDK is upgraded from version 1.17 to 1.19;
  • Mesa is updated from version 21.3.8 to 22.3.5;
  • Chromium is now supported;
  • OpenCV is now supported;
  • VLC (with 1080p60 playback) is now supported;
  • GStreamer Cogl plugin is now supported;
  • A NVMe PCIe boot image is now provided;
  • System now supports 1080p30 video playback;
  • Enhance HDMI resolution compatibility, more resolutions such as 2K and 1024x728 are now supported;
  • Audio devices in Gnome Desktop is now renamed from both ‘Built-in Audio’ to ‘Audio Jack’ and ‘HDMI Audio’ respectively;
  • libicu71 is now installed by default;
  • gnome-tweaks is installed by default;
  • Firefox on Wayland is now hardware accelerated by default;
  • Firefox now supports 1080p30 video playback;

Known Issues / Limitation

  • Desktop with 4K resolution is a bit laggy;
  • 1080p60 is playable on ffplay but with framedrops;
  • Chromium FFmpeg is not working;
  • NVME image occasionally has a slow boot time;
  • Qt modules qtwebengine failed to build;
  • NWjs Filesystem access APIs failed.;
  • NWjs mp3 encoder failed to be detected;
  • VLC media player will crash when playing video in minimized mode;
  • Disable uboot splash screen temporarily;

Fixed Issues

  • 4K display flicker issue;
  • Pink screen overlay issue;
  • libreoffice slowness using gtk3;
  • Firefox hardware acceleration is not working;
  • 1080p60 video playback issue;
  • Some resolution cannot be supported via HDMI, e.g. 2K, 1024x768…;
  • The console screen is displaying a white screen probablely and then login window is not being shown;
  • Occasional kernel panic;

What’s Next

  • Debian-Installer support - Could support both SD + eMMC boot in single image;
  • Vulkan support;
  • 1080p60 video playback;

I would like to recommend you use b3sum to generate the hash checking. It’s much faster and just as reliable.

it generates .b3 files.


The nvme image boots correctly without any sdcard inserted. Thank you.

I would like to identify a painpoint. The script that downloads and installs other packages afterwards downloads from snapshot debian org. That download task is painful. It’s taking hours to do. There could be another way to accomplish this.
Either the snapshot debian org has more mirrors or I recall being able to download an entire set and then point the repo to a local directory. Is there way we could do the same with this script? Thank you.

Tested firefox quickly…youtube video playback is synchronized with the audio. I didn’t detect anything wrong with the hdmi audio quality. That’s great news.

Tested chromium quickly…youtube video playback is synchronized with the audio. I didn’t detect anything wrong with the hdmi audio quality as well. That’s also great news.

I plugged in a cheap bluetooth audio dongle into the vf2. When I use the very same bluetooth receiver connected to Bose Mini-Link with an android tv box, the sound quality is excellent as expected. The audio quality I’m getting from the vf2 on the other hand is very much degraded like a muffled mono am radio quality. I can understand and hear the sound, but the range of the sound spectrum seems narrowed out quite a bit.


I usually add a --download-only at the end of the end of the apt command, and make a backup copy of all deb packages to a different machine before I run the command again with --download-only removed.


I do appreciate the reply, but I was hoping for a more general broad solution for all debian users that a desperate to download lots of stuff from snapshots debian org when that particular host is overwhelmed with requests and cannot provide the sufficient bandwidth for all the incoming requests it seems. This is a painpoint for riscv debian people at the moment, but I believe it has been a painpoint for x86_64/aarch64 users as well for some time. I’m patient, but time is precious that’s why I’m recommending they have more mirrors for the snapshots host. Couldn’t all the existing os mirrors also mirror these snapshots as well?

1 Like

Debian image 202302, 202303 and 202306 are from the same snapshot date (20221225T084846Z).
I have installed Apt-Cacher-ng on a local server. On all the systems I have installed, I have entered my proxy in the configuration of Apt in order to load files that were once saved in the cache locally. Anyone who regularly sets up new Debian and/or Ubuntu computers should consider this convenient method.

user@vfive2-8:~$ cat /etc/apt/apt.conf.d/01proxy 
Acquire::http::Proxy "";

I burned the current Debian onto a 128GB SD, booted into vfive2, extended the root partition as recommended here Extending Partition, shut down and on another system, transferred the NVMe image to the SD to write it to the NVMe.
After about half of the img, there were time outs.

user@vfive2-8:~$ sudo dd if=visionfive/starfive-jh7110-202306-nvme-minimal-desktop.img of=/dev/nvme0n1 status=progress
611168768 bytes (611 MB, 583 MiB) copied, 196 s, 3.1 MB/s
Debian GNU/Linux
Debian GNU/Linux bookworm/sid vfive2-8 hvc0

vfive2-8 login:  bookworm/sid vfive2-8 ttyS0

vfive2-8 login: [  316.238207]  nvme0n1: p1 p2 p3 p4
[  776.241156] nvme nvme0: I/O 611 QID 4 timeout, completion polled
[  806.961013] nvme nvme0: I/O 609 QID 4 timeout, completion polled
[  882.960606] nvme nvme0: I/O 734 QID 4 timeout, completion polled
[  928.560428] nvme nvme0: I/O 320 QID 3 timeout, completion polled
[  968.880240] nvme nvme0: I/O 172 QID 2 timeout, completion polled

I could not record more than these four time outs, but I noticed something different and unusual, I get suspend messages from time to time, but I can ignore them. I just have to press enter once and I get a prompt again.

user@vfive2-8:~$ sudo dd if=visionfive/starfive-jh7110-202306-nvme-minimal-desktop.img of=/dev/nvme0n1 status=progress
785465856 bytes (785 MB, 749 MiB) copied, 235 s, 3.3 MB/s
1568639+1 records in
1568639+1 records out
803143184 bytes (803 MB, 766 MiB) copied, 237.101 s, 3.4 MB/s
Broadcast message from Debian-gdm@vfive2-8 on tty1 (Fri 2023-06-16 19:22:22 UTC):

The system will suspend now!

1 Like

Why do you not set pkg’s version to 9999.0 ? I remember that this will not upgrade.
Or , you can create a new pkg which provide and conflice these pkgs.

There’s also apt-mark hold


With the NVMe and Firefox improvements I feel this is a reason for me to try this image :pray:

That would interfere with installing additional packages from the repo.

Anyone tested VLC?
I did change the settings for Output module and preferred decoder, but it doesn’t work for me. It only plays the audio.
I can play the video in a browser.
I tried with Big Buck Bunny h.264 file from the Internet Archive.


It might be bugged, it didn’t work for me either, but curious as I am, I tried the Jellyfish and it works for me.

Oops, I must have missed that.

1 Like

ooh, I forgot one note for video output as there is one known issue about playing video in minimized mode;

here is the workaround:


Does this new image boot from nvme and what do we have to do to make it boot from nvme

Look at the “Image Download link” (link in first post) there are 3 images one for MicroSD cards, one for eMMC’s and one for NVMe’s.

SD boot: starfive-jh7110-202306-SD-minimal-desktop.img.bz2
eMMC boot: starfive-jh7110-202306-eMMC-minimal-desktop.img.bz2
NVME boot: starfive-jh7110-202306-nvme-minimal-desktop.img.bz2

Updated the onboard QSPI NOR Flash with the latest SPL+Uboot (u-boot-spl.bin.normal.out) and U-Boot+OpenSPI (visionfive2_fw_payload.img). Write the uncompressed image file (starfive-jh7110-202306-nvme-minimal-desktop.img) to the NVME card. Read the “VF2 Debian User Guide” (link in first post) and set your boot switches to QSPI. Job done.


Thank you very much

VisionFive2 kernel tag: v3.1.5

in the repos GitHub - starfive-tech/VisionFive2
GitHub - starfive-tech/linux the latest tag is VF2_v3.0.4

This will make it can not upgrade to new vf2’s pkg.
But 9999.0 → 9999.1 is OK .