LoginSignup
3
2

More than 3 years have passed since last update.

Raspberry Pi 3B をWQHD解像度で使う

Last updated at Posted at 2020-05-15

 WQHDモニターを購入したのを機に、Raspberry Pi 3 /Arch Linux環境でもその解像度で表示できないかと思い検索するとRaspberry Pi の公式サイトのフォーラムでのトピックスが見つかりました。出来る様なのですが、具体的な設定が示されてませんでしたので、いろいろ試してみました。

結果

 ・WQHD(2560x1440)で表示可能。
 ・32bit環境,64bit環境の両方ともできる。
 ・但し一部制限あり。

実施環境

 ・Raspberry Pi 3B (初期の+のつかない方)
 ・Arch Linux ARM 32bit版(armv7),64bit版(aarch64)
 ・2.5inch sata HDD のみで起動(microSDカードレス)
 ・USB 日本語キーボード
 ・WQHDモニター/Dell UP2516D HDMI接続
 ・電源 5V 2.5A、USB-MicroB端子より給電

手順

 Raspberry Pi 公式サイトのVideo Option(英文)と参考サイトを確認して、/boot/config.txtに以下を追加しました。32bit環境,64bit環境ともWQHD(2560x1440)で表示となりました。

/boot/config.txt
hdmi_group=2
hdmi_mode=87
hdmi_cvt=2560 1440 30 3 0 0 1
max_framebuffer_width=2560
max_framebuffer_height=1440
hdmi_pixel_freq_limit=125000000

各行の意味

 内容を忘れると応用が効かないので、Raspberry Pi 公式サイトのVideo Option(英文)等からまとめてみました。

hdmi_group

 0/1/2 のどれかの値を設定できます。0:自動1:CEA機器(家庭用TVなど)2:DMT機器(コンピュータ用のモニターなど)。使っているのはコンピュータのモニターなので値は2

hdmi_mode

 解像度を設定する項目で、hdmi_groupで設定した値とこの値のセットで解像度とフレームレート等の組み合わせが固定されます。hdmi_group=2では1から86の値が予約されていますが(例:FHD1920*1080*60Hzなら値82)、WQHDの解像度では予約値が無いため、カスタムモードとなる値87を設定します。

hdmi_cvt

 カスタムモードの場合、ここでモニター解像度、フレームレート等の値を設定します。値は半角スペース区切りで以下のようになります。
<横解像度> <縦解像度> <フレームレート> <アスペクト比> <マージン> <インターレス> <チラつき対応>
 このため、上記config.txtの設定値は、横2560,縦1440,フレームレート30Hz,アスペクト比16:9,マージン0,プログレッシブモード,チラつき軽減、という内容の設定値になります。各項目の細かい設定値は、公式サイトで確認ください。
 ※1:当初Arch Linux 32bit版ではフレームレート値60に設定しても表示できてましたが、いつだかのカーネルアップデートで表示できなくなりました。値30にしたら又表示できるようになりました。
 ※2:チラつき対応(訳は適当:英原文ではreduced blanking)部分は値0:ノーマルと値1:チラつき軽減と変えてみましたが、私のモニターでは具体的な効果は分かりませんでした。気休めに値1にしています。

max_framebuffer_width,max_framebuffer_height

 framebufferの解像度の設定。モニターの解像度と合わせないと、モニターの最大解像度表示とならない。このため、WQHDの解像度の値を入れます。

hdmi_pixel_freq_limit

 vhdmi_group=2hdmi_mode=87 のカスタムモードの場合は、HDMIのタイミングを設定します。周波数で設定する場合はこの値を最低 モニターの横解像度×縦解像度×フレームレート 以上に設定する必要があります。ただ、2560*1440*30=110592000 と計算上ピッタリの値を入れると、WQHDでの表示ができませんでした。このためかなり余裕を加えたこの値を入れてます。

制限事項

 32bit環境で、VideoCore GPU のハードウェアアクセラレーション(X,Wayland, openglでの)を使いたい場合、/boot/config.txt内にdtoverlay=vc4-kms-v3d,cma-256を記述を追加する必要がありますが、これを入れると、私の環境では画面が全く表示されなくなりました。

補足

 ・モニター表示まわりの設定を変えると、表示出来なくなる場合があります。リモートからログイン出来るようにしてから調整した方がいいでしょう。

 ・64bit環境で、コールドスタートすると起動途中まではWQHDの状態なのですが、ログイン表示画面の直前でこけて、FHDの表示になることがたまにありました。再起動するとWQHDで問題なく表示されるので、何かのタイミングで変わるのか、設定が詰めきれてないかまだ不明です。

 ・海外サイトのフォーラムでは、Raspberry Pi 3で4kでも表示できたとの報告をどこかで見ました。フレームレートは15Hzでしたが私は4kモニターを持ってないので確認してません。

参考サイト

Corgi Lab. ~備忘録のための技術ブログ~:https://corgi-lab.com/raspberrypi/raspberrypi3-hdmi/
nWorld:https://firtel.blogspot.com/2019/08/raspberry-pi-retina-lcd.html

公式サイト(関連部分)

Raspberry Pi (英文):https://www.raspberrypi.org/documentation/configuration/config-txt/video.md

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2