{"id":26890980,"url":"https://github.com/madd-games/glidix","last_synced_at":"2025-07-28T09:05:13.672Z","repository":{"id":24007562,"uuid":"27391591","full_name":"madd-games/glidix","owner":"madd-games","description":"A POSIX-compliant but modernized, graphical operating system for x86_64.","archived":false,"fork":false,"pushed_at":"2024-11-06T21:58:09.000Z","size":82899,"stargazers_count":76,"open_issues_count":0,"forks_count":10,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-05-20T10:08:21.480Z","etag":null,"topics":["c","gui","kernel","operating-system","posix","shell"],"latest_commit_sha":null,"homepage":"http://glidix.madd-games.org/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/madd-games.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-12-01T17:44:02.000Z","updated_at":"2025-04-12T14:29:22.000Z","dependencies_parsed_at":"2024-11-06T22:39:41.223Z","dependency_job_id":null,"html_url":"https://github.com/madd-games/glidix","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/madd-games/glidix","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/madd-games%2Fglidix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/madd-games%2Fglidix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/madd-games%2Fglidix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/madd-games%2Fglidix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/madd-games","download_url":"https://codeload.github.com/madd-games/glidix/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/madd-games%2Fglidix/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267489780,"owners_count":24095804,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-28T02:00:09.689Z","response_time":68,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","gui","kernel","operating-system","posix","shell"],"created_at":"2025-03-31T22:06:36.617Z","updated_at":"2025-07-28T09:05:13.602Z","avatar_url":"https://github.com/madd-games.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"Glidix\n======\n\nGlidix is an operating system for the x86_64 platform. The custom-made kernel and C library work together to implement the POSIX API, while cleaning up or removing the messy parts, and adding more high-level frameworks on top of that. It is a modernized, graphical operating system which tries to follow UNIX principles to a reasonable degree. It is designed to be easy to use for users, and easy to program for for developers.\n\n## Building\n\nThe easiest way to build the OS is to run `./build-dist.sh` in the root directory. Note that it can be quite slow the first time you run it, as it will have to build the cross-compiler and then also build the native compiler. After that it should be a lot faster, because once the compiler is built is does not need to be re-built.\n\n`build-dist.sh` performs a contained build, inside the `build` directory, where it will install the cross-compiler and make a sysroot for it, and add it to its own `PATH`. This means you don't have to set up anything else on your machine. The end result of this script is the file `build/diskimg/glidix.img` which is the bootable disk image of Glidix.\n\n## Running\n\n### Bochs\n\nTo run the disk image in Bochs after `build-dist.sh`, just run `bochs` in the root directory as `bochsrc` is already set up.\n\n## Status\n\nThe operating system is currently in _alpha_ state. It is currently therefore _not_ guaranteed to be ABI-compatible between versions. In fact, the ABI gets constantly revised, and recompilation is required a lot. We are hoping to move onto a _beta_ version in the next few months, and from there onwards, ABI compatibility will be guaranteed, and binary releases of applications will be possible.\n\n## Requirements\n\n * x86_64 (aka AMD64) CPU; SSE4.1 support is recommended.\n * 64MB RAM (2GB recommended for GUI).\n\n## Hardware Support\n\n * Basic hardware: PCI, VGA text mode, PIT, APIC (including timer). This is implemented in the kernel itself; all the things below are implemented as separate modules.\n * Storage devices: IDE and AHCI; IDE is incomplete.\n * Graphics: BGA. Hardware acceleration for various cards is planned.\n * Input devices: PS/2 mouse and keyboard\n * Ethernet cards: NE2000 (promiscous only), Intel 8254x (*PRO/1000 MT Desktop*, and *T/MT Server*), AMD PCNet (promiscous only).\n\n## Features\n\n * Capable of booting via BIOS from a GPT using a custom bootloader; UEFI boot planned.\n * A simple graphical interface, currently under heavy development.\n * Network stack supporting IPv4 and IPv6, ICMP to some degree, UDP, DNS and TCP. Supports autoconfiguration with DHCP, ALIC (*Automatic Local IP Configuration*, for IPv4 link-local addresses when DHCP is unavailable), and SLAAC for IPv6.\n * Supports the ISO 9660 filesystem, FAT32, and a custom filesystem called Glidix File System (GXFS), which can store Glidix-specific metadata such as application permissions.\n * Implements the POSIX API using a custom C library.\n * The GNU toolchain (binutils and GCC) can run natively on Glidix (the source code must be patched to support the `x86_64-glidix` target).\n\n## GCC\n\nThe source comes with GCC and binutils patches, and allows a cross-compiler to be built, targetting Glidix. A native compiler can also be compiled from this. The Glidix target for GCC (`x86_64-glidix`) supports some additional command-line options:\n\n * `-mconsole` - link an executable as a console application (the default; really a no-op).\n * `-mgui` - link an executable as a GUI application. This is done by linking against `crtgui.o`, which adds the appropriate annotation to the `.glidix.annot` section. By default, it also links against `libgwm` and `libddi`; to prevent this, use `-mnoguilibs`.\n * `-module` - link as a Glidix kernel module. This avoids linking with `libc` and other system libraries, and outputs an object file (typically with `.gkm` extension), which can be loaded by the Glidix kernel.\n * `-mnoguilibs` - when used with `-mgui`, do not link against GUI libraries.\n\n## Planned features\n\n * USB support.\n * Booting from UEFI.\n * Hardware-accelerated graphics.\n * More drivers and porting more applications.\n * Audio support.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmadd-games%2Fglidix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmadd-games%2Fglidix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmadd-games%2Fglidix/lists"}