Project

General

Profile

Actions

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

« Previous | Revision 15/38 (diff) | Next »
Fluidone Morinmoto, 11/30/2025 01:19 PM


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

$ sudo apt install schroot debootstrap

Configura un ambiente chroot a 32-bit:

Debian

Installa pacchetti base base:

$ sudo apt install bash-completion vim wget curl
$ sudo debootstrap --arch=i386 bullseye /srv/chroot/nwn32 http://deb.debian.org/debian

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

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

Avvia schroot come utente root e installa sudo:

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

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

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

Librerie necessarie:

Core OpenGL / Mesa

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

X11 e estensioni

(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

Font / Rendering

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

Audio / OpenAL

(nwn32)$ sudo apt install libopenal1:i386 libasound2:i386 libasound2-plugins:i386

Extra per Wine / compatibilità

(nwn32)$ sudo apt install libc6:i386  libgcc-s1:i386 libstdc++6:i386 libtinfo6:i386 libncurses6:i386

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

(nwn32)$ sudo apt install libnvidia-glx:i386 libnvidia-glvkspirv:i386

Esportare il display per avviare finestre dentro l'ambiente:

(nwn32)$ export DISPLAY=:0

winetricks extra sources

Aggiungere a /etc/apt/sources.list:

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

poi:

(nwn32)$ sudo apt update
(nwn32)$ sudo apt install winetricks

Librerie NVidia in posizioni non standard

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

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

Nel sistema host verifica dove si trovano le librerie:

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

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

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

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

(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

Poi impostare LD_LIBRARY_PATH:

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

Montare un percorso esterno

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

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

Crea il punto di mount nel sistema host:

$ sudo mkdir -p /srv/chroot/nwn32/mnt/nwn_game

Installare i font

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

Installare font aggiuntivi

$ winetricks corefonts
$ winetricks tahoma
$ winetricks allfonts

Ubuntu 20.04

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

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

Installa pacchetti base base:

$ sudo apt install bash-completion vim wget curl

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

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

Modifica il file /etc/schroot/schroot.conf e aggiungi:
[nwn32]
description=Debian 32-bit environment for Neverwinter Nights Toolset
directory=/srv/chroot/nwn32
root-users=tuo-utente
type=directory
users=tuo-utente

Avvia schroot come utente root e installa sudo:

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

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

$ 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

e installa wine32, winetricks ed eventuali pacchetti necessari:

(nwn32)$ sudo apt install wget gnupg libgd3:i386 libwine:i386 wine32 winetricks

Librerie necessarie:

Core OpenGL / Mesa

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

X11 e estensioni

(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

Font / Rendering

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

Audio / OpenAL

(nwn32)$ sudo apt install libopenal1:i386 libasound2:i386 libasound2-plugins:i386

Extra per Wine / compatibilità

(nwn32)$ sudo apt install libc6:i386 libgcc-s1:i386 libstdc++6:i386 libtinfo6:i386 libncurses6:i386

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

(nwn32)$ sudo apt install libnvidia-glx:i386 libnvidia-glvkspirv:i386

Installa le librerie corrispondenti alla versione del driver host:

(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

Esportare il display per avviare finestre dentro l'ambiente:

(nwn32)$ export DISPLAY=:0

Librerie NVidia in posizioni non standard

Nel sistema host verifica dove si trovano le librerie:

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

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

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

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

(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

Poi impostare LD_LIBRARY_PATH:

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

Montare un percorso esterno

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

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

Crea il punto di mount nel sistema host:

$ sudo mkdir -p /srv/chroot/nwn32/mnt/nwn_game

Installare i font

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

Installare font aggiuntivi

$ winetricks corefonts
$ winetricks tahoma
$ winetricks allfonts

Updated by Fluidone Morinmoto 3 months ago · 15 revisions