首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

为 Linux 安装触摸屏(2)

为 Linux 安装触摸屏(2)

确定正确的 modeline 设置如果使用简单的方法来安装 LCD,那么屏幕可能在 Linux OS 启动时就可以自动识别了;如果是这样,就可以开始设置触摸屏了。如果采用困难的方法,或者没有自动识别出 LCD,那么可能需要建立定制的 modeline。不同的 modeline 可以通过查询 Google 获得,也可以查看制造厂商的规格说明,或者自己试验在正确的配置文件中包含的 modeline。如果正在安装一个 PSOne LCD,那么找出正确的 modeline 的最简单方法是使用基于 Windows 的 PC,并使用 PowerStrip 工具(其中提供了对多种显卡的高级多屏显示的可编程硬件支持;请参阅 )。
如果知道 LCD 的专用分辨率,就可以首先试用一下这些值。对于 PSOne LCD 来说,可以首先尝试一下 640x480i(Arcade)。从这里开始,可能需要修改扫描频率(PowerStrip 工具可以修改这个设置),直到获得稳定的图像为止。
表 1 列出了为 PSOne LCD 的不同显卡所使用的适当 modeline —— 我发现这些值都可以通过在互联网上进行搜索获得。我无法获得所有的显卡,因此这里使用的唯一显卡是 ATI 9600XT。如果您发现这些设置中有错误,并且希望对这个清单贡献自己的力量,请给我发 e-mail。
表 1. Linux modelineCardNTSC/PALModelineMatrox MystiqueNTSC"640x480" 12.954 640 680 744 816 480 496 504 528 interlace +hsync +vsyncMatrox Millenium G200NTSC"640x480" 13.193 640 688 752 832 480 492 500 524 interlace -hsync -vsyncMatrox Millenium G200PAL"720x576" 14.875 720 736 800 896 576 602 606 668 interlace +hsync +vsyncATI 7000NTSC"640x480" 12.175 640 664 720 784 480 486 493 524 interlace +hsync +vsyncATI 7000PAL"720x576" 14.950 720 763 859 920 576 580 584 588 interlace +hsync +vsyncATI 9600XTNTSC"640x480" 13.582 640 704 768 864 480 486 493 524 interlace -hsync -vsyncATI 9700PAL"720x576" 14.881 720 781 829 960 576 606 610 646 interlace +hsync +vsyncEPIA 800NTSC"640x480" 13.678 640 672 736 800 480 486 494 524 interlace composite
modeline 的位置现在已经确定了正确的 modeline 设置,这些信息需要放到两个位置。第一个位置是 xorg.conf 配置文件,第二个位置是 boot 参数。接下来让我们对它们进行一下介绍。
xorg.conf 配置文件清单 1 是一个样例 xorg.conf 配置文件。可以对这个文件简单地进行修改,从而通过添加另外一个 Monitor/Screen 标识符来实现一个双头的显示设置。另外,请注意一下 ForceMinDotClock 选项。ATI 9600XT 报告说自己的最小的点时钟是 20M,但是实际上可以更低。这个选项让我们可以在 modeline 中设置更低的点时钟。PSOne LCD 需要一个更低的点时钟(范围是 12M-15M)来驱动显示器。根据自己使用的 LCD ,可以包括这些设置,也可以不包括这些设置。
这个清单还包括了 touchkit 的必要设置。对于我使用的 touchkit 来说,设备和驱动程序可以从安装手册中获得。根据决定使用的触摸屏的厂商不同,设置可能会有所不同。
清单 1. xorg.conf 配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# Xorg configuration created by system-config-display
Section "ServerLayout"
    Identifier     "Single head configuration"
    Screen      0  "Screen0" Absolute 0 0
#   Screen      1  "Screen1" Absolute 640 0
    InputDevice    "Mouse0" "CorePointer"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "TKPANEL" "SendCoreEvents"
    Option         "AllowMouseOpenFail" "true"
EndSection
Section "Files"
    RgbPath      "/usr/X11R6/lib/X11/rgb"
    FontPath     "unix/:7100"
EndSection
Section "Module"
    Load  "dbe"
    Load  "extmod"
    Load  "fbdevhw"
    Load  "glx"
    Load  "record"
    Load  "freetype"
    Load  "type1"
    Load  "dri"
    Load  "v4l"
EndSection
Section "InputDevice"
    Identifier  "Keyboard0"
    Driver      "kbd"
    Option          "XkbModel" "pc105"
    Option          "XkbLayout" "us"
EndSection
Section "InputDevice"
    Identifier  "Mouse0"
    Driver      "mouse"
    Option          "Protocol" "IMPS/2"
    Option          "Device" "/dev/input/mice"
    Option          "ZAxisMapping" "4 5"
    Option          "Emulate3Buttons" "yes"
EndSection
Section "InputDevice"
    Identifier  "TKPANEL"
    Driver      "touchkit"
    Option      "Device" "/dev/tkdat0"
    Option      "DebugLevel" "0"
EndSection
Section "Monitor"
    Identifier   "Monitor0"
    VendorName   "Monitor Vendor"
    ModelName    "LCD Panel 640x480i"
    HorizSync    15.720
    Option          "dpms"
    Modeline     "640x480" 13.582 640 704 768 864 480 486 493 524 interlace -hsync -vsync
EndSection
Section "Device"
    Identifier  "Videocard0"
    Driver      "radeon"
    VendorName  "Videocard vendor"
    BoardName   "ATI Radeon 9600"
    Option      "ForceMinDotClock" "13M"
EndSection
Section "Screen"
    Identifier "Screen0"
    Device     "Videocard0"
    Monitor    "Monitor0"
    DefaultDepth     16
    SubSection "Display"
        Viewport   0 0
        Depth     16
        Modes    "640x480"
    EndSubSection
EndSection
Section "DRI"
    Group        0
    Mode         0666
EndSection

返回列表