Redcore Linux Hardened 1908 Review [KDE Plasma Edition]

Sept. 4, 2019, 7 p.m.

Redcore Linux is a Romanian Gentoo based distribution that aims to make a Gentoo installation easy for newcomers to Gentoo by saving them the hours and maybe days that a Gentoo installation takes due to it being a source based distribution. Like Gentoo it is a rolling release, but unlike Gentoo, Redcore provides more current software than Gentoo itself by using the Gentoo testing repositories as its package base.

Like the other notable Gentoo based distribution, Sabayon, it also allows a hybrid source/binary package management system that, while very basic at this point, and still under heavy development, is more streamlined and automatic than Sabayon's implementation of such a hybrid system.

This article reviews Redcore Linux Hardened 1908 KDE Edition, released on August 18, 2019.

Review

The Redcore Linux project attempts to fill a need in a space occupied by only one other distribution, namely, Sabayon Linux. Like Sabayon, it aims to provide Linux users an easy Gentoo Linux installation without the countless hours required to compile all of the software of a Gentoo system, including the kernel. In the words of the distribution, it seeks:

to bring the power of Gentoo Linux to the masses. It aims to be a very quick way to install a pure Gentoo Linux system without spending hours or days compiling from source code, reading documentation etc.. To achieve this goal, it provides a repository with prebuilt binary packages which receives continuous updates (rolling release model).
Redcore Linux Hardened 1908 KDE Plasma Edition
In its default state. It has a custom wallpaper and uses the Oxygen window decoration and uses the Material Design instead of Plasma's Breeze defaults. Tap to click is enabled, unlike other distributions' KDE implamentations, but strangely, two and three finger tapping is not enabled.

It largely achieves its goal and deserves a lot of credit for combining source and binary package management in one simple tool. Gentoo fans will also like that it is closer to a pure Gentoo system. Unfortunately, however, there are some notable failures in its execution that will deter some potential users, including me. The failures begin even in the live environment. After two installations of this release of Redcore on the Acer V15 Nitro Black Edition, where I restarted the installer many times to try to resolve the issue, I discovered that connecting to a network makes the system unstable. When connected to a network, attempting to start programs from the main menu or attempting to start the installer from the desktop shortcut has no effect. In one of my attempts to install Redcore, I started Simple Screen Recorder before activating a wireless network connection, then connected to a wireless network and started recording. Simple Screen Recorder would not record but provided a clue to the problem in an error message to the effect that it couldn't connect to the X display. Any other time where I was not connected to a network, there were no problems with Simple Screen Recorder or opening other programs. (See the Installation section below for a video of the installation.)

This issue isn't something that can't be worked around, as Calamares is able to proceed with the installation without being connected to the internet, although it displays a message indicating that a recommended requirement -- a network connection -- is not met.

What I couldn't work around was the most serious failure in this release of Redcore in that suspend doesn't work. While there have been instances on a few distributions where hibernate did not work -- usually only requiring a simple fix, the particular issue of suspend not working is one that I haven't experienced in the six years since I've returned to using Linux. In the case of Redcore Linux, selecting "Sleep" from the system menu or closing the lid results in sometimes the screen being powered off and other times the system freezing without the laptop actually being suspended. This faulty behavior also occurs when the OS attempts to put the laptop to sleep automatically after a period of inactivity.

I suspect that I haven't experienced this particular problem in other distributions may because of a standardization around systemd -- which can interface with power-state utilities -- in nearly all of the other distributions I've used, with the exception of Void Linux, which uses runit as its init system and service manager. Redcore uses OpenRC, although Gentoo also supports systemd. This choice on Redcore's part will require users familiar with systemd considering adopting Redcore to learn the OpenRC equivalents to systemd.

The only other issues I experienced were with package management. The distribution provides its own package manager -- Sisyphus --

a simple wrapper around portage, gentoolkit, and portage-utils that provides an apt-get/yum-alike interface to these commands, to assist newcomer people transitioning from Debian/RedHat-based systems to Gentoo.

Sisyphus provides a CLI that is capable of performing the most common package management operations, while advanced package management tasks such as adding repositories, prioritizing packages, etc. will probably have to be performed with Gentoo specific tools. The unique feature of Sisyphus CLI is that when binary packages are not available, it can build binary packages from source and install the binary packages without resubmitting the command with different options.

Sisyphus also provides a GUI, but this interface can only manage binary packages. The GUI interface can be used to search for available software, and can impressively narrow results in real time as the search term is typed. A minor problem with the search functionality is that it lists software that are available only as a source packages along with binary packages, and thus by design, can't install. This requires the user to then go to the command line interface to install the desired software. This doesn't seem to be a desirable user experience.

Related to this issue is that there seem to be too many packages that are only available as source packages, even those that are core applications for the desktop environment of choice. For example, Spectacle KDE's feature-full screenshot application, Kate KDE's advanced text editor, KColorChooser, and Kompare, the powerfull diff program are only available as source packages. All of these were only installable as source packages with the Sisyphus CLI, the process only taking less than half a minute each on the Acer, a relatively powerful laptop with a Core i7-6700HQ processor and 16GB of RAM. Another program, neofetch, took considerably longer because its dependencies including ImageMagick, had to be built from source before installation as a binary. Surprisingly, even what is probably a large program like KDEnlive is only available as a source package. Installing this program using the command line shows that six of its dependencies are available as binary packages, while KDEnlive itself and another of its dependencies are only available as source packages. This installation process took a little over six minutes, including download time, on the Acer.

Installing KDEnlive Using the Sisyphus CLI
Some large programs are only available as source packages despite the project's goals.

I also experienced an inconsistency in the information displayed by the package manager. The Sisyphus GUI would show some installed applications as having updates, but attempting to update the system had no effect. While searching for updates in Sisyphus CLI returned that there were no updates available.

Despite these problems, Redcore seems to be on its way to creating a great Gentoo based distribution by creating a tool that seamlessly allows binary packages and source packages (built to binary packages on-the-fly) to be installed and managed by the same user facing package manager, with the same package management operation. This is something that Sabayon Linux can't do. However, at least at this time, the Redcore system is not able to maintain the power of Gentoo with its own tools.

Anyone who has attempted to manage a hybrid source/binary system on Sabayon may have learned that the source part of the hybrid is pure Gentoo, using Gentoo tools and Gentoo methods. If a user attempts to use the power of Gentoo -- a design and tools that allow complete customization -- to customize a program installation from source, the only way of proceeding with the customization may be a complete re-installation of the system from source due to a difference in the "USE" flags specified by the Sabayon binary package builds and the user's desired customization. A similar scenario seems likely with Redcore.

While I didn't attempt to do this, I did see some possible signs that the hybrid approach has some problems. Spectacle which was installed from a binary built from source by the package manager, didn't work the same way it does on other Linux installations, defaulting to saving in the root filesystem by default.

(For more on Redcore Linux package management, see the section Package Management, below.

Having discussed the failures, I should also note, the positive aspects of Redcore besides the unique abilities of the package manager. Redcore's performance, subjectively, is noticeably better than that of distributions I have used recently. Maybe the choice of OpenRC contributes to this better performance.

Quick Facts

Feature Availability
Base Gentoo
Architecture x86_64
Installation Media Types Live ISO with Calamares installer
Desktop Environments KDE Plasma and LXQt available with LIVE ISOs
Init System OpenRC
Package Manager Sisyphus GUI, Sisyphus CLI
These tools wrap Gentoo package management programs

Pre-Installation

The pre-installation experience with Redcore Linux is very straightforward, partly because of the minimal content on the distribution's website. The download link is prominent on the website's main menu. The download page itself is very simple with just links to downloadable ISO images, and MD5 and SHA256 checksums for each edition from three mirrors. The username and password required for the live environment is the first content on the page, but somehow may be easy to miss if you are eager to get to the download.

The only issue with this part of the experience is that GPG signatures are not provided. Many distributions not only provide checksums to verify the integrity of the download but also GPG verification of the authenticity of the downloaded image.

Installation

Installation of Redcore Linux was as simple and straightforward as with any other distribution that uses the Calamares installer -- as far as the installer itself is concerned. However, the live environment within which the installer is run had issues, strangely, only when the system was connected to a network. As mentioned above, when the Redcore live environment was connected to a network, starting programs from the main Plasma menu or the desktop shortcuts had no effect. This seems to be an issue with the X Window System setup in the live environment as Simple Screen Recorder -- when the application was started before connecting to a network, but recording started after connecting to a network -- error messages indicated that a connection to X could not be made.

Because of this issue, I had to perform the installation without connecting the Redcore live environment to the internet, despite Calamares's recommendation. The video below shows the installation on my Acer V15 Nitro with the Clamares custom partitioning option on pre-prepared partitions.

Installing Redcore Linux Hardened 1908 KDE Plasma Edition

Software

The Redcore installation provides all of the typical applications necessary to make the distribution immediately useful; LibreOffice, Firefox, Thunderbird, and VLC Media PLayer are all installed. KDE specific applications include Cantata for music, Okular for document viewing, KDE Partition Manager, K3B for disk burning, Konvesation for IRC chats, and Ark for archive management. Redcore also includes by default, software typically not found in other distributions such as KeePassXC for password management, GUFW graphical management for UFW, Simple Screen Recorder, VidCutter, guvcview webcam software, mpv Media PLayer, and qBittorrent for torrent downloads.

Redcore also provides Lutris -- not installed by default by any other distribution I've tried -- in addition to Steam. However, when starting Lutris, an error message is displayed indicating that the Vulkan libraries could not be found. Starting Steam initiates what seems to be a lengthy update.

Steam and Lutris Are Installed by Default

Package Management

Redcore Linux, while providing a Gentoo system, makes routine package management easy for those coming from other distributions with its own front end to Gentoo package management tools in the form of the Sisyphus package manager. Sisyphus has a GUI that is capable of searching for packages and installing, removing, and upgrading the system, as well as some configuration of mirrors. Below are screenshots of Sisyphus GUI use.

Sisyphus GUI Package Manager
Sisyphus GUI can perform the most basic package management operations on binary packages.

It is, however, not designed to manage source packages, although, confusingly, it does display source packages in search results, which aren't distinguished from binary packages.

The Sisyphus CLI can be used to manage source packages or binary packages, or both in one operation. The commands available to the Sisyphus, used as: sisyphus --command [argument] [argument] ... are displayed below from the output of: sisyphus --help

V15NITRO-REDCORE /home/brook # sisyphus --help

Usage : sisyphus command [package(s)] || [file(s)]

Sisyphus is a simple python wrapper around portage, gentoolkit, and portage-utils which provides
an apt-get/yum-alike interface to these commands, to assist newcomer people transitioning from
Debian/RedHat-based systems to Gentoo.

Commands :

--install
* Install binary and/or ebuild (source) packages

--uninstall
* Uninstall packages *SAFELY* by checking for reverse dependencies
* If reverse dependencies exist, the package(s) will NOT be uninstalled to prevent the possible breakage of the system
* If you really want to uninstall the package, make sure you uninstall all reverse dependencies as well
* This will not allways be possible, as the reverse dependency chain may be way to long and require you to uninstall critical system packages

--force-uninstall
* Uninstall packages *UNSAFELY* by ignoring reverse dependencies
* This may break your system if you uninstall critical system packages
* It will try the best it can to preserve the libraries required by other packages to prevent such a breakage
* Upgrading the system may pull the packages back in, to fix the reverse dependency chain

--remove-orphans
* Uninstall packages that are no longer needed
* When you uninstall a package without it's reverse dependencies, those dependencies will become orphans if nothing else requires them
* In addition, a package may no longer depend on another one, so that other package becomes orphan as well if nothing else requires it
* Use this option to check the whole dependency chain for such packages, and uninstall them

--update
* Update the Portage tree, the Redcore Overlay(s), Portage configs && Sisyphus's package database

--upgrade
* Upgrade the system using binary and/or ebuild (source) packages

--search
* Search for binary and/or ebuild (source) packages

--spmsync
* Sync Sisyphus's package database with Portage's package database
* When you install something with Portage directly (emerge), Sisyphus is not aware of that package, and it doesn't track it in it's database
* Use this option to synchronize Sisyphus's package database with Portage's package database

--rescue
* Resurrect Sisyphus's package database if lost or corrupted
* If for some reason Sisyphus's package database is lost or corrupted, it can be resurrected using Portage's package database
* If Portage's package database is corrupted (in this case you're screwed anyway :D), only a partial resurrection will be possible
* If Portage's package database is intact, full resurrection will be possible

--mirror --list
* List available binary package repository mirrors (the active one is marked with *)

--mirror --set 'INDEX'
* Change the binary package repository to the selected mirror

--branch='BRANCH' --remote='REMOTE'
* Pull the branch 'BRANCH' of the Portage tree, Redcore overlay && Portage configs. Use 'REMOTE' git repositories.
* 'BRANCH' can be one of the following : master, next
* 'REMOTE' can be one of the following : gitlab, pagure
*
* Examples: 
* '--branch=master --remote=gitlab' will pull the branch 'master' from gitlab.com
* '--branch=next --remote=pagure' will pull the branch 'next' from pagure.io
*
* !!! WARNING !!!
* Once you changed the branch, you must pair the branch 'BRANCH' with the correct binary repository
* Branch 'master' must be paired with the stable binary repository (odd numbers in 'sisyphus --mirror --list'). Examples : 'sisyphus --mirror --set 1' or 'sisyphus --mirror --set 5' 
* Branch 'next' must be paired with the testing binary repository (even numbers in 'sisyphus --mirror --list'). Examples : 'sisyphus --mirror --set 2' or 'sisyphus --mirror --set 8'

--sysinfo
* Display information about installed core packages and portage configuration

--help
* Display this help information

Examples of Sisyphus CLI in use are presented in the following set of screenshots.

The Sisyphus CLI Package Manager.
Sisyphus wraps Gentoo package management tools and is capable of managing binary and source packages.

Gentoo package management is extremely powerful, but extremely complicated and time consuming, even after the initial installation. The following output of the Sisyphus CLI command sisyphus --sysinfo shows the configuration of the underlying Gentoo system, something which I didn't have time to explore furhter.

V15NITRO-REDCORE /home/brook # sisyphus --sysinfo
Portage 2.3.70 (python 3.6.9-final-0, default/linux/amd64/17.0/hardened, gcc-8.2.0, glibc-2.28-r1337, 5.1.20-redcore x86_64)
=================================================================
System uname: Linux-5.1.20-redcore-x86_64-Intel-R-_Core-TM-_i7-6700HQ_CPU_@_2.60GHz-with-glibc2.4
KiB Mem:    16287324 total,  14507344 free
KiB Swap:   16780284 total,  16780284 free
Timestamp of repository gentoo: Fri, 02 Aug 2019 17:15:01 +0000
Head commit of repository gentoo: b24bd25253fe093f722ab576d29fdc41d04cb1ee

Head commit of repository redcore: c17f8a7f55fb4ac4e21adfb07e8950fe19726af2

sh bash 4.4_p23-r1
ld GNU ld (Gentoo 2.31.1 p5) 2.31.1
app-shells/bash:          4.4_p23-r1::gentoo
dev-lang/perl:            5.30.0::gentoo
dev-lang/python:          2.7.16::gentoo, 3.6.9::gentoo
dev-util/cmake:           3.15.1::gentoo
dev-util/pkgconfig:       0.29.2::gentoo
sys-apps/baselayout:      2.4.1-r1908::redcore
sys-apps/openrc:          0.34.11-r9::redcore
sys-apps/sandbox:         2.18::gentoo
sys-devel/autoconf:       2.13-r1::gentoo, 2.69-r4::gentoo
sys-devel/automake:       1.11.6-r3::gentoo, 1.16.1-r1::gentoo
sys-devel/binutils:       2.31.1-r1337::redcore
sys-devel/gcc:            8.2.0-r1337::redcore
sys-devel/gcc-config:     2.0::gentoo
sys-devel/libtool:        2.4.6-r1337::redcore
sys-devel/make:           4.2.1-r4::gentoo
sys-kernel/linux-headers: 4.14-r1337::redcore (virtual/os-headers)
sys-libs/glibc:           2.28-r1337::redcore
Repositories:

gentoo
    location: /usr/ports/gentoo
    sync-type: git
    sync-uri: https://pagure.io/redcore/portage.git
    priority: 1

redcore
    location: /usr/ports/redcore
    sync-type: git
    sync-uri: https://pagure.io/redcore/redcore-desktop.git
    masters: gentoo
    priority: 1000

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=x86-64 -mtune=generic -pipe -fno-delete-null-pointer-checks -Wno-deprecated -Wno-deprecated-declarations -fno-plt -fstack-protector-strong"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /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 /etc/terminfo"
CXXFLAGS="-O2 -march=x86-64 -mtune=generic -pipe -fno-delete-null-pointer-checks -Wno-deprecated -Wno-deprecated-declarations -fno-plt -fstack-protector-strong"
DISTDIR="/var/cache/distfiles"
ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs buildpkg candy compressdebug config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned sandbox sfperms splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://mirror.bytemark.co.uk/gentoo/"
INSTALL_MASK="/etc/systemd               /usr/lib/systemd               /usr/lib64/systemd               /usr/lib/debug               /usr/lib64/debug               /etc/portage"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,--hash-style=gnu -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,now -Wl,-z,relro"
LINGUAS="ach af af_ZA ak am an ar ar_JO ar_SA ar_SY as ast az be be_BY bg bg_BG bn bn_BD bn_IN bo br brx bs byn ca ca_ES ca_XV ckb cmn co crh cs cs_CZ csb cy cy_GB da da_DK de de_CH de_DE dgo doi dz ee el el_GR en en_AU en_CA en_EN en_GB en_US en_ZA eo eo_UY es es_419 es_AR es_CL es_CO es_DO es_ES es_LA es_MX es_UY es_VE et et_EE eu eu_ES fa fa_IR fi fi_FI fil fo fr fr_CA fr_FR frp fur fy fy_NL ga ga_IE gd gez gl gl_ES gu gu_IN gug haw he he_IL hi hi_IN hne hr hr_HR hsb hu hu_HU hy hy_AM ia id id_ID ii is is_IS it it_IT ja ja_JP jv ka ka_GE kab kk kk_KZ km kn kn_IN ko ko_KR kok ks ksw ku ku_IQ ky ky_KG la lb lg li lo lt lt_LT lv lv_LV mai me mg mi mk mk_MK ml mn mni mr ms ms_MY mt my nan nb nb_NO nds ne nl nl_BE nl_NL nn nn_NO no no_NO nqo nr nso oc om or pa pa_IN pam pap pl pl_PL ps pt pt_BR pt_PT rm ro ro_RO ru ru_RU rue rw sa sa_IN sah sat sc sco sd se shn si si_LK sk sk_SK sl sl_SI so son sq sq_AL sr sr_RS ss st sv sv_SE sw sw_TZ syc ta ta_IN ta_LK te tg tg_TJ th th_TH ti tig tk tl tlh tn tpi tr tr_TR ts tt tt_RU ug uk uk_UA ur ur_PK uz uz_UZ ve vi vi_VN wa wal wo xh yi zh zh_CN zh_HK zh_TW zu"
MAKEOPTS="-j8"
PKGDIR="/var/cache/packages"
PORTAGE_BINHOST="http://mirror.math.princeton.edu/pub/redcorelinux/packages/"
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="/var/tmp"
USE="X a52 aac aacplus acl alsa amd64 apng apparmor avahi bluetooth bluray bzip2 cairo crypt cryptsetup cups curl cxx dbus designer dri dri3 drm dvd egl elogind faac fdk ffmpeg flac fontconfig gcrypt gif glamor gnome-keyring gphoto2 gsm gstreamer gudev hardened http iconv icu introspection ipv6 jack jpeg jpeg2k lame ldap libass libnotify libtirpc matroska mms mng mp3 mpeg mpg123 mtp multilib ncurses nettle nls nptl ogg openal opencl opengl openmp openrc openssl opus pam pcre pdf perl pgo pie png policykit polkit pulseaudio python qt5 readline rtmp samba sasl sdl sdl2 seccomp sftp sound split-usr sqlite ssl ssp svg sysvinit theora threads tiff truetype udev udisks unicode upower v4l vaapi vdpau vorbis vpx wayland webp x264 x265 xattr xcb xinerama xkb xml xmp xtpax xvid xvmc zeroconf zlib" ABI_X86="64 32" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache 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" CPU_FLAGS_X86="mmx mmxext sse sse2 sse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="efi-32 efi-64 pc" INPUT_DEVICES="evdev synaptics libinput" KERNEL="linux" L10N="ach af am an ar as ast az be bg bn bn-BD bn-IN bo br brx bs ca ca-valencia cak chr cs csb cy da de de-1901 dgo doi dsb dz el en en-GB en-US en-ZA eo es es-419 es-AR es-CL es-ES es-MX et eu fa ff fi fil fo fr fr-CA fy ga gd gl gn gu gug he hi hne hr hsb hu hy ia id is it ja ka kab kk km kmr-Latn kn ko kok ks ku ky la lb lij lo lt lv mai mi mk ml mn mni mr ms my nb nds ne nl nn no nr nso oc om or pa pl pt pt-BR pt-PT rm ro ru rw sa sat sco sd se si sid sk sl son sq sr sr-ijekavsk sr-Latn sr-Latn-ijekavsk sr-ME ss st sv sw sw-TZ syc ta ta-LK te tg th tk tl tn tr ts tt ug uk ur-PK uz uz-Cyrl ve vi wa xh zh zh-CN zh-HK zh-TW zu" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer pdfimport" LIRC_DEVICES="audio audio_alsa serial pctv" LLVM_TARGETS="AMDGPU BPF NVPTX X86 AArch64 ARM" NETBEANS_MODULES="apisupport cnd groovy gsf harness ide identity j2ee java mobility nb php profiler soa visualweb webcommon websvccommon xml" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-2" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_6" PYTHON_TARGETS="python2_7 python3_6" QEMU_SOFTMMU_TARGETS="x86_64 i386" QEMU_USER_TARGETS="x86_64 i386" RUBY_TARGETS="ruby24" USERLAND="GNU" VIDEO_CARDS="intel i915 i965 nouveau nvidia r100 r200 r300 r600 vesa amdgpu radeonsi radeon vmware virgl" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

The screenshot below shows some of the relevant files in Gentoo package management configuration, while showcasing Redcore's implementation of Plasma.

Some of the Directories and Files Involved in Gentoo Package Management Configuration
Redcore Linux retains these files as there is an underlying Gentoo system.

Necessary Fixes and Enhancements

The Redcore installation has a significant problem in terms of usability with respect to the inability to suspend the laptop. Unfortunately, I couldn't spend more time than I already did to solve this problem.

Anyone using a laptop who wants to stick to Redcore will have to first fix the problem with suspend. For those without knowledge of Gentoo and the OpenRC init system, this will require acquiring new knowledge on these topics.

The only enhancement I made was to enable sudo by first installing the sudo package and then using visudo to edit the sudoers file.

Documentation and Help

Documentation is nearly non-existent at the Redcore website. The only essential documentation is a brief introduction to commands available to the Sisyphus CLI. The only other documentation is "first steps" guidance and a page on installation, both of which appear to be outdated.

There is however a Contact page on the distributions website listing the developer's email address, a link to the distribution's Facebook group, and a link to the distribution's IRC channel. The first item in this list seems to indicate a very engaged developer who is willing to help users directly.

Recommendation

Redcore Linux achieves its goal of providing users a convenient Gentoo installation and basic Gentoo package management that doesn't require user's to know how Gentoo works. It also provides many binary packages which can be installed with its simple package manager after installation of the distribution itself, although it seems to me that some software that should be available as binaries are not, forcing users to install from source, a simple operation on Redcore if time consuming.

But what seems problematic with the distribution is that the power of Gentoo is being completely disregarded by Redcore. Gentoo provides users with a design and tools to completely customize the distribution at the deepest levels. Although a Redcore installation is Gentoo at heart, it has no tools to make the same type of customizations. Based on my very basic understanding of Gentoo from my experience in attempting to convert Sabayon to a hybrid source/binary system, attempting to gain the power of Gentoo in Redcore will require a conversion of Redcore to pure Gentoo and force a recompilation of all the software on the system.

So the real usefullness of Redcore seems to be only for experienced Gentoo users who might save some time in the initial installation.