web-dev-qa-db-ja.com

フレームバッファは利用できません。 Ubuntuにデバイス/ dev / fb / 0をインストールするにはどうすればよいですか?

2.6.31-14-generic#48-Ubuntuでフレームバッファーを使用するアプリケーションを実行しようとしています。

私がする必要があるのは、次のエラーを取り除くためにフレームバッファデバイスをインストールすることです:

/dev/fb/0: No such file or directory
framebuffer not available.
FATAL: no framebuffer available

Googleを検索したところ、Grub2でそれを行うことを示すいくつかのリソースが見つかりました。シームレスにフォローしましたが、何も得られませんでした。

何か案は?

3
Aleyna

フレームバッファドライバをアクティブ化する必要があります。フレームバッファドライバは、デフォルトで常に非アクティブ化されています。

私はこれらを構成しました:

echo "fbcon" | Sudo tee -a /etc/initramfs-tools/modules
echo "vesafb" | Sudo tee -a /etc/initramfs-tools/modules

そして、私はvesafb(これは私が聞いたすべてのカードで機能します)をコメントアウトしました

/etc/modprobe.d/blacklist-framebuffer.conf

次に、構成を更新します。

Sudo update-initramfs -u -k all

私たちは、ほぼ、そこにいる。次に、フレームバッファでカードのサポートされている解像度を探す必要があります。おそらくhwinfoをインストールする必要があります

Sudo hwinfo --framebuffer

解像度とその16進コードを確認できます。

これで、起動時にeキーを押してvga=[hexadecimalcode](ef vga=0x346)を追加するか、defoptionsの後の/boot/grub/menu.lstで変更を永続的にすることができます。語。

Grub構成に触れる前にeキーを試して、それが機能することを確認する方が安全であることがわかりました。

後でAlt+F1-6を使用してttyに切り替えると、指定した解像度になります。 fbiおよびその他のユーティリティを使用できます。

4
digitocero

Ubuntuには/dev/fbXではなく/dev/fb/Xデバイス?

$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.1 LTS"
$ ls -l /dev/fb/*
ls: cannot access 'fb/*': No such file or directory
$ ls -l /dev/fb*
crw-rw---- 1 root video 29, 0 авг 29 11:41 fb0

その別の名前でプログラムを実行してみてください。失敗した場合は、そのファイルへのリンクを作成してください。

# mkdir /dev/fb
# ln /dev/fb0 /dev/fb/0

テストの実行:

# Sudo dd if=/dev/urandom of=/dev/fb/0
dd: writing to '/dev/fb/0': No space left on device
15001+0 records in
15000+0 records out
7680000 bytes (7,7 MB, 7,3 MiB) copied, 0,501639 s, 15,3 MB/s
# Sudo dd if=/dev/urandom of=/dev/fb0
dd: writing to '/dev/fb0': No space left on device
15001+0 records in
15000+0 records out
7680000 bytes (7,7 MB, 7,3 MiB) copied, 0,523867 s, 14,7 MB/s

それは私のボックスで動作しますが、YMMVです。

0
Danya02