Project

General

Profile

Ambiente Isolato per wine a 32 bit » History » Revision 8

Revision 7 (Fluidone Morinmoto, 11/30/2025 11:45 AM) → Revision 8/38 (Fluidone Morinmoto, 11/30/2025 11:52 AM)

h1. Ambiente Isolato per wine a 32 bit 


 Puoi isolare l'Aurora Toolset in un ambiente separato, in cui libgd3:i386 sia installata senza interferire con il sistema principale. 

 Installa schroot 

 <pre> 
 $ sudo apt install schroot debootstrap 
 </pre> 

 Configura un ambiente chroot a 32-bit: 

 h2. Debian 

 <pre> 
 $ sudo debootstrap --arch=i386 bullseye /srv/chroot/nwn32 http://deb.debian.org/debian 
 </pre> 

 Modifica il file /etc/schroot/schroot.conf e aggiungi: 

 <pre> 
 [nwn32] 
 description=Debian 32-bit environment for Neverwinter Nights Toolset 
 directory=/srv/chroot/nwn32 
 root-users=tuo-utente 
 type=directory 
 users=tuo-utente 
 </pre> 

 Avvia schroot come utente root e installa sudo: 

 <pre> 
 $ sudo schroot -c nwn32 -u root 
 (nwn32)$ apt update 
 (nwn32)$ apt install sudo 
 (nwn32)$ usermod -aG sudo tuo-utente 
 (nwn32)$ exit 
 </pre> 

 Adesso entra nell'ambiente nwn32 e installa wine32 ed eventuali pacchetti necessari: 

 <pre> 
 $ schroot -c nwn32 
 (nwn32)$ sudo dpkg --add-architecture i386 
 (nwn32)$ sudo apt install wget gnupg2 libgd3:i386 libwine:i386 wine32 mesa-utils 
 </pre> 

 Librerie necessarie: 

 Core OpenGL / Mesa 

 <pre> 
 (nwn32)$ sudo apt install libgl1-mesa-glx:i386 libgl1-mesa-dri:i386 libglu1-mesa:i386 libglapi-mesa:i386 libxatracker2:i386 libdrm2:i386 
 </pre> 

 X11 e estensioni 

 <pre> 
 (nwn32)$ sudo apt install libx11-6:i386 libxext6:i386 libxrandr2:i386 libxi6:i386 libxrender1:i386 libxfixes3:i386 libxdamage1:i386 libxcomposite1:i386 libxcursor1:i386 libxinerama1:i386 libxss1:i386 libxtst6:i386 
 </pre> 

 Font / Rendering 

 <pre> 
 (nwn32)$ sudo apt install libfreetype6:i386 libfontconfig1:i386 libpng16-16:i386 libsm6:i386 libice6:i386 
 </pre> 

 Audio / OpenAL 
 <pre> 
 (nwn32)$ sudo apt install libopenal1:i386 libasound2:i386 libasound2-plugins:i386 
 </pre> 

 Extra per Wine / compatibilità 
 <pre> 
 (nwn32)$ sudo apt install libc6:i386 libc6-dev-i386 libgcc-s1:i386 libstdc++6:i386 libtinfo6:i386 libncurses6:i386 
 </pre> 

 Driver video 32-bit (se NVIDIA/AMD proprietari) 

 <pre> 
 (nwn32)$ sudo apt install libnvidia-glx:i386 libnvidia-glvkspirv:i386 
 </pre> 

 Esportare il display per avviare finestre dentro l'ambiente: 

 <pre> 
 (nwn32)$ export DISPLAY=:0 
 </pre> 

 h4. winetricks extra sources 

 Aggiungere a /etc/apt/sources.list: 

 <pre> 
 deb http://deb.debian.org/debian bullseye main contrib non-free 
 deb http://deb.debian.org/debian bullseye-updates main contrib non-free 
 deb http://security.debian.org/debian-security bullseye-security main contrib non-free 
 </pre> 

 poi: 

 <pre> 
 (nwn32)$ sudo apt update 
 (nwn32)$ sudo apt install winetricks 
 </pre> 

 h4. Librerie NVidia in posizioni non standard 


 Dentro schroot installa le librerie corrispondenti alla versione del driver host: 

 <pre> 
 (nwn32)$ sudo dpgk --add-architecture i386 
 (nwn32)$ sudo apt update 
 (nwn32)$ sudo apt install nvidia-driver-libs:i386 
 </pre> 

 Nel sistema host verifica dove si trovano le librerie: 

 <pre> 
 $ cd /usr/lib 
 $ find . -name "libGLX_nvidia.so.0" 
 </pre> 

 Individua nell'output le librerie i386 e poi monta la directory delle librerie dal sistema host nel sistema schroot: 

 <pre> 
 $ sudo mount --bind /usr/lib/i386-linux-gnu/ /srv/chroot/nwn32/usr/lib/i386-linux-gnu/nvidia/current/ 
 </pre> 

 Verifica dove si trovano le tue librerie @.so@ nvidia e adatta i link simbolici di conseguenza. Per me su Lubuntu 24.04 sono in /usr/lib/i386-linux-gnu/nvidia/current/, ma in debian dentro il schroot il sistema se le aspetta in /usr/lib32/nvidia 

 <pre> 
 (nwn32)$ sudo mkdir -p /usr/lib32 
 (nwn32)$ cd /usr/lib32 
 (nwn32)$ sudo mkdir -p nvidia 
 (nwn32)$ sudo ln -sf /usr/lib/i386-linux-gnu/nvidia/current/libGLX_nvidia.so.0 nvidia/libGLX.so.0 
 (nwn32)$ sudo ln -sf /usr/lib/i386-linux-gnu/nvidia/current/libEGL_nvidia.so.0 nvidia/libEGL.so.1 
 (nwn32)$ sudo ln -sf /usr/lib/i386-linux-gnu/nvidia/current/libGLESv2_nvidia.so.2 nvidia/libGLESv2.so.2 
 (nwn32)$ sudo ln -sf /usr/lib/i386-linux-gnu/nvidia/current/libGLESv1_CM_nvidia.so.1 nvidia/libGLESv1_CM.so.1 
 (nwn32)$ sudo ln -sf /usr/lib/i386-linux-gnu/nvidia/current/libcuda.so.1 nvidia/libcuda.so.1 
 </pre> 

 Poi impostare LD_LIBRARY_PATH: 

 <pre> 
 (nwn32)$ export LD_LIBRARY_PATH=/usr/lib32/nvidia:$LD_LIBRARY_PATH 
 (nwn32)$ export WINEPREFIX="$HOME/.wine32/" WINEARCH=win32    wine nwtoolset.exe 

 </pre> 

 h4. Montare un percorso esterno  

 Modifica il file @/etc/schroot/default/fstab@ : 

 <pre> 
 /media/tuo-utente/VOLUME_ESTERNO/Giochi/Neverwinter/Neverwinter_Enhanced_Installed /srv/chroot/nwn32/mnt/nwn_game none rw,bind 0 0 
 </pre> 

 Crea il punto di mount nel sistema host: 

 <pre> 
 $ sudo mkdir -p /srv/chroot/nwn32/mnt/nwn_game 
 </pre> 

 h3. Installare i font 

 <pre> 
 $ sudo apt install ttf-mscorefonts-installer 
 $ cp /usr/share/fonts/truetype/msttcorefonts/* /home/user/.wine_prefix_dir/drive_c/windows/Fonts 
 </pre> 

 Installare font aggiuntivi 

 <pre> 
 $ winetricks corefonts 
 $ winetricks tahoma 
 $ winetricks allfonts 
 </pre> 

 h2. Ubuntu 20.04 

 Installa una versione @minimal@ di ubuntu, quindi poi vanno aggiunti i repository manualmente: 

 <pre> 
 $ sudo debootstrap --arch=i386 --variant=minbase focal /srv/chroot/nwn32 http://archive.ubuntu.com/ubuntu/ 
 </pre> 

 Aggiungi i repository manualmente nel file @/etc/apt/sources.list@: 

 <pre> 
 deb http://archive.ubuntu.com/ubuntu/ focal main restricted universe multiverse 
 deb http://archive.ubuntu.com/ubuntu/ focal-updates main restricted universe multiverse 
 deb http://archive.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse 
 </pre> 
 Modifica il file /etc/schroot/schroot.conf e aggiungi: 

 <pre> 
 [nwn32] 
 description=Debian 32-bit environment for Neverwinter Nights Toolset 
 directory=/srv/chroot/nwn32 
 root-users=tuo-utente 
 type=directory 
 users=tuo-utente 
 </pre> 

 Avvia schroot come utente root e installa sudo: 

 <pre> 
 $ sudo schroot -c nwn32 -u root 
 (nwn32)$ apt update 
 (nwn32)$ apt install sudo 
 (nwn32)$ usermod -aG sudo tuo-utente 
 (nwn32)$ exit 
 </pre> 

 Adesso entra nell'ambiente nwn32 aggiungi architettura i386, installa software-properties-common e aggiungi i repository universe e multiverse: 

 <pre> 
 $ schroot -c nwn32 
 (nwn32)$ sudo dpkg --add-architecture i386 
 (nwn32)$ sudo apt install software-properties-common 
 (nwn32)$ sudo add-apt-repository universe 
 (nwn32)$ sudo add-apt-repository multiverse 
 </pre> 

 e installa wine32, winetricks ed eventuali pacchetti necessari: 

 <pre> 
 (nwn32)$ sudo apt install wget gnupg libgd3:i386 libwine:i386 wine32 mesa-utils winetricks 
 </pre> 

 Librerie necessarie: 

 Core OpenGL / Mesa 

 <pre> 
 (nwn32)$ sudo apt install libgl1-mesa-glx:i386 libgl1-mesa-dri:i386 libglu1-mesa:i386 libglapi-mesa:i386 libxatracker2:i386 libdrm2:i386 
 </pre> 

 X11 e estensioni 

 <pre> 
 (nwn32)$ sudo apt install libx11-6:i386 libxext6:i386 libxrandr2:i386 libxi6:i386 libxrender1:i386 libxfixes3:i386 libxdamage1:i386 libxcomposite1:i386 libxcursor1:i386 libxinerama1:i386 libxss1:i386 libxtst6:i386 
 </pre> 

 Font / Rendering 

 <pre> 
 (nwn32)$ sudo apt install libfreetype6:i386 libfontconfig1:i386 libpng16-16:i386 libsm6:i386 libice6:i386 
 </pre> 

 Audio / OpenAL 
 <pre> 
 (nwn32)$ sudo apt install libopenal1:i386 libasound2:i386 libasound2-plugins:i386 
 </pre> 

 Extra per Wine / compatibilità 
 <pre> 
 (nwn32)$ sudo apt install libc6:i386 libc6-dev-i386 libgcc-s1:i386 libstdc++6:i386 libtinfo6:i386 libncurses6:i386 
 </pre> 

 Driver video 32-bit (se NVIDIA/AMD proprietari) 

 <pre> 
 (nwn32)$ sudo apt install libnvidia-glx:i386 libnvidia-glvkspirv:i386 
 </pre> 

 Installa le librerie corrispondenti alla versione del driver host: 

 <pre> 
 (nwn32)$ sudo dpkg --add-architecture i386 
 (nwn32)$ sudo add-apt-repository ppa:graphics-drivers/ppa 
 (nwn32)$ sudo apt update 
 (nwn32)$ sudo apt install nvidia-driver-470 
 </pre> 


 Esportare il display per avviare finestre dentro l'ambiente: 

 <pre> 
 (nwn32)$ export DISPLAY=:0 
 </pre> 

 h4. Librerie NVidia in posizioni non standard 

 Nel sistema host verifica dove si trovano le librerie: 

 <pre> 
 $ cd /usr/lib 
 $ find . -name "libGLX_nvidia.so.0" 
 </pre> 

 Individua nell'output le librerie i386 e poi monta la directory delle librerie dal sistema host nel sistema schroot: 

 <pre> 
 $ sudo mount --bind /usr/lib/i386-linux-gnu/ /srv/chroot/nwn32/usr/lib/i386-linux-gnu/nvidia/current/ 
 </pre> 

 Verifica dove si trovano le tue librerie @.so@ nvidia e adatta i link simbolici di conseguenza. Per me su Lubuntu 24.04 sono in /usr/lib/i386-linux-gnu/nvidia/current/, ma in debian dentro il schroot il sistema se le aspetta in /usr/lib32/nvidia 

 <pre> 
 (nwn32)$ sudo mkdir -p /usr/lib32 
 (nwn32)$ cd /usr/lib32 
 (nwn32)$ sudo mkdir -p nvidia 
 (nwn32)$ sudo ln -sf /usr/lib/i386-linux-gnu/nvidia/current/libGLX_nvidia.so.0 nvidia/libGLX.so.0 
 (nwn32)$ sudo ln -sf /usr/lib/i386-linux-gnu/nvidia/current/libEGL_nvidia.so.0 nvidia/libEGL.so.1 
 (nwn32)$ sudo ln -sf /usr/lib/i386-linux-gnu/nvidia/current/libGLESv2_nvidia.so.2 nvidia/libGLESv2.so.2 
 (nwn32)$ sudo ln -sf /usr/lib/i386-linux-gnu/nvidia/current/libGLESv1_CM_nvidia.so.1 nvidia/libGLESv1_CM.so.1 
 (nwn32)$ sudo ln -sf /usr/lib/i386-linux-gnu/nvidia/current/libcuda.so.1 nvidia/libcuda.so.1 
 </pre> 

 Poi impostare LD_LIBRARY_PATH: 

 <pre> 
 (nwn32)$ export LD_LIBRARY_PATH=/usr/lib32/nvidia:$LD_LIBRARY_PATH 
 (nwn32)$ export WINEPREFIX="$HOME/.wine32/" WINEARCH=win32    wine nwtoolset.exe 

 </pre> 

 h4. Montare un percorso esterno  

 Modifica il file @/etc/schroot/default/fstab@ : 

 <pre> 
 /media/tuo-utente/VOLUME_ESTERNO/Giochi/Neverwinter/Neverwinter_Enhanced_Installed /srv/chroot/nwn32/mnt/nwn_game none rw,bind 0 0 
 </pre> 

 Crea il punto di mount nel sistema host: 

 <pre> 
 $ sudo mkdir -p /srv/chroot/nwn32/mnt/nwn_game 
 </pre> 

 h3. Installare i font 

 <pre> 
 $ sudo apt install ttf-mscorefonts-installer 
 $ cp /usr/share/fonts/truetype/msttcorefonts/* /home/user/.wine_prefix_dir/drive_c/windows/Fonts 
 </pre> 

 Installare font aggiuntivi 

 <pre> 
 $ winetricks corefonts 
 $ winetricks tahoma 
 $ winetricks allfonts 
 </pre>