miniGUI安装

 

    1.6.2是目前飞漫公司在GPL许可下发行的miniGUI最新版本,2.0.3 和1.6.9是商业增值版,分别适用于有MMU和没有MMU的处理器,用这两个个是要花¥的。

 

一.编译安装miniGUI 1.6.2
   首先要做好准备工作,去http://www.minigui.org/res.shtml下载一下压缩包:
    开发库:libminigui-str-1.6.2.tar.gz
    资源文件:minigui-res-str-1.6.tar.gz
    示例程序:mg-samples-str-1.6.2.tar.gz
    建议在qvfb中运行miniGUI程序,这样比较方便,qvfb下载地址:
http://www.minigui.com/downloads/dep-libs/qvfb-1.0.tar.gz


(1)安装minigui-res-1.6.tar.gz:MiniGUI 所使用的资源, 包括基本字体、图标、位图和鼠标光标。
安装命令:
#tar -zxf minigui-res-1.6.tar.gz
#cd minigui-res-1.6
#make install


(2)安装libminigui-1.6.2.tar.gz:MiniGUI 函数库源代码。
解压命令:
#tar -zxf libminigui-1.6.2.tar.gz
这里有一个bug,解压缩后进入libminigui-str-1.6.2/src/kernel打开init.c文件,
删除或注释掉下面这几行
#ifdef __LINUX__
else {
pthread_kill_other_threads_np ();
}
#endif
保存退出,然后回到/libminigui-str-1.6.2目录接着安装:
#cd libminigui-1.6.2
#./configure
#make
#make install


(3)把libminigui加入库搜索路径:
进入/etc/ld.so.conf.d建一个vminigui.conf,写上/usr/local/lib
可以使用命令完成:
#echo /usr/local/lib > /etc/ld.so.conf


(4)最后要把系统共享库缓存刷新,将libminigui加载上,可以使用命令
#ldconfig
这个命令执行时要花十多秒,耐心等待。当然不使用刷新命令重启系统也可以。


(5)编译示例程序
解压并编译mg-smaples-1.6.2.tar.gz:
#tar –zxf mg-smaples-1.6.2.tar.gz
#./configure
#make

如果helloworld.c 编译不过,去掉#include <mywindow.h>试一试


----------------------------------------------------
二.配置minigui
minigui在linux中有两种运行模式:fbcon和qvfb
fbcon:Frame Buffer Console
qvfb: Qt Virtual Frame Buffer
看名字就知道fbcon在控制台下运行,这种模式下你不能开linux的X图形界面,使用不方便。fbcon则是带帧缓冲的虚拟控制台,minigui程序在qvfb中运行就像我们在图形界面下的Terminal中运行命令一样。两种模式我都试过了,详细配置如下:
(1)fbcon模式
打开MiniGUI.cfg 
# gedit /usr/local/etc/MiniGUI.cfg
注意这一段:
-------------------------------------------------
[system]
# GAL engine
gal_engine=fbcon
# IAL engine
ial_engine=fbcon 
mdev=/dev/mouse
mtype=IMPS2
-------------------------------------------------
gal_engine和ial_engine的值应该设置为fbcon,minigui安装后默认设置就是这样,所以你不用改。要注意的就是鼠标的设置,
如果用的是fedora7,其中鼠标设备文件不是这里的/dev/mouse,而是/dev/input/mice,最好建一个符号链接到/dev/mouse


配置文件MiniGUI.cfg搞定后需要开启linux内核的帧缓冲支持,这个是在引导器中修改,我使用的是现在最流行的grub,修改方法:
# vim /boot/grub/menu.lst
在menu.lst中加入一个段落:
----------------------------------------------------------
title MiniGUI 1.6.2
   root (hd0,0)
   kernel /boot/vmlinuz-2.4.20-8 ro root=LABEL/ vga=0x0314 fb:on
   initrd /boot/initrd-2.4.20-8.img
----------------------------------------------------------
这里的root(hd0,0)以及kernel,initrd段需要结合你自己的系统和分区情况填写,最简单的办法是把你以前的一个linux启动项找过来对照着改,kernel项后面的vga=0x0314 fb:on是设置显示器分辨率,打开帧缓冲。
显示模式对照表:
-------------------------------------------------------
       640x480    800x600    1024x768    1280x1024
8位色   0x301      0x303       0x305       0x307
15位色   0x310      0x313       0x316       0x319
16位色   0x311      0x314       0x317       0x31A
24位色   0x312      0x315       0x318       0x31B
-------------------------------------------------------
重启系统在grub中选择title MiniGUI 1.6.2
登录后就可以运行mg-smaples-1.6.2/src中的例子了,运行一个helloworld试试效果,如果没有问题正常显示了窗口就说明一切OK了。
(2)qvfb模式
把下载回来的qvfb-1.0.tar.gz解压安装:
# tar zxf qvfb-1.0.tar.gz
# cd qvfb-1.0
# ./configure
# make
# make install
打开MiniGUI.cfg 
# gedit /usr/local/etc/MiniGUI.cfg
注意一下段落:
---------------------------------------------------
[system]
# GAL engine
gal_engine=qvfb  
# IAL engine
ial_engine=qvfb  
mdev=/dev/mouse
mtype=IMPS2
[fbcon]
defaultmode=1024x768-16bpp
[qvfb]
defaultmode=640x480-16bpp 
display=0
---------------------------------------------------
gal_engine和ial_engine的值应该设置为qvfb,minigui安装后默认设置就是fbcon,所以你要改过来。另外要注意
[qvfb]段中的defaultmode,这个是你需要使用的显示器分辨率和色深,后面设置qvfb要和这里一致,否则minigui运行时或报初始化
失败的错误。
然后就可以使用qvfb体验miniGUI了:
# qvfb &
加上&符号使qvfb进程开启后shell立即返回,否则会阻塞shell进程,需要再开一个shell才可以运行minigui程序。qvfb
运行起来后在qvfb中设置虚拟显示器分辨率:File-->Configure,注意Size和Depth要设置的同MiniGUI.cfg中的
分辨率和色深一致。
qvfb设置搞定后就可以运行mg-smaples-1.6.2/src中的例子了,运行一个helloworld试试效果,Good luck!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值