кадровый буфер недоступен. Как установить устройство / dev / fb / 0 в Ubuntu?

10144
Aleyna

Я пытаюсь запустить приложение, которое использует framebuffer на 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
связанные: [Нет устройства кадрового буфера: как его включить?] (http://unix.stackexchange.com/q/33596/1321) jfs 8 лет назад 0
связанные: [Как мне увеличить разрешение в режиме консоли?] (http://askubuntu.com/q/18444/3712) jfs 8 лет назад 0

2 ответа на вопрос

4
digitocero

Вам необходимо активировать драйверы кадрового буфера, которые по умолчанию всегда отключены.

Я настроил это:

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 

Вы можете увидеть разрешения и его шестнадцатеричный код.

Теперь вы можете либо нажать eклавишу во время загрузки и добавить vga=[hexadecimalcode](ef vga=0x346), либо сделать изменение постоянным /boot/grub/menu.lstпосле defoptionsслова.

Я нашел более безопасным попробовать eключ, прежде чем касаться конфигурации grub, чтобы убедиться, что он работает.

Позже, когда вы переключаетесь на ttyс Alt+F1-6будет в разрешении вы указали. Вы можете использовать fbiи другие утилиты.

Все версии Ubuntu после 9.04 используют Grub2. Hello71 13 лет назад 0
0
Danya02

Я думал, что у 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.