______ _____ ______ ________ ___ ___ _____ _____ | _ \/ __ \ | ___ \ _ | \/ | / _ \ |_ _|_ _| | | | || / \/ | |_/ / | | | . . |/ /_\ \ | | | | | | | || | | /| | | | |\/| || _ | | | | | | |/ / | \__/\ | |\ \\ \_/ / | | || | | | _| |_ _| |_ |___/ \____/ \_| \_|\___/\_| |_/\_| |_/ \___/ \___/ _ ____ ___ ______ _ (_) / ___| / | | ___ \ | | _ __ _ ___ _____ _/ /___ / /| | | |_/ /_ _ __| | | '__| / __|/ __\ \ / / ___ \/ /_| | | __/ _` |/ _` | | | | \__ \ (__ \ V /| \_/ |\___ | | | | (_| | (_| | |_| |_|___/\___| \_/ \_____/ |_/ \_| \__,_|\__,_| ------------------------------------------------------- spacemit k1-x kx107 board CPU: Spacemit X60 (8) @ 1.600GHz GPU: BXE-2-32 (OpenGL ES) Included here is my binary /usr/local (You can extract it in /usr/ and use it at your own risk :) ((Might save tons of time for others)) (((Includes all the current stuff I have compiled on the device so far)))) CAUTION: !!!! Do not apt-get upgrade !!!! This will overwrite the mesa packages and you will need to flash restore the device CAUTION: When apt-get installing always make sure you dont upgrade the mesa packages Maybe its good to apt-lock the mesa and dri packages, but I leave it up to you :) Forget about X11 stuff on this device, its only Wayland and OpenGL ES/Vulkan for accelerated games. GENERIC STUFF ------------- # Disable password locking display gsettings set org.gnome.desktop.lockdown disable-lock-screen true # Fix locale locale-gen en_US.UTF-8 update-locale LANG=en_US.UTF-8 # Fix sudo user ALL=(ALL:ALL) NOPASSWD: ALL # Enable SSHD systemctl enable ssh # change local root password # change SSHD_CONFIG direct root login to NO # resize FS after system restore resize2fs /dev/mmcblk2p6 # disable annoying screen edge maximise in Gnome gsettings set org.gnome.mutter edge-tiling false # Disable CUPs sudo systemctl disable --now cups.socket sudo systemctl disable --now cups.service sudo systemctl disable --now cups-browsed.service ESSENTIAL APT STUFF ------------------- # First we disable all automatic updates systemctl stop unattended-upgrades apt-get purge unattended-upgrades apt remove update-notifier update-notifier-common # Secondly change the /etc/apt/sources.list.d/ubuntu.sources like this > Types: deb URIs: http://ports.ubuntu.com/ubuntu-ports Suites: noble noble-updates noble-backports Components: main universe restricted multiverse Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg Types: deb URIs: http://ports.ubuntu.com/ubuntu-ports Suites: noble-security Components: main universe restricted multiverse Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg # Make sure we do not upgrade local MESA and DRI packages !! # Essential safe apt packages apt-get install gcc-12-base gcc-12 g++-12 gcc-9-base gcc-9 g++-9 cmake git automake autoconf bison flex libtool pkg-config llvm apt-get install meson ninja-build libexpat1-dev libxml2-dev apt-get install wayland-protocols libwayland-dev libwayland-egl-backend-dev libxkbcommon-dev liboeffis-dev libeis-dev libei-dev libdecor-0-dev apt-get install libx11-dev libxtst-dev libxcursor-dev libdecor-0-dev waylandpp-dev apt-get install libunwind-dev libegl-dev glslang-tools libelf-dev libxcb-randr0-dev libxkbcommon-dev apt-get install libxcb-glx0-dev libxcb-shm0-dev libx11-xcb-dev libxcb-dri3-dev libxcb-present-dev libxshmfence-dev apt-get install libsqlite3-dev libopus-dev libopusfile-dev libxmp-dev libwavpack-dev help2man texifo apt-get install libbz2-dev gettext gperf autopoint libplacebo-dev libfribidi-dev apt-get install libsodium-dev libgtest-dev libbenchmark-dev libgmock-dev apt-get install libxxf86vm-dev libxrandr-dev libxcb-dri2-0-dev libsndio-dev libpulse-dev libvpx-dev libvulkan-dev # What woerks out of the box via apt dosbox scummvm CUSTOM COMPILE -------------- I have successfully built these custom programs You dont need to compile all these, I have done it only to make sure I likned against SDL2 from non Ubuntu apt sources. (most of these you can find on github - I will try to add for each the URL at least here over time) BelgianChocolateDuke3D OpenDUNE Python-2.7.16 RetroArch SDL1 SDL2 SDL3 SDLPoP dethrace (Carmageddon) ffmpeg (https://github.com/ffmpeg/ffmpeg) ((make sure its 7.1 or current)) gemrb-0.9.2 (Baldur's game 1 and 2 work really well) glmark2 hlsdk-xash3d ioq3 (https://github.com/zturtleman/ioq3/ (opengles1 branch))) ja2-stracciatella (you need to install rust, use rustup - Jagged Alliance 2 works really well) jfbuild jfduke3d mesa-utils mpv (https://github.com/mpv-player/mpv) ((make sure you compile latest ffmpeg from github)) prboom-plus qemu-8.2.7 rottexpr scummvm tyrquake-0.71 uqm-0.8.0 xash3d-fwgs yquake2 (out of the box OpenGL ES support) dosbox (SDL 1.2) retroarch (Works well with Vulkan) devillutionx (Builds with -DDISABLE_ZERO_TIER=ON ) Endless Sky gzdoom (GLESv2 only) dosbox-x (SDL2) (With llvmpipe drivers from latest MESA) minecraft server (Java optimized for riscv64) pkgsrc :) # What does not work dhewm (doom3) (( needs opengles rendering support)) exult (cannot autoconf - but this is a problem on Ubuntu in general) openmw (Morrowind) OpenJA - (Jedi Academy) iortcw (Return to Castle Wolfenstein) Source-Engine (Half-Life 2) OpenArena (Vulkan render branch) mono (needs proper porting to riscv) neo4j minecraft client (Java)