樹莓派分辨率調整

最近給pi換上官方最新系統,原本顯示屏可以自動匹配,升級之後發現顯示區域變小了。(屏幕是TB入的7寸雪花屏 800*480分辨率)後來看了一下官方說明,默認的分辨率是1280*800。由於本人的屏幕分辨率在官方默認的分辨率組裏都沒有,調整的時候走了一些彎路。 

最開始參照一些帖子的方法。 
先是改

framebuffer_width=1280
framebuffer_height=800
hdmi_group=2
hdmi_mode=14
  • 1
  • 2
  • 3
  • 4

這兩組參數值。前兩個參數的具體作用還不是很清楚, 
hdmi_group和hdmi_mode兩個參數用以選定下表1-1和1-2的分辨率。

表1-1

These values are valid if hdmi_group=1 (CEA):

hdmi_mode resolution frequency notes 
1 VGA (640x480) 
2 480p 60Hz 
3 480p 60Hz 16:9 aspect ratio 
4 720p 60Hz 
5 1080i 60Hz 
6 480i 60Hz 
7 480i 60Hz 16:9 aspect ratio 
8 240p 60Hz 
9 240p 60Hz 16:9 aspect ratio 
10 480i 60Hz pixel quadrupling 
11 480i 60Hz pixel quadrupling, 16:9 aspect ratio 
12 240p 60Hz pixel quadrupling 
13 240p 60Hz pixel quadrupling, 16:9 aspect ratio 
14 480p 60Hz pixel doubling 
15 480p 60Hz pixel doubling, 16:9 aspect ratio 
16 1080p 60Hz 
17 576p 50Hz 
18 576p 50Hz 16:9 aspect ratio 
19 720p 50Hz 
20 1080i 50Hz 
21 576i 50Hz 
22 576i 50Hz 16:9 aspect ratio 
23 288p 50Hz 
24 288p 50Hz 16:9 aspect ratio 
25 576i 50Hz pixel quadrupling 
26 576i 50Hz pixel quadrupling, 16:9 aspect ratio 
27 288p 50Hz pixel quadrupling 
28 288p 50Hz pixel quadrupling, 16:9 aspect ratio 
29 576p 50Hz pixel doubling 
30 576p 50Hz pixel doubling, 16:9 aspect ratio 
31 1080p 50Hz 
32 1080p 24Hz 
33 1080p 25Hz 
34 1080p 30Hz 
35 480p 60Hz pixel quadrupling 
36 480p 60Hz pixel quadrupling, 16:9 aspect ratio 
37 576p 50Hz pixel quadrupling 
38 576p 50Hz pixel quadrupling, 16:9 aspect ratio 
39 1080i 50Hz reduced blanking 
40 1080i 100Hz 
41 720p 100Hz 
42 576p 100Hz 
43 576p 100Hz 16:9 aspect ratio 
44 576i 100Hz 
45 576i 100Hz 16:9 aspect ratio 
46 1080i 120Hz 
47 720p 120Hz 
48 480p 120Hz 
49 480p 120Hz 16:9 aspect ratio 
50 480i 120Hz 
51 480i 120Hz 16:9 aspect ratio 
52 576p 200Hz 
53 576p 200Hz 16:9 aspect ratio 
54 576i 200Hz 
55 576i 200Hz 16:9 aspect ratio 
56 480p 240Hz 
57 480p 240Hz 16:9 aspect ratio 
58 480i 240Hz 
59 480i 240Hz 16:9 aspect ratio 
These values are valid if hdmi_group=2 (DMT):

表1-2

**hdmi_mode resolution frequency notes 
1 640x350 85Hz 
2 640x400 85Hz 
3 720x400 85Hz 
4 640x480 60Hz 
5 640x480 72Hz 
6 640x480 75Hz 
7 640x480 85Hz 
8 800x600 56Hz 
9 800x600 60Hz 
10 800x600 72Hz 
11 800x600 75Hz 
12 800x600 85Hz 
13 800x600 120Hz 
14 848x480 60Hz 
15 1024x768 43Hz incompatible with the Raspberry Pi 
16 1024x768 60Hz 
17 1024x768 70Hz 
18 1024x768 75Hz 
19 1024x768 85Hz 
20 1024x768 120Hz 
21 1152x864 75Hz 
22 1280x768 
23 1280x768 60Hz 
24 1280x768 75Hz 
25 1280x768 85Hz 
26 1280x768 120Hz reduced blanking 
27 1280x800 
28 1280x800 60Hz 
29 1280x800 75Hz 
30 1280x800 85Hz 
31 1280x800 120Hz reduced blanking 
32 1280x960 60Hz 
33 1280x960 85Hz 
34 1280x960 120Hz reduced blanking 
35 1280x1024 60Hz 
36 1280x1024 75Hz 
37 1280x1024 85Hz 
38 1280x1024 120Hz reduced blanking 
39 1360x768 60Hz 
40 1360x768 120Hz reduced blanking 
41 1400x1050 
42 1400x1050 60Hz 
43 1400x1050 75Hz 
44 1400x1050 85Hz 
45 1400x1050 120Hz reduced blanking 
46 1440x900 
47 1440x900 60Hz 
48 1440x900 75Hz 
49 1440x900 85Hz 
50 1440x900 120Hz reduced blanking 
51 1600x1200 60Hz 
52 1600x1200 65Hz 
53 1600x1200 70Hz 
54 1600x1200 75Hz 
55 1600x1200 85Hz 
56 1600x1200 120Hz reduced blanking 
57 1680x1050 
58 1680x1050 60Hz 
59 1680x1050 75Hz 
60 1680x1050 85Hz 
61 1680x1050 120Hz reduced blanking 
62 1792x1344 60Hz 
63 1792x1344 75Hz 
64 1792x1344 120Hz reduced blanking 
65 1856x1392 60Hz 
66 1856x1392 75Hz 
67 1856x1392 120Hz reduced blanking 
68 1920x1200 
69 1920x1200 60Hz 
70 1920x1200 75Hz 
71 1920x1200 85Hz 
72 1920x1200 120Hz reduced blanking 
73 1920x1440 60Hz 
74 1920x1440 75Hz 
75 1920x1440 120Hz reduced blanking 
76 2560x1600 
77 2560x1600 60Hz 
78 2560x1600 75Hz 
79 2560x1600 85Hz 
80 2560x1600 120Hz reduced blanking 
81 1366x768 60Hz 
82 1920x1080 60Hz 1080p 
83 1600x900 
84 2048x1152 
85 1280x720 60Hz 720p 
86 1366x768**

如果表1-2和1-1裏有自己屏幕對應的分辨率,直接選上就可以。不用改 
framebuffer_width=800 
framebuffer_height=480 
直接在前面加#註釋掉就行。 
調整成 
framebuffer_width=800 
framebuffer_height=480 
hdmi_group=2 
hdmi_mode=14 
情況更糟糕,出現屏幕偏移,左側出現不顯示的黑塊。 
後來參照官網(http://www.raspberrypi.org/documentation/configuration/config-txt.md)的說明進行第二次修改如下:

官網有提供列表中無對應分辨率時的調整方法

點進鏈接。

hdmi_cvt=<width> <height> <framerate> <aspect> <margins> <interlace> <rb>
width        width in pixels
height       height in pixels
framerate    framerate in Hz
aspect       aspect ratio 1=4:3, 2=14:9, 3=16:9, 4=5:4, 5=16:10, 6=15:9
margins      0=margins disabled, 1=margins enabled
interlace    0=progressive, 1=interlaced
rb           0=normal, 1=reduced blanking

The first three arguments are required. The remaining ones are optional. aspect defaults to 16:9 if not specified.

It should appear if you do 
CODE: SELECT ALL
tvservice -m DMT

An example:
CODE: SELECT ALL
hdmi_cvt=1680 1050 60 5 0 0 1

CODE: SELECT ALL
tvservice -m DMT
...
mode 87: 1680x1050 @ 60Hz 16:10, clock:119MHz progressive
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

官網提供的方法是使用hdmi_cvt函數,具體用法如下。

hdmi_cvt=<width> <height> <framerate> <aspect> <margins> <interlace> <rb>
width        width in pixels
height       height in pixels
framerate    framerate in Hz
aspect       aspect ratio 1=4:3, 2=14:9, 3=16:9, 4=5:4, 5=16:10, 6=15:9
margins      0=margins disabled, 1=margins enabled
interlace    0=progressive, 1=interlaced
rb           0=normal, 1=reduced blanking
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

我的屏幕width=800; height=480; framerate是刷新率,給個100; 屏幕比例15:9,aspect=6; margins用來設定加不加邊框,取0無邊框;interlace=0; rb=1;如下: 
hdmi_cvt=800 480 100 6 0 0 1

開機之後,屏幕的分辨率是完全對了,但是出現花屏,屏幕變模糊了,還有一條紫色雜邊。顯然hdmi_cvt的方法也不太適合我的屏幕。 
最後琢磨了一會兒,注意到overscan值

disable_overscan=1
overscan_left=0
overscan_right=0
overscan_top=0
overscan_bottom=0
  • 1
  • 2
  • 3
  • 4
  • 5

測試了一下,overscan的作用形象地說就是用來“擠壓顯示區域”,注意是擠壓,不是切除。比如定義 
overscan_left=100 
即把屏幕的顯示區域從左側擠壓100像素,右側不變,如果原本是滿屏的,擠壓之後的效果就是左側多出來100像素寬度的不顯示區域。 
最後完美的解決方式如下 
disable_overscan=0 
overscan_right=0 
overscan_right=0 
overscan_top=0 
overscan_bottom=120 
hdmi_group=2hdmi_mode=13 
思路很簡單,屏幕是800*480分辨率,於是選擇最接近的分辨率:mode13,800*600。然後overscan_right=120,把下方顯示區域向上擠壓120像素,正好湊成800*480.效果很理想。 
這裏寫圖片描述 
這裏寫圖片描述

關於樹莓派kali系統調整屏幕分辨率

由於kali系統2.0之後去除掉了config.txt文件,打開安裝盤後找不到該文件。 
解決方法很簡單,把官方版系統的config.txt文件按照上述配置好,然後把config.txt文件拷貝進去,再打開樹莓派,就發現屏幕又完美匹配了。 
這裏寫圖片描述 
如果親手配置過官方版本樹莓派系統的話,就會發現官方版系統雖然有config.txt文件,但是未手動修改的話,文件裏的配置參數都是被註釋的,也就是說默認狀態的config文件是不起作用的。也難怪kali系統會將其去除。

順帶一提,裝kali系統的時候出現一個現象: 
這裏寫圖片描述 
系統燒進內存卡之後,開機,屏幕一直閃爍,冒雪花。一度以爲是系統壞了,沒裝好,卸載了重裝。最後發現是電源供電能力不足引起的,把屏幕單獨供電即可。我默認的接線方式是筆記本給樹莓派主板供電,樹莓派USB口給7寸液晶屏供電。跑官方的系統是沒問題的,但是跑kali系統出現屏幕供電不足的情況,可見kali功耗相對官方系統更大一些。

另外,用官方提供的cvt的方法可能也能完美調整屏幕,後來查驗該方法調整時出現屏幕的模糊情況是因爲hdmi_driver=2導致的,把它註釋,或者賦值1即可恢復清晰度。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章