Skip to content

ci/docker: update nintendo switch buildroot image for theofficialgman…#382

Merged
itsmattkc merged 4 commits into
vanilla-wiiu:masterfrom
theofficialgman:master
May 14, 2026
Merged

ci/docker: update nintendo switch buildroot image for theofficialgman…#382
itsmattkc merged 4 commits into
vanilla-wiiu:masterfrom
theofficialgman:master

Conversation

@theofficialgman

@theofficialgman theofficialgman commented May 4, 2026

Copy link
Copy Markdown
Contributor

… kernel fork

the contains the nintendo switch linux kernel fork that has the new hardware level rotation support.

Rotation to landscape when handheld is not handled by the nvidia userspace composition pipeline in xorg anymore but rather by the display controller in hardware.

This fully resolves the framepacing/stutter issue that can be seen in all previous linux for switch distros and is particularly severe in the vanilla (10+ stutters per second).

Currently testing this in github actions. As I changed the build to actually use the compiled devicetrees, rather than a precompiled version from who knows where, it may fail due to wrong paths being supplied.

I will remove the draft state once the build succeeds (testing here https://github.com/theofficialgman/vanilla/actions/runs/25557489131)

@theofficialgman

Copy link
Copy Markdown
Contributor Author

@itsmattkc thoughts on this build error? your parsing script doesn't work with how I tag my releases

NEXMON_VERSION = master
NEXMON_SITE = $(call github,vanilla-wiiu,nexmon,$(NEXMON_VERSION))
NEXMON_LICENSE = GPL-3.0
NEXMON_LICENSE_FILES = LICENSE.txt

LD_VERSION   := $(subst ., ,$(lastword $(BR2_LINUX_KERNEL_VERSION)))
LD_MAJOR_VER := $(word 1,$(LD_VERSION))
LD_MINOR_VER := $(word 2,$(LD_VERSION))

NEXMON_MODULE_SUBDIRS = patches/driver/brcmfmac_$(LD_MAJOR_VER).$(LD_MINOR_VER).y-nexmon
2026-05-04T07:07:02.7774549Z �[0;31m  EXTRACTING HOST FIRMWARE IMAGE�[0m
2026-05-04T07:07:05.4130365Z make[4]: Leaving directory '/build/build/nexmon-master/firmwares/bcm6715b0/17_10_188_6401_r808804_ax86upro'
2026-05-04T07:07:05.4131758Z make[3]: Leaving directory '/build/build/nexmon-master/firmwares/bcm6715b0'
2026-05-04T07:07:05.4133090Z make[2]: Leaving directory '/build/build/nexmon-master/firmwares'
2026-05-04T07:07:05.4135871Z make[1]: Leaving directory '/build/build/nexmon-master'
2026-05-04T07:07:05.4147763Z >>> nexmon master Building kernel module(s)
2026-05-04T07:07:05.4159110Z GIT_DIR=. PATH="/build/host/bin:/build/host/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" PKG_CONFIG="/build/host/bin/pkg-config" PKG_CONFIG_SYSROOT_DIR="/" PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 PKG_CONFIG_LIBDIR="/build/host/lib/pkgconfig:/build/host/share/pkgconfig" BR_BINARIES_DIR=/build/images /usr/bin/make -j5 -C /build/build/linux-linux-theofficialgman-5-2-2026 HOSTCC="/usr/bin/gcc -O2 -isystem /build/host/include -L/build/host/lib -Wl,-rpath,/build/host/lib" ARCH=arm64 KCFLAGS="-Wno-attribute-alias -Wno-maybe-uninitialized -Wno-address-of-packed-member -Wno-stringop-truncation -Wno-address -Wno-array-bounds -Wno-stringop-overread" INSTALL_MOD_PATH=/build/target CROSS_COMPILE="/build/host/bin/aarch64-buildroot-linux-gnu-" WERROR=0 REGENERATE_PARSERS=1 DEPMOD=/build/host/sbin/depmod INSTALL_MOD_STRIP=1 tegra-dtstree=../hardware/nvidia  ***"linux-theofficialgman-5-2-2026"..y-nexmon M=/build/build/nexmon-master/patches/driver/brcmfmac_"linux-theofficialgman-5-2-2026"..y-nexmon modules
2026-05-04T07:07:06.0665391Z   Building modules, stage 2.
2026-05-04T07:07:06.0712560Z scripts/Makefile.modpost:53: /build/build/nexmon-master/patches/driver/brcmfmac_linux-theofficialgman-5-2-2026..y-nexmon/Makefile: No such file or directory
2026-05-04T07:07:06.0714550Z make[2]: *** No rule to make target '/build/build/nexmon-master/patches/driver/brcmfmac_linux-theofficialgman-5-2-2026..y-nexmon/Makefile'.  Stop.
2026-05-04T07:07:06.0715863Z make[1]: *** [Makefile:1633: modules] Error 2
2026-05-04T07:07:06.0717832Z make: *** [package/pkg-generic.mk:274: /build/build/nexmon-master/.stamp_built] Error 2
2026-05-04T07:07:06.0732878Z make: Leaving directory '/buildroot'

@itsmattkc

Copy link
Copy Markdown
Contributor

You're free to update the version parsing code if you'd like, it just needs to get the kernel version from somewhere because Nexmon has different kernel modules for each.

@theofficialgman

Copy link
Copy Markdown
Contributor Author

seems like I just need to set it since it defaults to the tag when supplied

https://github.com/sv99/buildroot/blob/03f6e005e6a9617767b24a9026da9477848020cc/linux/Config.in#L98-L105

@theofficialgman

Copy link
Copy Markdown
Contributor Author

hmm... that still didn't work even though I manually set the BR2_LINUX_KERNEL_VERSION

2026-05-05T00:04:18.4713000Z >>> nexmon master Building kernel module(s)
2026-05-05T00:04:18.4720316Z GIT_DIR=. PATH="/build/host/bin:/build/host/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" PKG_CONFIG="/build/host/bin/pkg-config" PKG_CONFIG_SYSROOT_DIR="/" PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 PKG_CONFIG_LIBDIR="/build/host/lib/pkgconfig:/build/host/share/pkgconfig" BR_BINARIES_DIR=/build/images /usr/bin/make -j5 -C /build/build/linux-linux-theofficialgman-5-2-2026 HOSTCC="/usr/bin/gcc -O2 -isystem /build/host/include -L/build/host/lib -Wl,-rpath,/build/host/lib" ARCH=arm64 KCFLAGS="-Wno-attribute-alias -Wno-maybe-uninitialized -Wno-address-of-packed-member -Wno-stringop-truncation -Wno-address -Wno-array-bounds -Wno-stringop-overread" INSTALL_MOD_PATH=/build/target CROSS_COMPILE="/build/host/bin/aarch64-buildroot-linux-gnu-" WERROR=0 REGENERATE_PARSERS=1 DEPMOD=/build/host/sbin/depmod INSTALL_MOD_STRIP=1 tegra-dtstree=../hardware/nvidia  ***"linux-theofficialgman-5-2-2026"..y-nexmon M=/build/build/nexmon-master/patches/driver/brcmfmac_"linux-theofficialgman-5-2-2026"..y-nexmon modules
2026-05-05T00:04:19.0962348Z   Building modules, stage 2.
2026-05-05T00:04:19.1007257Z scripts/Makefile.modpost:53: /build/build/nexmon-master/patches/driver/brcmfmac_linux-theofficialgman-5-2-2026..y-nexmon/Makefile: No such file or directory
2026-05-05T00:04:19.1009095Z make[2]: *** No rule to make target '/build/build/nexmon-master/patches/driver/brcmfmac_linux-theofficialgman-5-2-2026..y-nexmon/Makefile'.  Stop.
2026-05-05T00:04:19.1010389Z make[1]: *** [Makefile:1633: modules] Error 2
2026-05-05T00:04:19.1011020Z make: *** [package/pkg-generic.mk:274: /build/build/nexmon-master/.stamp_built] Error 2

how did you get this to build before?

@theofficialgman

Copy link
Copy Markdown
Contributor Author

It was always working incorrectly. the version before was linux-5.1.2 which got parsed as 5.1 even though its a 4.9.140 based linux kernel. somehow this compiled before though... not sure how since there is no brcmfmac_linux-5.1.y-nexmon folder in the repo

2026-05-03T16:49:41.8359369Z >>> nexmon master Building kernel module(s)
2026-05-03T16:49:41.8370736Z GIT_DIR=. PATH="/build/host/bin:/build/host/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" PKG_CONFIG="/build/host/bin/pkg-config" PKG_CONFIG_SYSROOT_DIR="/" PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 PKG_CONFIG_LIBDIR="/build/host/lib/pkgconfig:/build/host/share/pkgconfig" BR_BINARIES_DIR=/build/images /usr/bin/make -j5 -C /build/build/linux-linux-5.1.2 HOSTCC="/usr/bin/gcc -O2 -isystem /build/host/include -L/build/host/lib -Wl,-rpath,/build/host/lib" ARCH=arm64 KCFLAGS="-Wno-attribute-alias -Wno-maybe-uninitialized -Wno-address-of-packed-member -Wno-stringop-truncation -Wno-address -Wno-array-bounds -Wno-stringop-overread" INSTALL_MOD_PATH=/build/target CROSS_COMPILE="/build/host/bin/aarch64-buildroot-linux-gnu-" WERROR=0 REGENERATE_PARSERS=1 DEPMOD=/build/host/sbin/depmod INSTALL_MOD_STRIP=1 tegra-dtstree=../hardware/nvidia  ***"linux-5.1.y-nexmon M=/build/build/nexmon-master/patches/driver/brcmfmac_"linux-5.1.y-nexmon modules
2026-05-03T16:49:42.4815354Z   CHK     include/config/kernel.release
2026-05-03T16:49:42.5262532Z   CHK     include/generated/uapi/linux/version.h
2026-05-03T16:49:42.5492676Z   CHK     include/generated/utsrelease.h
2026-05-03T16:49:42.6138611Z   CHK     scripts/mod/devicetable-offsets.h
2026-05-03T16:49:42.6285794Z   CHK     include/generated/timeconst.h
2026-05-03T16:49:42.6400637Z   CHK     include/generated/bounds.h
2026-05-03T16:49:42.6490894Z   CHK     include/generated/asm-offsets.h
2026-05-03T16:49:42.6545941Z   CALL    scripts/checksyscalls.sh
2026-05-03T16:49:49.1383071Z   Building modules, stage 2.
2026-05-03T16:49:49.5129213Z   MODPOST 259 modules
2026-05-03T16:49:50.3089135Z >>> nexmon master Installing to target

what is happening now is more expected

2026-05-05T00:04:18.4713000Z >>> nexmon master Building kernel module(s)
2026-05-05T00:04:18.4720316Z GIT_DIR=. PATH="/build/host/bin:/build/host/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" PKG_CONFIG="/build/host/bin/pkg-config" PKG_CONFIG_SYSROOT_DIR="/" PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 PKG_CONFIG_LIBDIR="/build/host/lib/pkgconfig:/build/host/share/pkgconfig" BR_BINARIES_DIR=/build/images /usr/bin/make -j5 -C /build/build/linux-linux-theofficialgman-5-2-2026 HOSTCC="/usr/bin/gcc -O2 -isystem /build/host/include -L/build/host/lib -Wl,-rpath,/build/host/lib" ARCH=arm64 KCFLAGS="-Wno-attribute-alias -Wno-maybe-uninitialized -Wno-address-of-packed-member -Wno-stringop-truncation -Wno-address -Wno-array-bounds -Wno-stringop-overread" INSTALL_MOD_PATH=/build/target CROSS_COMPILE="/build/host/bin/aarch64-buildroot-linux-gnu-" WERROR=0 REGENERATE_PARSERS=1 DEPMOD=/build/host/sbin/depmod INSTALL_MOD_STRIP=1 tegra-dtstree=../hardware/nvidia  ***"linux-theofficialgman-5-2-2026"..y-nexmon M=/build/build/nexmon-master/patches/driver/brcmfmac_"linux-theofficialgman-5-2-2026"..y-nexmon modules
2026-05-05T00:04:19.0962348Z   Building modules, stage 2.
2026-05-05T00:04:19.1007257Z scripts/Makefile.modpost:53: /build/build/nexmon-master/patches/driver/brcmfmac_linux-theofficialgman-5-2-2026..y-nexmon/Makefile: No such file or directory
2026-05-05T00:04:19.1009095Z make[2]: *** No rule to make target '/build/build/nexmon-master/patches/driver/brcmfmac_linux-theofficialgman-5-2-2026..y-nexmon/Makefile'.  Stop.
2026-05-05T00:04:19.1010389Z make[1]: *** [Makefile:1633: modules] Error 2
2026-05-05T00:04:19.1011020Z make: *** [package/pkg-generic.mk:274: /build/build/nexmon-master/.stamp_built] Error 2

@theofficialgman

Copy link
Copy Markdown
Contributor Author

ok last failure was not my fault. xorg download from freedesktop servers failed. seems up rn so I'll just re-trigger it.

2026-05-05T04:58:59.3349415Z >>> xserver_xorg-server 1.20.14 Downloading
2026-05-05T04:58:59.3436040Z wget -nd -t 3 --connect-timeout=10 -O '/build/build/.xorg-server-1.20.14.tar.gz.HqC4a9/output' 'https://xorg.freedesktop.org/archive/individual/xserver/xorg-server-1.20.14.tar.gz' 
2026-05-05T04:58:59.3464998Z --2026-05-05 04:58:59--  https://xorg.freedesktop.org/archive/individual/xserver/xorg-server-1.20.14.tar.gz
2026-05-05T04:58:59.4203759Z Resolving xorg.freedesktop.org (xorg.freedesktop.org)... 131.252.210.176
2026-05-05T04:59:09.4205633Z Connecting to xorg.freedesktop.org (xorg.freedesktop.org)|131.252.210.176|:443... failed: Connection timed out.
2026-05-05T04:59:09.4206168Z Retrying.
2026-05-05T04:59:09.4206279Z 
2026-05-05T04:59:10.4210586Z --2026-05-05 04:59:10--  (try: 2)  https://xorg.freedesktop.org/archive/individual/xserver/xorg-server-1.20.14.tar.gz
2026-05-05T04:59:20.4209770Z Connecting to xorg.freedesktop.org (xorg.freedesktop.org)|131.252.210.176|:443... failed: Connection timed out.
2026-05-05T04:59:20.4210308Z Retrying.
2026-05-05T04:59:20.4210422Z 
2026-05-05T04:59:22.4211215Z --2026-05-05 04:59:22--  (try: 3)  https://xorg.freedesktop.org/archive/individual/xserver/xorg-server-1.20.14.tar.gz
2026-05-05T04:59:32.4213319Z Connecting to xorg.freedesktop.org (xorg.freedesktop.org)|131.252.210.176|:443... failed: Connection timed out.
2026-05-05T04:59:32.4213889Z Giving up.
2026-05-05T04:59:32.4213999Z 
2026-05-05T04:59:32.4267868Z wget -nd -t 3 --connect-timeout=10 -O '/build/build/.xorg-server-1.20.14.tar.gz.kjKQFl/output' 'https://sources.buildroot.net/xserver_xorg-server/xorg-server-1.20.14.tar.gz' 
2026-05-05T04:59:32.4297874Z --2026-05-05 04:59:32--  https://sources.buildroot.net/xserver_xorg-server/xorg-server-1.20.14.tar.gz
2026-05-05T04:59:32.4880537Z Resolving sources.buildroot.net (sources.buildroot.net)... 172.67.72.56, 104.26.0.37, 104.26.1.37, ...
2026-05-05T04:59:32.5062872Z Connecting to sources.buildroot.net (sources.buildroot.net)|172.67.72.56|:443... connected.
2026-05-05T04:59:33.0392401Z HTTP request sent, awaiting response... 404 Not Found
2026-05-05T04:59:33.0392912Z 2026-05-05 04:59:33 ERROR 404: Not Found.
2026-05-05T04:59:33.0393165Z 
2026-05-05T04:59:33.0448351Z wget -nd -t 3 --connect-timeout=10 -O '/build/build/.xorg-server-1.20.14.tar.gz.msuym0/output' 'https://sources.buildroot.net/xorg-server-1.20.14.tar.gz' 
2026-05-05T04:59:33.0477084Z --2026-05-05 04:59:33--  https://sources.buildroot.net/xorg-server-1.20.14.tar.gz
2026-05-05T04:59:33.0790102Z Resolving sources.buildroot.net (sources.buildroot.net)... 104.26.0.37, 172.67.72.56, 104.26.1.37, ...
2026-05-05T04:59:33.0972697Z Connecting to sources.buildroot.net (sources.buildroot.net)|104.26.0.37|:443... connected.
2026-05-05T04:59:33.6329431Z HTTP request sent, awaiting response... 404 Not Found
2026-05-05T04:59:33.6329816Z 2026-05-05 04:59:33 ERROR 404: Not Found.
2026-05-05T04:59:33.6329994Z 
2026-05-05T04:59:33.6366565Z make: *** [package/pkg-generic.mk:179: /build/build/xserver_xorg-server-1.20.14/.stamp_downloaded] Error 1
2026-05-05T04:59:33.6383206Z make: Leaving directory '/buildroot'
2026-05-05T04:59:35.2495275Z ##[error]Process completed with exit code 2.

@theofficialgman

theofficialgman commented May 7, 2026

Copy link
Copy Markdown
Contributor Author

actually yours didn't fail to download the file so it made it back to nexmon but failed due to not parsing the kernel makefile.... this is not quick/efficient to debug

2026-05-05T06:27:13.8877342Z >>> nexmon master Building kernel module(s)
2026-05-05T06:27:13.8887078Z GIT_DIR=. PATH="/build/host/bin:/build/host/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" PKG_CONFIG="/build/host/bin/pkg-config" PKG_CONFIG_SYSROOT_DIR="/" PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 PKG_CONFIG_LIBDIR="/build/host/lib/pkgconfig:/build/host/share/pkgconfig" BR_BINARIES_DIR=/build/images /usr/bin/make -j5 -C /build/build/linux-linux-theofficialgman-5-2-2026 HOSTCC="/usr/bin/gcc -O2 -isystem /build/host/include -L/build/host/lib -Wl,-rpath,/build/host/lib" ARCH=arm64 KCFLAGS="-Wno-attribute-alias -Wno-maybe-uninitialized -Wno-address-of-packed-member -Wno-stringop-truncation -Wno-address -Wno-array-bounds -Wno-stringop-overread" INSTALL_MOD_PATH=/build/target CROSS_COMPILE="/build/host/bin/aarch64-buildroot-linux-gnu-" WERROR=0 REGENERATE_PARSERS=1 DEPMOD=/build/host/sbin/depmod INSTALL_MOD_STRIP=1 tegra-dtstree=../hardware/nvidia  *** M=/build/build/nexmon-master/patches/driver/brcmfmac_..y-nexmon modules
2026-05-05T06:27:14.5873455Z   Building modules, stage 2.
2026-05-05T06:27:14.5922289Z scripts/Makefile.modpost:53: /build/build/nexmon-master/patches/driver/brcmfmac_..y-nexmon/Makefile: No such file or directory
2026-05-05T06:27:14.5924182Z make[2]: *** No rule to make target '/build/build/nexmon-master/patches/driver/brcmfmac_..y-nexmon/Makefile'.  Stop.
2026-05-05T06:27:14.5926025Z make[1]: *** [Makefile:1633: modules] Error 2
2026-05-05T06:27:14.5926459Z make: *** [package/pkg-generic.mk:274: /build/build/nexmon-master/.stamp_built] Error 2

@itsmattkc

Copy link
Copy Markdown
Contributor

actually yours didn't fail to download the file so it made it back to nexmon but failed due to not parsing the kernel makefile.... this is not quick/efficient to debug

Indeed it isn't. I am working on caching most of the build process in a separate branch, however that wouldn't help here since this is still building the system rather than just Vanilla.

Your best bet might be running the Docker locally while figuring out the parsing if you can (probably with --entrypoint bash and running the build script manually so the build doesn't have to start from scratch each iteration)

@theofficialgman

theofficialgman commented May 9, 2026

Copy link
Copy Markdown
Contributor Author

@itsmattkc ok so it seems that before my PR, your CI relied on your broken path substitutions to NOT run the nexmon patches under NEXMON_BUILD_CMDS (before the path was invalid in such a way that it ran no patch file but still continued). the installation command NEXMON_INSTALL_TARGET_CMDS already correctly applies the patches, builds nexmon, and installs the kernel

below I simplified that

@itsmattkc

Copy link
Copy Markdown
Contributor

Huh is that so? I guess as long as the kernel module and firmware installed correctly, that was all that mattered

I think you need to resolve merge conflicts with master before it'll let me approve a CI run

@theofficialgman

Copy link
Copy Markdown
Contributor Author

you don't need to run CI on this PR itself. I already run it on my fork.

I'll rebase and adjust changes to fix the conflicts once this is actually tested working.

@theofficialgman

Copy link
Copy Markdown
Contributor Author

finally a successful build. will rebase on master now

@theofficialgman

Copy link
Copy Markdown
Contributor Author

@itsmattkc don't blindly change boot.scr to something from fedora without actually understanding the changes. I'll revert and adjust so its appropriate.

only change from noble is the default id to SWR-VAN
@theofficialgman

theofficialgman commented May 10, 2026

Copy link
Copy Markdown
Contributor Author

@itsmattkc partial edit: nevermind regarding changes to buildroot files, because of your COPY instruction in the dockerfile, all files in the buildroot folder get a checksum calculated and if changed, the cache is invalidated.

this won't catch any upstream files that get git cloned in if you just point to a branch rather than a tag you have to manually change in one of the files in the buildroot folder

this also won't catch the few files that go into the images that are outside of the buildroot folder but are still used in the container like files in gui

details on how this functionality works are here https://depot.dev/blog/ultimate-guide-to-docker-build-cache

@itsmattkc

Copy link
Copy Markdown
Contributor

@itsmattkc don't blindly change boot.scr to something from fedora without actually understanding the changes. I'll revert and adjust so its appropriate.

Technically I didn't get it from Fedora, I got it from here, which appeared to be a fairly generic/neutral source (and it seemed to work fine when I tested). But fair enough, it's certainly true I didn't pay much attention to what was in either boot.scr (apart from checking if the new one had a fix for #386)

@itsmattkc partial edit: nevermind regarding changes to buildroot files, because of your COPY instruction in the dockerfile, all files in the buildroot folder get a checksum calculated and if changed, the cache is invalidated.

this won't catch any upstream files that get git cloned in if you just point to a branch rather than a tag you have to manually change in one of the files in the buildroot folder

this also won't catch the few files that go into the images that are outside of the buildroot folder but are still used in the container like files in gui

details on how this functionality works are here https://depot.dev/blog/ultimate-guide-to-docker-build-cache

Yeah I figured the COPY would handle changes to the buildroot folder. I'm aware it won't detect changes to things git cloned in, but I don't anticipate those to meaningfully change (and figure invalidating the cache should be relatively trivial on the rare occasion they do and we care to update).

Are there files from gui that go into the Docker images? The Switch files (bl31.bin, et al.) are deployed in the docker run stage, not the docker build stage, so they should be unaffected by the cache.

@theofficialgman

theofficialgman commented May 10, 2026

Copy link
Copy Markdown
Contributor Author

Super5 support requires new device tree, boot.scr, and userspace changes. These aren't done and integrated by Azkali yet. When they are done I'll integrate them. A boot.scr update alone isn't enough for all the super5 hardware (new touch, new OLED screens for multiple models, new native supported resolutions).

@theofficialgman theofficialgman marked this pull request as ready for review May 10, 2026 20:17
@theofficialgman

Copy link
Copy Markdown
Contributor Author

Build was successful on my fork. So this can be merged.

Actually it does look like the run stage rather than the build contains the copying of the gui files so the cache doesn't affect them.

Comment thread docker/nintendoswitch/build.sh Outdated
Comment thread buildroot/configs/vanilla_nintendoswitch_defconfig Outdated
@theofficialgman

theofficialgman commented May 14, 2026

Copy link
Copy Markdown
Contributor Author

This is testing and working on real hardware.

But as I said before, now that the screen is correct, your imu/accel rotation is wrong. The accel/imu is exposed to userspace correctly (go in Linux and you will see iio-sensor-proxy report as "normal" when switch is held normally in landscape). Please adjust your rotation in vanilla as appropriate (which probably means just removing any rotation you were adding).

The switch has to be held upside down as it is now to appear looking forward upright in Nintendo land

@theofficialgman theofficialgman requested a review from itsmattkc May 14, 2026 02:19
@itsmattkc

Copy link
Copy Markdown
Contributor

Just tested it. Looks good to me, thanks!

@itsmattkc itsmattkc merged commit 0b42dee into vanilla-wiiu:master May 14, 2026
8 checks passed
@theofficialgman

Copy link
Copy Markdown
Contributor Author

Oh did my test adjustments fix accel/gyro? I wasn't able to test them yet because docker catching wasn't working on my fork so every build takes hours.

@itsmattkc

Copy link
Copy Markdown
Contributor

In my tests, yes, the gyro looked right in Nintendo Land

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants