Faits:
A. X._ purge actuellement une peine de douze ans de réclusion, pour meurtre (<ref-law>). Il en a atteint les deux tiers le 9 décembre 2007.
Le 2 septembre 2009, le Tribunal d'application des peines et mesures du canton de Genève lui a refusé la libération conditionnelle.
B. Par arrêt du 22 décembre 2009, la Chambre pénale de la Cour de justice du canton de Genève a confirmé ce refus.
C. X._ recourt au Tribunal fédéral contre ce dernier arrêt, en concluant à son annulation.
Il demande l'assistance judiciaire.

Considérant en droit:
1. Le recourant se plaint de violations de son droit d'être entendu, tel que garanti aux art. 29 al. 2 Cst. et 6 CEDH.
1.1 En premier lieu, il reproche à l'arrêt attaqué de ne faire aucune allusion au mémoire personnel ("mémorandum") qu'il a adressé à la cour cantonale durant la procédure d'appel.
La jurisprudence déduit du droit d'être entendu le devoir pour l'autorité de motiver sa décision, afin que le destinataire puisse la comprendre, la contester utilement s'il y a lieu et que l'autorité de recours puisse exercer son contrôle. Pour répondre à ces exigences, il suffit que l'autorité mentionne, au moins brièvement, les motifs qui l'ont guidée et sur lesquels elle a fondé sa décision. Elle n'a pas l'obligation d'exposer et de discuter tous les arguments des parties (<ref-ruling> consid. 3.3 p. 445; <ref-ruling> consid. 4.3 p. 540).
En l'espèce, l'arrêt attaqué énonce les raisons pour lesquelles il confirme le refus de libération conditionnelle. Il satisfait dès lors aux exigences de motivation découlant du droit d'être entendu, même s'il ne mentionne pas le "mémorandum" du recourant.
1.2 En second lieu, le recourant fait grief à l'arrêt attaqué de rejeter ses réquisitions tendant à l'audition de deux témoins, dont il soutient que les déclarations auraient prouvé qu'il n'est pas dangereux.
Dans sa composante de droit à l'administration des preuves, le droit d'être entendu confère à tout intéressé la faculté d'obtenir qu'il soit donné suite à ses réquisitions tendant à l'administration de preuves utiles portant sur des faits pertinents (<ref-ruling> consid. 2.2 p. 504 s.; <ref-ruling> consid. 2b p. 56; <ref-ruling> consid. 2c p. 578 et la jurisprudence citée). Ce droit ne porte toutefois que sur des preuves licites. Il ne permet pas, en particulier, d'obliger à témoigner des fonctionnaires que leur hiérarchie refuse définitivement de délier du secret de fonction.
En l'espèce, en rejetant la réquisition litigieuse au motif, notamment, que les témoins désignés sont des fonctionnaires auxquels l'autorité administrative compétente refuse l'autorisation de déposer, l'arrêt attaqué ne viole pas le droit d'être entendu du recourant. Le recours, mal fondé, doit dès lors être rejeté.
2. Comme il est apparu d'emblée que ses conclusions étaient vouées à l'échec, le recourant doit être débouté de sa demande d'assistance judiciaire (<ref-law> a contrario) et supporter les frais de justice, réduits à 800 fr. pour tenir compte de sa situation financière.

Par ces motifs, le Tribunal fédéral prononce:
1. Le recours est rejeté.
2. La demande d'assistance judiciaire est rejetée.
3. Les frais judiciaires, arrêtés à 800 fr., sont mis à la charge du recourant.
4. Le présent arrêt est communiqué aux parties et à la Cour de justice du canton de Genève, Chambre pénale.
Lausanne, le 26 février 2010
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Président: Le Greffier:
Favre Oulevey