序
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)で表示となりました。
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
の値が予約されていますが(例:FHD1920108060Hzなら値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=2
で hdmi_mode=87
のカスタムモードの場合は、HDMIのタイミングを設定します。周波数で設定する場合はこの値を最低 モニターの横解像度×縦解像度×フレームレート
以上に設定する必要があります。ただ、2560144030=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