/* === This file is part of Calamares - <https://github.com/calamares> ===
 *
 *   Copyright 2020 - 2026, Anke Boersma <demm@kaosx.us>
 *
 *   Calamares is free software: you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation, either version 3 of the License, or
 *   (at your option) any later version.
 *
 *   Calamares is distributed in the hope that it will be useful,
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 *   GNU General Public License for more details.
 *
 *   You should have received a copy of the GNU General Public License
 *   along with Calamares. If not, see <http://www.gnu.org/licenses/>.
 */

import QtQuick
import QtQuick.Controls
import QtQuick.Window
import QtQuick.Layouts

Item {
    width: parent.width
    height: parent.height
    //focus: true
    //color: "#f2f2f2"

    TextArea {
        id: intro
        //x: 130
        //y: 8
        width: parent.width
        font.pointSize: 12
        textFormat: Text.MarkdownText
        antialiasing: true
        activeFocusOnPress: false
        wrapMode: Text.WordWrap
        text: "## KaOS - 2026.03
----

KaOS is pleased to release an ISO with a massive change under the hood.

For those interested in the reason why all these changes, please read https://kaosx.us/news/2026/systemd_kaos/.

Though the previous (February) ISO had a big change for the user UI, this time the changes are not so user visible. With this ISO, KaOS has started to remove parts of systemd.  Notably, the systemd-boot bootloader is no longer in use, neither is mkinitcpio (fully systemd-based) in use for initramfs creation). ISO creation is now done using Dracut, a change some three years in the making, with a custom Dracut live overlay module to handle the layered setup that KaOS uses for the Live session. Limine is now also the bootloader for the Live session. These were the biggest hurdles that had to be completed before any work to moving to Dinit could really start.

Before anything else, those wishing to look at KaOS in VirtualBox, make sure to understand that VirtualBox does **not** support Wayland yet, it is still an X11-only app.  The only way to workaround this is to use 3d in your settings.  Plus VBoxVGA (also X11 only) can't be used for display, you will need to use VMSVGA, and in CLI set the 3d option: `VBoxManage modifyvm <vm_name> --accelerate3d on`.  If this is not an option for you, please do not try to use KaOS in VirtualBox, it cannot boot. You will have to wait for VirtualBox to come with Wayland.

You will not find Plasma or Kwin on this ISO, though KaOS has always been a KDE/Plasma only distribution.  
Instead, you will find a Niri/Noctalia based system.  Work is ongoing to see if a move to Dinit is viable for this distribution, see the above linked news article as to why Plasma is not the best option when moving away from systemd.  This ISO still uses systemd fully, though.  
Using Niri with the Noctalia shell has proven to be a nice option.  Using these means, KaOS can stay a Qt focused distribution.  This ISO is still GTK free, still ships QT/KDE based applications.  
Plasma 6 is still fully available in the repositories.  

With this ISO, Limine is now the default bootloader. Other options for UEFI installs are still available in Calamares. Systemd-boot is no longer an option.

For the desktop shell, the latest Niri (25.11), Noctalia (4.7), and Noctalia Quickshell (0.0.9) are included. All built on **Qt 6.10.2**.  To complete this setup, options like cliphist, brightnessctl, seatd, ddcutil, pavucontrol-qt, qt6ct and xwayland-satellite are installed.


The installer, Calamares, now is fully ready to run on a pure Wayland system.  Changes were needed for the QML modules to have the option to input text again (as is needed in the user creation module, for example).

Updates to the base of the system were numerous and include a new GCC 15.2.1, Glibc 2.42 & Binutils 2.45.1 based Toolchain, OpenCV 4.13.0, Poppler 26.03.0, GStreamer 1.28, Pipewire 1.6.2, kernel moved to Linux 6.19.9, Systemd 257.13, ZFS 2.4.1, Cmake 4.3, OpenSSH 10.2, Bash 5.3, Protobuf 33.5 and Mesa 26.0.3.

Among the new packages included are **kitty**, a modern, hackable, featureful, OpenGL-based terminal emulator, replacing Konsole/Yakuake, since the latter needs Plasma to run properly, **Btop**, a featureful resource monitor.  And starship, a minimal, blazing-fast, and infinitely customizable prompt for any shell, is added to replace powerline.

## Common Notes

A new Phonon sound backend is in use. So far, VLC has used, but there is no Qt6 porting for VLC yet. Using **phonon-mpv** as default now, gives a fully Qt 6 ready backend.

SDDM 0.20.0 added the option to run this display manager in Wayland mode.  **Wayland is the default for SDDM with the move to 0.21.0.**

The automated partitioning option in the installer (Calamares) offers the use of all popular file-systems, so no need to use manually partitioning to be able to choose XFS, EXT4, BTRFS or ZFS.

Big thanks goes to **YourHostingSolutions** for not only providing a mirror, but also providing a server for KaOS. With the discontinuation of Fosshost, a new server was sorely needed.

To get good logs has always been a bit of a challenge, since you have to know what journalctl commands to use. That is now a thing of the past, **Kjournald** gives the option to view the logs from a nice GUI, with all kinds of filter options in the left-hand pane (it is now part of the default install)

IWD has replaced Wpa_Suplicant as the default wireless daemon for KaOS.
Similarly, PipeWire has replaced PulseAudio as the default sound/low-level multimedia framework.

For Nvidia, long-term supported version 580xx is included, alongside the latest released version.

KaOS's creation **Croeso** (Welsh for welcome) for helping with configuring a new installation is included. It will run on the newly installed system and offers to adjust some 15 commonly used settings, includes a custom Wallpaper selector, distribution info, and the option to select packages to install from six different groups. It is written in QML and fits well with the Welcome application used in the Live system. The latter includes an Installation Guide.

There is an option to verify the authenticity of downloaded KaOS ISO files through GPG signature verification, see the Download page for further details and instructions.

The artwork includes a custom icon theme. Midna creates a complete unified look from boot-up all the way through logout.

This ISO uses the **CRC and finobt enabled** XFS filesystem as default. CRCs enable enhanced error detection due to hardware issues, whilst the format changes also improves crash recovery algorithms and the ability of various tools to validate and repair metadata corruptions when they are found. The free inode btree does not index used inodes, allowing faster, more consistent inode allocation performance as filesystems age.

**Octopi** is a crucial part of full system maintenance for KaOS. It is not just a GUI frontend to pacman. Tools like making sure a mirror is synced before starting any update, looking at the pacman logs, an option to get a paste from a complete snapshot of all info of a system with the SysInfo tool are included. Also included are very simple ways to open files, like copy to clipboard the file path shown in Octopi. To make sure the system doesn't start using too much disk space for the pacman cache but still giving the user the option to retain some recent packages, the cache-cleaner tool is a great addition. The built-in tool to access **KCP** now has a much clearer place with the addition of its own foreign icon in the menu bar. Newly added is the option to select custom icons for the systemtray.

To learn more about the goals and ideas behind KaOS, please read the **https://kaosx.us/** and **https://kaosx.us/#faq/** pages.

To avoid any misunderstanding and confusion, KaOS is **not based upon, derived of, or inspired by** any one particular distribution. It is completely independent, build entirely from scratch with its own repositories. To read more about this, see **https://kaosx.us/#faq/**. A **rolling release distribution** never has a final release, every ISO is merely a snapshot of the current status of the repositories. An idea of what is currently available:

The ISO ships with **Niri & Noctalia**, Linux 6.19.xx, Systemd 257.13, Kmod 34.2, NetworkManager 1.56, Calligra 25.12, Elisa, Xorg-Server 1.21.21, Mesa 26.0, Glibc 2.42, GCC 15.2.1, non-free Nvidia 590, and Python3 3.11.15, to name a few.

The package manager is **Pacman 7.0.0**, with the simple but powerful Octopi 0.18.1 as GUI frontend. Falkon is the default, Qt based, web browser. **GFXboot** is included with KaOS artwork, Grub theme is Midna, Look &amp; Feel is a KaOS exclusive version of Midna.

**Repositories** of KaOS will stay limited in size, and expect it to stay at the current maximum of about 2100-2200 packages. A gist of what is available, besides the stable kernel there is Linux-next 6.19, LibreOffice 26.2.1, VLC, Vokoscreen, Blender, Kodi, Calibre, Sigil, Vulkan packages, and a few games like 0ad and Knights.
A limited number of the most well-known GTK applications are available, for example, Firefox 147, Chrome 148, Ardour 9.2.0, Inkscape 1.4, GIMP 3.2.0 and Thunderbird 147. Complete language packs are available for KDE, Calligra, Firefox, LibreOffice, and Thunderbird. For IM, Fcitx 5.1.17 is available as a rather complete group.

## Known issues:

- Installing on RAID is currently not possible
- For BIOS installs, XFS filesystem is not an option, GRUB fails to install with latest XFS

**To create reliable** installation media, please follow the instructions from the **https://kaosx.us/download/** page. KaOS's ISOs **do not support Unetbootin or Rufus**, and DVDs need a burn speed **no higher than 4x**."
    }

    /*ToolButton {
        id: toolButton
        x: 19
        y: 29
        width: 105
        height: 48
        text: qsTr("Back")
        hoverEnabled: true
        onClicked: load.source = ""

        Image {
            id: image1
            x: 0
            y: 13
            width: 22
            height: 22
            source: "file:/usr/share/pixmaps/chevron-left-solid.svg"
            fillMode: Image.PreserveAspectFit
        }
    }*/

}
