Up fbturbo のインストール 作成: 2021-03-08
更新: 2021-03-10


    Ubuntu 20.04 の Raspberry Pi では,「ビデオカードのドライバが認識できない」エラーが起きる: $ cat /var/log/Xorg.0.log ‥‥ [ 52.604] (II) modesetting: Driver for Modesetting Kernel Drivers: kms [ 52.604] (II) FBDEV: driver for framebuffer: fbdev [ 52.605] (WW) Falling back to old probe method for modesetting [ 52.605] (EE) open /dev/dri/card0: No such file or directory [ 52.605] (WW) Falling back to old probe method for fbdev ‥‥
    RasPi OS の場合は,この箇所がつぎのようになっている: [ 13.178] (II) FBTURBO: driver for framebuffer: fbturbo [ 13.218] (WW) Falling back to old probe method for fbturbo
    即ち,"fbturbo" になっていて,エラーが無い。


    そして RasPi OS では,ビデオカードのドライバを fbturbo に設定するファイルは,つぎにある:
      /usr/share/X11/xorg.conf.d/99-fbturbo.conf

    $ cat 99-fbturbo.conf
    <xmp># This is a minimal sample config file, which can be copied to # /etc/X11/xorg.conf in order to make the Xorg server pick up # and load xf86-video-fbturbo driver installed in the system. # # When troubleshooting, check /var/log/Xorg.0.log for the debugging # output and error messages. # # Run "man fbturbo" to get additional information about the extra # configuration options for tuning the driver. Section "Device" Identifier "Allwinner A10/A13 FBDEV" Driver "fbturbo" Option "fbdev" "/dev/fb0" Option "SwapbuffersWait" "true" EndSection



    Ubuntu に fbturbo をインストールする。
    これは,xf86-video-fbturbo のインストールということになる。

    以前は,つぎの方法でインストールできたようであるが,いまは「そのようなパッケージは見つからない」が返される:
      $ sudo apt install xserver-xorg-video-fbturbo

    xf86-video-fbturbo は,gitthub.com にある。
    これをインストールする。

    インストールの手順は,https://github.com/ssvb/xf86-video-fbturbo/wiki/Installation に書いてある通り。

    インストールで必要となるファイルをインストール: $ sudo apt install xorg-dev $ sudo apt install xutils-dev $ sudo apt install x11proto-dri2-dev
    xf86-video-fbturbo のインストール $ cd ~/src $ git clone https://github.com/ssvb/xf86-video-fbturbo.git $ cd xf86-video-fbturbo $ autoreconf -vi $ ./configure --prefix=/usr $ make $ sudo make install (インストール先 : /usr/lib/xorg/modules/drivers)
    フォルダ xf86-video-fbturbo の中に,xorg.conf ファイルがつくられている:
    $ cat xorg.conf # This is a minimal sample config file, which can be copied to # /etc/X11/xorg.conf in order to make the Xorg server pick up # and load xf86-video-fbturbo driver installed in the system. # # When troubleshooting, check /var/log/Xorg.0.log for the debugging # output and error messages. # # Run "man fbturbo" to get additional information about the extra # configuration options for tuning the driver. Section "Device" Identifier "Allwinner A10/A13 FBDEV" Driver "fbturbo" Option "fbdev" "/dev/fb0" Option "SwapbuffersWait" "true" EndSection
    これを,/usr/share/X11/xorg.conf.d/99-fbturbo.conf にする: $ sudo mv xorg.conf /usr/share/X11/xorg.conf.d/99-fbturbo.conf $ cat /usr/share/X11/xorg.conf.d/99-fbturbo.conf

    再起動

    $ ssh ubuntu@192.168.1.150
    $ sudo cat /var/log/boot.log
    $ sudo cat /var/log/Xorg.0.log  ‥‥ [ 53.672] (II) LoadModule: "fbturbo" [ 53.674] (II) Loading /usr/lib/xorg/modules/drivers/fbturbo_drv.so [ 53.682] (II) Module fbturbo: vendor="X.Org Foundation" [ 53.682] compiled for 1.20.9, module version = 0.5.1 [ 53.683] Module class: X.Org Video Driver [ 53.683] ABI class: X.Org Video Driver, version 24.1 [ 53.683] (II) FBTURBO: driver for framebuffer: fbturbo [ 53.683] (WW) Falling back to old probe method for fbturbo  ‥‥ エラーが無くなった。

    しかし,起動メッセージが終わったところで,停まった状態になる。
    即ち,ログインに進まず,またキーボードが効かない。

    ssh 接続はできるので,フリーズではない。
    /var/log/boot.log にも,エラー表示は無い。




    備考
    github.com : xserver-xorg-video-fbturbo より:
    xf86-video-fbturbo - video driver, primarily optimized for the devices powered by the Allwinner SoC (A10, A13, A20). It can use some of the 2D/3D hardware acceleration features. And because this driver is based on xf86-video-fbdev (with none of the original features stripped), it actually supports all the same hardware as xf86-video-fbdev. Essentially, xf86-video-fbturbo can be just used as a drop-in replacement and run on practically any Linux system. There will be no real difference on x86, but any ARM based system should see better performance thanks to some additional optimizations (the elimination of ShadowFB layer, ARM NEON/VFP code for dealing with uncached framebuffer reads, automatic backing store management for faster window moves)