Installer FreeCAD 0.19 sous Debian 10

Site officiel : https://www.freecadweb.org

Dans la console :

Si le répertoire FreeCAD n’existe pas déjà, je le crée :
sudo mkdir /usr/share/freecad

Je télécharge l’application : FreeCAD_0.19-24291-Linux-Conda_glibc2.12-x86_64.AppImage

J’installe l’application à l’endroit voulu :
cd Téléchargements
sudo mv FreeCAD_0.19-24291-Linux-Conda_glibc2.12-x86_64.AppImage /usr/share/freecad

Je rends le fichier exécutable :
sudo chmod +x /usr/share/freecad/FreeCAD_0.19-24291-Linux-Conda_glibc2.12-x86_64.AppImage

Je télécharge l’icône FreeCAD et l’installe à l’endroit voulu :
wget http://entropie.org/3615/download/freecad.svg
sudo mv freecad.svg /usr/share/freecad

Pour effacer une version précédente de FreeCAD (à adapter) :
sudo rm /usr/share/freecad/*.AppImage

Pour intégrer le programme au menu de Xfce, je crée un fichier freecad.desktop dans le répertoire /usr/share/applications :
cd /usr/share/applications
sudo nano freecad.desktop


[Desktop Entry]
Version=0.19
Name=FreeCAD
Comment=Feature based Parametric Modeler
GenericName=CAD Application
Exec=/usr/share/freecad/FreeCAD_0.19-24291-Linux-Conda_glibc2.12-x86_64.AppImage
Terminal=false
Type=Application
Icon=/usr/share/freecad/freecad.svg
Categories=Graphics;Science;Engineering
StartupNotify=true
MimeType=application/x-extension-fcstd

Installer Stellarium 0.21 sous Debian 10

Site officiel : https://stellarium.org/fr/

Dans la console :

Si le répertoire Stellarium n’existe pas déjà, je le crée :
sudo mkdir /usr/share/stellarium

Je télécharge l’application : Stellarium-0.21.1-x86_64.AppImage

J’installe l’application à l’endroit voulu :
cd Téléchargements
sudo mv Stellarium-0.21.1-x86_64.AppImage /usr/share/stellarium/

Je rends le fichier exécutable :
sudo chmod +x /usr/share/stellarium/Stellarium-0.21.1-x86_64.AppImage

Je télécharge l’icône Stellarium et l’installe à l’endroit voulu :
wget http://entropie.org/3615/download/stellarium.ico
sudo mv stellarium.ico /usr/share/stellarium

Pour effacer une version précédente de Stellarium (à adapter) :
sudo rm /usr/share/stellarium/stellarium.AppImage

Pour intégrer le programme au menu de Xfce, je crée un fichier stellarium.desktop dans le répertoire /usr/share/applications :
cd /usr/share/applications
sudo nano stellarium.desktop


[Desktop Entry]
Version=0.21
Type=Application
Name=Stellarium
Name[fr]=Stellarium
GenericName=Desktop planetarium
GenericName[fr]=Planétarium de bureau
Exec=/usr/share/stellarium/Stellarium-0.21.1-x86_64.AppImage --startup-script=%f
Icon=/usr/share/stellarium/stellarium.ico
StartupNotify=false
Terminal=false
Categories=Astronomy;Education;Science;
Comment=Planetarium
Comment[fr]=Un planétarium interactif
Keywords=astronomy;planetarium;
MimeType=application/x-stellarium-script;
Actions=Window;Fullscreen;Debugmode;
[Desktop Action Window]
Name=Open in window
Name[fr]=Ouvrir dans une fenêtre
Exec=/usr/share/stellarium/Stellarium-0.21.1-x86_64.AppImage -f no
[Desktop Action Fullscreen]
Name=Open in fullscreen
Name[fr]=Ouvrir en plein écran
Exec=/usr/share/stellarium/Stellarium-0.21.1-x86_64.AppImage -f yes
[Desktop Action Debugmode]
Name=Open in debug mode
Name[fr]=Ouvrir en mode de débogage
Exec=/usr/share/stellarium/Stellarium-0.21.1-x86_64.AppImage --dump-opengl-details

Installation de Debian 11 (Bullseye)

RÉCUPÉRER L’ISO :

On peut télécharger l’ISO proposée sur la page d’accueil du site Debian (en haut à droite) mais l’installation par le réseau est assez longue. Pour accélérer l’installation, je préfère choisir de télécharger l’ISO du premier DVD. L’adresse de base https://cdimage.debian.org/debian-cd/ est à compléter en fonction de la version choisie :
https://cdimage.debian.org/debian-cd/current/amd64/iso-dvd/
https://cdimage.debian.org/debian-cd/current/i386/iso-dvd/

Pour tester les signatures des fichiers téléchargés, on peut utiliser dans la console :
md5sum debian.iso (à adapter)
sha1sum debian.iso (à adapter)
sha256sum debian.iso (à adapter)
sha512sum debian.iso (à adapter)
En ce qui me concerne, je mets le fichier iso à tester avec le fichier SHA512SUMS dans un même répertoire et je tape dans la console :

sha512sum --ignore-missing -c SHA512SUMS
La réponse est par exemple :
debian-11.0.0-amd64-DVD-1.iso: Réussi

CRÉER UNE CLÉ USB BOOTABLE :

Dans la console :
sudo fdisk -l (pour avoir la liste des disques)
Attention ! Danger !
sudo dd if=/chemin/debian.iso of=/dev/sdc bs=4M && sync (à adapter)

RENTRER DANS LE BIOS :

Au préalable : Débrancher le disque « données »
Sur mon PC : F2
Rentrer le mot de passe Administrateur
F8 (Démarrage) puis UEFI (Kingston DataTraveler)

DÉBUTER L’INSTALLATION :

Choisir Graphical Install
Select a language : Français
Choix de votre situation géographique : France
Configurer le clavier : Français
Nom de machine : À adapter
Domaine : Ne rien mettre
Mot de passe du superutilisateur (root) : Ne rien mettre afin de désactiver le compte root
Nom complet du nouvel utilisateur : À adapter
Identifiant pour le compte utilisateur : À adapter
Mot de passe pour le nouvel utilisateur : À adapter
Forcer l’installation UEFI : Non
Partitionner les disques : Manuel
Choisir un disque
Faut-il créer une nouvelle table de partition sur ce disque ? Oui
/dev/sda
Remarque : Dans ce qui suit, je mets pour swap la taille de la mémoire vive :
/dev/sda1 primaire (8 GB) F swap swap
/dev/sda2 primaire (40 GB) F ext4 /
/dev/sda3 primaire (le reste en GB) F ext4 home
Faut-il appliquer les changements sur les disques ? Oui
Faut-il utiliser un miroir sur le réseau ? Oui
Pays du miroir de l’archive Debian : France
Miroir de l’archive Debian : ftp.fr.debian.org
Mandataire HTTP : Ne rien mettre
Souhaitez-vous participer à l’étude statistique sur l’utilisation des paquets ? Non
Logiciels à installer :
* Environnement de bureau Debian
* Xfce
* Utilitaires usuels du système
Installer le programme de démarrage GRUB sur le secteur d’amorçage : Oui
Périphérique où sera installé le programme de démarrage : /dev/sda
L’ordinateur reboote…
Bienvenue ! Le tableau de bord de Xfce démarre pour la première fois : Utiliser les paramètres par défaut

MODIFIER LE FICHIER SOURCES.LIST DES DÉPÔTS :

Dans la console :
sudo nano /etc/apt/sources.list


# deb cdrom:[Debian GNU/Linux testing _Bullseye_]/ bullseye contrib main

## Miroir Debian
# Dépôt de base : Bullseye
deb http://ftp.fr.debian.org/debian/ bullseye main contrib non-free
deb-src http://ftp.fr.debian.org/debian/ bullseye main contrib non-free

# Mises à jour de sécurité
deb http://security.debian.org/debian-security bullseye-security main contrib non-free
deb-src http://security.debian.org/debian-security bullseye-security main contrib non-free

SAUVEGARDER LE MBR ET LA TABLE DE PARTITIONS :

Dans la console :
Pour le MBR :
sudo dd if=/dev/sda of=~/mbr.img bs=512 count=1
Pour la table de partitions :
sudo sfdisk -d /dev/sda > table_partitions_sda_$(date +%Y%m%d).dmp
Se les envoyer par e-mail par exemple.

POUR METTRE LE SYSTÈME À JOUR :

Dans la console :
Pour récupérer les nouvelles listes de paquets :
sudo apt-get update
Pour réaliser une mise à jour :
sudo apt-get upgrade
Pour supprimer un paquet :
sudo apt-get remove nom_paquet
Pour supprimer des paquets qui ne sont plus nécessaires :
sudo apt-get autoremove

LES PAQUETS SUPPLÉMENTAIRES QUE J’INSTALLE ÉVENTUELLEMENT :

Dans la console (c’est tellement plus rapide !) :
sudo apt-get install nom_paquet

audacity => https://www.audacityteam.org / Détails du paquet
avogadro openbabel => https://avogadro.cc / Détails du paquet / Détails du paquet
calibre => https://calibre-ebook.com / Détails du paquet
chromium chromium-l10n => https://www.chromium.org / Détails du paquet
cups / Détails du paquet
cura => https://ultimaker.com/fr/software/ultimaker-cura / Détails du paquet
dosbox => https://www.dosbox.com / Détails du paquet
espeak-ng espeak-ng-data espeak-ng-espeak => https://github.com/espeak-ng/espeak-ng / Détails du paquet
eukleides => http://www.eukleides.org / Détails du paquet
filezilla => https://filezilla-project.org / Détails du paquet
firmware-misc-nonfree / Détails du paquet
fpc => https://www.freepascal.org / Détails du paquet
freecad => https://www.freecadweb.org / Détails du paquet
galculator / Détails du paquet
gdb => http://www.gnu.org/software/gdb/ / Détails du paquet
gdebi / Détails du paquet
geany => https://www.geany.org / Détails du paquet
ghex => https://wiki.gnome.org/Apps/Ghex / Détails du paquet
gimp => https://www.gimp.org / Détails du paquet
gnome-disk-utility => https://wiki.gnome.org/Apps/Disks / Détails du paquet
gnuradio gr-osmosdr => https://www.gnuradio.org / Détails du paquet / Détails du paquet
golly / Détails du paquet
gparted => https://gparted.org / Détails du paquet
gqrx-sdr => https://gqrx.dk / Détails du paquet
gtkhash / Détails du paquet
gufw / Détails du paquet
htop / Détails du paquet
inkscape => https://inkscape.org / Détails du paquet
intel-microcode / Détails du paquet
john => https://www.openwall.com/john/ / Détails du paquet
kazam / Détails du paquet
kdenlive => https://kdenlive.org / Détails du paquet
kicad => https://kicad.org / Détails du paquet
lazarus => https://www.lazarus-ide.org / Détails du paquet
libreoffice => https://www.libreoffice.org / Détails du paquet
meld
metadata-cleaner / Détails du paquet
nasm => https://www.nasm.us / Détails du paquet
nbc => http://bricxcc.sourceforge.net/nbc / Détails du paquet
network-manager-openvpn-gnome / Détails du paquet
nmap => https://nmap.org / Détails du paquet
openscad => https://www.openscad.org / Détails du paquet
python3-matplotlib => https://matplotlib.org / Détails du paquet
python3-pygame => https://www.pygame.org / Détails du paquet
python3-scipy => https://www.scipy.org / Détails du paquet
python3-serial => https://pythonhosted.org/pyserial/ / Détails du paquet
qbittorrent => https://www.qbittorrent.org / Détails du paquet
shotwell => https://wiki.gnome.org/Apps/Shotwell / Détails du paquet
spyder => https://www.spyder-ide.org / Détails du paquet
stellarium => https://stellarium.org / Détails du paquet
sweethome3d => http://www.sweethome3d.com / Détails du paquet
telegram-desktop => https://telegram.org / Détails du paquet
terminator / Détails du paquet
texlive / Détails du paquet
texlive-lang-french / Détails du paquet
texlive-science / Détails du paquet
texmaker => https://www.xm1math.net/texmaker/ / Détails du paquet
thunderbird thunderbird-l10n-fr => https://www.thunderbird.net / Détails du paquet
tilp2 => http://lpg.ticalc.org/prj_tilp / Détails du paquet
torbrowser-launcher => https://github.com/micahflee/torbrowser-launcher / Détails du paquet
vice => https://vice-emu.sourceforge.io / Détails du paquet
virt-manager => https://virt-manager.org / Détails du paquet
vlc => https://www.videolan.org / Détails du paquet

Pour installer certains logiciels ou leurs versions les plus récentes, j’utilise gdebi (sudo gdebi *.deb) pour :

Geogebra
Image Scan! for Linux

Pour installer certains logiciels ou leurs versions les plus récentes, j’utilise le format de paquets Appimage pour :

MEDNUM Offline Player (échec de l’installation)
Molotov TV

Pour installer certains logiciels ou leurs versions les plus récentes, je fais une installation « à la main » pour :

Arduino
Fritzing
Processing

INSTALLATION DE LA CARTE GRAPHIQUE ASUS EAH5450 BASÉE SUR l’AMD RADEON HD5450 :

Dans la console :
sudo nano /etc/apt/sources.list
Rajouter le dépôt non-free dans le fichier ci-dessus.
sudo apt-get update
sudo apt-get install firmware-amd-graphics

PROBLÈME DU VERROUILLAGE DE L’ÉCRAN :

Paramètres > Session et démarrage > Démarrage automatique d’application : Décocher Verrouilleur d’écran

Installation de Manjaro

Site officiel : https://manjaro.org
=> https://manjaro.org/downloads/official/xfce/ (Download Minimal)

Installation du système :

Boot with open source driver.
Clavier Français Azerty.
Nouvelle table de partition : Master Boot Record (MBR).
Swap : Primaire ; 8096 Mo ; linux-swap.
Root : Primaire ; 51200 Mo ; ext4 ; /.
Home : Primaire ; Le reste en Mo ; ext4 ; /home.
Installer le chargeur de démarrage sur /dev/sda.
Utiliser le même mot de passe pour le compte de l’administrateur.

Les sites miroirs :
=> https://wiki.manjaro.org/index.php/Pacman-mirrors

sudo nano /etc/pacman.d/mirrorlist
sudo pacman-mirrors --fasttrack --api --protocol https && sudo pacman -Syyu

Pour installer les paquets avec la console :

sudo pacman -Syu paquet_à_installer

Pour désinstaller les paquets avec la console :

sudo pacman -Rsu paquet_à_désinstaller

Les paquets que j’installe :

arduino
audacity
calibre
celestia
cups
cura
dosbox
filezilla
firefox firefox-i18n-fr
freecad
galculator
gcc
geany
geogebra
ghex
gimp
inkscape
kalzium
kdenlive
libreoffice-still libreoffice-still-fr
libreoffice-extension-texmaths
shotwell
spyder
stellarium
texmaker
thunderbird thunderbird-i18n-fr
torbrowser-launcher
virtualbox *
xournalpp

* Pour VirtualBox, il faut connaître le noyau installé. Dans la console :

mhwd-kernel -li
Réponse, en ce qui me concerne : linux510.
Il faut donc sélectionner, lors de l'installation de VirtualBox :
linux510-virtualbox-host-modules (à adapter)

Les paquets que je désinstalle :

midori

Pour installer une imprimante Brother HL-L5100DN (et ne pas installer ce qui concerne HP, ce qui est le cas avec manjaro-printer) :

Dans la console :

sudo pacman -S cups
sudo gpasswd -a $USER sys
sudo systemctl enable --now cups.service
sudo systemctl enable --now cups.socket
sudo systemctl enable --now cups.path

Dans le navigateur Web :

http://localhost:631/
Puis Administration > Ajouter une imprimante
Connexion ipp /  IPP Everywhere
Brother HL-L5100DN series (driverless) (Brother HL-L5100DN series)
Partager cette imprimante

Source : https://wiki.manjaro.org/index.php/Printing

Installation du scanner Epson Perfection V37 (pas encore réussie) :
https://aur.archlinux.org/packages/iscan-plugin-perfection-v370/

Mise à jour du système (=> Source) :

sudo pacman -Syu
Pour synchroniser avec les dépôts Manjaro (y) et mettre à jour le système (u).

Mesures de vitesse sur PutPixel en mode 13h

Test de 3 façons différentes d’afficher un pixel (avec Turbo Pascal 7.0) :

(***************************************************************)

procedure PutPixel1(x,y: word; color: byte);
begin
  Mem[VGA_SEGMENT: y*320+x]:=color;
end; { PutPixel1 }

(***************************************************************)

procedure PutPixel2(x,y: word; color: byte); assembler;
asm
  mov  ax,VGA_SEGMENT  { es <-- $A000 }
  mov  es,ax
  mov  ax,VGA_WIDTH    { ax <-- 320 }
  mul  y               { ax <-- y*320 }
  add  ax,x            { ax <-- y*320+x }
  mov  bx,ax           { bx <-- y*320+x }
  mov  al,color
  mov  es:[bx],al
end; { PutPixel2 }

(***************************************************************)

procedure PutPixel3(x,y: word; color: byte); assembler;
asm
  mov  ax,VGA_SEGMENT  { es <-- $A000 }
  mov  es,ax
  mov  ax, y   { ax <-- y }
  mov  di, ax  { di <-- y }
  shl  ax, 8   { ax <-- y*256 }
  shl  di, 6   { di <-- y*64 }
  add  di, ax  { di <-- y*320 }
  add  di, x   { di <-- y*320+x }
  mov  al, color
  mov  [es:di],al
end; { PutPixel3 }

(***************************************************************)

Sous DOSBox, la procédure la plus rapide semble être la première (test réalisé plusieurs fois) :

Extrait du programme de test :

for c:=0 to 15 do
begin
  for y:=0 to 199 do
  begin
    for x:=0 to 319 do
    begin
      PutPixel1(x,y,c);
    end;
  end;
end;

En approfondissant, et pour une raison que je ne m'explique pas, on se rend compte que la position des PutPixels dans le programme a une influence : le premier est avantagé. J'ai donc changé la méthodologie et arrive à ceci :



PutPixel2 semble être la procédure plus rapide. Je suis autour de 25,4 ms par écran, soit 39,4 FPS.

Si vous pensez avoir mieux au niveau du code, je suis preneur...

Quelques ouvrages où il est question d’assembleur

Ces ouvrages ne sont plus très actuels, mais ils permettent de se (re)plonger dans l’assembleur de l’époque du DOS.
En haut à gauche : 1994. En haut à droite : 1989.
En bas à gauche : 1993. En bas à droite : 1997.


Et quelques liens :
Introduction au langage assembleur (vue d’ensemble)
Structure interne des ordinateurs (voir la partie 2)
Apprendre l’assembleur
Programmation Assembleur 32 et 64 bits sous Linux Ubuntu

Comparatif DOSBox / JS-DOS

Pour accéder aux valeurs mesurées sur C282, il faut utiliser la combinaison de touches SHIFT R.

Sur mon ordinateur (hors ligne), C282 donne les résultats suivants dans la machine virtuelle DOSBox :

Sur le même ordinateur (en ligne), C282 donne les résultats ci-dessous avec JS-DOS (cycles: 20000). NvDelay passant de 347 à 54, on constate que le passage sur le Web de C282 divise par 6 environ la vitesse de calcul. Le régulateur permet d’obtenir un visuel quasi identique en ligne et hors ligne pour une machine suffisamment puissante. Étonnamment, avec JS-DOS, le même test sur un Netbook (peu puissant) indique une régulation satisfaisante alors que le visuel ne correspond pas du tout à ce qui est attendu (trop lent).

Pour accéder aux valeurs mesurées sur Opus 1, il faut utiliser la combinaison de touches SHIFT R.

Sur mon ordinateur (hors ligne), Opus 1 donne les résultats suivants dans la machine virtuelle DOSBox :

Sur le même ordinateur (en ligne), Opus 1 donne les résultats ci-dessous avec JS-DOS (cycles: 40000). NvDelay passe de 320 à 171.