日々FreeBSDと格闘しているはるこです。
さて、前回はX Windowを起動できるように設定したのですが、
見ていると何やら画面が荒いような気がします。
そんなことを思っていたちょうどその時、日誌のコメントで
「内蔵グラフィックのドライバを入れないと内蔵グラフィックが
機能しないように思う」
とコメントを下さった方がいました。
確かにフルHD解像度にしてはだいぶ画面が荒いように見えるし、
ドライバを探してみるべきかも!
と探してみたのですが、内蔵グラフィック用のドライバとなると
情報もあまりない。
はるこのPCのCPUはRyzen7 5700Uなので、AMDグラフィック用と
書かれたドライバをpackageで見つけたので、
「ダメだったらUbuntu Studio使うまで、ままよ!」
と入れてみたら見事フルHD画質で表示されました!
なお、その後あちこちいじっていると、PCの構成を見られるコマンドを
使う機会があったのですが、CPUを見てみると
CPU: AMD Ryzen 7 5700U with Radeon Graphics (1796.68-MHz K8-class CPU)
と書いてあります。
なるほど、それならRadeon用ドライバで確かに動くはずです。
その後packageを見たらAMDグラフィック用と明記されたドライバは
なぜか見当たらなくなってしまったのですが(記憶違い???)、
Radeonグラフィックを用いる場合と同じようにドライバを設定すれば、
問題なく内蔵グラフィックを利用できます。
(FreeBSDのグラフィックドライバはメンテナンスの問題でLinuxの
ドライバを直接利用する方針であり、drm-kmodへの一本化が予定されて
いるとのことなのでその関係なのかも?)
手順ですが、drm-kmodパッケージをインストールして、
# pkg install drm-kmod
設定ファイル /etc/rc.conf に
kld_list="/boot/modules/amdgpu.ko"
と書き加えるだけです。
(※設定ファイルに書き込む内容は使用するグラフィックによって
変わります。詳細は下記サイトをご確認ください)
(参考サイト)FreeBSD based information グラフィックドライバ
https://freebsd.seirios.org/doku.php?id=os:%E3%82%B0%E3%83%A9%E3%83%95%E3%82%A3%E3%83%83%E3%82%AF%E3%83%89%E3%83%A9%E3%82%A4%E3%83%90
画面がきれいになったら今度は音を出したいところです。
これもPCの構成に合ったドライバを探すのかと思いきや、
# kldload snd_driver
これだけで自動的にドライバを選んでくれるとのこと。
ところがYouTubeを再生してみたのですがウンともスンとも言いません。
どうしたことかとマニュアルを読み込んでいくと、やはり設定が必要な
ようです。
(設定ファイルをいちいち書かないと動いてくれないのがFreeBSDです)
まずドライバの状態を確認します。
# cat /dev/sndstat
Installed devices:
pcm0: <ATI R6xx (HDMI)> (play)
pcm1: <ATI R6xx (HDMI)> (play)
pcm2: <ATI R6xx (HDMI)> (play)
pcm3: <ATI R6xx (HDMI)> (play)
pcm4: <USB audio> (play/rec) default
No devices installed from userspace.
と出てきました。
デフォルトで使うデバイスがUSBになってる!
(道理で音が出ないわけだ…)
音を出してほしいのはHDMIの方なので、じゃあ一番上の出力を
指定しておこうかな。
というわけでHDMIに音声信号を出力するよう、
設定ファイル /etc/sysctl.conf に
hw.snd.default_unit=0
と追記。これで次からはHDMIから音が出せるようになります。
(参考サイト)FreeBSDハンドブック 第7章 マルチメディア
https://docs.freebsd.org/ja/books/handbook/multimedia/