Efter halvandet års udvikling er den fjerde betaudgave af operativsystemet Haiku R1 blevet offentliggjort. Projektet blev oprindeligt skabt som en reaktion på nedlukningen af OS BeOS og udviklede sig under navnet OpenBeOS, men blev omdøbt i 2004 på grund af krav relateret til brugen af handelsmærket BeOS i titlen. For at vurdere det nye udgaves funktionalitet er der forberedt flere bootable Live-billeder (x86, x86-64). Kildekoderne til størstedelen af OS Haiku distribueres under den frie MIT-licens, undtagen nogle biblioteker, medie-codecs og komponenter, der er lånt fra andre projekter.
OS Haiku er rettet mod personlige computere og bruger sit eget kerne baseret på en modulær arkitektur, der er optimeret til høj responsivitet over for brugerhandlinger og effektiv udførelse af multitrådede applikationer. Der præsenteres et objektorienteret API for udviklere. Systemet er direkte baseret på teknologierne fra BeOS 5 og har til formål at sikre binær kompatibilitet med applikationer til dette operativsystem. Minimum hardwarekrav: CPU Pentium II og 384 MB RAM (anbefalet Intel Core i3 og 2 GB RAM).
OpenBFS bruges som filsystem, som understøtter udvidede filattributter, journaling, 64-bit pegepinde, støtte til opbevaring af metadata (for hver fil kan attributter gemmes i form af nøgle=værdi, hvilket gør filsystemet ligesom en database) og specielle indekser til hurtigere forespørgsler. Til organisering af mappestrukturen anvendes „B+ tree“ træer. Filhåndtereren Tracker og statuslinjen Deskbar er inkluderet fra koden af BeOS, hvis kildekoder blev åbnet efter BeOS forlod scenen.
Hovednyhederne:
- Arbejdet på skærme med høj pixel tæthed (HiDPI) er forbedret. Der er implementeret korrekt skalering af grænsefladen, som ikke kun begrænser sig til ændring af skrifttype størrelse. Ved første opstart forsøger Haiku nu automatisk at registrere tilstedeværelsen af en HiDPI-skærm og vælge de nødvendige størrelser til skalering. De valgte indstillinger kan ændres i indstillingerne, men det kræver stadig genstart for at træde i kraft. Skaleringsindstillingerne understøttes i de fleste indfødte applikationer og i nogle portede, men ikke alle.
- Der er givet mulighed for at bruge et udseende med flade vinduesdekorationer og flad design af knapper, i stedet for et design, der aktivt bruger gradienter. Det flade design leveres i Haiku Extras-pakken og kan aktiveres i indstillingssektionen for udseende.

- Der er tilføjet et lag for at sikre kompatibilitet med Xlib-biblioteket, hvilket muliggør kørsel af X11-applikationer i Haiku uden at starte X-serveren. Laget er implementeret ved at emulere Xlib-funktioner ved at oversætte kald til Haikus høj-niveau grafiske API.
- Der er udarbejdet et lag for at sikre kompatibilitet med Wayland, som muliggør kørsel af toolkit og applikationer, der bruger denne protokol, herunder applikationer baseret på GTK-biblioteket. Laget giver biblioteket libwayland-client.so, som er baseret på koden fra libwayland og kompatibel med API- og ABI-niveau, hvilket gør det muligt at køre Wayland-applikationer uden ændringer. I modsætning til typiske sammensatte servere Wayland starter laget ikke som en separat serverproces, men indlæses som et plugin til klientprocesserne. I stedet for sockets anvendes serveren en native meddelelsesbehandlingssløjfe baseret på BLooper.
- Takket være lagene til kompatibilitet med X11 og Wayland er det lykkedes at forberede en fungerende port af GTK3-biblioteket. Af applikationer, der kan køres ved hjælp af porten, kan nævnes GIMP, Inkscape, Epiphany (GNOME Web), Claws-mail, AbiWord og HandBrake.

- Der er tilføjet en fungerende port med Wine, der kan bruges til at køre Windows-applikationer på Haiku. Blandt begrænsningerne bemærkes muligheden for kun at køre i 64-bit versioner af Haiku og evnen til kun at køre 64-bit Windows-applikationer.

- Der er tilføjet en port til teksteditoren GNU Emacs, der arbejder i grafisk tilstand. Pakkerne er tilgængelige i HaikuDepot-repositoriet.

- Filhåndteringen Tracker har fået tilføjet understøttelse af generering og visning af billedminiaturer. Miniaturerne gemmes i filernes udvidede attributter.

- Der er implementeret et lag for kompatibilitet med FreeBSD-drivere. Drivere til understøttelse af trådløse USB-adaptere med Realtek (RTL) og Ralink (RA) chips er porteret fra FreeBSD. Blandt begrænsningerne bemærkes behovet for at tilslutte enheden før opstart (efter opstart er enheden ikke genkendt).
- Den trådløse 802.11-stak med support for 802.11ac er porteret fra OpenBSD samt driverne iwm og iwx, der understøtter trådløse Intel 'Dual Band' og 'AX' adaptere.
- Der er tilføjet en USB-RNDIS-driver, der muliggør oprettelse af et adgangspunkt via USB (USB tethering) til brug som et virtuelt netværkskort.
- Der er tilføjet en ny NTFS-driver, baseret på biblioteket fra NTFS-3G-projektet. Den nye implementering er mere stabil, understøtter integration med lag til filcaching og leverer god ydeevne.
- Der er tilføjet en translator til at læse og skrive billeder i AVIF-format.
- Browser-motoren HaikuWebKit er synkroniseret med den nyeste version af WebKit og er oversat til et netværksbackend baseret på cURL-biblioteket.
- Bootloaderen har fået tilføjet support til 32-bit systemer med EFI og mulighed for installation af et 64-bit Haiku-miljø fra en 32-bit EFI-bootloader.
- Kompatibiliteten med POSIX-standarder er forbedret. Der fortsættes med at erstatte kald til den standard C-bibliotek, der tidligere blev overført fra glibc, med varianter fra musl. Støtte til C11-tråde og locale_t metoder er tilføjet.
- Driveren til NVMe-lagringsenheder er forbedret, og der er tilføjet støtte til TRIM-operationen for at informere lagerenheden om frigivne blokke.
- Der er muliggjort kompilering af kerner og drivere med nye versioner af GCC (herunder GCC 11), men for at kompilere systemet er der stadig krav om GCC 2.95 på grund af afhængigheder til gammel kode for at sikre kompatibilitet med BeOS.
- Der er foretaget generelt arbejde for at forbedre stabiliteten af hele systemet.
Kilde: opennet.ru





