2 votes

Comment éviter l'erreur "FrameBuffer" dans l'émulateur Touch d'Ubuntu ?

Lorsque je démarre dans Ubuntu touch, il me donne l'erreur suivante et se bloque :

"FrameBuffer::post eglMakeCurrent a échoué"

Cela ne se produit que lorsque j'utilise mon propre pilote d'affichage.

Je comprends donc qu'il s'agit probablement d'un problème lié au pilote qui échappe au contrôle de Canonical. D'où Je cherche une solution de contournement pour éviter cela. . (Peut-être en désactivant le rendu gpu dans l'émulateur ?)

Cette situation est très inconfortable lorsqu'il s'agit du développement d'applications.

Version Ubuntu Touch : Trusty Thar
Système d'exploitation de l'hôte : Trusty Thar
Version d'ubuntu-emulator : 0.2+14.10.20140429.1-0ubuntu1
Mon GPU : AMD Mobility Radeon HD 5430

Merci pour toute aide !

0voto

αғsнιη Points 33236

Quatre options sont proposées.

1. Désactiver temporairement le framebuffer dans le menu de démarrage Grub.

Cette modification n'aura aucune incidence sur le système installé et doit être considérée comme sûre. Si vous redémarrez votre système, cette modification disparaîtra. Il s'agit d'une modification temporaire.

Démarrez votre ordinateur normalement et après quelques secondes, vous verrez le menu Grub Grub.

Démarrez votre ordinateur normalement et après quelques secondes, vous verrez le menu Grub Grub.

  • A l'aide des touches fléchées, mettez en évidence le titre de votre choix que vous souhaitez modifier (la première entrée Ubuntu devrait être correcte) et appuyez sur "e" pour accéder à l'interface de l'éditeur d'entrée. Vous verrez maintenant les entrées de démarrage pour le titre que vous avez sélectionné.
  • Mettez en surbrillance, toujours à l'aide des touches fléchées, la ligne indiquant "kernel" et appuyez sur "e" pour modifier cette ligne.
  • Ajoutez, sans les guillemets " vga=normal nomodeset" et appuyez sur la touche entrée pour sortir du mode édition.
  • Appuyez sur la touche "b" pour démarrer votre système.

注意してください: Pour annuler vos modifications, appuyez sur la touche Escape jusqu'à ce que le menu principal s'affiche.


2. Désactiver définitivement le framebuffer dans le fichier de configuration Grub.

Voir "Définir différentes résolutions de framebuffer dans Grub" ci-dessous.


3. Désactiver le framebuffer dans le CMOS/BIOS Cette modification n'aura aucun impact sur le système installé. Toutefois, la modification sera maintenue jusqu'à ce que vous modifiiez à nouveau le paramètre.

Ce wiki n'entrera pas dans les détails de cette option pour une raison très simple : de nombreux systèmes ont des BIOS et des versions différentes. La façon dont vous entrez dans votre BIOS et l'endroit où vous devez effectuer le changement peuvent varier considérablement.

  • Entrez dans votre BIOS
  • Trouver la référence au framebuffer et la désactiver
  • Enregistrez vos paramètres et redémarrez le système
  • Démarrez votre système Ubuntu normalement

4. Désactiver le framebuffer lors de l'installation

Lors de l'installation de votre système Ubuntu, vous pouvez demander au programme d'installation d'Ubuntu de ne pas utiliser le framebuffer. Tapez F6 dans le menu Démarrer, puis ajoutez sans les guillemets "vga=711" et appuyez sur la touche Entrée.


Définition de différentes résolutions de framebuffer dans les anciennes versions de Grub.

note : Les versions modernes de Grub construisent leurs fichiers de configuration à partir de morceaux conservés sous /etc/grub.d/ et dans le fichier de paramètres /etc/default/grub . Pour apporter des modifications à Grub moderne, vous devrez apprendre à modifier le fichier /etc/default/grub puis exécutez update-grub pour créer le nouveau fichier de configuration Grub. /boot/grub/grub.cfg . Les changements décrits ci-dessous pour menu.lst ne fonctionnent que pour les anciennes versions de Grub.

Dans le fichier de configuration de Grub /boot/grub/menu.lst vous pouvez définir une résolution différente pour le framebuffer ou le désactiver.

L'option que vous devez ajouter à la ligne "kernel ..." pour l'élément de menu sélectionné est "vga=valeur" (sans les guillemets).

  • l'ajout de "vga=normal" ou "nofb" à la ligne du noyau désactive le framebuffer
  • si "nofb" n'aide pas, essayez "nomodeset" pour désactiver les paramètres du mode noyau
  • l'ajout de "vga=ask" vous permettra de définir une valeur à chaque démarrage, ce qui est utile pour tester les différents modes.

Ainsi, pour désactiver le framebuffer, entrez "vga=normal", ou "nofb" dans la ligne du noyau actif que vous utilisez dans menu.lst et redémarrez. Vous devrez rééditer le fichier menu.lst chaque fois que vous mettrez à jour la version du noyau ou Grub lui-même. Ces modifications désactiveront le framebuffer pour SEULEMENT cette entrée Grub spécifique ; pour les désactiver pour tous les noyaux, voir ci-dessous.

Exemple (anciennes versions de Grub uniquement) :

title           Ubuntu, kernel 2.6.15-20-386
root            (hd0,4)
kernel          /boot/vmlinuz-2.6.15-20-386 root=/dev/hda5 ro nofb
initrd          /boot/initrd.img-2.6.15-20-386
savedefault
boot

Pour d'autres résolutions, voici une liste :

Colour depth        640x480     800x600     1024x768    1280x1024   1400x1050   1600x1200
8  (256)        769     771     773     775             
15 (32K)        784     787     790     793             
16 (65K)        785     788     791     794     834     884
24 (16M)        786     789     792     795

Ainsi, pour utiliser le framebuffer avec une profondeur de couleur de 16 bits à une résolution de 1024x768, vous devez ajouter "vga=791" (toujours sans guillemets) à la ligne du noyau (le noyau actif que vous utilisez - vous devrez rééditer menu.lst chaque fois que vous mettrez à jour la version du noyau). Exemple :

title           Ubuntu, kernel 2.6.15-20-386
root            (hd0,4)
kernel          /boot/vmlinuz-2.6.15-20-386 root=/dev/hda5 ro vga=791
initrd          /boot/initrd.img-2.6.15-20-386
savedefault
boot

Désactiver simplement le Framebuffer dans le fichier menu.lst pour tous les noyaux

Il est possible de modifier le fichier menu.lst pour désactiver le framebuffer pour tous les noyaux et tous les nouveaux noyaux. Modifiez le fichier /boot/grub/menu.lst avec l'éditeur de votre choix, avec les droits sudo. N'oubliez pas de sauvegarder l'original au cas où vous feriez des erreurs.

sudo cp /boot/grub/menu.lst  /boot/grub/menu.list.backup_date
sudo nano /boot/grub/menu.lst

Nous sommes intéressés par les lignes suivantes. La dernière ligne est celle qui doit être modifiée. Notez que contrairement à d'autres fichiers de configuration, les 2 marques de commentaires ## sont en fait un commentaire pour Grub et la commande update-Grub. Un # est juste un commentaire pour Grub, mais EST une ligne de configuration pour la commande update-Grub. Veillez à ce que le nombre de # soit correct.

## additional options to use with the default boot option, but not with the
## alternatives
## e.g. defoptions=vga=791 resume=/dev/hda5
## The following Line is the default for all kernels. Yours may vary the nofb option disables the framebuffer
## the nosplash option also disables the fancy splash screen. You may want to disable this to allow easier troubleshooting of the system
# defoptions=quiet nosplash nofb

Une fois la dernière ligne éditée comme vous le souhaitez. Vous devez exécuter la commande update-Grub avec les droits de root pour que toutes les entrées du noyau Grub soient corrigées avec les nouvelles options.

sudo update-grub

Désormais, le framebuffer devrait être désactivé pour tous les noyaux actuels et nouveaux.

Autres outils et réglages pour le Framebuffer

*Cette section doit être élargie *

La majeure partie de ce wiki a été consacrée à la façon de désactiver le framebuffer, qui a cependant une utilité réelle. Le framebuffer permet notamment les choses suivantes. -La lecture vidéo sur la console sans avoir besoin d'installer le système X. -Certains jeux peuvent utiliser le framebuffer. Personnalisation de l'arrière-plan de la console pour y inclure des logos et d'autres images. -la visualisation d'images sans qu'il soit nécessaire d'installer le système X. -X peut même être configuré pour utiliser le périphérique framebuffer au lieu d'un pilote de carte vidéo spécifique.

Si l'on souhaite utiliser et explorer le framebuffer, la fonction fbset permet de modifier plusieurs paramètres du framebuffer à la volée.

sudo apt-get install fbset

Pour découvrir d'autres applications dotées de fonctions de tampon d'images (liste non exhaustive), vous pouvez commencer par ce qui suit.

apt-cache search framebuffer | less

Mplayer et d'autres lecteurs peuvent également prendre en charge le framebuffer.

~ ソース ~

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X