mirror of
https://github.com/SerenityOS/serenity
synced 2024-10-03 22:54:55 +00:00
9b71307d49
This patch also adds a Format concept to GraphicsBitmap. For now there are only two formats: RGB32 and RGBA32. Windows with alpha channel have their backing stores created in the RGBA32 format. Use this to make Terminal windows semi-transparent for that comfy rice look. There is one problem here, in that window compositing overdraw incurs multiple passes of blending of the same pixels. This leads to a mismatch in opacity which is obviously not good. I will work on this in a later patch. The alpha blending is currently straight C++. It should be relatively easy to optimize this using SSE instructions. For now I'm just happy with the cute effect. :^) |
||
---|---|---|
AK | ||
Applications | ||
Base | ||
Kernel | ||
LibC | ||
LibGUI | ||
Meta | ||
SharedGraphics | ||
Userland | ||
WindowServer | ||
.gitignore | ||
ReadMe.md |
Serenity
x86 Unix-like operating system for IBM PC-compatibles.
About
I always wanted to write my own operating system, but I never took it seriously. Until now.
Screenshot
Current features
- Pre-emptive multitasking
- Compositing window server (in userspace)
- ext2 filesystem support
- mmap()
- Unix-like libc and userland
- Pseudoterminals
- Event-driven GUI library
- Other stuff I can't think of right now...
How do I get it to run?
I've only tested this on an Ubuntu 18.10 host with clang, so I'm not sure it works anywhere else. If you'd like to run it, here's how you'd get it to boot:
cd Kernel
./makeall.sh
sudo ./sync.sh
./run q # Runs in QEMU
./run # Runs in bochs
Author
- Andreas Kling - awesomekling
License
Undecided. Probably something close to 2-clause BSD.