Raspberry pi 解像度を変更する。

Contents

簡単に解像度を変更

ラズパイで遊ぶのにどんなモニターを使おうかな

ぴぽこ

普通にラズパイを使う場合、モニターはなにしたらよいかしら。

ねこっぴ

ネットとかYoutube用途だったらテレビでもOKにゃ。プログラミングとか電子工作だったら近くで見やすいのほしいにゃねー。小さすぎるのは見た目いいけどきびしいにゃよ。

ぴぽこ

小さすぎるってどれぐらいかな

番長の購入したモニター

※X68000Zとのサイズ比較
ぴぽこ

ちっさ!!

ねこっぴ

これはGPIOに挿すタイプだけど、延長されてGPIOがちゃんと使えるから用途によってはすごく良いんだけどにゃ。実際は10インチ以上の大きさは欲しいにゃねー。

番長の購入したモニター

ねこっぴ

どちらも10インチ、解像度1920×12001280×800のモニターにゃ。他にも13インチ、8インチといろいろamazonで買って試してるにゃけど、結局スーパーワイドモニターを分割という方法で番長は現在落ち着いてるにゃ。

スーパーワイドモニター分割
Barrierを使うとマウス・キーボード共有可!
ねこっぴ

PBPという機能で画面2分割で使ったりしてるにゃよ。もちろん片方にX68000Zやゲーム機も映せるから便利便利!

ぴぽこ

そのモニターの解像度はいくつなの?

ねこっぴ

3440×1440の二分割。1720×1440ってことになるにゃ。

ぴぽこ

このモニターの半分の状態は1720×1440なのね。さっき紹介した10インチのモニターは 1980×12001280×800。全部普通のテレビのサイズのフルHD1920×1080より比率的に縦が長いね。

ねこっぴ

縦が長いモニターはゲーム機をつなげると上下に黒線がはいっちゃうけど、ラズパイではプログラミングには最適にゃよ!プログラムコードを多く表示できるからにゃ。

ぴぽこ

そっか、おっけー! ちょっと1920×1200のモニター繋いでみよう。

少し前とちがって解像度の変更が簡単になりましたー!

ぴぽこ

あれ。1920×1200のモニターをラズパイに繋いで起動すると上下に黒帯が入った状態になるよ。モニターのメーカーにもよるのかな? 1920×1080になってるみたい。 折角だから解像度を1920×1200に変更したいな。どうすればいいのかしら?

ねこっぴ

解像度の変更は、スタートメニューからScreen Configurationを起動にゃ!

ねこっぴ

ここで選べるにゃ!

ねこっぴ

ここでリフレッシュレートが選べるにゃ。1秒間に何回描画するかという設定にゃね。

ラズパイにHDMIケーブルを挿してないときのヘッドレス解像度
ねこっぴ

ケーブル挿さずにラズパイを起動した場合に有効な解像度設定はここにゃ!

ぴぽこ

あれ?解像度一覧に1280×800 と1720×1440 が無いね

ねこっぴ

1280×800はモニター繋いだらもしからしてこの一覧に出てくるかもにゃ。でも、1720×1440は無理にゃね。このScreen Configuration以外にも解像度を変える方法があるにゃよ。そっちも紹介するにゃ。

config.txtで解像度を変更

設定の意味と用語を調べてみる

ぴぽこ

なんだかモニターの用語が多くてよくわからないこと多いよね。

ねこっぴ

ねこっぴも番長もさっぱりにゃ。ラズパイの公式説明書ページにconfig.txt の説明があるから、モニターと解像度に必要と思われる部分を抜き出して調べていくにゃよ。

タイガ

hdmi_force_hotplug=1 だタイガ。

ぴぽこ

タイガさんちーっす。hdmi_force_hotplug=1 は HDMIで出力するか、ブラウン管とかコンポジットで出力するか設定みたい。これを記述してないとHDMIケーブルが挿さってない時はコンポジット出力設定になってしまうとのことです。

番長が購入したケーブル
このケーブルをイヤホン端子につなぐとブラウン管使える!
ねこっぴ

一時期ブラウン管にラズパイを繋いで、Youtubeの古いCMとかかけっぱで流し見してたにゃ。ラズパイでブラウン管アリにゃよ。

ぴぽこ

ブラウン管は味があるねー。

タイガ

framebuffer_width=xxx
framebuffer_height=xxx だタイガ。

ぴぽこ

フレームバッファとは コンピュータ内部で一画面分の表示内容を丸ごと記憶しておくことができるメモリ領域やメモリ装置のこと。(IT用語辞典)

ぴぽこ

フレームバッファとは UNIXでは全ての入出力装置(デバイス)は特殊なファイルとして実装されています。フレームバッファー framebuffer とは画像入出力のデバイスです。画像の出力が行え、現在表示中の画面のスクリーンショットが撮れます。OSC2019_Fukuoka_Netpbm.pdf

タイガ

hdmi_group=x だタイガ。

ねこっぴ

ラズパイの公式だと hdmi_group=1 (CEA)hdmi_group=2 (DMT)とあるにゃ。いろんなサイトによく CEAはテレビ用とあるけど、詳しく調べてみたにゃ。

ぴぽこ

CEA-861 CEA(Consumer Electronics Association:全米家電協会)が策定していた「A DTV Profile for Uncompressed High Speed Digital Interfaces(非圧縮高速デジタル通信インターフェースにおけるデジタルテレビのプロファイル)」の規格です。簡単に説明するとデジタルテレビの仕様を定めた規格書です。2015年11月にCEAはCTA(Consumer Technology Association:全米民生技術協会)へ名称を変更しました。この変更に伴い「CEA-861」は「CTA-861」となり、不定期に更新されています。
HDMI-NAVI.com

ねこっぴ

そういえばゲーム機にD端子とかついてたもんにゃ。映像音響メーカーさんの製品の説明にCEA-861D規格に準拠した720x480p(D2) 、1,280x720p(D4)、1,920×1,080i/p(D3,D5)相当のHDMI互換映像も指定可とか書いてあるの見つけたし、改めてラズパイ説明サイトの hdmi_group=1 の表見ると4:3と16:9しかないにゃ。なるほど。TVにゃ。

ぴぽこ

DMT [DMT] (独立モニタ タイミング) はあらかじめ定義された VESA タイミングのセットです。VESA はこの基準を毎年更新しています。(nvidia.com)

ねこっぴ

hdmi_group=2 (DMT) がPCモニタと思っていいみたいにゃね。

タイガ

hdmi_mode=x だタイガ。

ねこっぴ

変更したい解像度の一覧の番号だにゃ。ラズパイの公式説明書ページからgroup1 と group2 を抜いて下の方に貼り付けたにゃよ。

config.txt を管理者権限で開く

ぴぽこ

ではconfig.txtを変更する準備ですよー

ねこっぴ

管理権限ファイラーをメニュー登録 の回で作ったショートカットで 管理者権限でファイルマネージャーを起動にゃ。

ねこっぴ

boot フォルダの中のconfig.txt コピーしとくにゃ。なんかあったらこれを元に戻せば復帰できるからにゃ。

ねこっぴ

config.txt 右クリックしてMousepadで開くにゃ。

ねこっぴ

windows からでもOK。MicroSDカードをUSBアダプタで接続。
config.txt 開くにゃ。コピーとっとくの忘れないでにゃ

一覧表に変更したい解像度がある場合

ねこっぴ

では一覧表に変更したい解像度がある場合の変更方法にゃ。PCモニタの場合はhdmi_group=2テレビに接続の場合はhdmi_group=1から選ぶのがいいのかにゃ。テレビ接続したことないにゃ….。

設定の説明 1280×800に変更する例

hdmi_force_hotplug=1 ※0 コンポジット / 1 HDMI
framebuffer_width=1280
※横の解像度
framebuffer_height=800
※縦の解像度

hdmi_group=2 ※PCのモニタの場合は2

hdmi_mode=28 ※本ページ下の方のリスト2から選択

ぴぽこ

sambaの時のように、テキストの一番下にコピーして貼り付けて上書きね!

#-----------------------------------------
hdmi_force_hotplug=1
framebuffer_width=1280
framebuffer_height=800
hdmi_group=2
hdmi_mode=28
ねこっぴ

これで再起動すれば解像度が変わって……

ぴぽこ

再起動完了! かわってませんけどーーー!!

ねこっぴ

ぴぽこ

あわてずさわがず Screen Configurationを起動

ぴぽこ

みっけ! 無事変更完了!

hdmi_group= 2 のリスト

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

reduced blanking = ブラウン管時代に使っていた走査線の往復タイミングの戻り側をなくして効率を上げた方法で、映像信号の周波数を下げることができる技術です。(ITmedia)

hdmi_group= 1 のリスト

1	VGA (640x480)	60Hz	4:3	
2	480p	60Hz	4:3	
3	480p	60Hz	16:9	
4	720p	60Hz	16:9	
5	1080i	60Hz	16:9	
6	480i	60Hz	4:3	
7	480i	60Hz	16:9	
8	240p	60Hz	4:3	
9	240p	60Hz	16:9	
10	480i	60Hz	4:3	pixel quadrupling
11	480i	60Hz	16:9	pixel quadrupling
12	240p	60Hz	4:3	pixel quadrupling
13	240p	60Hz	16:9	pixel quadrupling
14	480p	60Hz	4:3	pixel doubling
15	480p	60Hz	16:9	pixel doubling
16	1080p	60Hz	16:9	
17	576p	50Hz	4:3	
18	576p	50Hz	16:9	
19	720p	50Hz	16:9	
20	1080i	50Hz	16:9	
21	576i	50Hz	4:3	
22	576i	50Hz	16:9	
23	288p	50Hz	4:3	
24	288p	50Hz	16:9	
25	576i	50Hz	4:3	pixel quadrupling
26	576i	50Hz	16:9	pixel quadrupling
27	288p	50Hz	4:3	pixel quadrupling
28	288p	50Hz	16:9	pixel quadrupling
29	576p	50Hz	4:3	pixel doubling
30	576p	50Hz	16:9	pixel doubling
31	1080p	50Hz	16:9	
32	1080p	24Hz	16:9	
33	1080p	25Hz	16:9	
34	1080p	30Hz	16:9	
35	480p	60Hz	4:3	pixel quadrupling
36	480p	60Hz	16:9	pixel quadrupling
37	576p	50Hz	4:3	pixel quadrupling
38	576p	50Hz	16:9	pixel quadrupling
39	1080i	50Hz	16:9	reduced blanking
40	1080i	100Hz	16:9	
41	720p	100Hz	16:9	
42	576p	100Hz	4:3	
43	576p	100Hz	16:9	
44	576i	100Hz	4:3	
45	576i	100Hz	16:9	
46	1080i	120Hz	16:9	
47	720p	120Hz	16:9	
48	480p	120Hz	4:3	
49	480p	120Hz	16:9	
50	480i	120Hz	4:3	
51	480i	120Hz	16:9	
52	576p	200Hz	4:3	
53	576p	200Hz	16:9	
54	576i	200Hz	4:3	
55	576i	200Hz	16:9	
56	480p	240Hz	4:3	
57	480p	240Hz	16:9	
58	480i	240Hz	4:3	
59	480i	240Hz	16:9	
60	720p	24Hz	16:9	
61	720p	25Hz	16:9	
62	720p	30Hz	16:9	
63	1080p	120Hz	16:9	
64	1080p	100Hz	16:9	
65	Custom			
66	720p	25Hz	64:27	Pi 4
67	720p	30Hz	64:27	Pi 4
68	720p	50Hz	64:27	Pi 4
69	720p	60Hz	64:27	Pi 4
70	720p	100Hz	64:27	Pi 4
71	720p	120Hz	64:27	Pi 4
72	1080p	24Hz	64:27	Pi 4
73	1080p	25Hz	64:27	Pi 4
74	1080p	30Hz	64:27	Pi 4
75	1080p	50Hz	64:27	Pi 4
76	1080p	60Hz	64:27	Pi 4
77	1080p	100Hz	64:27	Pi 4
78	1080p	120Hz	64:27	Pi 4
79	1680x720	24Hz	64:27	Pi 4
80	1680x720	25z	64:27	Pi 4
81	1680x720	30Hz	64:27	Pi 4
82	1680x720	50Hz	64:27	Pi 4
83	1680x720	60Hz	64:27	Pi 4
84	1680x720	100Hz	64:27	Pi 4
85	1680x720	120Hz	64:27	Pi 4
86	2560x720	24Hz	64:27	Pi 4
87	2560x720	25Hz	64:27	Pi 4
88	2560x720	30Hz	64:27	Pi 4
89	2560x720	50Hz	64:27	Pi 4
90	2560x720	60Hz	64:27	Pi 4
91	2560x720	100Hz	64:27	Pi 4
92	2560x720	120Hz	64:27	Pi 4
93	2160p	24Hz	16:9	Pi 4
94	2160p	25Hz	16:9	Pi 4
95	2160p	30Hz	16:9	Pi 4
96	2160p	50Hz	16:9	Pi 4
97	2160p	60Hz	16:9	Pi 4
98	4096x2160	24Hz	256:135	Pi 4
99	4096x2160	25Hz	256:135	Pi 4
100	4096x2160	30Hz	256:135	Pi 4
101	4096x2160	50Hz	256:135	Pi 41
102	4096x2160	60Hz	256:135	Pi 41
103	2160p	24Hz	64:27	Pi 4
104	2160p	25Hz	64:27	Pi 4
105	2160p	30Hz	64:27	Pi 4
106	2160p	50Hz	64:27	Pi 4
107	2160p	60Hz	64:27	Pi 4

一覧表に変更したい解像度が無い場合 カスタムモード

ねこっぴ

カスタムモードで、解像度を設定にゃよ!

タイガ

hdmi_group=2,
hdmi_mode=87 でカスタムモードだタイガ

ねこっぴ

hdmi_group=2に 87ってないにゃね。隠しモードみたいなもの??

ぴぽこ

ラズパイの公式説明書ページに載ってて全然隠されてないです!

タイガ

hdmi_cvt = 縦 横 フレーム だタイガ

ねこっぴ

hdmi=cvt の詳細については 本家のキャプチャして画像で貼ったよ。
各設定の説明です。

設定の説明 1720×1440 (3440×1440)の二分割 の場合

hdmi_force_hotplug=1 ※0 コンポジット / 1 HDMI
framebuffer_width=1720
※横の解像度
framebuffer_height=1440
※縦の解像度

hdmi_group=2 ※PCのモニタ

hdmi_mode=87 カスタム解像度は87

hdmi_cvt =1720 1440 60 (1 0 0 0) ※()内は無くてもOK。

※1720×1440の解像度はラズパイ4でないと再現できません。ラズパイ3の場合はこちらに!

ぴぽこ

テキストの一番下にコピーして貼り付けて上書きね!

#-----------------------------------------
hdmi_force_hotplug=1
framebuffer_width=1770
framebuffer_height=1440
hdmi_group=2
hdmi_mode=87
hdmi_cvt=1770 1440 60
ねこっぴ

これで再起動すれば解像度が変わって……ないので

ぴぽこ

あわてずさわがず Screen Configurationを起動

ぴぽこ

おっけ~!

1720×1440はラズパイ3では表示出来ない…

ねこっぴ

ちなみに、この1720×1440の解像度は性能的?にラズパイ3だと

ねこっぴ

残念ながら出てきません。仕方ないので、できる限りのサイズを試行錯誤した結果を載せておきます。同じ解像度のスーパーワイドモニターを使っていてラズパイ3の方用。

#-----------------------------------------
hdmi_force_hotplug=1
framebuffer_width=1496
framebuffer_height=1250
hdmi_group=2
hdmi_mode=87
hdmi_cvt=1496 1250 60
ぴぽこ

めっちゃくちゃニッチな話な気がしてきましたよ…..

ねこっぴ

ただ、この解像度はいいとこもあるにゃ。VNCから接続すると縦1440のサイズにいい感じオフセットされて収まるサイズ。VNCでも2画面でもどちらも使いやすいといえば使いやすいです!少し拡大されるから目に優しいし。

カスタム解像度変更できないで悩んでる方 もしかして

ねこっぴ

今回気づいたことがあるにゃ。過去のラズパイの設定活かしてそのまま一部コピペしてるけど、なんかうまく解像度が変更できないという方へ。config.txt内の「dtoverlay=vc4-」を検索してみてください。

タイガ

旧:dtoverlay=vc4-fkms-v3d だタイガ fkms

タイガ

新:dtoverlay=vc4-kms-v3d だタイガ kms

ぴぽこ

なんか微妙に違うね…..

ねこっぴ

どうやら新はスムーズになったものらしく、旧は廃止の方向とありました。この2つは挙動が違いました。

挙動のちがい
  • 旧のfkms だと、変更して再起動だけでアスペクト比無視で縦横指定通りに変わってくれる
  • 新kms表記のconfig.txtの、kmsをfkmsと書き直せば過去と同じ挙動をする
  • 新kms だと、変更して再起動だけだとアスペクト比が優先されて変わらないor挙動不審なことがある
  • 新kms は、変更して再起動のあとにScreen Configuration一覧に指定解像度が現れる
ねこっぴ

DRM VC4 V3D driver ってあるから描画のドライバが変わったということなのかにゃ。

ぴぽこ

SDカードに新規インストしたあとに、kmsに気づかないで解像度の設定 hdmi_group、mode、cvt などをコピペで使いまわしてると
あれれ..なぜ??と

ねこっぴ

まる1日悩みました

解像度設定の整理

ねこっぴ

設定変えて再起動しまくった結果、こんなかんじかにゃ。

VNC用とモニター接続の切り分け

VNC用(HDMIケーブルを挿さない) → ヘッドレス解像度設定が有効に。

VNC用(HDMIケーブルを挿さない&CONFIGでカスタム解像度指定) → CONFIG設定が有効に。

HDMIでモニター接続 CONFIG設定なし → モニターそのままの解像度が有効に(定番解像度の場合)

HDMIでモニター接続 CONFIG設定あり → CONFIG設定が有効に


Contents