Ambiente Isolato per wine a 32 bit » History » Revision 19
Revision 18 (Fluidone Morinmoto, 11/30/2025 02:56 PM) → Revision 19/38 (Fluidone Morinmoto, 11/30/2025 05:44 PM)
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 Installa pacchetti base base: <pre> $ sudo apt install bash-completion vim wget curl </pre> <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 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)$ 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> Installa pacchetti base base: <pre> $ sudo apt install bash-completion vim wget curl </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 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 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> Oppure se non puoi aggiungere il repository in quel modo, crea il file @/etc/apt/sources.list.d/nvidia.list@ con : <pre> deb http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu focal main </pre> Scarica e aggiungi la chiave: <pre> $ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys FCAE110B1118213C # $ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub # $ sudo apt-key add 7fa2af80.pub </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>