QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2177|回复: 7

fc5 安装 egui 的问题

[复制链接]
发表于 2006-5-14 11:24:11 | 显示全部楼层 |阅读模式
在内核编译时对framebuffer的支持是编译成模块而是编进内核?
现在运行 ewm时会报错说打不开设备
发表于 2006-5-14 15:39:26 | 显示全部楼层
1.编译的src-gui/driver目录产生一个模块
  insmod kegui.ko

2. mknod /dev/egui c 240 0

3../ewm

ewm需要打开/dev/fb0,/dev/egui两个设备文件。

你的提示中说了打开/dev/egui,错误还是/dev/fb0错误。

如果是/dev/egui错误,是驱动没有安装,或者没有建立设备文件。

如果是打开/dev/fb0错误,是否是你的framebuffer没有启动?
回复

使用道具 举报

 楼主| 发表于 2006-5-14 22:54:59 | 显示全部楼层
谢谢asmcos

现在设备打开是没问题了。但运行ewm时出现这个错误:

Mmap error! mem:0

以下是我的版本信息和运行步骤:
linux kernel: 在kernel-2.6.16-1.2111_FC5.src.rpm基础上自己编译而成,把framebuffer支持选择成模块,另处还选了nvidia framebuffer support模块。
我自己平常用的是kernel-2.6.16.-1.2096_FC5

在我新编译的内核模块目录kernel/drivers/video/下有vga16fb.ko vgastate.ko nvidia/nvidiafb.ko

对于新内核的启动,我只是在grub里新建了一个menu. 以及加入内核参数vga=0x316
先加载frambuffer module:
     modprobe vga16fb.ko
     insmod kegui.ko
此时/dev/fb0,/dev/egui两个设备文件已经存在
     ewm *.bmp &
  就提示上面的错误了。

我在想是不是要把对frambuffer的支持编进内核,而不是作为模块加载啊??
回复

使用道具 举报

发表于 2006-5-15 10:48:02 | 显示全部楼层
>>我在想是不是要把对frambuffer的支持编进内核,而不是作为模块加载啊??
你可以将framebuffer编译在内核的内置方式加载.但这两种方式不影响结果.

>>Mmap error! mem:0
应该是framebuffer驱动加载不正常.不能提供mmap接口.

你可以使用fbset查看framebuffer信息.
回复

使用道具 举报

 楼主| 发表于 2006-5-15 23:51:04 | 显示全部楼层
今天试了一下把启动内核时的参数改成vga=0x317就不会报错了。

以下分别是vga=0x316和0x317运行fbset的结果:

mode "640x480-60"
    # D: 25.176 MHz, H: 31.469 kHz, V: 59.942 Hz
    geometry 640 480 640 480 4
    timings 39721 48 16 33 10 96 2
    rgba 6/0,6/0,6/0,0/0
endmode
---------------------------------
mode "1024x768-76"
    # D: 78.653 MHz, H: 59.949 kHz, V: 75.694 Hz
    geometry 1024 768 1024 768 16
    timings 12714 128 32 16 4 128 4
    rgba 5/11,6/5,5/0,0/0
endmode

不过在vga=0x317下图形输出和命令行字符输出的配合不太好。当然这可能是使用framebuffer本该如此,明天我好好的试一下。
回复

使用道具 举报

发表于 2006-5-16 08:30:09 | 显示全部楼层
0x316这种模式 好像没有启动对.
mode "640x480-60"
# D: 25.176 MHz, H: 31.469 kHz, V: 59.942 Hz
geometry 640 480 640 480 4//4 位色.
timings 39721 48 16 33 10 96 2
rgba 6/0,6/0,6/0,0/0
endmode
回复

使用道具 举报

 楼主| 发表于 2006-5-16 21:33:11 | 显示全部楼层
我找了点frambuffer的文档,看是否能找到点答案。找到的话,我再帖出来。

今天小测了一下。发现玩那个游戏时字符终端的鼠标和egui的鼠标似乎有点冲突。出现过以下三种情况:
只有字符终端的鼠标出现在屏幕上,并响应鼠标的移动;
两个鼠标都出现在屏幕上,但只有字符终端的鼠标能响应鼠标的移动;
两个鼠标都出现在屏幕上,并都响应鼠标的移动;

估计把字符终端的鼠标关了就好了。但还不知道怎么关.
回复

使用道具 举报

发表于 2006-5-16 21:47:16 | 显示全部楼层
其实EGui启动后应该屏蔽其他framebuffer输入,或者控制本地的控制台的输出。

这个有很多图形系统都是这么做的,看microwin代码里面应该有。
EGui会解决这个问题的。

我这段时间比较忙,在做www.egui.org的wiki的网站建设。
还有窗口管理的工作。

本职工作也很多。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-2 16:26 , Processed in 0.085365 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表