Experimental Gentoo Image

Firefox alone does not take several days but the dependencies. emerge firefox has now crashed with unknown error. Seems to be an clang issue. I don’t use gcc for this specific build as there is a dependency problem with llvm on my VF2. A bit frustrating sometimes.

Does it make any sense to setup a public binpkg host for us where we can share prebuild riscv packages? Maybe this saves us some time? Or are the emerge builds very individual?

The emerge builds can be different depending on the USE flags that are used.

What error are you getting on the build of Firefox? Have you opened a gentoo bug report.If you open a Gentoo bug report make sure to select the riscv hardware

This is the version of Firefox I have installed
Installed versions: 115.10.0(esr)(01:08:43 04/18/24)(X clang dbus gmp-autoupdate hwaccel pulseaudio system-av1 system-harfbuzz system-icu system-jpeg system-libevent system-libvpx system-webp wifi -debug -eme-free -geckodriver -hardened -jack -libproxy -lto -openh264 -pgo -screencast -selinux -sndio -system-png -system-python-libs -wayland CPU_FLAGS_ARM=“-neon” L10N=“-ach -af -an -ar -ast -az -be -bg -bn -br -bs -ca -ca-valencia -cak -cs -cy -da -de -dsb -el -en-CA -en-GB -eo -es-AR -es-CL -es-ES -es-MX -et -eu -fa -ff -fi -fr -fur -fy -ga -gd -gl -gn -gu -he -hi -hr -hsb -hu -hy -ia -id -is -it -ja -ka -kab -kk -km -kn -ko -lij -lt -lv -mk -mr -ms -my -nb -ne -nl -nn -oc -pa -pl -pt-BR -pt-PT -rm -ro -ru -sc -sco -si -sk -sl -son -sq -sr -sv -szl -ta -te -th -tl -tr -trs -uk -ur -uz -vi -xh -zh-CN -zh-TW”)
Homepage: Get Firefox browser — Mozilla (US)
Description: Firefox Web Browser

See if the error you got with Firefox is the same as the one I have reported this morning https://bugs.gentoo.org/935714

No, it’s a different one. I’ve tried now with llvm17 and clang17 but the error is the same and very unspecific.

277:15.97 gmake[4]: Entering directory '/data/portage_tmpdir/portage/www-client/firefox-127.0.2/work/firefox_build/js/src'
277:16.07 /usr/lib/llvm/17/bin/riscv64-unknown-linux-gnu-clang++-17 -o Unified_cpp_js_src9.o -c  -I/data/portage_tmpdir/portage/www-client/firefox-127.0.2/work/firefox_build/dist/stl_wrappers -fvisibility=hidden -fvisibility-inlines-hidden -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -DNDEBUG=1 -DTRIMMED=1 -DWASM_SUPPORTS_HUGE_MEMORY -DJS_HAS_CTYPES -DEXPORT_JS_API -DMOZ_HAS_MOZGLUE -I/data/portage_tmpdir/portage/www-client/firefox-127.0.2/work/firefox-127.0.2/js/src -I/data/portage_tmpdir/portage/www-client/firefox-127.0.2/work/firefox_build/js/src -I/data/portage_tmpdir/portage/www-client/firefox-127.0.2/work/firefox-127.0.2/intl/icu_capi/c/include -I/data/portage_tmpdir/portage/www-client/firefox-127.0.2/work/firefox_build/dist/include -I/usr/include/nspr -I/usr/include/nss -I/usr/include/nspr -I/data/portage_tmpdir/portage/www-client/firefox-127.0.2/work/firefox_build/dist/include/nss -I/usr/include/pixman-1 -DMOZILLA_CLIENT -include /data/portage_tmpdir/portage/www-client/firefox-127.0.2/work/firefox_build/js/src/js-confdefs.h -fno-sized-deallocation -fno-aligned-new -march=rv64imafdc_zicsr_zba_zbb -mcpu=sifive-u74 -mtune=sifive-7-series -pipe -fPIC -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -pthread -O2 -fomit-frame-pointer -funwind-tables -Wall -Wbitfield-enum-conversion -Wempty-body -Wformat-type-confusion -Wignored-qualifiers -Wpointer-arith -Wshadow-field-in-constructor-modified -Wsign-compare -Wtautological-constant-in-range-compare -Wtype-limits -Wno-error=tautological-type-limit-compare -Wunreachable-code -Wunreachable-code-return -Wunused-but-set-parameter -Wno-invalid-offsetof -Wclass-varargs -Wempty-init-stmt -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wloop-analysis -Wno-range-loop-analysis -Wenum-compare-conditional -Wenum-float-conversion -Wno-deprecated-anon-enum-enum-conversion -Wno-deprecated-enum-enum-conversion -Wno-deprecated-this-capture -Wcomma -Wimplicit-fallthrough -Wstring-conversion -Wno-inline-new-delete -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=free-nonheap-object -Wno-error=atomic-alignment -Wno-error=deprecated-builtins -Wformat -Wformat-security -Wno-psabi -Wthread-safety -Wno-error=builtin-macro-redefined -Wno-unknown-warning-option -Werror=format -fstandalone-debug -I/usr/lib64/libffi/include -fno-strict-aliasing -ffp-contract=off  -MD -MP -MF .deps/Unified_cpp_js_src9.o.pp  -fcolor-diagnostics  Unified_cpp_js_src9.cpp
277:16.08 gmake[4]: Leaving directory '/data/portage_tmpdir/portage/www-client/firefox-127.0.2/work/firefox_build/js/src'
277:16.08 gmake[4]: Entering directory '/data/portage_tmpdir/portage/www-client/firefox-127.0.2/work/firefox_build/js/src'
277:16.09 gmake[4]: Leaving directory '/data/portage_tmpdir/portage/www-client/firefox-127.0.2/work/firefox_build/js/src'
277:16.10 gmake[2]: *** [/data/portage_tmpdir/portage/www-client/firefox-127.0.2/work/firefox-127.0.2/config/recurse.mk:34: compile] Error 2
277:16.10 gmake[1]: *** [/data/portage_tmpdir/portage/www-client/firefox-127.0.2/work/firefox-127.0.2/config/rules.mk:361: default] Error 2
277:16.10 gmake: *** [client.mk:60: build] Error 2
277:16.11 W 96 compiler warnings present.
 * ERROR: www-client/firefox-127.0.2::gentoo failed (compile phase):
 *   (no error message)
 * 
 * Call stack:
 *     ebuild.sh, line 136:  Called src_compile
 *   environment, line 5167:  Called die
 * The specific snippet of code:
 *       ${virtx_cmd} ./mach build --verbose || die
 * 
 * If you need support, post the output of `emerge --info '=www-client/firefox-127.0.2::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=www-client/firefox-127.0.2::gentoo'`.
 * The complete build log is located at '/data/portage_tmpdir/portage/www-client/firefox-127.0.2/temp/build.log'.
 * The ebuild environment file is located at '/data/portage_tmpdir/portage/www-client/firefox-127.0.2/temp/environment'.
 * Working directory: '/data/portage_tmpdir/portage/www-client/firefox-127.0.2/work/firefox-127.0.2'
 * S: '/data/portage_tmpdir/portage/www-client/firefox-127.0.2/work/firefox-127.0.2'

emerge --info '=www-client/firefox-127.0.2::gentoo' shows:

Portage 3.0.65 (python 3.12.4-final-0, default/linux/riscv/23.0/rv64/lp64d/desktop/systemd, gcc-14, glibc-2.39-r9, 6.6.20 riscv64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-6.6.20-riscv64-with-glibc2.39
KiB Mem:     8098028 total,   4449860 free
KiB Swap:    8388604 total,   8318460 free
Timestamp of repository gentoo: Sat, 06 Jul 2024 14:30:00 +0000
Head commit of repository gentoo: 6ff37b45dda5068d4f6e9ef772367de3dce884e0
Head commit of repository bingch: 3199712d3c3c7d6eafd46ba55ab4eb2ca6fd985b

Timestamp of repository dilfridge: Fri, 05 Jul 2024 21:06:45 +0000
Head commit of repository dilfridge: 5eec1bf4fbc5a7f1df80a9e21f27359df438ac1b

Timestamp of repository guru: Fri, 05 Jul 2024 21:07:06 +0000
Head commit of repository guru: d13b66aff1354e1273deec0c874dc8ac8e0c0562

Timestamp of repository riscv: Fri, 05 Jul 2024 21:07:21 +0000
Head commit of repository riscv: f098779567ed550db14703cb52de468f450667dd

sh bash 5.2_p26-r6
ld GNU ld (Gentoo 2.42 p6) 2.42.0
app-misc/pax-utils:        1.3.7::gentoo
app-shells/bash:           5.2_p26-r6::gentoo
dev-build/autoconf:        2.13-r8::gentoo, 2.72-r1::gentoo
dev-build/automake:        1.16.5-r2::gentoo
dev-build/cmake:           3.30.0::gentoo
dev-build/libtool:         2.4.7-r4::gentoo
dev-build/make:            4.4.1-r1::gentoo
dev-build/meson:           1.4.1::gentoo
dev-lang/perl:             5.40.0::gentoo
dev-lang/python:           3.11.9-r1::gentoo, 3.12.4_p2::gentoo, 3.13.0_beta3_p1::gentoo
dev-lang/rust:             1.77.1::gentoo
dev-lang/rust-bin:         1.79.0::gentoo
sys-apps/baselayout:       2.15::gentoo
sys-apps/sandbox:          2.39::gentoo
sys-apps/systemd:          255.6::gentoo
sys-devel/binutils:        2.42-r2::gentoo
sys-devel/binutils-config: 5.5::gentoo
sys-devel/clang:           17.0.6::gentoo, 18.1.8::gentoo
sys-devel/gcc:             14.1.1_p20240622::gentoo
sys-devel/gcc-config:      2.11::gentoo
sys-devel/lld:             17.0.6::gentoo, 18.1.8::gentoo
sys-devel/llvm:            16.0.6::gentoo, 17.0.6::gentoo, 18.1.8::gentoo
sys-kernel/linux-headers:  6.9::gentoo (virtual/os-headers)
sys-libs/glibc:            2.39-r9::gentoo
Repositories:

gentoo
    location: /var/db/repos/gentoo
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    volatile: False
    sync-rsync-verify-metamanifest: yes
    sync-rsync-verify-max-age: 24
    sync-rsync-extra-opts: 
    sync-rsync-verify-jobs: 1

bingch
    location: /var/db/repos/bingch
    sync-type: git
    sync-uri: https://gitlab.com/bingch/gentoo-overlay.git
    masters: gentoo
    volatile: True

dilfridge
    location: /var/db/repos/dilfridge
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/dilfridge.git
    masters: gentoo
    volatile: False

guru
    location: /var/db/repos/guru
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/guru.git
    masters: gentoo
    volatile: False

riscv
    location: /var/db/repos/riscv
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/riscv.git
    masters: gentoo
    volatile: False

ACCEPT_KEYWORDS="riscv ~riscv"
ACCEPT_LICENSE="@FREE"
CBUILD="riscv64-unknown-linux-gnu"
CFLAGS="-march=rv64imafdc_zicsr_zba_zbb -mcpu=sifive-u74 -mtune=sifive-7-series -O2 -pipe"
CHOST="riscv64-unknown-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d"
CXXFLAGS="-march=rv64imafdc_zicsr_zba_zbb -mcpu=sifive-u74 -mtune=sifive-7-series -O2 -pipe"
DISTDIR="/var/cache/distfiles"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GDK_PIXBUF_MODULE_FILE GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR XDG_STATE_HOME"
FCFLAGS="-march=rv64imafdc_zicsr_zba_zbb -mcpu=sifive-u74 -mtune=sifive-7-series -O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg-live config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync merge-wait multilib-strict news parallel-fetch pkgdir-index-trusted preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-march=rv64imafdc_zicsr_zba_zbb -mcpu=sifive-u74 -mtune=sifive-7-series -O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.UTF-8"
LC_ALL="C"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LEX="flex"
PKGDIR="/data/binpkgs/"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/data/portage_tmpdir/"
SHELL="/bin/bash"
USE="X a52 aac acl acpi alsa bluetooth branding bzip2 cairo cdda cdr crypt cups dbus dri dts dvd dvdr encode exif flac gdbm gif gpm gtk gui iconv icu ipv6 jpeg kf6compat lcms libnotify mad mng mp3 mp4 mpeg ncurses nls ogg opengl openmp pam pango pcre pdf png policykit ppds readline riscv sdl seccomp sound spell ssl startup-notification svg systemd test-rust tiff truetype udev udisks unicode upower usb vorbis vulkan wxwidgets x264 xattr xcb xft xml xv xvid zlib" ADA_TARGET="gcc_12" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_anon authn_dbm authn_file authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir env expires ext_filter file_cache filter headers include info log_config logio mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 ntrip navcom oceanserver oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 tsip tripmate tnt ublox" INPUT_DEVICES="libinput" KERNEL="linux" LCD_DEVICES="bayrad cfontz glk hd44780 lb216 lcdm001 mtxorb text" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php8-2" POSTGRES_TARGETS="postgres15" PYTHON_SINGLE_TARGET="python3_12" PYTHON_TARGETS="python3_12" RUBY_TARGETS="ruby31 ruby32" VIDEO_CARDS="imagination" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipp2p iface geoip fuzzy condition tarpit sysrq proto logmark ipmark dhcpmac delude chaos account"
Unset:  ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EMERGE_DEFAULT_OPTS, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LD, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, MAKEOPTS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PYTHONPATH, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS

I’ll file a bug when I have the time to do so …

try the esr version.

emerge --ask --verbose www-client/firefox:esr

2 Likes

Well, the firefox esr version emerged just fine! I had some crashes after opening firefox. But when I visit some websites right after the start firefox keeps running. Strange.

In dmesg I can see these core dumps:

[  428.871901] firefox[997]: memfd_create() called without MFD_EXEC or MFD_NOEXEC_SEAL set
[  459.805008] Isolated Web Co[1207]: unhandled signal 4 code 0x1 at 0x0000003f11a5e220
[  459.812783] CPU: 1 PID: 1207 Comm: Isolated Web Co Tainted: G           O    T  6.6.20 #2
[  459.820970] Hardware name: StarFive VisionFive 2 v1.3B (DT)
[  459.826547] epc : 0000003f11a5e220 ra : 0000003f1194fb10 sp : 0000003fc7f22d70
[  459.833778]  gp : 0000002ad74ed800 tp : 0000003fa1e26f20 t0 : 0000003f0dcf57f0
[  459.841007]  t1 : fffe003f117b3308 t2 : fffb003f116a6c00 s0 : 0000003fc7f22d70
[  459.848231]  s1 : 0000003f11a5d6e0 a0 : 0000003f1194f9d0 a1 : 655adc4121958700
[  459.855458]  a2 : 0000000000000022 a3 : 0000003fa00cef80 a4 : 655adc4121958700
[  459.862685]  a5 : 0000000000000800 a6 : 0000000000000000 a7 : fffffffffffff000
[  459.869907]  s2 : 0000003fc7f23c70 s3 : 0000000000000000 s4 : 0000003fc7f23c70
[  459.877133]  s5 : 0000000000000002 s6 : fffe003f0d59f3f8 s7 : 0000003fc7f23978
[  459.884357]  s8 : 0000003fa226dd08 s9 : 0000003f91420200 s10: 0000000000000000
[  459.891583]  s11: 000000000001fffc t3 : 0000003fa22584be t4 : 0000003f11a5e220
[  459.898809]  t5 : 0000003f91420ba8 t6 : fffb000000000000
[  459.904119] status: 0000000200004020 badaddr: 0000000002f35e93 cause: 0000000000000002
[ 4408.430803] Isolated Web Co[29505]: unhandled signal 4 code 0x1 at 0x0000003f247511a0
[ 4408.438664] CPU: 3 PID: 29505 Comm: Isolated Web Co Tainted: G           O    T  6.6.20 #2
[ 4408.446944] Hardware name: StarFive VisionFive 2 v1.3B (DT)
[ 4408.452531] epc : 0000003f247511a0 ra : 0000003f24710894 sp : 0000003fe4757108
[ 4408.459761]  gp : 0000002ae2d18800 tp : 0000003fb4da5f20 t0 : ffffffffffffffff
[ 4408.466998]  t1 : 0000003fb11cdb0a t2 : 0000000000002008 s0 : 0000003fe4757140
[ 4408.474227]  s1 : 0000000000000000 a0 : 0000003f247511a0 a1 : 0000000000000004
[ 4408.481452]  a2 : 0000003fe47577e0 a3 : 0000000000000000 a4 : 0000003f1f80cc80
[ 4408.488692]  a5 : 0000000000000000 a6 : 0000000000000000 a7 : 0000003fe4757248
[ 4408.495941]  s2 : 0000003fe47577e0 s3 : 0000000000000063 s4 : 0000003fe47577e0
[ 4408.503179]  s5 : 0000000000000004 s6 : fff9800000000000 s7 : 0000003fe4757248
[ 4408.510411]  s8 : 0000003fb51ecd08 s9 : 0000003fa4320200 s10: 0000000000000000
[ 4408.517643]  s11: 0000000000000003 t3 : 0000003fb51d74be t4 : 0000000000000000
[ 4408.524879]  t5 : 0000003f247106e4 t6 : 000000041e0c1738
[ 4408.530205] status: 0000000200004020 badaddr: 00000000ff810113 cause: 0000000000000002
[ 4435.167595] Isolated Web Co[29506]: unhandled signal 4 code 0x1 at 0x0000003f0aafd520
[ 4435.175454] CPU: 2 PID: 29506 Comm: Isolated Web Co Tainted: G           O    T  6.6.20 #2
[ 4435.183733] Hardware name: StarFive VisionFive 2 v1.3B (DT)
[ 4435.189324] epc : 0000003f0aafd520 ra : 0000003f0aafcc8c sp : 0000003ffc6fc7f8
[ 4435.196563]  gp : 0000002ad0338800 tp : 0000003f9aeb1f20 t0 : 0000003f083bc878
[ 4435.203797]  t1 : fffb003f04f144c0 t2 : fffb003f0a895c00 s0 : 0000003ffc6fc838
[ 4435.211030]  s1 : 0000003f0a901360 a0 : 0000000000000001 a1 : b82fb92d4e670400
[ 4435.218263]  a2 : fffa000000000000 a3 : 000000000000000a a4 : 000000000000ffe5
[ 4435.225493]  a5 : 0000003ffc6fc706 a6 : 000000000000ffe6 a7 : 0000003f9b2f8d08
[ 4435.232723]  s2 : 0000003f8a5f8220 s3 : 0000000000000023 s4 : 0000003f8a5f8220
[ 4435.239957]  s5 : 0000000000000002 s6 : fffe003f04fc1948 s7 : 0000003ffc6fcab8
[ 4435.247188]  s8 : 0000003f9b2f8d08 s9 : 0000003f8a520200 s10: 0000000000000000
[ 4435.254416]  s11: fffe003f05aa4218 t3 : 0000003f9afa9d9e t4 : 0000003f0aafd520
[ 4435.261650]  t5 : 0000003f05aa4218 t6 : 0000003f953f198e
[ 4435.266989] status: 0000000200004020 badaddr: 0000000002f3de93 cause: 0000000000000002

If anyone want to try to safe some time and want to try out my binary, here it is without any support :smiley:

1 Like

Has anyone tried out the mainline kernel? I’ve successfully booted from a sys-kernel/gentoo-sources:6.15.6 built on the VisionFive 2 itself. There’s still no video out or heartbeat led but everything else works flawlessly and it works great as a headless system to uart or SSH into. Here is the kernel config (138.0 KB) I used for anyone else who wants to try.

If you have a 8GB VisionFive 2 you might have to edit the memory sections of the upstreamed kernels dts code. As a quick and dirty example:

--- /usr/src/linux/arch/riscv/boot/dts/starfive/jh7110-common.dtsi (4GB)
+++ /usr/src/linux/arch/riscv/boot/dts/starfive/jh7110-common.dtsi (8GB)
@@ -27,7 +27,7 @@
 
        memory@40000000 {
                device_type = "memory";
-               reg = <0x0 0x40000000 0x1 0x0>;
+               reg = <0x0 0x40000000 0x2 0x0>;
        };
 
        gpio-restart {

I have not tried it as I am using 6.12.5 with the GPU active.

Wouldn’t it be nice to have that upstream? Looking at JH7110 Upstream Status | RVspace it seems like the DC8200 driver is one of the last not mainlined yet. I wonder if there’s any more recent update on this?

Looking at the patch differences it seems to mainly add new files. That makes me wonder if we could apply it as a user patch through /etc/portage/patches - Gentoo wiki cleanly.

Hi rvcray, are you able to boot 6.15 from the sdcard?
I’m curious because the kernel starting from 6.10 doesn’t recognize the sdcard on my VF2.

I described my problem here: Rev v1.3b: SD Card not detected after kernel 6.10

Sorry for the very late reply. In case it’s still relevant; yes, kernel 6.15.6 boots from an SDcard perfectly for me but naturally there’s no display output so you’ll likely have to use UART until ssh is setup. Here’s extlinux.conf.gz (421 Bytes) and config.gz (30.4 KB) of a booting system.

The dtb file is generated when the kernel is built and should be copied to the boot partition. For example: cp /usr/src/linux-6.15.6-gentoo/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-v1.3b.dtb /boot/dtbs

As mentioned in Experimental Gentoo Image - #127 by rvcray you might want to edit the dtsi if you have a 8GB model. While an 8GB model will run without editing the dtsi doing so means it’s only able to use 4GB.

Updated to kernel 6.18 successfully. Here is its config.gz (31.1 KB).

One of the new configuration options is CONFIG_DRM_POWERVR. I’m not sure if this is applicable to the Imagination BXE-4-32 GPU in the JH7110 but it could be exciting.

1 Like

Thank you! Then I believe my board has some hw issue affecting the card-detect pin.

If that’s the case then the kernel config in Experimental Gentoo Image - #132 by rvcray should also be able to boot off of a NVME drive as well since CONFIG_NVMEM_U_BOOT_ENV=y although I haven’t tried to do this myself.

As far as I know the support for it in MESA has been merged.

See https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37790

1 Like

It’s good to see progress but if you look at the powervr.rst on that merge you will see our GPU is still on the unsupported list:

The following hardware is unsupported and not under active development:

========= =========== ==============
Product   Series      B.V.N.C
========= =========== ==============
GX6250    Series 6XT  4.45.2.58
GX6650    Series 6XT  4.46.6.62
G6110     Series 6XE  5.9.1.46
GE8300    Series 8XE  22.68.54.30
GE8300    Series 8XE  22.102.54.38
BXE-2-32  B-Series    36.29.52.182
BXE-4-32  B-Series    36.50.54.182   <- Hey, that's us!
========= =========== ==============

A Mesa maintainer posted in a issue about BXE-4-32 support in October, they’re open to supporting it but can’t do it on their own.

I’m no Mesa or kernel developer but from my limited understanding there’s not much point in upstreaming BXE-4-32 in Mesa until the these patches for the DC8200 have been upstreamed into the kernel. Without it, the HDMI port won’t display anything.

The good news is that the DC8200 is mentioned around the kernels source code, just nothing in a path containing ‘drm’.

$ grep -Rn DC8200 /usr/src/linux-6.18.0-gentoo/
/usr/src/linux-6.18.0-gentoo/drivers/clk/starfive/clk-starfive-jh7110-vout.c:36:	JH71X0__DIV(JH7110_VOUTCLK_DC8200_PIX, "dc8200_pix", 63, JH7110_VOUTCLK_VOUT_SRC),
/usr/src/linux-6.18.0-gentoo/drivers/clk/starfive/clk-starfive-jh7110-vout.c:40:	JH71X0_GATE(JH7110_VOUTCLK_DC8200_AXI, "dc8200_axi", 0, JH7110_VOUTCLK_VOUT_TOP_AXI),
/usr/src/linux-6.18.0-gentoo/drivers/clk/starfive/clk-starfive-jh7110-vout.c:41:	JH71X0_GATE(JH7110_VOUTCLK_DC8200_CORE, "dc8200_core", 0, JH7110_VOUTCLK_VOUT_TOP_AXI),
/usr/src/linux-6.18.0-gentoo/drivers/clk/starfive/clk-starfive-jh7110-vout.c:42:	JH71X0_GATE(JH7110_VOUTCLK_DC8200_AHB, "dc8200_ahb", 0, JH7110_VOUTCLK_VOUT_TOP_AHB),
/usr/src/linux-6.18.0-gentoo/drivers/clk/starfive/clk-starfive-jh7110-vout.c:43:	JH71X0_GMUX(JH7110_VOUTCLK_DC8200_PIX0, "dc8200_pix0", 0, 2,
/usr/src/linux-6.18.0-gentoo/drivers/clk/starfive/clk-starfive-jh7110-vout.c:44:		    JH7110_VOUTCLK_DC8200_PIX,
/usr/src/linux-6.18.0-gentoo/drivers/clk/starfive/clk-starfive-jh7110-vout.c:46:	JH71X0_GMUX(JH7110_VOUTCLK_DC8200_PIX1, "dc8200_pix1", 0, 2,
/usr/src/linux-6.18.0-gentoo/drivers/clk/starfive/clk-starfive-jh7110-vout.c:47:		    JH7110_VOUTCLK_DC8200_PIX,
/usr/src/linux-6.18.0-gentoo/drivers/clk/starfive/clk-starfive-jh7110-vout.c:51:		    JH7110_VOUTCLK_DC8200_PIX0,
/usr/src/linux-6.18.0-gentoo/drivers/clk/starfive/clk-starfive-jh7110-vout.c:52:		    JH7110_VOUTCLK_DC8200_PIX1),
/usr/src/linux-6.18.0-gentoo/drivers/clk/starfive/clk-starfive-jh7110-vout.c:57:		    JH7110_VOUTCLK_DC8200_PIX,
/usr/src/linux-6.18.0-gentoo/scripts/dtc/include-prefixes/dt-bindings/clock/starfive,jh7110-crg.h:281:#define JH7110_VOUTCLK_DC8200_PIX		1
/usr/src/linux-6.18.0-gentoo/scripts/dtc/include-prefixes/dt-bindings/clock/starfive,jh7110-crg.h:284:#define JH7110_VOUTCLK_DC8200_AXI		4
/usr/src/linux-6.18.0-gentoo/scripts/dtc/include-prefixes/dt-bindings/clock/starfive,jh7110-crg.h:285:#define JH7110_VOUTCLK_DC8200_CORE		5
/usr/src/linux-6.18.0-gentoo/scripts/dtc/include-prefixes/dt-bindings/clock/starfive,jh7110-crg.h:286:#define JH7110_VOUTCLK_DC8200_AHB		6
/usr/src/linux-6.18.0-gentoo/scripts/dtc/include-prefixes/dt-bindings/clock/starfive,jh7110-crg.h:287:#define JH7110_VOUTCLK_DC8200_PIX0		7
/usr/src/linux-6.18.0-gentoo/scripts/dtc/include-prefixes/dt-bindings/clock/starfive,jh7110-crg.h:288:#define JH7110_VOUTCLK_DC8200_PIX1		8
/usr/src/linux-6.18.0-gentoo/scripts/dtc/include-prefixes/dt-bindings/reset/starfive,jh7110-crg.h:199:#define JH7110_VOUTRST_DC8200_AXI		0
/usr/src/linux-6.18.0-gentoo/scripts/dtc/include-prefixes/dt-bindings/reset/starfive,jh7110-crg.h:200:#define JH7110_VOUTRST_DC8200_AHB		1
/usr/src/linux-6.18.0-gentoo/scripts/dtc/include-prefixes/dt-bindings/reset/starfive,jh7110-crg.h:201:#define JH7110_VOUTRST_DC8200_CORE		2
/usr/src/linux-6.18.0-gentoo/include/dt-bindings/clock/starfive,jh7110-crg.h:281:#define JH7110_VOUTCLK_DC8200_PIX		1
/usr/src/linux-6.18.0-gentoo/include/dt-bindings/clock/starfive,jh7110-crg.h:284:#define JH7110_VOUTCLK_DC8200_AXI		4
/usr/src/linux-6.18.0-gentoo/include/dt-bindings/clock/starfive,jh7110-crg.h:285:#define JH7110_VOUTCLK_DC8200_CORE		5
/usr/src/linux-6.18.0-gentoo/include/dt-bindings/clock/starfive,jh7110-crg.h:286:#define JH7110_VOUTCLK_DC8200_AHB		6
/usr/src/linux-6.18.0-gentoo/include/dt-bindings/clock/starfive,jh7110-crg.h:287:#define JH7110_VOUTCLK_DC8200_PIX0		7
/usr/src/linux-6.18.0-gentoo/include/dt-bindings/clock/starfive,jh7110-crg.h:288:#define JH7110_VOUTCLK_DC8200_PIX1		8
/usr/src/linux-6.18.0-gentoo/include/dt-bindings/reset/starfive,jh7110-crg.h:199:#define JH7110_VOUTRST_DC8200_AXI		0
/usr/src/linux-6.18.0-gentoo/include/dt-bindings/reset/starfive,jh7110-crg.h:200:#define JH7110_VOUTRST_DC8200_AHB		1
/usr/src/linux-6.18.0-gentoo/include/dt-bindings/reset/starfive,jh7110-crg.h:201:#define JH7110_VOUTRST_DC8200_CORE		2
1 Like

I do not know if you saw this but someone outside of StarFive has started to look at the Verisilicon DC8200 display controller in the JH7110 SoC and utilizing some relatively new features in the Linux kernel (generic Power Sequencing pwrseq subsystem, introduced in the Linux 6.11 kernel).

ref: Igniting the GPU: From Kernel Plumbing to 3D Rendering on RISC-V | Linux Kernel Blog (search for JH7110 in the blog post)

They have not published much in relation to the JH7110, but they are at least looked at it in parallel with what they are currently doing in the above link.

2 Likes

Nice! This patch in particular looks exciting. Hopefully we see an option like CONFIG_PHY_STARFIVE_JH7110_INNO_HDMI in Linux 6.20

4 Likes

drm-next-2026-01-08 has upstreamed patches that generalize some of Rockchips inno-hdmi code that can be shared. Good news for us.

2 Likes

The latest version of media-libs/mesa now has support for the imagination GPU’s using the Vulkan driver.

3 Likes