2021/03/12(金)FreeBSDに日本語入力できるようにする

Virtualbox上にFreeBSDをインストールし、xfceをインストールした。
OS: FreeBSD 12.2-RELEASE-p4 amd64
xfce: 4.16

xfceが立ち上がると英語表示になっている。
この段階では日本語が利用できないので設定を行う。

日本語環境にするためには環境変数を設定する。
~/.xsession に環境変数を設定しておく。
% cat .xsession
export LANG=ja_JP.UTF-8
Xのフォントが汚いので日本語フォントを導入。
ここではipaフォントを利用した。
# pkg install ja-font-ipa ja-font-ipaex
日本語変換システム fcitx-mozc 導入。
# pkg install ja-fcitx-mozc zh-fcitx-configtool
~/.xsession を次のように設定しておく。
% cat .xsession
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=xim
export XMODIFIERS=@im=fcitx
/usr/local/bin/mozc start
fcitx -r -d
最終的に ~/.xsession は次のようになる。
% cat ~/.xsession
export LANG=ja_JP.UTF-8

export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=xim
export XMODIFIERS=@im=fcitx
/usr/local/bin/mozc start
fcitx -r -d

. /usr/local/etc/xdg/xfce4/xinitrc
この状態で再起動をすると日本語環境で起動する。

2019/11/15(金)FreeBSD kde5 日本語環境

日本語環境を作ってみる。

文字コードを ja_JP.UTF-8 に設定

取り敢えず文字コードを設定した。
次のような.xsessionファイルを作りGUIを再起動すると表示される。
$ cat .xsession
export LANG="ja_JP.UTF-8"

フォントをインストール

メニューなどが日本語で表示されるが、明朝体なのか見づらい。
IPAフォントをインストールした。
# pkg install ja-font-ipa


タスクバー

KDE5には画面下にパネルが設置してある。
パネルとはWindowsでいうところのタスクバーみたいなものである。
画面下が見ずらいので上部に移動させた。
パネルを右クリックし設定を選び、スクリーンエッジをドラッグすれば移動できる。
画面左に移動させると左側に、画面右に移動させると右側に設置される。

2019/11/15(金)nvidiaのドライバの扱いについて

次の記事の続きです。

nvidiaのドライバが動いていない
https://hesy.dyndns.dk/053


ドライバ

FreeBSDにはnvidiaのドライバは3つ用意されている。
$ pkg search nvidia-driver
nvidia-driver-390.87_3         NVidia graphics card binary drivers for hardware OpenGL rendering
nvidia-driver-304-304.137_4    NVidia graphics card binary drivers for hardware OpenGL rendering
nvidia-driver-340-340.107_4    NVidia graphics card binary drivers for hardware OpenGL rendering
こちらの環境は GeForce7050PV/nForce630a なので nvidia-driver-304 をインストールした。

次のサイトにも書いてあるが、どうやら明示的にnvidiaドライバを指定しないといけないようだ。

FreeBSDにGTX960を搭載
https://xn--v1tz8a.jp/2015/11/23/freebsd%E3%81%ABgtx960%E3%82%92%E6%90%AD%E8%BC%89/


ドライバの指定

第5章 X Window System - FreeBSDハンドブック
https://www.freebsd.org/doc/ja_JP.eucJP/books/handbook/x11.html

FreeBSDハンドブックにあるように直接指定をすればいいようなので次のファイルを準備した。
$ cat /usr/local/etc/X11/xorg.conf.d/driver-nvidia.conf
  Section "Device"
    Identifier "Card0"
    Driver "nvidia"
  EndSection
又はnvidia-xconfigコマンドをrootで実行すると /etc/X11/xorg.conf が生成される。
# pkg install nvidia-xconfig
# nvidia-xconfig

ところが映らない

ドライバの設定を行い再起動後ディスプレイマネージャがユーザ名やパスワードを要求してくる。
これを入力した後黒い画面のまま映らない。
ディスプレイマネージャが表示されるのでxfceだけが起動していないような感じ。
しかし、nvidiaのドライバを指定しなければ立ち上がるので原因がよくわからない。


結果

xfceをやめてkde5をインストールした。
手順は FreeBSDハンドブック に従った。
gnome3もインストールしてみたが、同様の状況だった。
原因ははっきりしていない。

インストールする前に pkg info でインストールされているパッケージを全てdeleteしてからkde5をインストールし、
nvidia-xconfigコマンドで設定ファイルを生成した。
ディスプレイマネージャはSDDMをインストールした。
おおまかな流れは次の通り。
# pkg install kde5
# pkg install sddm

# echo "proc            /proc           procfs  rw      0       0" >> /etc/fstab
# echo 'dbus_enable="YES"' >> /etc/rc.conf
# echo 'hald_enable="YES"' >> /etc/rc.conf

# nvidia-xconfig

# reboot
それでも、再起動後のログインで画面が真っ黒になる。
なぜかチラチラ映ったりするので、マウスを操作したら画面が映った。
まるでディスプレイのスリープがかかっていたようにも見えたが、
マウスカーソルはずっと映っていたのでちょっとよくわからない。

ひょっとしたらチップが壊れているかモニタが壊れているかもしれないが、
取り敢えず映ったので良しとしよう。

2019/11/12(火)nvidiaのドライバが動いていない

次の記事でnvidiaのドライバをインストールしたと以前書いた。

FreeBSD12 に色々インストールした
https://hesy.dyndns.dk/047


しかし実際にはうまく動いていなかったのでその記録。

環境

AMD Athlon64 X2 4200+
GeForce 7050 PV / nForce 630a
FreeBSD12.1 (12.0からのアップグレード)
xorg-7.7_3
xfce-4.14
nvidia-driver-304-304.137_4


5.4. Xorg の設定 - 第5章 X Window System

https://www.freebsd.org/doc/ja_JP.eucJP/books/handbook/x-config.html

現状調査

FreeBSDハンドブックによれば、設定ファイル xorg.conf は不要で自動で起動するという。
実際に上記環境で設定をしたので起動すると xfce4の画面が映る。

しかし、画面がぼやけていて映りが悪い。
そこでログファイルXorg.0.log をみてみた。
$ grep nvidia /var/log/Xorg.0.log
どうやらnvidiaドライバを読み込んでいない。

ログファイルの一部分を抜き出すと次のようになっていた。
$ cat /var/log/Xorg.0.log | head -64 | tail -41
[    14.933] (==) --- Start of built-in configuration ---
[    14.933]    Section "Device"
[    14.933]            Identifier      "Builtin Default nv Device 0"
[    14.933]            Driver  "nv"
[    14.933]    EndSection
[    14.933]    Section "Screen"
[    14.933]            Identifier      "Builtin Default nv Screen 0"
[    14.933]            Device  "Builtin Default nv Device 0"
[    14.933]    EndSection
[    14.933]    Section "Device"
[    14.933]            Identifier      "Builtin Default modesetting Device 0"
[    14.933]            Driver  "modesetting"
[    14.933]    EndSection
[    14.933]    Section "Screen"
[    14.933]            Identifier      "Builtin Default modesetting Screen 0"
[    14.933]            Device  "Builtin Default modesetting Device 0"
[    14.933]    EndSection
[    14.933]    Section "Device"
[    14.933]            Identifier      "Builtin Default scfb Device 0"
[    14.933]            Driver  "scfb"
[    14.933]    EndSection
[    14.933]    Section "Screen"
[    14.933]            Identifier      "Builtin Default scfb Screen 0"
[    14.933]            Device  "Builtin Default scfb Device 0"
[    14.933]    EndSection
[    14.933]    Section "Device"
[    14.933]            Identifier      "Builtin Default vesa Device 0"
[    14.933]            Driver  "vesa"
[    14.933]    EndSection
[    14.933]    Section "Screen"
[    14.933]            Identifier      "Builtin Default vesa Screen 0"
[    14.933]            Device  "Builtin Default vesa Device 0"
[    14.933]    EndSection
[    14.933]    Section "ServerLayout"
[    14.933]            Identifier      "Builtin Default Layout"
[    14.933]            Screen  "Builtin Default nv Screen 0"
[    14.933]            Screen  "Builtin Default modesetting Screen 0"
[    14.933]            Screen  "Builtin Default scfb Screen 0"
[    14.933]            Screen  "Builtin Default vesa Screen 0"
[    14.933]    EndSection
[    14.933] (==) --- End of built-in configuration ---
nvを読み込もうとして失敗していた。
$ cat /var/log/Xorg.0.log | head -110 | tail -5
[    18.400] (II) LoadModule: "nv"
[    18.411] (WW) Warning, couldn't open module nv
[    18.411] (II) UnloadModule: "nv"
[    18.411] (II) Unloading nv
[    18.411] (EE) Failed to load module "nv" (module does not exist, 0)


そこでnvidiaドライバを使うように設定ファイルを書いた。
$ cat /usr/local/etc/X11/xorg.conf.d/driver-nvidia.conf
Section "Device"
        Identifier  "Card0"
        Driver      "nvidia"
EndSection
このファイルは次のコマンドでコンフィグファイルを生成し一部分を抜き出して作った。
# Xorg -configure


ここで再起動をした。

再起動後、ユーザ名とパスワードを入力するもxfceが立ち上がらず、ただ黒い画面が映るのみ。
ログを見るとドライバは読み込まれている模様。
$ cat /var/log/Xorg.0.log | head -61 | tail -9
[    18.937] (II) LoadModule: "nvidia"
[    18.937] (II) Loading /usr/local/lib/xorg/modules/drivers/nvidia_drv.so
[    19.076] (II) Module nvidia: vendor="NVIDIA Corporation"
[    19.076]    compiled for 4.0.2, module version = 1.0.0
[    19.076]    Module class: X.Org Video Driver
[    19.086] (II) NVIDIA dlloader X Driver  304.137  Thu Sep 14 13:47:42 PDT 2017
[    19.086] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[    19.086] (--) Using syscons driver with X support (version 2.0)
[    19.086] (--) using VT number 9
ログインはできるようなので、ディスプレイマネージャまでは起動している模様。

xfce4を導入するにあたりハンドブックにある通り.xsessionを作った。
$ echo ". /usr/local/etc/xdg/xfce4/xinitrc" > ~/.xsession
このあたりに現在の状況の原因が有ると予想。

時間が有るときにまた続きをすることにして、
取り敢えずは設定を戻して(rm /usr/local/etc/X11/xorg.conf.d/driver-nvidia.conf)起動させておくことにした。

2019/10/29(火)サウンドチップドライバをあてる

FreeBSD12 のサウンドドライバをあてた。

まずサウンドのオンボードチップを調べた。

$ dmesg

hdacc0: at cad 0 on hdac0
hdaa0: at nid 1 on hdacc0
pcm0: <Realtek ALC888 (Rear Analog 7.1/2.0)> at nid 20,22,21,23 and 24,26 on hdaa0
pcm1: <Realtek ALC888 (Front Analog)> at nid 27 and 25 on hdaa0
pcm2: <Realtek ALC888 (Rear Digital)> at nid 30 and 31 on hdaa0
hdacc1: at cad 3 on hdac0
hdaa1: at nid 1 on hdacc1
pcm3: <NVIDIA MCP67 (Digital)> at nid 5 on hdaa1


起動メッセージのそれっぽいところを抜き出した。
これにより次の2つがあるようである。
Realtek ALC888
NVIDIA MCP67

$ cat /dev/sndstat
Installed devices:
pcm0: <Realtek ALC888 (Rear Analog 7.1/2.0)> (play/rec) default
pcm1: <Realtek ALC888 (Front Analog)> (play/rec)
pcm2: <Realtek ALC888 (Rear Digital)> (play/rec)
pcm3: <NVIDIA MCP67 (Digital)> (play)


そこでRealtek ALC888を動くようにしてみる。
調べるとドライバは snd_hda のようである。
有効にするには次のようにする。
$ tail /boot/loader.conf
snd_hda_load="YES"


これで再起動するとドライバが読み込まれて起動する。


文字音がならない時次のコマンドを実行してみる。
sysctl hw.snd.default_unit = 1


ボリュームの調整はmixerコマンドで行う。
引数無しで実行すると現在の設定を表示する。
$ mixer
Mixer vol is currently set to 78:78
Mixer pcm is currently set to 100:100

ボリュームは0から100までの値で左右の値を設定する。
$ mixer vol 100:100
OK キャンセル 確認 その他