All Projects → zlgopen → Awtk Linux Fb

zlgopen / Awtk Linux Fb

awtk port for linux framebuffer

Programming Languages

c
50402 projects - #5 most used programming language

Labels

Projects that are alternatives of or similar to Awtk Linux Fb

Chocolateygui
A delicious GUI for Chocolatey
Stars: ✭ 1,031 (+1590.16%)
Mutual labels:  gui
Crunchyroll Downloader
A little GUI to download crap from crunchyroll.
Stars: ✭ 54 (-11.48%)
Mutual labels:  gui
Googledriveuploadtool
A tool for Windows to upload and manage files in Google Drive. It resumes uploads in case of an error or failure. Perfect for uploading large files or if your connection is unstable.
Stars: ✭ 58 (-4.92%)
Mutual labels:  gui
Xfreq
a UNIX software to monitor the Intel Core i7 and Core 2 showing turbo boost, temperatures, cstates and other processor features.
Stars: ✭ 47 (-22.95%)
Mutual labels:  gui
Lode
A universal GUI for unit testing
Stars: ✭ 51 (-16.39%)
Mutual labels:  gui
Wordagam
A fun & interactive word game 🍄
Stars: ✭ 55 (-9.84%)
Mutual labels:  gui
Serina
GUI for create translation files for i18next
Stars: ✭ 45 (-26.23%)
Mutual labels:  gui
Customui
Library to create custom UI's in MCPE 1.2+
Stars: ✭ 60 (-1.64%)
Mutual labels:  gui
Macytdl
A macOS GUI front-end for the youtube-dl video downloader
Stars: ✭ 52 (-14.75%)
Mutual labels:  gui
Nana Demo
demos and tests for Nana C++ GUI library
Stars: ✭ 57 (-6.56%)
Mutual labels:  gui
Bogue
GUI library for ocaml based on SDL2
Stars: ✭ 48 (-21.31%)
Mutual labels:  gui
Gdbgui
Browser-based frontend to gdb (gnu debugger). Add breakpoints, view the stack, visualize data structures, and more in C, C++, Go, Rust, and Fortran. Run gdbgui from the terminal and a new tab will open in your browser.
Stars: ✭ 8,339 (+13570.49%)
Mutual labels:  gui
Batchimageprocessor
A Mass Image Processing tool for Windows
Stars: ✭ 55 (-9.84%)
Mutual labels:  gui
Kowl
Apache Kafka Web UI for exploring messages, consumers, configurations and more with a focus on a good UI & UX.
Stars: ✭ 1,036 (+1598.36%)
Mutual labels:  gui
Nativefiledialog
A tiny, neat C library that portably invokes native file open and save dialogs.
Stars: ✭ 1,100 (+1703.28%)
Mutual labels:  gui
Easychart
A visual editor for the world's best web charting tool: Highcharts.
Stars: ✭ 45 (-26.23%)
Mutual labels:  gui
Gdut Drcom Dialer
宇工大狗联网拨号器
Stars: ✭ 54 (-11.48%)
Mutual labels:  gui
Neuralnetplayground
A MATLAB implementation of the TensorFlow Neural Networks Playground seen on http://playground.tensorflow.org/
Stars: ✭ 60 (-1.64%)
Mutual labels:  gui
Wxpython Examples
Source code examples from the ZetCode's wxPython tutorial
Stars: ✭ 60 (-1.64%)
Mutual labels:  gui
Ttkwidgets
A collection of widgets for Tkinter's ttk extensions by various authors
Stars: ✭ 57 (-6.56%)
Mutual labels:  gui

AWTK 针对 arm-linux 平台的移植。

AWTK 是为嵌入式系统开发的 GUI 引擎库。

awtk-linux-fb 是 AWTK 在 arm-linux 上的移植。

本项目以 ZLG 周立功 linux 开发套件 AWork 平台 iMX287A 入门级 ARM9 开发板 为载体移植,其它开发板可能要做些修改,有问题请请创建 issue。

使用方法

    1. 获取源码

以下三者并列放在同一个目录。

git clone https://github.com/zlgopen/awtk.git
git clone https://github.com/zlgopen/awtk-examples.git
git clone https://github.com/zlgopen/awtk-linux-fb.git
cd awtk-linux-fb
    1. 编辑 awtk_config.py 设置工具链的路径
TSLIB_LIB_DIR='/opt/28x/tslib/lib'
TSLIB_INC_DIR='/opt/28x/tslib/include'
TOOLS_PREFIX='/opt/28x/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin/arm-linux-'

如果不需要 tslib,不定义 TSLIB_LIB_DIR 和 TSLIB_INC_DIR 即可。如:

#TOOLS_PREFIX=''
#TSLIB_LIB_DIR=''
    1. 编辑 awtk-port/main_loop_linux.c 修改输入设备的文件名
#define FB_DEVICE_FILENAME "/dev/fb0"
#define TS_DEVICE_FILENAME "/dev/input/event0"
#define KB_DEVICE_FILENAME "/dev/input/event1"
#define MICE_DEVICE_FILENAME "/dev/input/mouse0"

注意:在有些平台下,如果设置 #define MICE_DEVICE_FILENAME "/dev/input/mice”,会出现触摸不灵的问题。通过 hexdump /dev/input/mice 命令发现,按下触摸屏或操作鼠标都会打印信息,即/dev/input/mice 会同时接收触摸和鼠标事件。可通过"hexdump /dev/input/xx" 命令选择正确的鼠标设备文件名。

    1. 编译(请先安装 scons)

生成内置 demoui 例子,生成结果在 build/bin 文件夹下的 demoui 文件

scons

也可以指定生成其他 Demo,生成结果在 build/bin 文件夹下的 demo 文件

scons APP=../awtk-examples/HelloWorld.Xml-Demo

有些 Demo 包含了两套不同 LCD 大小的资源,如:Chart-Demo

  • 编译 Chart-Demo,并使用 LCD 为 800 * 480 的资源:
scons APP=../awtk-examples/Chart-Demo
  • 编译 Chart-Demo,并使用 LCD 为 480 * 272 的资源:
scons APP=../awtk-examples/Chart-Demo LCD=480_272
    1. 生成发布包

对于内置的 demoui 例子

sh ./release.sh

对于其他 Demo,需要加入资源文件夹参数,指向应用程序 assets 的父目录

sh ./release.sh ../awtk-examples/HelloWorld.Xml-Demo/res demo
    1. 运行

把 release.tar.gz 上传到开发板,并解压,然后运行:

sudo ./release/bin/demoui
sudo ./release/bin/demo

文档

其他问题

1. 项目路径

默认情况下,scons 脚本假设以下文件夹在同一个目录。

zlgopen
  |-- awtk
  |-- awtk-examples
  |-- awtk-linux-fb

2. 使用 Direct Rendering Manager (DRM)

缺省使用 framebuffer,如果使用 DRM,请修改 awtk_config.py,指定 LCD_DEICES 和 drm 的路径。

LCD_DEICES='drm'

#for drm
OS_FLAGS=OS_FLAGS + ' -DWITH_LINUX_DRM=1 -I/usr/include/libdrm '
OS_LIBS = OS_LIBS + ['drm']

DRM 目前只在虚拟机中测试过,如果有问题请参考 wtk-port/lcd_linux_drm.c 进行调试。

3. 使用 EGL 硬件加速

缺省使用 framebuffer,如果使用 EGL,请参考文档 how_to_use_egl.md

4. 编译输出 AWTK 动态链接库文件

请修改 awtk_config.py,将 os.environ['WITH_AWTK_SO'] 标记为 true,则执行 scons 会同时输出 libawtk.so 等动态链接库文件。

os.environ['WITH_AWTK_SO'] = 'true'

5. 上传文件到开发板的方法

如果开发板支持 ssh,可以使用 scp 命令上传文件或文件夹,比如上传文件:

# 开发板ip:192.168.1.136
# 登录用户名:root
# 上传文件 release.tar.gz 到 /opt 目录
scp release.tar.gz [email protected]:/opt/release.tar.gz

上传文件夹:

# 创建文件夹 ./release 中所有文件到 /opt/awtk 目录
scp -r ./release [email protected]:/opt/awtk
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].