购买Raspberry Pi V2后,还得为他配置其他一些周边器件,如5V2A的micro usb电源线、显示器、键盘、鼠标等。手头上有N多VGA显示器,却没一台DVI的,没办法,淘宝上买了专门针对树莓派生产的电源(18RMB)和hdmi转vga线(70RMB)。
按照网上的一些说法,先通过SSH登录进去,把/boot/config.txt里的几个参数放出:
注意,必须把hdmi_drive设为2,因为1是DVI输出,2才是hdmi输出,因为我的线是hdmi转vga的。
这样,重新启动Pi后,基本能显示了,可是默认是640×480的,看着非常别扭,网上找了很多资料,包括把如下config.txt部分放开:
貌似分辨率成了1280×960,而实际上是,只是Pi按1280×960输出到屏幕上了,而屏幕的分辨率还是640×480的,所以字体很虚很模糊,几乎看不清。
按理说只要更改
hdmi_group=2 —>1:CEA 2:DMT
hdmi_mode=4 —>从模式列表中选取一种显示模式
就可以切换显示分辨率了,可是怎么改都没啥用。貌似不起任何作用!
幸好看了完整的Raspberry Pi配置说明,发现当hdmi_safe设置为1时,hdmi_group默认为1,hdmi_mode为1,后面你怎么改hdmi_group和hdmi_mode都不起作用了!!!
## hdmi_safe
## Use "safe mode" settings to try to boot with maximum hdmi compatibility.
##
## Value Description
## -------------------------------------------------------------------------
## 0 Disabled (Default)
## 1 Enabled (this does: hdmi_force_hotplug=1, config_hdmi_boost=4,
## hdmi_group=1, hdmi_mode=1,
## disable_overscan=0)
##
#hdmi_safe=1
注意看完整的Raspberry Pi配置说明,你会发现,当disable_overscan=1时,overscan_top、overscan_botom、overscan_left、overscan_right几个参数不起作用!
################################################################################
## Overscan Video Settings
################################################################################
## overscan_left
## Number of pixels to skip on left
##
#overscan_left=0
## overscan_right
## Number of pixels to skip on right
##
#overscan_right=0
## overscan_top
## Number of pixels to skip on top
##
#overscan_top=0
## overscan_bottom
## Number of pixels to skip on bottom
##
#overscan_bottom=0
## disable_overscan
## Set to 1 to disable overscan
##
## Value Description
## -------------------------------------------------------------------------
## 0 Overscan Enabled (Default)
## 1 Overscan Disabled
##
#disable_overscan=1
所以,最后我的配置文件是这样的:
01 | pi@raspberrypi:/boot$ vi config.txt |
04 | # uncomment if you get no picture on HDMI for a default "safe" mode |
07 | # uncomment this if your display has a black border of unused pixels visible |
08 | # and your display can output without overscan |
11 | # uncomment the following to adjust overscan. Use positive numbers if console |
12 | # goes off screen, and negative if there is too much border |
18 | # uncomment to force a console size. By default it will be display's size minus |
20 | #framebuffer_width=1280 |
21 | #framebuffer_height=720 |
23 | # uncomment if hdmi display is not detected and composite is being output |
26 | # uncomment to force a specific HDMI mode (this will force VGA) |
30 | # uncomment to force a HDMI mode rather than DVI. This can make audio work in |
31 | # DMT (computer monitor) modes |
34 | # uncomment to increase signal to HDMI, if you have interference, blanking, or |
38 | # uncomment for composite PAL |
41 | #uncomment to overclock the arm. 700 MHz is the default. |
绝对完美运行。
一个对hdmi_safe=1的不了解,折腾了我这么多天,真是不值啊。
后面写的就不用看了,都是以前走的弯路,那个弯啊,绕啊,希望你们就别走了……
===========================================================
用tvservice -d edid.dat将edid数据导出到edid.dat:
1 | pi@raspberrypi:/opt/vc/bin$ tvservice -d edid.dat |
2 | Written 0 bytes to edid.dat |
没数据。。。
使用tvservice -s查看当前的显示状态
1 | pi@raspberrypi:~$ tvservice -s |
2 | state: HPD high|HDMI mode|HDCP off|composite off (0x12001a), 640x480 @ 60Hz, progressive |
的确是640×480 @ 60 Hz显示的。再用-m查看支持的显示,却发现只有一种CEA模式,而DMT模式根本就没有:
1 | pi@raspberrypi:~$ tvservice -m CEA |
3 | mode 1: 640x480 @ 60Hz, progressive |
4 | pi@raspberrypi:~$ tvservice -m DMT |
这就难怪怎么改config.txt中的hdmi_group和hdmi_mode都没用的原因了!!!
网上翻了很多资料,终于发现,只要在config.txt文件开头加入如下信息,重启,终于以更高的分辨率显示了:
hdmi_edid_file默认为0,表示从设备读取edid信息,如果为1,则强制从edid.txt文件读取edid信息。
启动后,进入终端,查看当前状态:
1 | pi@raspberrypi:~$ tvservice -s |
2 | state: HPD high|HDMI mode|HDCP off|composite off (0x12001a), 1280x720 @ 60Hz, progressive |
可见现在的显示模式是 1280×720 @ 60Hz。
现在hdmi是如下配置的:
貌似这个值不起作用了。
很疑惑,这个edid.txt文件在哪里???如果不存在,是否可以通过导入一个edit.txt文件来达到配置显示分辨率的目的呢?
附:
从这里http:///RPiconfig可以看到group和mode的对应关系,相应的修改即可:
01 | These values are valid if hdmi_group=1 (CEA) |
04 | hdmi_mode=3 480p 60Hz H |
08 | hdmi_mode=7 480i 60Hz H |
10 | hdmi_mode=9 240p 60Hz H |
11 | hdmi_mode=10 480i 60Hz 4x |
12 | hdmi_mode=11 480i 60Hz 4x H |
13 | hdmi_mode=12 240p 60Hz 4x |
14 | hdmi_mode=13 240p 60Hz 4x H |
15 | hdmi_mode=14 480p 60Hz 2x |
16 | hdmi_mode=15 480p 60Hz 2x H |
17 | hdmi_mode=16 1080p 60Hz |
19 | hdmi_mode=18 576p 50Hz H |
21 | hdmi_mode=20 1080i 50Hz |
23 | hdmi_mode=22 576i 50Hz H |
25 | hdmi_mode=24 288p 50Hz H |
26 | hdmi_mode=25 576i 50Hz 4x |
27 | hdmi_mode=26 576i 50Hz 4x H |
28 | hdmi_mode=27 288p 50Hz 4x |
29 | hdmi_mode=28 288p 50Hz 4x H |
30 | hdmi_mode=29 576p 50Hz 2x |
31 | hdmi_mode=30 576p 50Hz 2x H |
32 | hdmi_mode=31 1080p 50Hz |
33 | hdmi_mode=32 1080p 24Hz |
34 | hdmi_mode=33 1080p 25Hz |
35 | hdmi_mode=34 1080p 30Hz |
36 | hdmi_mode=35 480p 60Hz 4x |
37 | hdmi_mode=36 480p 60Hz 4xH |
38 | hdmi_mode=37 576p 50Hz 4x |
39 | hdmi_mode=38 576p 50Hz 4x H |
40 | hdmi_mode=39 1080i 50Hz reduced blanking |
41 | hdmi_mode=40 1080i 100Hz |
42 | hdmi_mode=41 720p 100Hz |
43 | hdmi_mode=42 576p 100Hz |
44 | hdmi_mode=43 576p 100Hz H |
45 | hdmi_mode=44 576i 100Hz |
46 | hdmi_mode=45 576i 100Hz H |
47 | hdmi_mode=46 1080i 120Hz |
48 | hdmi_mode=47 720p 120Hz |
49 | hdmi_mode=48 480p 120Hz |
50 | hdmi_mode=49 480p 120Hz H |
51 | hdmi_mode=50 480i 120Hz |
52 | hdmi_mode=51 480i 120Hz H |
53 | hdmi_mode=52 576p 200Hz |
54 | hdmi_mode=53 576p 200Hz H |
55 | hdmi_mode=54 576i 200Hz |
56 | hdmi_mode=55 576i 200Hz H |
57 | hdmi_mode=56 480p 240Hz |
58 | hdmi_mode=57 480p 240Hz H |
59 | hdmi_mode=58 480i 240Hz |
60 | hdmi_mode=59 480i 240Hz H |
61 | H means 16:9 variant (of a normally 4:3 mode). |
62 | 2x means pixel doubled (i.e. higher clock rate, with each pixel repeated twice) |
63 | 4x means pixel quadrupled (i.e. higher clock rate, with each pixel repeated four times) |
01 | These values are valid if hdmi_group=2 (DMT) |
02 | hdmi_mode=1 640x350 85Hz |
03 | hdmi_mode=2 640x400 85Hz |
04 | hdmi_mode=3 720x400 85Hz |
05 | hdmi_mode=4 640x480 60Hz |
06 | hdmi_mode=5 640x480 72Hz |
07 | hdmi_mode=6 640x480 75Hz |
08 | hdmi_mode=7 640x480 85Hz |
09 | hdmi_mode=8 800x600 56Hz |
10 | hdmi_mode=9 800x600 60Hz |
11 | hdmi_mode=10 800x600 72Hz |
12 | hdmi_mode=11 800x600 75Hz |
13 | hdmi_mode=12 800x600 85Hz |
14 | hdmi_mode=13 800x600 120Hz |
15 | hdmi_mode=14 848x480 60Hz |
16 | hdmi_mode=15 1024x768 43Hz DO NOT USE |
17 | hdmi_mode=16 1024x768 60Hz |
18 | hdmi_mode=17 1024x768 70Hz |
19 | hdmi_mode=18 1024x768 75Hz |
20 | hdmi_mode=19 1024x768 85Hz |
21 | hdmi_mode=20 1024x768 120Hz |
22 | hdmi_mode=21 1152x864 75Hz |
23 | hdmi_mode=22 1280x768 reduced blanking |
24 | hdmi_mode=23 1280x768 60Hz |
25 | hdmi_mode=24 1280x768 75Hz |
26 | hdmi_mode=25 1280x768 85Hz |
27 | hdmi_mode=26 1280x768 120Hz reduced blanking |
28 | hdmi_mode=27 1280x800 reduced blanking |
29 | hdmi_mode=28 1280x800 60Hz |
30 | hdmi_mode=29 1280x800 75Hz |
31 | hdmi_mode=30 1280x800 85Hz |
32 | hdmi_mode=31 1280x800 120Hz reduced blanking |
33 | hdmi_mode=32 1280x960 60Hz |
34 | hdmi_mode=33 1280x960 85Hz |
35 | hdmi_mode=34 1280x960 120Hz reduced blanking |
36 | hdmi_mode=35 1280x1024 60Hz |
37 | hdmi_mode=36 1280x1024 75Hz |
38 | hdmi_mode=37 1280x1024 85Hz |
39 | hdmi_mode=38 1280x1024 120Hz reduced blanking |
40 | hdmi_mode=39 1360x768 60Hz |
41 | hdmi_mode=40 1360x768 120Hz reduced blanking |
42 | hdmi_mode=41 1400x1050 reduced blanking |
43 | hdmi_mode=42 1400x1050 60Hz |
44 | hdmi_mode=43 1400x1050 75Hz |
45 | hdmi_mode=44 1400x1050 85Hz |
46 | hdmi_mode=45 1400x1050 120Hz reduced blanking |
47 | hdmi_mode=46 1440x900 reduced blanking |
48 | hdmi_mode=47 1440x900 60Hz |
49 | hdmi_mode=48 1440x900 75Hz |
50 | hdmi_mode=49 1440x900 85Hz |
51 | hdmi_mode=50 1440x900 120Hz reduced blanking |
52 | hdmi_mode=51 1600x1200 60Hz |
53 | hdmi_mode=52 1600x1200 65Hz |
54 | hdmi_mode=53 1600x1200 70Hz |
55 | hdmi_mode=54 1600x1200 75Hz |
56 | hdmi_mode=55 1600x1200 85Hz |
57 | hdmi_mode=56 1600x1200 120Hz reduced blanking |
58 | hdmi_mode=57 1680x1050 reduced blanking |
59 | hdmi_mode=58 1680x1050 60Hz |
60 | hdmi_mode=59 1680x1050 75Hz |
61 | hdmi_mode=60 1680x1050 85Hz |
62 | hdmi_mode=61 1680x1050 120Hz reduced blanking |
63 | hdmi_mode=62 1792x1344 60Hz |
64 | hdmi_mode=63 1792x1344 75Hz |
65 | hdmi_mode=64 1792x1344 120Hz reduced blanking |
66 | hdmi_mode=65 1856x1392 60Hz |
67 | hdmi_mode=66 1856x1392 75Hz |
68 | hdmi_mode=67 1856x1392 120Hz reduced blanking |
69 | hdmi_mode=68 1920x1200 reduced blanking |
70 | hdmi_mode=69 1920x1200 60Hz |
71 | hdmi_mode=70 1920x1200 75Hz |
72 | hdmi_mode=71 1920x1200 85Hz |
73 | hdmi_mode=72 1920x1200 120Hz reduced blanking |
74 | hdmi_mode=73 1920x1440 60Hz |
75 | hdmi_mode=74 1920x1440 75Hz |
76 | hdmi_mode=75 1920x1440 120Hz reduced blanking |
77 | hdmi_mode=76 2560x1600 reduced blanking |
78 | hdmi_mode=77 2560x1600 60Hz |
79 | hdmi_mode=78 2560x1600 75Hz |
80 | hdmi_mode=79 2560x1600 85Hz |
81 | hdmi_mode=80 2560x1600 120Hz reduced blanking |
82 | hdmi_mode=81 1366x768 60Hz |
83 | hdmi_mode=82 1080p 60Hz |
84 | hdmi_mode=83 1600x900 reduced blanking |
85 | hdmi_mode=84 2048x1152 reduced blanking |
87 | hdmi_mode=86 1366x768 reduced blanking |
|