{"id":22619389,"url":"https://github.com/bouassaba/revyv","last_synced_at":"2025-03-29T01:42:22.744Z","repository":{"id":165341824,"uuid":"604790126","full_name":"bouassaba/revyv","owner":"bouassaba","description":"Display Server for the Web","archived":false,"fork":false,"pushed_at":"2023-12-18T00:02:21.000Z","size":144,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-03T11:50:01.438Z","etag":null,"topics":["compositor","display-server"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bouassaba.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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":"2023-02-21T19:49:27.000Z","updated_at":"2024-01-28T10:12:03.000Z","dependencies_parsed_at":"2023-12-18T01:21:07.167Z","dependency_job_id":null,"html_url":"https://github.com/bouassaba/revyv","commit_stats":null,"previous_names":["bouassaba/revyv"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bouassaba%2Frevyv","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bouassaba%2Frevyv/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bouassaba%2Frevyv/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bouassaba%2Frevyv/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bouassaba","download_url":"https://codeload.github.com/bouassaba/revyv/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246126663,"owners_count":20727594,"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","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":["compositor","display-server"],"created_at":"2024-12-08T21:18:59.901Z","updated_at":"2025-03-29T01:42:22.728Z","avatar_url":"https://github.com/bouassaba.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Revyv\n\nCompositing display server and web browser client. The compositor uses OpenGL textures for window compositing, ZeroMQ for IPC and SDL for input handling. The web browser client is based on CEF (Chromium Embedded Framework).\n\n**compositor**\n\nWritten in C++17, uses OpenGL for hardware accelerated rendering, Linux shared memory and ZeroMQ for inter-process communication, and SDL for mouse and keyboard event handling.\n\n**librevyv**\n\nLow-level C API used by client apps to communicate with `compositor`, it is implemented in C++ but it has a C ABI that makes it easier to port to other programming languages.\n\n**webbrowser**\n\nA web browser based on Chromium Embedded Framework (CEF), uses `librevyv` to communicate with `compositor`.\n\n## Build\n\n#### Ubuntu\n\n_(Tested on Ubuntu 22.10 Kinetic Kudu)_\n\nInstall CMake:\n\n```shell\nsudo apt install cmake\n```\n\nInstall dependencies:\n\n```\nsudo apt install libsdl2-dev libcairo-dev libzmq3-dev cppzmq-dev liblzo2-dev\n```\n\n#### openSUSE\n\n_(Tested on openSUSE Leap 15.4)_\n\nInstall CMake:\n\n```shell\nsudo zypper install cmake\n```\n\nInstall dependencies:\n\n```\nsudo zypper install SDL2-devel cairo-devel zeromq-devel cppzmq-devel lzo-devel\n```\n\n## Run\n\nRun `compositor`:\n\n```shell\n./compositor\n```\n\nAdd `librevyv` to `LD_LIBRARY_PATH`:\n\n```shell\nexport LD_LIBRARY_PATH=/path/to/cmake/build/librevyv\n```\n\nAny client app can now be started, in this case we run `webbrowser`:\n\n```shell\n./webbrowser --frame=\"200,200,1000,600\" --url=\"https://youtube.com\"\n./webbrowser --frame=\"600,400,1000,600\" --url=\"https://dw.com\"\n./webbrowser --frame=\"400,50,1000,600\" --url=\"https://www.waze.com/live-map\"\n./webbrowser --frame=\"800,100,1000,600\" --url=\"https://google.com\"\n```\n\n## Licensing\n\nRevyv is released under the [The MIT License](./LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbouassaba%2Frevyv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbouassaba%2Frevyv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbouassaba%2Frevyv/lists"}