Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 Re : Jeux » KingsAndShips : Graphismes et Game Design » 17-03-2020 15:27:58

kao
Je viens de pousser dans la branche principale plusieurs choses :

La principale chose est l'ajout du zoom avec l'aide de la molette. Cette fonctionnalité m'a demandé pas mal de fil à retordre mais j'y suis arrivé. Elle permet au jeu de s'adapter plus facilement au grande résolution d'écran.
J'ai doublé la résolution des graphismes : 128px -> 256px. Chaque image est réduite plusieurs fois en RAM afin d'avoir toutes les résolutions dispo. Les images sont plus lourdes mais comme j'ai accéléré le temps de chargement, le jeu se charge au final plus vite... Un peu moins de 50Mo en RAM, c'est plutôt raisonnable, je vais pouvoir ajouter plus de détails dans les objets à l'avenir.


Le deuxieme point, et non des moindres, est le passage à cmake pour la compilation. Cela permet de fabriquer un paquet debian facilement avec l'aide de cpack. La méthode change donc un peu mais permet d'aller plus loin :

Dépendances

apt install build-essential git cmake ninja-build gettext libxml++2.6-dev
apt install libsdl2-dev libsdl2-ttf-dev libfreetype6-dev libxml2-dev libsdl2-image-dev fonts-robot



Téléchargement

git clone https://github.com/kaochen/KingsAndShips
cd KingsAndShips


Si vous avez déjà le projet il faut juste synchroniser le dossier avec le serveur

 git pull


Compilation

 
mkdir bin
cd bin
cmake -G "Ninja" ..
ninja



Creation du paquet

cpack


Installation


dpkg -i kingsandships*.deb
 


Désinstallation

apt remove kingsandships



Le programme est dispo dans le menu en théorie, sinon il faut lancer la commande

kingsandships


Ou si on ne l'a pas installé, depuis le dossier de téléchargement

./bin/kingsandships



Si vous pouvez me faire retour, notamment sur le paquet Debian ce serait top.

Cordialement,
Kao

#2 Re : Gestion des paquets Debian » [RESOLU] apt-get Impossible d'obtenir le verrou » 16-03-2020 10:25:15

kao
Apt 2.0 devrait à l'avenir nous aider pour le problème de lock :
https://blog.jak-linux.org/2020/03/07/apt-2.0/

apt(8) now waits for the dpkg locks - indefinitely, when connected to a tty, or for 120s otherwise.

When apt cannot acquire the lock, it prints the name and pid of the process that currently holds the lock.


Il pourra attendre la libération du lock et/ou nous indiquer quel PID le bloque

La version 2.0 est déjà descendu dans testing... big_smile
https://tracker.debian.org/pkg/apt

#3 Re : Multimédia » [Résolu] conversion format pour vidéo » 11-03-2020 13:35:53

kao
C'est du MPEG2 normalement pour le DVD et c'est de la SD
https://fr.wikipedia.org/wiki/DVD#DVD_Vid%C3%A9o
C'est donc normal que cela ne fonctionne pas

Regarde ici pour les outils qui permettent de créer facilement des DVD Vidéo : https://doc.ubuntu-fr.org/dvd#creation_de_dvd_video
Devede me semble bien.

#4 Re : Gestion des paquets Debian » [RESOLU] apt-get Impossible d'obtenir le verrou » 02-03-2020 20:08:59

kao

smolski a écrit :

kao a écrit :

Je remonte regarde qui est le 4771 par curiosité


Ça serait mieux de détailler cette commande qui semble triple... smile


Corrigé wink

#5 Re : Gestion des paquets Debian » [RESOLU] apt-get Impossible d'obtenir le verrou » 01-03-2020 07:06:22

kao
Je viens de me retrouver dans la même situation et j'ai suivi la méthode de Enicar avec fuser:

sudo apt full-upgrade


E: Impossible d'obtenir le verrou /var/lib/dpkg/lock-frontend - open (11: Ressource temporairement non disponible)
E: Impossible d'obtenir le verrou de dpkg (/var/lib/dpkg/lock-frontend). Il est possible qu'un autre processus l'utilise.
 


Donc fuser me remonte le PID du programme qui verrouille le fichier

 fuser /var/lib/dpkg/lock


/var/lib/dpkg/lock:   4771


Je  regarde qui est le 4771 par curiosité

ps -p 4771


Le fautif se nomme: unattended-upgr

PID TTY          TIME CMD
 4771 ?        00:04:54 unattended-upgr


Je le tue sans ciller :

kill -9 4771


et full-upgrade refonctionne à nouveau,
Merci smile
Edit:remise en forme commande

#6 Re : Scripts, programmes et robots » {C} concatenation a la chaine » 26-02-2020 20:23:51

kao

raleur a écrit :


kao a écrit :

text = "GrandeChaine";


On peut faire ça en C ?


Oups ! Tu as raison, on ne peut pas...
Il faut passer par strcpy : http://www.cplusplus.com/reference/cstring/strcpy/
C'était une des grosses raisons qui m'ont fait migrer vers le C++.
La gestion des chaînes de caractères est vraiment beaucoup plus simple. (+ les containers + les objets + les booléens etc... ).

Pour GTK il faut peut-être passer par leurs string a eux : https://developer.gnome.org/glib/stable … tions.html

#7 Re : Scripts, programmes et robots » {C} concatenation a la chaine » 24-02-2020 09:56:47

kao
Petite précision :
La place pour stocker la chaîne de caractères est définie à l'initialisation de la variable.
Ça veut dire que si tu as prévu de faire rentrer un mot plus long, plus tard, il risque d'y avoir un débordement de mémoire.

Si tu alloues 5 caractères :

char text[5] ="Petit";



Et que tu veux y placer un chaîne plus grande tu risques d'avoir un problème

text = "GrandeChaine";


Dépasser de 1 suffit à faire un segfault je pense.

Selon le contexte il peut être intéressant de prévoir large à l'avance :

#define MAX_CARACT 255
char text[MAX_CARACT] ="petit";
text = "GrandeChaine";


Cela prend un peu plus de place, mais évitera de faire un delete puis nouveau malloc à chaque changement de taille.

A toi de voir.

#8 Re : Scripts, programmes et robots » error: ‘GSList’ {aka ‘struct _GSList’} has no member named ‘A » 30-01-2020 10:33:16

kao
Salut,
A quel moment tu déclares que B contient une structure de type maille ?
B->maille suggère que tu vas trouver un élément nommé "maille" dans la structure de type GSList*

Attention aussi quand tu déclares le typedef :
typedef struct bourse * maille;
C'est un coup à se mélanger les pinceaux (pointeur maille est en fait une structure bourse ????)
Fait plus simple, perso j'ajoute un préfixe pour reconnaître le type plus facilement.

struct S_bourse
{
  char *justification;
  int montant;
  char saut;

};
typedef struct S_bourse S_bourse;
#define MAX_CARACT 255

S_Bourse * initBourse (char *justification, int montant)
{

    S_Bourse * A = malloc(sizeof(S_Bourse));
    A->justification = malloc (MAX_CARACT) // pour avoir de la place si je remplace par un texte plus long ensuite
    A->justification = justification;
    A->montant = montant;
    A->saut: "\n";

    return A;
}

 


Ensuite pour la fonction écriture ça dépend se que tu veux faire et ce qu'attend  la structure de type GSList
https://gtk.developpez.com/cours/gtk2/?page=page_8

J'ai l'impression que que le pointeur data d'une GList peut prendre n'importe quelle type de pointeur, mais il faut le déclarer à un moment de donner
https://developer.gnome.org/glib/stable … Lists.html

Tu peux lire ça aussi pour comprendre ce qu'est une liste chaînée https://openclassrooms.com/fr/courses/1 … s-chainees

#9 Re : Scripts, programmes et robots » error: ‘GSList’ {aka ‘struct _GSList’} has no member named ‘A » 29-01-2020 13:11:29

kao
Peux tu nous montrer la déclaration de tes structures et comment tu initialises A et B ?
Regardes ici aussi : https://openclassrooms.com/fr/courses/1 … -variables
Cela te permettra de naviguer plus facilement dans les structures.

#10 Re : Scripts, programmes et robots » error: variable ‘sep’ set but not used [-Werror=unused-but-set-variabl » 21-01-2020 09:49:18

kao
Salut Clem,

Ram/neuneu.c:64:1: error: control reaches end of non-void function


Cela t'indique que tu ne renvoie pas de valeur à la fin de ta fonction, elle n'a pas de return. Seule les fonctions avec "void" ne renvoient pas de valeur.

Parfois il y a des "return" mélangés à des if et gcc renvoie le même message parce qu'il n'a pas de garantie que tu vas lui renvoyer quelque chose dans toutes les situations.

Généralement, j'écris mes fonctions comme cela :

GtkWidget* make_sep (GtkOrientation orientation, GtkWidget *contenant)
{
   GtkWidget* ret = NULL; ///le null permet d'initialiser le pointeur et de savoir toujours ce qu'il y a au bout, surtout si le new qui suit ne fonctionne pas.
   if(mes conditions){
       ret = gtk_separator_new (orientation);
       gtk_box_pack_start(GTK_BOX(contenant), sep, FALSE, FALSE, 5);
   } // si les conditions ne fonctionnent pas j'ai toujours l'assurance d'avoir un retour initialisé sur quelque chose que je connais (le NULL).
   return ret; // comme le retour n'est pas dans une condition ou une boucle, j'ai toujours quelque chose et ça GCC aime bien
}



Du coup comme tu auras toujours au moins un NULL tu peux surveiller la bonne initialisation dans la fonction parente


GtkWidget* sep = make_sep (GTK_ORIENTATION_HORIZONTAL, hbox);
if(sep != NULL){
  je peux passer à la suite
} else {
  je fais autrement
}

#11 Re : Scripts, programmes et robots » Reconnaissance vocale » 20-01-2020 20:27:14

kao
Dommage, faut voir ce que va décider Sonos, ils ont un partenariat avec Ikea pour la Maison 2.0 :
https://www.youtube.com/watch?v=L23JPc9h3nc
https://www.ikea.com/fr/fr/news/symfoni … ubaafe6500

Dans le fil de discussion sur le rachat par Sonos,  https://forum.snips.ai/t/sonos-announce … rs/4073/55
j'ai trouvé plusieurs alternative :
https://speechbrain.github.io/
https://almond.stanford.edu/
https://keenresearch.com/

Il y en a peut-être une qui vaut le coup

#12 Re : Scripts, programmes et robots » Reconnaissance vocale » 20-01-2020 09:37:37

kao
Salut
Regarde Snips, c'est du local/open source si je ne dis pas de bêtises :
https://snips.ai/
https://framalibre.org/content/snips
https://www.lesechos.fr/tech-medias/hig … rs-1149589

Mozilla a peut-être une application suite à son projet voice :
https://voice.mozilla.org/fr

#13 Re : Scripts, programmes et robots » factorisation et pointeurs de fonction ( en c ) » 19-01-2020 13:48:30

kao
Salut Clem,

clem@debian:~$ gcc -Wall -Werror -ansi `pkg-config --cflags gtk+-3.0` Ram/niou.c -o Ram/niou `pkg-config --libs gtk+-3.0`
Ram/niou.c: In function ‘activate’:
Ram/niou.c:31:13: error: variable ‘label’ set but not used [-Werror=unused-but-set-variable]
  GtkWidget* label;
             ^~~~~
Ram/niou.c:29:13: error: variable ‘sep’ set but not used [-Werror=unused-but-set-variable]
  GtkWidget *sep;
             ^~~
cc1: all warnings being treated as errors



A mon avis, la compilation passe mais avec l'option "-Werror" tu traites les warnings comme des erreurs et fait échouer la compilation.
gcc t'informe juste que tu n'utilises pas les deux pointeurs que tu as créé :

  GtkWidget *sep;
  GtkWidget* label;


Voici les options que j’utilise pour la compilation :

-Wall -Wextra -Wno-deprecated-declarations -g


L'option "-g" est utile pour passer ton programme dans Valgrind ou Linux-Perf. Garde là pendant le temps de dev.
GCC est vraiment top, il ne faut pas hésiter à écouter ses conseils smile Et il est bon d'avoir le moins de warning possible. (Zéro c'est le mieux).

Pense à libérer les mémoires allouer à la fin de ton programme, un "new" appelle toujours un "delete" il faut juste savoir quand le déclencher.

#14 Re : Multimédia » [Abandon] Debian 10 n'aime pas VLC » 19-01-2020 13:17:47

kao
Désolé pour la réponse tardive, mais j'étais hors réseau:

libva info: VA-API version 1.4.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/nouveau_drv_video.so
libva info: Found init function __vaDriverInit_1_4
libva info: va_openDriver() returns 0
[00007f33940033e0] glconv_vaapi_x11 gl error: vaDeriveImage: invalid VASurfaceID
[00007f33a4047890] main video output error: video output creation failed


C'est bien un problème de driver graphique, VLC n'arrive pas a créer la fenêtre vidéo principale à l'aide du pilote graphique.

Une suggestion serait de passer par le driver propriétaire.
Pour cela il faut connaître le nom de ta carte avec :

$ lspci | grep -i vga


Ou encore mieux avec nvidia detect qui devrait te suggérer le bon driver.

apt-get update && apt install nvidia-detect


nvidia-detect


En fonction du résultat tu devrait avoir une suggestion du bon pilote à installer.
https://debian-facile.org/doc:materiel: … oprietaire

Avoir le bon pilote graphique est crucial pour avoir une bonne expérience utilisateur. Parfois c'est le libre qui est plus stable parfois c'est le proprio, ça dépend du modèle et de la marque, seul l'expérience donne raison.

#15 Re : Multimédia » [Abandon] Debian 10 n'aime pas VLC » 08-01-2020 11:13:32

kao
@manet42
Ouvre un sujet pour Gedit si tu veux donner plus de détails : Tu peux regarder les alternatives comme mousepad ou kate ou plus encore : https://alternativeto.net/software/gedit/
Pour le terminal en root regarde ici : https://askubuntu.com/questions/515198/ … al-as-root la commande :

sudo -H gnome-terminal


Ça pourrait éventuellement faire l'affaire.

#16 Re : Scripts, programmes et robots » Fonction pause dans un script shell et envoi de mail » 08-01-2020 09:46:18

kao
Le serveur de mail a peut-être un temps de traitement long, il faut qu'il se connecte au serveur, attends une réponse etc...

Essaye de voir avec un sleep ou un wait si tu peux attendre 5 minutes avant de mettre en hibernation

sleep .5 # Waits 0.5 second.
sleep 5  # Waits 5 seconds.
sleep 5s # Waits 5 seconds.
sleep 5m # Waits 5 minutes.
sleep 5h # Waits 5 hours.
sleep 5d # Waits 5 days.



https://stackoverflow.com/questions/216 … continuing
https://stackoverflow.com/questions/132 … -and-sleep

#17 Re : Multimédia » [Abandon] Debian 10 n'aime pas VLC » 08-01-2020 09:26:13

kao
Salut Hermes,
VLC fonctionne bien avec Debian 10 chez moi.
Est ce que l'application se lance correctement depuis la ligne de commande ? avec ou sans vidéo :

vlc
vlc fichierVideo.mkv
 


Si VLC ne se lance pas même à vide essaye de le réinstaller :
Si tu as un doute sur Gedbi passe par la ligne de commande :

apt remove vlc
apt install vlc



Si c'est l'affichage qui est mauvais à la lecture des vidéos regardes les préférences de sortie de VLC : Outils > Préférence > Vidéo (ou audio) et le choix de la sortie.
Cela peut aussi vernir des pilotes de ta carte graphiques.

#18 Re : Jeux » KingsAndShips : Graphismes et Game Design » 17-12-2019 11:38:11

kao
Merci !!!
Il encore de l'affinage à faire sur les nuages mais je sens que c'est sur la bonne pente...

Prochaine étape migration de Meson à CMake, cela devrait me permettre d'utiliser CPack et de fabriquer des paquets DEB ou RPM (voire exe si j'arrive à compiler la libxml++ sur un Windows)...
Ensuite je pourrais attaquer la gestion de la progression avec les déblocage des niveaux au fil des victoires....

#19 Re : Jeux » KingsAndShips : Graphismes et Game Design » 15-12-2019 11:11:41

kao
J'ai retravaillé les nuages pour les rendre plus crédible (et donc compréhensif).
1576406945.png
J'ai utilisé le plugin "Cloud Generator" dans Blender 2.79 pour les créer, ensuite j'ai essayé de les animer pour les rendre moins statiques.
Pas facile de les ralentir sans créer de saccade.

J'ai fait une petit vidéo ici : https://www.youtube.com/watch?v=9F9SGE7AHuc pour voir l'animation.
Je l'ai faite avec OBStudio, j'essayerai d'avoir moins de compression sur la prochaine.

#20 Re : Système » Autoriser l'éxécution d'une commande qu’à certaine heure » 30-11-2019 10:54:46

kao
Si c'est un accès à internet, tu peux sûrement regarder du côté de ta box :
Exemple avec Orange :
https://assistance.orange.fr/livebox-mo … 0604-21037
SFR : https://assistance.sfr.fr/internet-tel- … t-box.html
Free : https://free.fr/assistance/5076.html

Peux être plus facile à mettre en place, et tu dois pouvoir le faire équipement par équipement.

#21 Re : Multimédia » [Résolu] Encodage en 10 bits » 28-11-2019 11:24:16

kao
En dehors d'avoir du contenu dit HDR ou des images issus de caméra cinéma, il n'est pas nécessaire de faire du 10 bits.
Tu vas avoir des fichiers plus lourd avec de couleurs qui risquent d'être modifié.
Regarde ici :
http://www.latelierducable.com/tv-telev … -couleurs/

#22 Re : Jeux » KingsAndShips : Graphismes et Game Design » 14-11-2019 22:01:43

kao
Ça y est j'ai remplacé les turbines par des catapultes.
Cela m'a demandé pas mal de travail, parce que l'animation est plus complexe et nécessite des séquences séparés : J'attends, je cherche, je tire, le boulet part, je recharge...
Le code est plus complet, ce qui devrait me faciliter la tâche pour la suite (enfin je me dis toujours ça wink ). Du coup j'en ai profité pour pousser ce travail en séquence sur les autres unités.
1573767431.jpg
J'aime bien ces catapultes en tout cas, même si il y a de quoi les améliorer, c'est un bon début smile .

#23 Re : Scripts, programmes et robots » [merci j'ai assez] Votre config matériel + drivers proprio » 14-11-2019 20:27:19

kao

otyugh a écrit :

J'ai regardé un peu fwupd et... Ben je vois pas trop. Déjà chez moi, le seul truc qu'il liste en firmware c'est mon disque dur °o°


Il faut que le constructeur upload des firmwares sinon... moi je pourrais faire mes disques notamment un SSD Samsung
https://fwupd.org/lvfs/vendors/

De ce que j'avais compris, pas mal de constructeur sont content de cette initiative, ça leur facilite pas mal le travail avec les plateformes Linux.
Les devs ont pris contact avec pas mal de constructeur, et ils ont plutôt des retours positifs mais ils ne peuvent pas faire le travail à leur place.

#24 Re : Scripts, programmes et robots » [merci j'ai assez] Votre config matériel + drivers proprio » 13-11-2019 19:56:39

kao
https://gitlab.gnome.org/hughsie/gnome-firmware-updater
Voici l'application Gnome pour les firmwares, ils ont travaillé avec les constructeurs afin de proposer un catalogue de firmware.
Je n'ai pas testé, mais cela me parait intéressant.
Ils doivent bien faire une liste des équipements quelques parts.

Après recherche, il doivent sûrement se servir de ce projet : https://fwupd.org/
https://wiki.archlinux.org/index.php/Fwupd

#25 Re : Scripts, programmes et robots » [merci j'ai assez] Votre config matériel + drivers proprio » 13-11-2019 12:47:45

kao
@otyugh comment tu comptes faire pour faire la correspondance ?

apt show firmware-amd-graphics


Si tu fais cette commande tu as un retour mais il faudrait le faire sur chaque paquet, au moins de la section: non-free/kernel.
Ensuite je ne sais pas si c'est uniformisé entre les paquets.
Je crois savoir que Ubuntu a travaillé sur le sujet pour sa logithèque et je sais que Gnome bosse sur un équivalent pour les firmware, mais je ne sais comment ils procèdent.
Il faudrait peut-être suggéré une catégorie dans les paquet deb pour indiquer les équipements compatibles...
J'ai pas l'impression que ce soit le cas : https://www.debian.org/doc/manuals/main … er.fr.html
Le fait que ce soit fait au niveau du deb faciliterait grandement les choses.

Pied de page des forums

Propulsé par FluxBB