posté le 27/02/2008 à 22h41
posté le 23/02/2008 à 23h18
Je continue à m'amuser (dans le sens geek du terme) avec ma PSP cheesy
Cette fois, je me suis attaqué au portage d'un jeu sur la console.
Il faut dire qu'avec le travail de la communauté, on a un environnement de compilation complet incluant la majorité des bibliothèques utilisées dans les jeux (SDL, etc).

J'ai choisi le jeu Chromium B.S.U., un shoot 'em up spatial, qui offre un bon niveau de difficulté et un graphisme de qualité.

Chromium PSP

Voici les principales étapes et difficultés que j'ai rencontré :
  • Le jeu (dont le code source est assez "vieux") ne compilait déjà pas nativement. J'ai dû désactiver le support OpenAL (inutile de toute façon sur la PSP) et basculer sur SDL_Mixer (qui était déjà disponible).
  • L'étape suivante était de réussir à compiler pour la PSP (sans se soucier d'adapter le jeu dans un premier temps).
  • J'ai créé un Makefile.psp spécifique à la compilation du jeu pour la PSP.
  • Pour résoudre les premiers problèmes de compilation, j'ai choisi une technique un peu barbare consistant à commenter tout ce qui posait problème (notamment des appels OpenGL qui ne sont pas disponibles sur la PSP).
  • L'autre point qui m'a pas mal posé problème était le linkage final. L'ordre est important sur la PSP (il faut que le SDK soit linké en dernier) et j'avais beaucoup de dépendances non satisfaites... notamment avec OpenGL et SDL_Mixer.
  • J'ai compilé une première version sans le son, en remplaçant les appels OpenGL par des appels équivalents (un peu au pif rolleyes).
  • Le jeu était enfin compilé, mais ne démarrait pas sur la console. Comme on n'a pas de messages d'erreurs ni de débogueur, j'ai opté pour un bon vieux traçage à coups de printf() grin.
  • Après avoir adapté la résolution, le jeu démarrait enfin.
  • Pour résoudre le support du son, j'ai fini par recompiler SDL_Mixer avec le minimum de fonctionnalités (le jeu a juste besoin du support WAV).
  • Le reste des changements est de l'adaptation pour la jouabilité de la PSP : utilisation du joystick au lieu de la souris, messages de chargement, simplification du menu pour une meilleure lisibilité...
Le portage (binaires + sources) est disponible ici : http://royale.zerezo.com/psp/
Tout ça m'a occupé un moment, je n'ose pas imaginer combien de temps ça a pris pour porter Quake laugh
posté le 21/02/2008 à 15h56
Dans la lignée de mon billet sur l'offre Gandi Hébergement, j'ai testé le dernier né d'OVH : le serveur privé réel (RPS).
Derrière ce nom barbare se cache un serveur dédié dont les disques durs sont remplacés par un SAN (Storage Area Network).
Contrairement à l'offre de Gandi, il ne s'agit donc pas d'un serveur virtuel : on a son propre hardware, à l'exception du disque dur, qui est déporté sur le réseau.

L'offre est encore en cours de test, donc le délai de livraison est assez variable, j'ai attendu quelques jours pour réceptionner ma machine.
Pour 9,99 € HT, on a un serveur avec :
  • 1 processeur Intel Celeron
  • 512 Mo de RAM
  • 10 Go de stockage SAN
  • bande passante non limitée

1/ CPU

Dès que je me suis connecté, j'ai vérifié un peu ce que la machine avait dans le ventre grin

royale@coca:~$ uname -a
Linux coca 2.6.24.2-xxxx-std-ipv4-32 #4 SMP Wed Feb 13 16:50:04 CET 2008 i686 GNU/Linux

On retrouve un noyau OVH par défaut, mis à jour depuis la dernière faille de sécurité sur les noyaux 2.6.

royale@coca:~$ cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 14
model name      : Intel(R) Celeron(R) CPU          215  @ 1.33GHz
stepping        : 8
cpu MHz         : 1333.392
cache size      : 512 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 10
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss tm pbe nx constant_tsc up arch_perfmon bts pni monitor tm2 xtpr
bogomips        : 2668.54
clflush size    : 64

Par de surprises ici, et comme c'est un "vrai" serveur, on ne va pas partager ce processeur avec quelqu'un d'autre.

royale@coca:~$ openssl speed
Doing md2 for 3s on 16 size blocks: 205628 md2's in 3.00s

Un Celeron peut paraître faiblard, mais c'est toujours mieux qu'une part Gandi wink


2/ Mémoire

Avec seulement 512 Mo de RAM, c'est un des points faibles de la configuration, mais difficile de faire mieux pour ce prix... et c'est quand mieux qu'un Kimsufi.

royale@coca:~$ free
             total       used       free     shared    buffers     cached
Mem:        474600     435552      39048          0      44488     347776
-/+ buffers/cache:      43288     431312
Swap:            0          0          0

L'autre surprise, c'est qu'on n'a pas de swap !
L'explication est simple : on n'a pas de disque dur local, donc le swap devrait accéder au disque dur à travers le réseau shocked
On n'a donc vraiment que 512 Mo de mémoire, il faut faire attention à ce que les services gourmands ne consomment pas trop.


3/ Disque dur

J'attendais avec impatience de voir ce qu'allait donner les performances à ce niveau, puisque c'est le gros pari que fait OVH avec cette offre.

coca:/home/royale# hdparm -t /dev/sda
 Timing buffered disk reads:   34 MB in  3.09 seconds =  10.99 MB/sec

A comparer avec ce que je fais sur un Start 100M :

fanta:/home/royale# hdparm -t /dev/sda
 Timing buffered disk reads:  218 MB in  3.02 seconds =  72.21 MB/sec

Comme prévu, ça va moins vite... mais je trouve les résultats corrects par rapport à ce que je craignais.

Sur une décompression d'archive, on sent un peu moins la différence :

royale@coca:~$ time tar jxf linux-2.6.23.13.tar.bz2
real    1m1.023s
user    0m44.219s
sys     0m7.284s

Pour référence :

royale@fanta:~$ time tar jxf linux-2.6.23.13.tar.bz2
real    0m36.696s
user    0m28.367s
sys     0m3.992s

Reste à voir comment ça évolue quand le service sera vraiment lancé, et que le réseau et le SAN seront un peu plus sollicités.
Attention aussi, on n'a "que" 10 Go de stockage.


4/ Réseau

De ce côté, pas de mauvaises surprises, ça reste du OVH en puissance cool

royale@coca:~$ wget ftp://ftp.free.fr/mirrors/ftp.kernel.org/linux/kernel/v2.6/linux-2.6.23.13.tar.bz2
(10.53 MB/s) - `linux-2.6.23.13.tar.bz2' saved [45473072]

royale@coca:~$ wget ftp://ftp.oleane.fr/debian-cd/4.0_r2/i386/iso-cd/debian-40r2-i386-businesscard.iso
(8.15 MB/s) - `debian-40r2-i386-businesscard.iso' saved [33667072]

Côté upload, ça a l'air de bien fonctionner... ma connexion personnelle n'est pas très rapide en ce moment, donc ce n'est pas une mesure à prendre en compte :

royale@royale:~$ wget http://coca.zerezo.com/debian-40r2-i386-businesscard.iso
(642.67 KB/s) - `debian-40r2-i386-businesscard.iso' saved [33667072/33667072]


Au final je trouve l'offre assez intéressante, pour un prix vraiment petit.
Pour mon usage personnel, les points qui posent problème sont la RAM et l'espace disque limité.
Par contre tout le reste paraît correct. Je pense même que le SAN est une garantie de sécurité supplémentaire pour les données.
Pour information, des offres supérieures seront bientôt disponibles.
posté le 03/02/2008 à 16h29
Heureusement qu'il y a encore quelques publicités sympathiques de temps en temps :



Je viens de voir la version française tout à l'heure à la TV smiley

Infos TiBlog

Pseudo : Royale
Titre : Le blog de Royale
Description : Le blog de l'administrateur de TiBlog.fr où vous trouverez quelques détails techniques sur le fonctionnement de ce site.

Créer un blog !

blog gratuit

Recherche

Photo