User:Peyty/GreenteaOS

From OSDev Wiki
Jump to navigation Jump to search


GreenteaOS

GreenteaOS-preview.jpg
User interface prototype
Developed by:Oleh Petrenko
Kernel:engine
Task Model:Preemptive multitasking
Platform(s):x86-64, ARM64, RISC-V
Language(s):NASM, Hexa
Website:greenteaos.github.io

GreenteaOS is a 64-bit desktop OS for x86-64 and emerging platforms like ARM64 and RISC-V. Aims to run .exe files natively and become open-source Windows alternative. Follows own non-NT/non-UNIX monolithic kernel design. Currently in the alpha state. The project emphasizes performance, compatibility, and user-centric design for desktop environments.

History

Greentea OS began in 2016 as a fork of ReactOS, later in 2018 reconsidered to create its own kernel from scratch. Competition should improve development speed of both projects, due to more people involved with different points of view.

First notable complex GUI apps, using Win32 API, like Solitaire game, are operational since June 2025, therefore moving the project from the Pre-Alpha into the Alpha stage.

Since 2018 project was focused on research, experimentation and laying out the foundation of the system: kernel was rewritten two times from C then C++ to the Hexa programming language. Additional prototypes of various components were created in D, Rust, TypeScript and Pascal. Project aimed to have basic proof-of-concept implementations of the broad features like SMP, WoW64, etc first before focusing on a full-scale OS design.

2025 is a year of starting a full-scale development, logically following proof-of-concept GUI apps compatibility.

Codebase features lots of TODO comments as of June 2025: they are supposed to be right in the context of problems to be solved. Lots of them show language design experimentation and open, clean acknowledgment of any particular feature (be it OS, PL, GUI or anything else) incompleteness compared to other projects that generally stigmatize TODO comments. This is a deliberate choice and will be adjusted from the future feedback.

Forking Clarification

While technically being a fork originally, Greentea OS was supposed to pivot from ReactOS components as soon as possible from the very beginning. While some people perceive Tofita-based GTOS as a "new Greentea OS", its still the very same project, following continuation of the process of reducing dependencies from the existing projects, like ReactOS being the most noticeable one.

This shift was motivated by the belief that competition among open-source Windows alternatives, such as ReactOS and Wine, would accelerate innovation and attract diverse perspectives from the developer community.

Design and Features

Greentea OS features own kernel Tofita: a portable desktop-oriented monolithic design with UEFI bootloader.

GreenteaFS (name may change) is also considered to be used as a primary file system. With hybrid approach of CoW and non-CoW structure to achieve maximal performance on consumer desktop PCs (in comparison to most other fs's designed for server use). Sources of GreenteaFS are not yet available due to active experimentation. Somewhat influenced by TFS of Redox. Intended to be very compatible with NTFS in API terms (like streams support and unicode file names).

GUI is, of course, intended to be hardware accelerated in the future, with GPU drivers as parts of the kernel (i.e. non-userspace). Only support for AMD GCN1+ and DX12-capable Intel is planned, with Nvidia being still closed source and controversial topic (seems like this is going change, due to Nvidia' strategy of Linux kernel driver support). Support for the Windows NT GPU drivers depends on the progress of NT API implementation and driver sandboxing.

Safety to be provided with user (personal) space and apps isolation. Think of a portable user folders and apps in wine-prefix manner.

Kernel was rewritten in a custom programming language Hexa (initial prototypes were in C and C++).

Tofita Engine

As the system’s core, the Tofita Engine handles process management, memory allocation, services, sandboxing and device drivers in a monolithic structure. Its design prioritizes low-latency interactions for desktop applications, such as gaming or productivity software.

Unlike a conventional monolithic kernel, which consolidates core OS functions (e.g., memory management, process scheduling) into a single executable, the Tofita Engine extends this concept by tightly integrating user-facing components, such as the graphical user interface (GUI) and hardware drivers, into a cohesive framework.

Critical Reception

Greentea OS and ReactOS have diverged due to differing design philosophies, but Greentea OS remains committed to fostering a collaborative open-source ecosystem.

Yet, Greentea OS was somewhat controversial in the eyes of ReactOS community: some members distorted the facts surrounding both projects, creating an impression of a conflict or abuse. This is a hard topic, growing like a snowball from mere misunderstanding, and severed connections between both projects in the past. Still, there is no intention from Greentea OS project to spread any negativity toward ReactOS project or its contributors.

Developers believe that having more options, than solely Wine and ReactOS, will attract more attention from IT community as a whole and to the problem of Windows not delivering high quality software (and, you know, all that telemetry stuff and annoying updates). BTW Windows 7 was recently updated to silently break on pre-SSE2 computers.

If you're still in doubt due to some niche narrative about conflicting state between the projects, check the ReactOS forum: you will find relevant topics where core project members from the both sides share the common sentiment about resolving any misunderstandings.

This complex topic has not diminished Greentea OS's respect for ReactOS's contributions.

Community and Contribution

Greentea OS is an open-source project hosted on GitHub, welcoming contributions from developers worldwide.

The project encourages involvement in areas like kernel development, optimization, compatibility and GUI design.

Hexa Programming Language

Hexa was specifically designed with a purpose of easing collaboration: way simpler to use than C++ or Rust, yet providing comparable benefits. Hexa tries to follow the core concept of the C programming language here: simpler to use languages scale well for especially large projects like operating systems.

Licensing and Legal Terms

The project strictly follows the GPL license with all respect to the contributors' hard work, eliminating any possible third-party abuse. This also implies the benefits of the GPL license towards accumulation of efforts, instead of fragmentation.

The reverse engineering (when involved) occurs under the relevant laws, to avoid any ambiguity and "religious" understanding of the reverse engineering approaches.

Greentea OS project de-mystifies this issue, by openly citing all the relevant laws and rules, on a per-country basis, as you may see in the Caramel repo. Those rules can be shared between projects (for example ExectOS Wiki), or at least used as a reference to guide contributor judgments, instead of the witch hunting.

Links

You may found sources at GitHub. Notably Tofita kernel ones.

Official website: greenteaos.github.io.