All Projects → lvgl → Lv_sim_eclipse_sdl

lvgl / Lv_sim_eclipse_sdl

Licence: mit
PC simulator project for LVGL embedded GUI Library. Recommended on Linux and Mac.

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Lv sim eclipse sdl

Libwetcloth
A Multi-Scale Model for Simulating Liquid-Fabric Interactions
Stars: ✭ 323 (+156.35%)
Mutual labels:  graphics-library
Guilite
✔️The smallest header-only GUI library(4 KLOC) for all platforms
Stars: ✭ 5,841 (+4535.71%)
Mutual labels:  graphics-library
Hagl
Hardware Agnostic Graphics Library for embedded
Stars: ✭ 41 (-67.46%)
Mutual labels:  graphics-library
Debug Draw
Immediate-mode, renderer agnostic, lightweight debug drawing API.
Stars: ✭ 366 (+190.48%)
Mutual labels:  graphics-library
Fabgl
Display Controller (VGA, SSD1306, ST7789, ILI9341), PS/2 Mouse and Keyboard Controller, Graphics Library, Sound Engine, Game Engine and ANSI/VT Terminal for the ESP32
Stars: ✭ 534 (+323.81%)
Mutual labels:  graphics-library
Chafa
📺🗿 Terminal graphics for the 21st century.
Stars: ✭ 774 (+514.29%)
Mutual labels:  graphics-library
Graphene
A thin layer of graphic data types
Stars: ✭ 268 (+112.7%)
Mutual labels:  graphics-library
Bgrabitmap
📜 BGRABitmap graphics library made with Lazarus (Free Pascal).
Stars: ✭ 112 (-11.11%)
Mutual labels:  graphics-library
Silk.net
The high-speed OpenAL, OpenGL, Vulkan, and GLFW bindings library your mother warned you about.
Stars: ✭ 534 (+323.81%)
Mutual labels:  graphics-library
Acid
A high speed C++17 Vulkan game engine
Stars: ✭ 838 (+565.08%)
Mutual labels:  graphics-library
Vkvg
Vulkan 2D graphics library
Stars: ✭ 394 (+212.7%)
Mutual labels:  graphics-library
Rust Skia
Safe Skia Bindings for Rust
Stars: ✭ 450 (+257.14%)
Mutual labels:  graphics-library
Mesh Subdivision
A collection of common mesh subdivision algorithms
Stars: ✭ 25 (-80.16%)
Mutual labels:  graphics-library
Fbg
Lightweight C 2D graphics API agnostic library with parallelism support
Stars: ✭ 349 (+176.98%)
Mutual labels:  graphics-library
Doomfire
DOOM fire implementation written in rust
Stars: ✭ 80 (-36.51%)
Mutual labels:  graphics-library
Webclgl
GPGPU Javascript library 🐸
Stars: ✭ 313 (+148.41%)
Mutual labels:  graphics-library
Lvgl
Powerful and easy-to-use embedded GUI library with many widgets, advanced visual effects (opacity, antialiasing, animations) and low memory requirements (16K RAM, 64K Flash).
Stars: ✭ 8,172 (+6385.71%)
Mutual labels:  graphics-library
Speculid
Easily Manage Graphics in Xcode Projects
Stars: ✭ 115 (-8.73%)
Mutual labels:  graphics-library
Graphicalgorithm
🐙 🐙图形学论文实现
Stars: ✭ 108 (-14.29%)
Mutual labels:  graphics-library
Code Red
A Graphics Interface for DirectX12 and Vulkan
Stars: ✭ 27 (-78.57%)
Mutual labels:  graphics-library

Simulator project for LVGL embedded GUI Library

The LVGL is written mainly for microcontrollers and embedded systems however you can run the library on your PC as well without any embedded hardware. The code written on PC can be simply copied when your are using an embedded system.

Using a PC simulator instead of an embedded hardware has several advantages:

  • Costs $0 because you you don't have to buy or design PCB
  • Fast because you don't have to design an manufacture PCB
  • Collaborative because any number of developers can work in the same environment
  • Developer friendly because much easier and faster to debug on PC

Requirements

The PC simulator is cross platform. Windows, Linux and OSX are supported, however on Windows it's easier to get started with a another simulator project.

  • SDL a low level driver library to use graphics, handle mouse, keyboard etc.
  • This project (configured for Eclipse CDT IDE)

Usage

Get the PC project

Clone the PC project and the related sub modules:

git clone --recursive https://github.com/littlevgl/pc_simulator_sdl_eclipse.git

Install SDL

You can download SDL from https://www.libsdl.org/

On on Linux you can install it via terminal:

sudo apt-get update && sudo apt-get install -y build-essential libsdl2-dev

Install Eclipse CDT

Download and install Eclipse CDT from http://www.eclipse.org/cdt/

Import the PC simulator project

  1. Open Eclipse CDT
  2. Click File->Import and choose General->Existing project into Workspace
  3. Browse the root directory of the project and click Finish
  4. Build your project and run it

CMake

The following steps can be used with CMake on a Unix-like system. This may also work on other OSes but has not been tested.

  1. Ensure CMake is installed, i.e. the cmake command works on the terminal.
  2. Make a new directory. The name doesn't matter but build will be used for this tutorial.
  3. Type cd build.
  4. Type cmake ... CMake will generate the appropriate build files.
  5. Type make -j4 or (more portable) cmake --build . --parallel.

NOTE: --parallel is supported from CMake v3.12 onwards. If you are using an older version of CMake, remove --parallel from the command or use the make option.

  1. The binary will be in ../bin/main, and can be run by typing that command.

Docker

  1. Build the docker container
docker build -t lvgl_simulator .
  1. Run the docker container
docker run lvgl_simulator

GUI with docker is platform dependent. For example, on macOS you can follow this tutorial and run a command similar to:

docker run -e DISPLAY=10.103.56.101:0 lvgl_simulator

Note that on macOS, you may need to enable indirect GLX rendering before starting Xquartz:

defaults write org.macosforge.xquartz.X11 enable_iglx -bool true
open -a Xquartz

For Linux environments with X Server, the following will the docker run command. Note that the first command, xhost + grants access to X server to everyone.

xhost +
docker run -e DISPLAY=$DISPLAY -v /tmp/.X11-unix/:/tmp/.X11-unix:ro -t lvgl_simulator

Contributing

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request!

If you find an issue, please report it via GitHub!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].