Saturday, July 30, 2016

RPiTC v3 1.01 release

Just few days after the v3 0.99 we release this new 1.01 version.
There is an arm platform specific bug in the new systemd 231-1/libseccomp that will cause delay on start due to journal flush problem. So, at the time of writing better to stay with systemd 230 and wait for a patch.

On this release:
- Citrix ICA 13.3.2
- VMWare Horizon 4.1.0
- NoMachine NX 5.1.24
- Thinlinc 4.6.0
- Parallels 2x 15.0
- RedHat Spice/virt-viewer 4.0
- Firefox ESR 48.0
- xFreeRDP GIT build added 20160728
- dFreeRDP build with NEON support
- Kernel 4.4.15
- RPiTC Builder 0.98

- All the script files, third party binaries, libraries, confs, startup videos and images are located in the /opt folder.
- Default OS come with: Firefox, SSH Server, VNC Server, Docky and Conky.
- Default user/pass: rpitc/rpitc and root/rpitc
- Use the RPiTC Builder tool to install/remove the TC-related packages

- xz compressed image: (364Mb)
- zip compressed image: (497Mb)

622731edfc7039a974a2f95693c86526  RPi-TCv3_1.01.img

Wednesday, July 27, 2016

RPiTC v3 0.99 Stable Released!

UPDATE 29.July.2016 09:20 GMT+2:
Image files updated, please use the new image file. This will fix:
- Docky icon creation/removal
- Citrix receiver missing library libwebkitgtk-1.0-0
- Horizon libpcoip_neon missing
- Bluetooth internal for RPi3 now can be pairable (a custom build of bluez from Rpi team must be used)
- Java path check for jdk7

After a long pause we are back with a new RPiTC Release.
This release is compatible with RaspberryPi v2 and v3 boards only (armhf v7)

Whats new on this release:
Kernel 4.4.x
Citrix Receiver 13.3.2
VMWare Horizon 4.1
NoMachine 5.1.26
Parallels 15.0-3832
Thinlinc 4.6.0-5144
Spice 3.1
FreeRDP rebuild from git 2016-06-15
RPiTC Builder 0.98
NEW: Bluetooth UI

RPiTC Builder changelog:
- Added Makefile to quick compile the RPiTC binary (read the README in the git repo)
- Switched to QT5
- Added new tab: Hardware
  This tab contain all the RaspberryPi hardware specific switch for the integrated Raspberry hardware like Bluetooth/WLAN adapters and the overclock feature.

Bluetooth UI:
It's a simple gui to pair bluetooth devices (ported from gnome-bluetooth)

Download links:
RPi-TCv3_0.99.img.xz 381.8Mb 521.7Mb
md5sum: 4915373c7fc7d75f92517d1977e8c65a  RPi-TCv3_0.99.img

Note from the authors:
- For bug related to packages, RPiTC builder and hardware support please use the git repo for RPiTC Builder Project. For other request use the forum.
- There is no .deb package for the Horizon client, stop asking :)
- Old RPiTC's for Raspberry Pi1 boards are Not Secure Anymore. Please update the package repository file to standard Debian armel release or switch to RPi2/3 boards.

Monday, February 29, 2016

Raspberry Pi 3 has been released!

Four years after the launch of the first Raspberry Pi, the Raspberry Pi Foundation has just announced the Raspberry Pi 3 Model B.

What's new/What's not
The new SoC is the BCM2837, a quad-core 1.2GHz 64-bit ARMv8-A Cortex-A53 (up from a quad-core 900 MHz ARMv7 in the Pi 2).
Also the VideoCore is now clocked at 400MHz for video processing (up from 250MHz) and the 3D graphics processor running at 300MHz (up from 250MHz).
One of the most welcome changes is the addition of onboard WiFi and Bluetooth. The WiFi is compatible with 2.4GHz 802.11 b/g/n networks and the Bluetooth 4.1 supports BLE (Bluetooth Low Energy) both are supplied by the BCM43438.
Other components are (sadly), pretty much the same as the Pi 2. 1Gb RAM, 4 USB 2.0 ports, 10/100 ethernet, HDMI port, 3.5mm analog audio and composite video jack, CSI and DSI connectors for cameras and displays, microSD slot and the same 40 GPIO pins.
A new kernel with WiFi/Bluetooth drivers is already available and at the moment the Raspberry Pi Foundation are evaluating if porting to 64bit the official NOOB OS.

New Raspberry Pi 3 on RPiTC:
- Compared with the base Raspberry Pi 2 the CPU is running at a 33% faster clock rate (1.2GHz vs 0.9GHz) the more modern core also means a more efficient instruction set (especially when performing operations on 64-bit values). I don't know if is possible to overclock the new CPU like the old Pi1/Pi2 so compared to the standard RPiTC2 v1.99 the difference in clock is just 0.1Ghz.
- VideoCore and VP higher clock will not give any performance boost to our RPiTC.
- Integrated WiFi is a good news, we spare a USB port :)
- Bluetooth is also a good addition, can't live without my all-in-one keyboard+trackpad combo :)
- 1Gb RAM is enought for RPiTC, we didn't need more in most configurations (browser like iceweasel/chromium will still suffer a lot...)
- USB 2.0 ports hub has been improved, now some power hungry devices will work, but still v2.0 not v3.0
- 10/100 ethernet, no Geth, really? Well...

Last RPiTC2 v1.99 will partially work in the new Raspberry Pi3 board. Ill release (in two weeks) a new RPiTC3 ready version fully compatible with Pi2 and Pi3. In the meanwhile if you want to test the new Pi3 with RPiTC2 you have to manually update the Kernel and the blobs files.
I have no plan to create a 64bit RPiTC OS version, at the moment most TC related client are ARMv7 only.

Here some benchmarks:

Monday, January 18, 2016

RPiTC2 release 1.99 out!

Starting from this release the .img file contain "just" the base OS with tuning and standard configuration. You have to use the RPiTC Builder tool (or manually if you like) to add/remove the various ThinClient related packages like Citrix, VMWare, RDP etc, other packages like wifi driver/firmware, java and services like CUPS, SSH, VNC etc

Main advantage to use this different approach is that everyone can customize their own cutted down RPiTC version with just the package/services needed. Also if there is some problem with a software we can solve it just by releasing a new RPiTC Builder version instead of a new OS (an Update Me options is already integrated)

New on RPiTC 1.99:
- Citrix ICA 13.3
- VMWare Horizon 3.5.0 (yes, with PCoIP ;) )
- NoMachine NX 5.0.53
- Thinlinc 4.5.0
- Parallels 2x 14.1.3479
- X2Go 4.0.5
- Iceweasel 43.0.4
- TN5250J 0.7.6
- xFreeRDP GIT build added 20151130
- dFreeRDP build with NEON support
- kernel 4.1.15
- RPiTC Builder 20160116

- OS rebuilded from scratch (Debian SID)
- All the script files, third party binaries, libraries and confs are now located in the /opt folder.
- Conky startup rewrite to fast update date/time via sntp by using the first ntp server in the ntp.conf file.
- USB automount now is handled by pmount/udev, udev rules file is /opt/confs/automount.rules.
- Added scripts for fast docky icon creation/removal (/opt/script/ and /opt/script/, usage: /opt/script/ xFreeRDP.desktop where xFreeRDP.desktop is a .desktop file type in /usr/share/applications/ folder).
- Default OS come with: Iceweasel, SSH Server, VNC Server, Docky and Conky.
- Default user/pass: rpitc/rpitc and root/rpitc

Where to find the config files/GUI:
- Autostart applications: right-click menu, Settings, Setting Manager, Session and Startup, Application Autostart
- RPiTC Builder: /opt/binaries/RPiTC
- Intro videos: /opt/graphics/videos/
- Scripts (keepmeup, xfreerdp, etc and all the other Zenity related gui): /opt/scripts/
- Configs (.desktop files and other config): /opt/config/

How To use the RPiTC Builder:
install/remove software/services by enabling or disabling the corresponding checkbox. RPiTC Builder have 6 pages:
- Main TC Packages: Citrix ICA, VMWare Horizon, NoMachine, 2X, Thinlinc, Iceweasel and H.264 HW accelerated plugin for Citrix
- RDP Packages: RDesktop, xFreeRDP, xFreeRDP GIT, dFreeRDP
- Other TC Packages: x2go, spice, x3270, tn5250, tn5250J, Xephyr, Oracle JDK7/8
- OS Services (CUPS, VNCServer, SSH Server, Conky, Docky, VirtualHere USB Server, VPNc, OpenVPN, Openconnect, Bluetooth support)
- Other Settings (WIFI Firmware, add/remove overclock config, add/remove apt-get commands, update RPiTC Builder)
- Cust (add new custom service/software)

after selecting the softwares/services click on Bash me! button. A new window will popup with the commands needed to update/remove the selected softwares/services.

Now click on "Open Xterm" and from this window execute: ./ (For more verbose output run: bash -x ./
Also you can send and execute the builded install script to a remote client with:
sshpass -p "mypassword" ssh -o StrictHostKeyChecking=no -p 22 root@remoteClient 'bash -s' < /opt/
where "mypassword" is the remote client root password, "remoteClient" is the IPaddress or the FQN of the remote client.
When the script end reboot the system.

RPiTC Builder is and opensource project, the C++/QT source code is available here: Feel free to modify it and suggest new feature :)

Know BUG:
- alacarte brake right click menu, reboot is needed after menu modifications

Next Major Release:
- RPiTC2 2.0 will be released when Kernel 4.4/4.5 will be ready and available for the Raspberry Pi 2 board (lot of new features are coming, amongs others, a new VC4 Video Driver:

- xz compressed image: (349Mb)
- zip compressed image: (509Mb)

14b35e40f47dbb95a315f7b83e091716  RPiTC2_r1.99.img

Friday, November 27, 2015

Beta 1.99 out! -> new image beta3

The new 1.99 beta is available -> 1.99 beta3 available!

This beta include the new RPiTC Builder. RPiTC Builder is a simple gui that help you to install, remove and configure your RPiTC OS. This beta OS come with: Iceweasel, SSH Server, VNC Server, Docky and Conky.

beta3 include a new RPiTC Builder (source code available here: version with more options:
- ICA H.264 hardware accelerated support for RPi2
- overclock the board
- bluetooth support
- wlan/bluetooth firmware install
- RPiTC builder software update

Check the Documentation page to get more info about RPiTC Builder

Download the image here:

Please use this thread for your feedback/suggestion/bug/request!

Monday, November 16, 2015

RPiTC2 beta 1.99 startup time

Well, not bad, isnt it? :)

root@rpitc-fd061ded:~# systemd-analyze
Startup finished in 1.323s (kernel) + 3.929s (userspace) = 5.253s

root@rpitc-fd061ded:~# system-analyze plot -> rpitc2.0.svg

root@rpitc-fd061ded:~# systemd-analyze blame
          1.407s dev-mmcblk0p2.device
           986ms NetworkManager.service
           613ms user@1000.service
           537ms networking.service
           456ms lightdm.service
           301ms alsa-restore.service
           295ms systemd-user-sessions.service
           267ms systemd-journald.service
           253ms systemd-tmpfiles-setup-dev.service
           242ms systemd-udev-trigger.service
           217ms systemd-fsck-root.service
           185ms systemd-modules-load.service
           180ms systemd-logind.service
           178ms fake-hwclock.service
           175ms ntp.service
           172ms polkitd.service
           166ms wpa_supplicant.service
           121ms systemd-udevd.service
           106ms user@0.service
            91ms systemd-journal-flush.service
            78ms dev-mqueue.mount
            76ms systemd-update-utmp.service
            72ms kmod-static-nodes.service
            68ms sys-kernel-debug.mount
            67ms console-setup.service
            63ms systemd-sysctl.service
            49ms boot.mount
            48ms home-rpitc-.cache-mozilla.mount
            43ms rc-local.service
            42ms systemd-tmpfiles-setup.service
            40ms tmp.mount
            40ms systemd-random-seed.service
            35ms systemd-update-utmp-runlevel.service
            34ms systemd-remount-fs.service
            33ms var-log.mount
            23ms systemd-tmpfiles-clean.service
            21ms var-tmp.mount
            21ms sys-kernel-config.mount
            13ms keyboard-setup.service