vmware下Red Hat 9.2下安装编译MiniGui(转加工)
环境:VMWARE + Red Hat Linux 9.2
MiniGui软件包:
1). libminigui-1.6.10-linux.tar.gz
2). minigui-res-1.6.10.tar.gz
3). mde-1.6.10.tar.gz
4). mg-samples-1.6.0.tar.gz
5). qvfb-1.1
1. 打开编译选项
make menuconfig -> prompt for development and/or incomplete code/driver(第一项)
选上之后才会有framebuffer的选项,因为framebuffer属于"试验"的特性。
在console drivers里面可以找到framebuffer的选项。
进入到 /boot/grub目录下,
# vi grub.conf
加入
title MiniGUI FrameBuffer
root (hd0,0)
kernel /boot/vmlinuz-2.4.20-8 ro root=LABEL/ vga=0x0314 fb:on
意思是引导标题MiniGUI FrameFuffer模式 root 所在第一IDE硬盘的第一分区做为引导分区
kernel 内核的路径在/boot下名为vmlinuz-2.4.20-8的文件,ro是以只读方式挂接 root=LABEL/
vga=0x0314 意为使用800x600的分辩率
*)使用640x480 分辩率改为vga=0x0311
*)使用1024x768分辩率改为vga=0x0317
后面的fb:on 是关键,它就是打开内核FrameBuffer显示模式的关键参数,重新启动后你就可以看到屏幕左上角可爱的小启鹅了。
2. 装下载的minigui软件包放到/tmp下.
分别为libminigui-1.6.0-linux.tar.gz ---MiniGUI相关函数库
mde-1.60.tar.gz ---MiniGUI的演示程序
minigui-res-1.6.tar.gz ---MiniGUI的资源文件
3. 进入/tmp下,
# tar -zxvf minigui-res-1.6.10.tar.gz
# cd minigui-res-1.6.10
# make install
安装相应MiniGUI的相关资源.
4. 在/tmp下,
# tar -zxvf libminigui-1.6.10.tar.gz
# cd libminigui-1.6.10
# ./configure
# make
# make install
5. # vi /etc/ld.so.conf
在最后一行加入 /usr/local/lib 即在系统共享函数库中加入MiniGUI的函数库路径
6. 在第5步中做了修改并保存后,执行 ldconfig 命令,更新系统函数库缓存
7. 至此MiniGUI的安装部分已经完成.
8. # vi /usr/local/etc/MiniGUI.cfg
找到
[fbcon]
defaultmode=800x600-16bpp (原文为fbcon方式,我这里是用qvfb方式)
将defaultmode改为你我想使用的分辩率,改为defaultmode=800x600-16bpp或640x480-16bpp
[system]
gal_engine=qvfb
defaultmode=640x480-16bpp
ial_engine=qvfb
mdev=/dev/input/mice
mtype=IMPS2
[qvfb]
defaultmode=600x480-16bpp
display=0
9. # tar zvxf qvfb-1.1.tar.gz
# cd qvfb-1.1
# ./configure
# make
# make install
这个过程可能会有 ... >= 3.0.3 ...错误,装上qt-designer(不知有没有用),qt-devel(必须的 :) )就可以了.
10. 编译HelloWorld.c ( 在mg-samples.../src里)
# gcc -o hello helloworld.c -lminigui -lpthread -ljpeg -lpng -lttf
11. 执行HelloWorld例子 (需要进入 X window)
1). 进入qvfb-1.1目录
2). # ./qvfb/qvfb -width 600 -height 480 &
后台运行, qvfb高度和宽度要和MiniGUI.cfg里 qvfb的defaultmode一致,否则运行hello会报错:
NEWGAL: Video mode smaller than requested. (这个就是因为qvfb与minigui.cfg里的配置不一致造成)
NEWGAL: Set video mode failure.
InitGUI: Can not initialize graphics engine!
3). ./hello
弹出helloworld的窗口,成功。
阅读(1335) | 评论(0) | 转发(1) |