thinRoot

thinRoot is a buildroot (https://buildroot.org/) powered operating system environment to create lightweight user-defined kiosk systems or ThinClients (e.g. using x86 hardware, RaspberryPi, ASUS Tinkerboard, etc.) to smoothly connect to server-based desktop environments via ThinLinc, RDP, SPICE@ProxmoxVE, VNC or to create a simply web-kiosk.

APACHE-2.0 License

Stars
52

Bot releases are visible (Hide)

thinRoot - thinRoot 20240801 Latest Release

Published by github-actions[bot] 3 months ago

This is release 20240801 of thinRoot with the following bugfixes and feature changes:

Downloads License Donate GitHub sponsors

🚧 Changes:

For all changes, see the full commit log.

  • added first basic support for SPICE VDI protocol support by adding own custom spice-gtk, phodav and virt-viewer package allowing to run SPICE connections via remote-viewer including USB device redirection, local folder redirections and audio/video support including possibility to route a USB webcam via SPICE.
  • update qutselect to 3.3 which comes with SPICE via ProxmoxVE connection support to be able to connect to VDI VMs providing a SPICE GFX card and SPICE channels to connect usb or other devices from a client system connecting to these SPICE enabled VMs.
  • update upstream kernel to 6.6.43
  • make sure truser group has access to all USB devices under /dev/bus
  • update buildroot to 2024.05.1
  • update ThinLinc client to 4.17.0-3543
  • rename intelnuc to generic-x86_64 since we are not fixed to IntelNUC machines anymore.

👪 Contributors (alphabetically):

  • @jens-maus

📦 Download:

The following installation archives can be downloaded for different hardware platforms. To verify their integrity a sha256 checksum is provided as well.

thinRoot - thinRoot 20240409

Published by github-actions[bot] 7 months ago

This is release 20240409 of thinRoot with the following bugfixes and feature changes:

Downloads License Donate GitHub sponsors

🚧 Changes:

For all changes, see the full commit log.

  • bump to final qutselect 3.0 version with Qt6 and simplified interface support.
  • update ThinLinc client to latest 4.16.0-3389 version.
  • add bash wrapper and remove our own qutselect connect scripts which are now part of official qutselect project.
  • optimize global buildroot config.
  • bump upstream kernel to latest 6.6.25 LTS.
  • enable MPTCP support.
  • disable CONFIG_WERROR since buildroot removes it anyway.
  • remove rng-tools because in newer linux kernel versions /dev/random is not blocking anymore (5.6+) and the standard kernel provied entropy pool is strong enough (5.10+) so that tools like rng-tools or haveged are not required anymore and just unnecessarily consume CPU time. (cf. https://github.com/nhorman/rng-tools/issues/195#issuecomment-1520598021, https://forum.manjaro.org/t/low-entropy-on-my-system/119233).
  • disable busybox wget app since we use upstream wget instead and updated busybox config accordingly.
  • update rpi kernel to latest stable_20240124.
  • update rpi-eeprom to latest version.

👪 Contributors (alphabetically):

  • @jens-maus

📦 Download:

The following installation archives can be downloaded for different hardware platforms. To verify their integrity a sha256 checksum is provided as well.

thinRoot - thinRoot 20240327

Published by github-actions[bot] 7 months ago

This is release 20240327 of thinRoot with the following bugfixes and feature changes:

Downloads License Donate GitHub sponsors

🚧 Changes:

For all changes, see the full commit log.

  • update upstream linux kernel to 6.6.23 LTS
  • reworked buildroot config environment and kernel config files to be based on fragment config files.
  • bump buildroot to latest 2024.02.1
  • integrate fix for missing /var/lock in /etc/inittab.

👪 Contributors (alphabetically):

  • @jens-maus

📦 Download:

The following installation archives can be downloaded for different hardware platforms. To verify their integrity a sha256 checksum is provided as well.

thinRoot - thinRoot 20230313

Published by github-actions[bot] over 1 year ago

This is release 20230313 of thinRoot with the following bugfixes and feature changes:

Downloads License Donate GitHub sponsors

🚧 Changes:

For all changes, see the full commit log.

RAW CHANGELOG

  • bumped linux kernel to latest 6.1.18 LTS
  • bumped buildroot to latest 2023.02
  • fixed shellcheck warning/errors
  • fixed chrony drift file permission issue and added more standard settings to default chrony.conf
  • updated xprintidle package to latest 0.2.5 version fixing the build also.
  • fixed qt-webengine-kiosk dependencies
  • added new 0014-qt5webengine-py311-fix upstream buildroot patch to fix python 3.11 related build issues in the qt5webengine-chromium package.
  • added new qt-kiosk-browser package to potentially use this as an alternative for the old/obsolete qt-webengine-kiosk package.
  • enable fq_codel network scheduler in all kernel configs and enable it in global sysctl.conf for improved network performance.
  • added release/snapshot workflow job and release template file
  • added package consistentcy check and some more linter checks.

👪 Contributors (alphabetically):

  • @jens-maus

📦 Download:

The following installation archives can be downloaded for different hardware platforms. To verify their integrity a sha256 checksum is provided as well.

thinRoot - thinRoot 20230208

Published by jens-maus over 1 year ago

Changes:

  • updated buildroot to 2022.08.3
  • instead of using the "sync" option when mounting USB data drives - which slows down transfer speed considerably and also increases the wear level load - we ensure a good synced media via decreased vm.dirty_expire_centisecs and vm.dirty_writeback_centisecs to 5 seconds. Thus we use a global sysctl.conf now with reasonable values.
thinRoot - thinRoot 20221019

Published by jens-maus about 2 years ago

Changes:

  • updated upstream kernel to 5.15.74 LTS.
  • updated buildroot to 2022.08 and adapted patchset accordingly.
  • added +gfx-thin-client option to queselect rdp callout script to feature advanced xfreerdp 2.8.0 settings.
  • added missing CROCUS gallium driver for mesa3d and added 20-intel.conf xorg config file to take care of correct DRI/device OpenGL settings.
  • use the powersave scaling governor as the default one.
thinRoot - thinRoot 20220706

Published by jens-maus over 2 years ago

Changes:

  • updated upstream kernel to 5.15.50 LTS.
  • updated buildroot to 2022.05 and adapted patchset accordingly.
  • updated rpi-eeprom package to latest pieeprom-2022-04-26 version.
  • retired obsolete qt-webkit-kiosk package in favour of qt-webengine-kiosk.
  • added -x jitter option to rngd startup to disable performance hungry jitter RNG source.
thinRoot - thinRoot 20220309

Published by jens-maus over 2 years ago

Changes:

  • updated upstream kernel to 5.10.104 LTS.
  • updated buildroot to 2022.02 and adapted patchset accordingly.
  • added /video option to xfreerdp startup script to improve vide playback capabilities.
thinRoot - thinRoot 20220303

Published by jens-maus over 2 years ago

Changes:

  • updated thinlinc client to 4.14.0-2324
  • updated upstream kernel to 5.10.103 LTS
  • updated buildroot to 2021.11.2 and adapted patchset accordingly.
thinRoot - thinRoot 20220119

Published by jens-maus almost 3 years ago

Changes:

  • updated raspberrypi kernel defconfig fragments to get back correct functionality for rpi3.
  • added new S99SetupLEDs startup script which will make sure that the onboard LED of a RaspberryPi/Tinkerboard will be set to "heartbeat" mode for better monitoring of the current state.
  • fixed VNC viewer startup by using the ThinLinc client own vncviewer for connecting to pure vnc servers using qutselect.
  • updated buildroot to latest 2021.08.3 version.
  • updated Linux kernel versions to 5.10.92 (intelnuc).
thinRoot - thinRoot 20210910

Published by jens-maus about 3 years ago

Changes:

  • updated ThinLinc client to latest 4.13.0-2172 version.
  • updated buildroot to latest 2021.08 version.
  • updated Linux kernel versions to 5.10.62 (intelnuc+tinkerboard) and 5.10.60/1.20210831 (RaspberryPi) as well as updated RaspberryPi firmware to 1.20210805.
  • integrated a potential u-boot fix for a stalling bootup in u-boot when a usb keyboard is connected.
  • modified kernel defconfigs for RaspberryPi to use upstream kernel defconfigs plus some fragment files with our dedicated changeset.
  • added a new RaspberryPi4 (32bit) target for generating a 32bit version for the RaspberryPi4 platform so that we can add/support a ThinLinc client, simply because ThinLinc is still only 32bit for ARM.
  • updated Busybox.config and added PID_FILE_PATH so that crond will put its crond.reboot file into /run correctly and not in root.
  • we also generate a /VERSION file for the intelnuc platform so that we can identify the used thinRoot version during runtime as well.
  • added default bootEnv.txt files for RaspberryPi and Tinkerboard platform but with disabled entries so that users can pickup the BASE_PATH stuff on their own more easily.
thinRoot - thinRoot 20210812

Published by jens-maus about 3 years ago

Changes:

  • implemented hardware support for using a RaspberryPi4, RaspberryPi3 or ASUS Tinkerboard as a thinRoot client system.
  • converted the qutselect package into a cmake-package to compile it correctly with the buildroot own compiler suite.
  • use max timeout of 60 seconds or otherwise the bootup process can hang forever in the DHCP phase.
  • added a fixed version of dhcpcd-run-hooks which executes logger without -i
  • modified S42LoadNetFiles to correctly deal with non existing BOOT_IMAGE parameter in /proc/cmdline and also correctly deal with BASE_PATH being specified instead. This should finally allow our raspberrypi to work correctly as a thinroot client.
  • upon startup no idle shutdown cronjob will be created in case the idle shutdown timer was set to 0
  • splitted the wm vs. qutselect startup in dedicated wm-startup.sh and qutselect-startup.sh scripts so that users can more easily override which command should be executed upon X11/WM startup, especially if they are not interested in running qutselect at all.
  • updated qutselect to latest 2.4 version.
  • updated Linux kernel to 5.10.57 LTS.
thinRoot - thinRoot 20210628

Published by jens-maus over 3 years ago

Changes:

  • tuned X11 default settings to make sure all modules are loaded in correct order and that we have a 32bit screen as well.
  • added remmina as dedicated buildroot package for potential future use.
  • updated freerdp package to latest 2.3.2 version potentially including important fixes.
  • updated Linux kernel to 5.10.46 LTS.
  • updated buildroot to latest 2021.05
thinRoot - thinRoot 20210424

Published by jens-maus over 3 years ago

Changes:

  • updated ThinLinc client to latest version (4.12.1r6733).
  • updated intel-e1000e package to latest version and added support for intelNUC Gen11 (Panther Canyon) hardware.
  • updated Linux kernel to 5.10.32 LTS.
  • updated buildroot to latest 2021.02.1 version.
thinRoot - thinRoot 20201216

Published by jens-maus almost 4 years ago

Changes:

  • added /dynamic-resolution to xfreerdp call so that the resolution is updated in case a user switch between NUC stations having different monitors/resolutions.
  • bumped kernel to latest 5.4.84 LTS version.
  • bumped buildroot to 2020.11
thinRoot - thinRoot 20201130

Published by jens-maus almost 4 years ago

Changes:

  • added ffmpeg and libxv and additional /bpp:32 /gdi:hw /rfx /gfx:avc444 /network:lan parameters to xfreerdp for an improved gfx performance.
  • added a workaround patch to fix regular disconnect issues with w2012r2 and w2016 terminal server connection using xfreerdp 2.2.0 (FreeRDP/FreeRDP#4717)
  • modified intel-nuc build template to use BR2_x86_corei7 for a cpu optimized build for an potentially increased performance.
  • bumped buildroot version to latest 2020.08.2
  • bumped linux kernel version to LTS 5.4.80
thinRoot - thinRoot 20200805

Published by jens-maus about 4 years ago

Changes:

  • integrated hardware support for the Intel NUC10 (Comet Lake) generation (NUC10i3BNK/BNH)
  • bumped linux-firmware package to latest 20200721 for an improved integrated hardware firmware version support
  • bumped buildroot version to latest 2020.05.1
  • bumped linux kernel version to LTS 5.4.56
thinRoot - thinRoot 20200716

Published by jens-maus over 4 years ago

Changes:

  • updated to latest qutselect 2.3 which comes with a keyboard selection bugfix.
  • bumped buildroot version to latest 2020.05
  • fixed xfreerdp startup to use keyboard ids rather than names to reduce conflicts when starting and removed obsolete -floatbar argument.
  • bumped integrated thinlinc client version to latest 4.12.0-6517
  • bumped linux kernel version to LTS 5.4.52
thinRoot - thinRoot 20200107

Published by jens-maus almost 5 years ago

  • updated ThinLinc client to latest 4.11.0-6323 version
  • updated used linux kernel version to latest 4.19.93 LTS
  • updated buildroot to latest 2019.11 version
thinRoot - thinRoot 20191119

Published by jens-maus almost 5 years ago

  • minor fix to the usbmount+ntfs issue so that NTFS usb thumb drives are properly unmounted again.
  • updated buildroot to latest 2019.08.2
  • bumped the latest kernel to 4.19.84
  • enabled "sync" option for mounting USB drives so that filesystem corruption should be less frequent.
  • fixed usbmount.conf to only specify uid/gid/umask for vfat/ntfs and not in general options or otherwise other filesystems won't mount correctly.
  • changed kernel config to enable wifi, bluetooth and also allow to use mmc/sd card interfaces of various NUC models.
  • modified usbmount.rules udev rule to allow to automount mmcblk devices also. Thus removed the sysfs-skip patch completly as it is not necessary.
  • adapted buildroot defconfig to include iwlwifi/bluetooth firmwares to get bluetooth/wifi in principle working. Also added bluetooth (bluez) tools for configuring bluetooth connectivity.
Badges
Extracted from project README
Current Release Downloads Contributors Average time to resolve an issue Percentage of issues still open Commits since last release License Donate GitHub stars Donate