{"id":47014849,"url":"https://github.com/linux4sam/egt","last_synced_at":"2026-03-11T21:46:23.382Z","repository":{"id":37865989,"uuid":"189507457","full_name":"linux4sam/egt","owner":"linux4sam","description":"Ensemble Graphics Toolkit - Modern C++ GUI Toolkit for Microprocessors","archived":false,"fork":false,"pushed_at":"2025-11-12T12:47:23.000Z","size":55738,"stargazers_count":68,"open_issues_count":1,"forks_count":27,"subscribers_count":22,"default_branch":"master","last_synced_at":"2025-11-12T14:32:08.253Z","etag":null,"topics":["c-plus-plus","embedded-linux","gui","toolkit","ui"],"latest_commit_sha":null,"homepage":"https://linux4sam.github.io/egt-docs/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/linux4sam.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog","contributing":"CONTRIBUTING.md","funding":null,"license":"COPYING","code_of_conduct":"CODE_OF_CONDUCT.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-05-31T01:38:50.000Z","updated_at":"2025-11-12T12:46:35.000Z","dependencies_parsed_at":"2023-09-29T06:52:12.991Z","dependency_job_id":"2c899d8d-012d-45a3-b9cb-05b696eb7ab7","html_url":"https://github.com/linux4sam/egt","commit_stats":null,"previous_names":[],"tags_count":73,"template":false,"template_full_name":null,"purl":"pkg:github/linux4sam/egt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linux4sam%2Fegt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linux4sam%2Fegt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linux4sam%2Fegt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linux4sam%2Fegt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/linux4sam","download_url":"https://codeload.github.com/linux4sam/egt/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linux4sam%2Fegt/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30402330,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-11T21:02:20.017Z","status":"ssl_error","status_checked_at":"2026-03-11T20:59:32.667Z","response_time":84,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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-plus-plus","embedded-linux","gui","toolkit","ui"],"created_at":"2026-03-11T21:46:23.138Z","updated_at":"2026-03-11T21:46:23.375Z","avatar_url":"https://github.com/linux4sam.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Microchip Graphics Suite Linux](docs/src/mgs_logo.png)\n\n[![License](https://img.shields.io/github/license/linux4sam/egt?style=plastic)]()\n[![Release](https://img.shields.io/github/v/tag/linux4sam/egt?style=plastic)]()\n\nThe Microchip Graphics Suite Linux, formely known as The Ensemble Graphics\nToolkit (EGT), is a free and open-source C++ GUI widget toolkit for\nmicroprocessors.  It is used to develop graphical embedded Linux\napplications.  EGT provides modern and complete GUI functionality,\nlook-and-feel, and performance.\n\nWant to help out, make some changes, found a bug, or have a question?  See\n[Contributing](CONTRIBUTING.md).  Send a pull request or open an issue.\n\nComplete [EGT Programmers Manual](https://linux4sam.github.io/egt-docs/)\nwith API reference is available for the latest version.\n\n***\n## Features\n\n- Anti-aliased 2D vector graphics.\n- Modern C++ design and simplicity.\n- Optimized for Microchip microprocessors running Linux.\n- DRM/KMS and X11 backends.\n- libinput, tslib, and evdev input support for mouse, keyboard, and touchscreen.\n- UTF-8 encoding with internationalization and localization support.\n- Support for libplanes and hardware LCD overlay planes.\n- Built in and simple animation support for creating custom effects.\n- A rich and extensible default widget set designed for embedded touchscreens.\n- Multimedia support for video playback, raster images, and vector graphics.\n- Customizable look and feel with themeable widget drawing, colors, and fonts.\n\n***\n## Build\n\nFor more complete instructions, refer to the\n[Getting Started](https://linux4sam.github.io/egt-docs/started.html) section of\nthe EGT Programmer's Manual.\n\nTo build for a PC, first install required dependencies:\n\n```sh\nsudo apt install git build-essential automake autoconf libtool pkg-config \\\n    libdrm-dev libinput-dev libcairo-dev libjpeg-dev libmagic-dev gettext\n```\n\nOptional, but recommended, dependencies include:\n\n```sh\nsudo apt install librsvg2-dev liblua5.3-dev libcurl4-openssl-dev \\\n     libxkbcommon-dev xkb-data\nsudo apt install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev\nsudo apt install libplplot-dev plplot-driver-cairo\nsudo apt install libasound2-dev libsndfile1-dev\n```\n\nThen, clone the source and build.\n\n```sh\ngit clone --recursive https://github.com/linux4sam/egt.git\ncd egt\n./autogen.sh\n./configure\nmake\n```\n\nYou can run the examples in the `examples` directory at this point.\n\n```sh\ncd examples/basic\n./basic\n```\n\nIf you need to compile against the EGT library, or run the compile example\nbelow, the simplest option is to simply install the library.\n\n```sh\nmake install\n```\n\nOn some systems, when running the install command, you may need root access.\nFor example,\n\n```sh\nsudo make install\n```\n\nOn some systems, the default install path will be under /usr/local/.  You may\nneed to follow up the install command by running ldconfig so that the dynamic\nloader can find the egt library.  This may also require root access.\n\n```sh\nsudo ldconfig\n```\n\n***\n## Example\n\nAnd now comes the obligatory complete EGT application that can be compiled and\nrun (assuming you followed the steps above to build and install the EGT library).\nThis example shows creating the Application object, and then a Window, and a\nButton on the center of the screen.\n\n```cpp\n#include \u003cegt/ui\u003e\n\nint main(int argc, char** argv)\n{\n    egt::Application app(argc, argv);\n\n    egt::TopWindow window;\n    egt::Button button(window, \"Press Me\");\n    egt::center(button);\n    window.show();\n\n    return app.run();\n}\n```\n\nTo link this example application, saved as example.cpp, use g++ and pkgconfig to\npull in the required compiler flags.\n\n```sh\ng++ -std=c++17 example.cpp -o example `pkg-config libegt --cflags --libs` -pthread\n```\n\nThen, run.\n\n```sh\n./example\n```\n\n***\n## Screenshots\n\n![Widgets TextBox Example](docs/src/screenshot0.png \"Widgets TextBox Example\")\n\n![Widgets CheckBox Example](docs/src/screenshot1.png \"Widgets CheckBox Example\")\n\n![Easing Animation Example](docs/src/screenshot2.png \"Easing Animation Example\")\n\n![i18n Example](docs/src/screenshot3.png \"i18n Example\")\n\n![Car Dashboard Example](docs/src/screenshot4.png \"Car Dashboard Example\")\n\n![Animating Images Example](docs/src/screenshot5.png \"Animating Images Example\")\n\n![Monitor Example](docs/src/screenshot6.png \"Monitor Example\")\n\n![Audio Player Example](docs/src/screenshot7.png \"Audio Player Example\")\n\n\n***\n## License\n\nEGT is released under the terms of the `Apache 2` license. See the [COPYING](COPYING)\nfile for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinux4sam%2Fegt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flinux4sam%2Fegt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinux4sam%2Fegt/lists"}