2017-04-24 3 views
0

Je souhaite remplacer les logos de démarrage du noyau Raspbian (4 framboises) par quelque chose d'autre. Dans ce cas, un seul logo de dimensions 320 pixels par 80 pixels que je souhaite placer au centre de l'écran.Raspberry pi bootsplash modification du logo

Jusqu'à présent, j'ai réussi à remplacer les 4 logos de framboise par mon seul logo. Je l'ai fait en modifiant le code du noyau (fbmem.c) pour lui faire croire qu'il n'y a qu'une seule fois CPU disponible. J'ai recompilé le noyau pour ajouter mon nouveau logo et ça marche bien.

Mon problème est que je peux modifier l'emplacement x de sorte que le logo se positionne au milieu de l'écran sur l'axe horizontal, mais je ne peux pas déplacer le logo dans l'axe vertical. Si je déplace le logo le long de l'axe y, il commence à disparaître, comme s'il était en train d'être coupé - je perds le bas de mon logo. Par exemple, si je mets mon déplacement à 40 pixels, je ne peux voir que la moitié supérieure de mon logo.

Je le fais en ajoutant le début suivant de la fonction fb_do_show_logo() dans fbmem.c:

image-> dx + = 800;

image-> dy + = 40;

Existe-t-il un moyen simple de placer mon logo au milieu de l'écran? Une idée de ce que je fais mal?

Merci.

Répondre

0

Ok, j'ai trouvé une solution de contournement.

Je pensais simplement créer une image 1920x1080 et placer mon logo au milieu sur un fond noir. Cela n'a pas fonctionné, peut-être que la taille de l'image est trop élevée pour être compilée dans le noyau.

J'ai essayé un logo d'une hauteur supérieure à 80pixels et cela semble fonctionner. Donc pour résoudre le problème, j'ai créé une image 320pixels large de 580 pixels de haut (1080/2 + 80/2). Ensuite, j'ai placé mon logo de 80 pixels de haut par 320 pixels de large au bas de cette image. J'ai ensuite modifié le code du noyau (fb_do_show_logo() dans fbmem.c) en ajoutant image-> dx + = 800; pour déplacer mon image de 320x580 pixels dans l'axe des x de 800 pixels et voilà - ça marche maintenant :)