Ambiente Isolato per wine a 32 bit » History » Version 20
Fluidone Morinmoto, 11/30/2025 05:56 PM
| 1 | 1 | Fluidone Morinmoto | h1. Ambiente Isolato per wine a 32 bit |
|---|---|---|---|
| 2 | |||
| 3 | |||
| 4 | Puoi isolare l'Aurora Toolset in un ambiente separato, in cui libgd3:i386 sia installata senza interferire con il sistema principale. |
||
| 5 | |||
| 6 | Installa schroot |
||
| 7 | |||
| 8 | <pre> |
||
| 9 | $ sudo apt install schroot debootstrap |
||
| 10 | </pre> |
||
| 11 | |||
| 12 | Configura un ambiente chroot a 32-bit: |
||
| 13 | |||
| 14 | h2. Debian |
||
| 15 | |||
| 16 | 13 | Fluidone Morinmoto | Installa pacchetti base base: |
| 17 | |||
| 18 | <pre> |
||
| 19 | $ sudo apt install bash-completion vim wget curl |
||
| 20 | </pre> |
||
| 21 | |||
| 22 | |||
| 23 | 1 | Fluidone Morinmoto | <pre> |
| 24 | $ sudo debootstrap --arch=i386 bullseye /srv/chroot/nwn32 http://deb.debian.org/debian |
||
| 25 | </pre> |
||
| 26 | |||
| 27 | Modifica il file /etc/schroot/schroot.conf e aggiungi: |
||
| 28 | |||
| 29 | <pre> |
||
| 30 | [nwn32] |
||
| 31 | description=Debian 32-bit environment for Neverwinter Nights Toolset |
||
| 32 | directory=/srv/chroot/nwn32 |
||
| 33 | root-users=tuo-utente |
||
| 34 | type=directory |
||
| 35 | users=tuo-utente |
||
| 36 | </pre> |
||
| 37 | |||
| 38 | Avvia schroot come utente root e installa sudo: |
||
| 39 | |||
| 40 | <pre> |
||
| 41 | $ sudo schroot -c nwn32 -u root |
||
| 42 | (nwn32)$ apt update |
||
| 43 | (nwn32)$ apt install sudo |
||
| 44 | (nwn32)$ usermod -aG sudo tuo-utente |
||
| 45 | (nwn32)$ exit |
||
| 46 | </pre> |
||
| 47 | |||
| 48 | Adesso entra nell'ambiente nwn32 e installa wine32 ed eventuali pacchetti necessari: |
||
| 49 | |||
| 50 | <pre> |
||
| 51 | $ schroot -c nwn32 |
||
| 52 | (nwn32)$ sudo dpkg --add-architecture i386 |
||
| 53 | (nwn32)$ sudo apt install wget gnupg2 libgd3:i386 libwine:i386 wine32 mesa-utils |
||
| 54 | </pre> |
||
| 55 | |||
| 56 | Librerie necessarie: |
||
| 57 | |||
| 58 | Core OpenGL / Mesa |
||
| 59 | |||
| 60 | <pre> |
||
| 61 | (nwn32)$ sudo apt install libgl1-mesa-glx:i386 libgl1-mesa-dri:i386 libglu1-mesa:i386 libglapi-mesa:i386 libxatracker2:i386 libdrm2:i386 |
||
| 62 | </pre> |
||
| 63 | |||
| 64 | X11 e estensioni |
||
| 65 | |||
| 66 | <pre> |
||
| 67 | (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 |
||
| 68 | </pre> |
||
| 69 | |||
| 70 | Font / Rendering |
||
| 71 | |||
| 72 | <pre> |
||
| 73 | (nwn32)$ sudo apt install libfreetype6:i386 libfontconfig1:i386 libpng16-16:i386 libsm6:i386 libice6:i386 |
||
| 74 | </pre> |
||
| 75 | |||
| 76 | Audio / OpenAL |
||
| 77 | <pre> |
||
| 78 | (nwn32)$ sudo apt install libopenal1:i386 libasound2:i386 libasound2-plugins:i386 |
||
| 79 | </pre> |
||
| 80 | |||
| 81 | Extra per Wine / compatibilità |
||
| 82 | <pre> |
||
| 83 | 11 | Fluidone Morinmoto | (nwn32)$ sudo apt install libc6:i386 libgcc-s1:i386 libstdc++6:i386 libtinfo6:i386 libncurses6:i386 |
| 84 | 1 | Fluidone Morinmoto | </pre> |
| 85 | |||
| 86 | Driver video 32-bit (se NVIDIA/AMD proprietari) |
||
| 87 | |||
| 88 | <pre> |
||
| 89 | (nwn32)$ sudo apt install libnvidia-glx:i386 libnvidia-glvkspirv:i386 |
||
| 90 | </pre> |
||
| 91 | |||
| 92 | Esportare il display per avviare finestre dentro l'ambiente: |
||
| 93 | |||
| 94 | <pre> |
||
| 95 | (nwn32)$ export DISPLAY=:0 |
||
| 96 | </pre> |
||
| 97 | |||
| 98 | h4. winetricks extra sources |
||
| 99 | |||
| 100 | Aggiungere a /etc/apt/sources.list: |
||
| 101 | |||
| 102 | <pre> |
||
| 103 | deb http://deb.debian.org/debian bullseye main contrib non-free |
||
| 104 | deb http://deb.debian.org/debian bullseye-updates main contrib non-free |
||
| 105 | deb http://security.debian.org/debian-security bullseye-security main contrib non-free |
||
| 106 | </pre> |
||
| 107 | |||
| 108 | poi: |
||
| 109 | |||
| 110 | <pre> |
||
| 111 | (nwn32)$ sudo apt update |
||
| 112 | (nwn32)$ sudo apt install winetricks |
||
| 113 | </pre> |
||
| 114 | |||
| 115 | h4. Librerie NVidia in posizioni non standard |
||
| 116 | |||
| 117 | |||
| 118 | Dentro schroot installa le librerie corrispondenti alla versione del driver host: |
||
| 119 | |||
| 120 | <pre> |
||
| 121 | (nwn32)$ sudo dpgk --add-architecture i386 |
||
| 122 | (nwn32)$ sudo apt update |
||
| 123 | (nwn32)$ sudo apt install nvidia-driver-libs:i386 |
||
| 124 | </pre> |
||
| 125 | |||
| 126 | Nel sistema host verifica dove si trovano le librerie: |
||
| 127 | |||
| 128 | <pre> |
||
| 129 | $ cd /usr/lib |
||
| 130 | $ find . -name "libGLX_nvidia.so.0" |
||
| 131 | </pre> |
||
| 132 | |||
| 133 | Individua nell'output le librerie i386 e poi monta la directory delle librerie dal sistema host nel sistema schroot: |
||
| 134 | |||
| 135 | <pre> |
||
| 136 | $ sudo mount --bind /usr/lib/i386-linux-gnu/ /srv/chroot/nwn32/usr/lib/i386-linux-gnu/nvidia/current/ |
||
| 137 | </pre> |
||
| 138 | |||
| 139 | 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 |
||
| 140 | |||
| 141 | <pre> |
||
| 142 | (nwn32)$ sudo mkdir -p /usr/lib32 |
||
| 143 | (nwn32)$ cd /usr/lib32 |
||
| 144 | (nwn32)$ sudo mkdir -p nvidia |
||
| 145 | (nwn32)$ sudo ln -sf /usr/lib/i386-linux-gnu/nvidia/current/libGLX_nvidia.so.0 nvidia/libGLX.so.0 |
||
| 146 | (nwn32)$ sudo ln -sf /usr/lib/i386-linux-gnu/nvidia/current/libEGL_nvidia.so.0 nvidia/libEGL.so.1 |
||
| 147 | (nwn32)$ sudo ln -sf /usr/lib/i386-linux-gnu/nvidia/current/libGLESv2_nvidia.so.2 nvidia/libGLESv2.so.2 |
||
| 148 | (nwn32)$ sudo ln -sf /usr/lib/i386-linux-gnu/nvidia/current/libGLESv1_CM_nvidia.so.1 nvidia/libGLESv1_CM.so.1 |
||
| 149 | (nwn32)$ sudo ln -sf /usr/lib/i386-linux-gnu/nvidia/current/libcuda.so.1 nvidia/libcuda.so.1 |
||
| 150 | </pre> |
||
| 151 | |||
| 152 | Poi impostare LD_LIBRARY_PATH: |
||
| 153 | |||
| 154 | <pre> |
||
| 155 | (nwn32)$ export LD_LIBRARY_PATH=/usr/lib32/nvidia:$LD_LIBRARY_PATH |
||
| 156 | 18 | Fluidone Morinmoto | (nwn32)$ WINEPREFIX="$HOME/.wine32/" WINEARCH=win32 wine nwtoolset.exe |
| 157 | 1 | Fluidone Morinmoto | |
| 158 | </pre> |
||
| 159 | |||
| 160 | h4. Montare un percorso esterno |
||
| 161 | |||
| 162 | Modifica il file @/etc/schroot/default/fstab@ : |
||
| 163 | |||
| 164 | <pre> |
||
| 165 | /media/tuo-utente/VOLUME_ESTERNO/Giochi/Neverwinter/Neverwinter_Enhanced_Installed /srv/chroot/nwn32/mnt/nwn_game none rw,bind 0 0 |
||
| 166 | </pre> |
||
| 167 | |||
| 168 | Crea il punto di mount nel sistema host: |
||
| 169 | |||
| 170 | <pre> |
||
| 171 | $ sudo mkdir -p /srv/chroot/nwn32/mnt/nwn_game |
||
| 172 | </pre> |
||
| 173 | |||
| 174 | h3. Installare i font |
||
| 175 | |||
| 176 | <pre> |
||
| 177 | $ sudo apt install ttf-mscorefonts-installer |
||
| 178 | $ cp /usr/share/fonts/truetype/msttcorefonts/* /home/user/.wine_prefix_dir/drive_c/windows/Fonts |
||
| 179 | </pre> |
||
| 180 | |||
| 181 | Installare font aggiuntivi |
||
| 182 | |||
| 183 | <pre> |
||
| 184 | $ winetricks corefonts |
||
| 185 | $ winetricks tahoma |
||
| 186 | $ winetricks allfonts |
||
| 187 | </pre> |
||
| 188 | |||
| 189 | h2. Ubuntu 20.04 |
||
| 190 | |||
| 191 | 8 | Fluidone Morinmoto | Installa una versione @minimal@ di ubuntu, quindi poi vanno aggiunti i repository manualmente: |
| 192 | |||
| 193 | 1 | Fluidone Morinmoto | <pre> |
| 194 | 7 | Fluidone Morinmoto | $ sudo debootstrap --arch=i386 --variant=minbase focal /srv/chroot/nwn32 http://archive.ubuntu.com/ubuntu/ |
| 195 | 1 | Fluidone Morinmoto | </pre> |
| 196 | |||
| 197 | 9 | Fluidone Morinmoto | Installa pacchetti base base: |
| 198 | |||
| 199 | <pre> |
||
| 200 | 12 | Fluidone Morinmoto | $ sudo apt install bash-completion vim wget curl |
| 201 | 9 | Fluidone Morinmoto | </pre> |
| 202 | |||
| 203 | 8 | Fluidone Morinmoto | Aggiungi i repository manualmente nel file @/etc/apt/sources.list@: |
| 204 | |||
| 205 | <pre> |
||
| 206 | deb http://archive.ubuntu.com/ubuntu/ focal main restricted universe multiverse |
||
| 207 | deb http://archive.ubuntu.com/ubuntu/ focal-updates main restricted universe multiverse |
||
| 208 | deb http://archive.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse |
||
| 209 | </pre> |
||
| 210 | 1 | Fluidone Morinmoto | Modifica il file /etc/schroot/schroot.conf e aggiungi: |
| 211 | |||
| 212 | <pre> |
||
| 213 | [nwn32] |
||
| 214 | description=Debian 32-bit environment for Neverwinter Nights Toolset |
||
| 215 | directory=/srv/chroot/nwn32 |
||
| 216 | root-users=tuo-utente |
||
| 217 | type=directory |
||
| 218 | users=tuo-utente |
||
| 219 | </pre> |
||
| 220 | |||
| 221 | Avvia schroot come utente root e installa sudo: |
||
| 222 | |||
| 223 | <pre> |
||
| 224 | $ sudo schroot -c nwn32 -u root |
||
| 225 | (nwn32)$ apt update |
||
| 226 | (nwn32)$ apt install sudo |
||
| 227 | (nwn32)$ usermod -aG sudo tuo-utente |
||
| 228 | (nwn32)$ exit |
||
| 229 | </pre> |
||
| 230 | |||
| 231 | 2 | Fluidone Morinmoto | Adesso entra nell'ambiente nwn32 aggiungi architettura i386, installa software-properties-common e aggiungi i repository universe e multiverse: |
| 232 | 1 | Fluidone Morinmoto | |
| 233 | <pre> |
||
| 234 | $ schroot -c nwn32 |
||
| 235 | (nwn32)$ sudo dpkg --add-architecture i386 |
||
| 236 | 2 | Fluidone Morinmoto | (nwn32)$ sudo apt install software-properties-common |
| 237 | (nwn32)$ sudo add-apt-repository universe |
||
| 238 | (nwn32)$ sudo add-apt-repository multiverse |
||
| 239 | </pre> |
||
| 240 | |||
| 241 | 3 | Fluidone Morinmoto | e installa wine32, winetricks ed eventuali pacchetti necessari: |
| 242 | 2 | Fluidone Morinmoto | |
| 243 | <pre> |
||
| 244 | 14 | Fluidone Morinmoto | (nwn32)$ sudo apt install wget gnupg libgd3:i386 libwine:i386 wine32 winetricks |
| 245 | 1 | Fluidone Morinmoto | </pre> |
| 246 | |||
| 247 | Librerie necessarie: |
||
| 248 | |||
| 249 | Core OpenGL / Mesa |
||
| 250 | |||
| 251 | <pre> |
||
| 252 | (nwn32)$ sudo apt install libgl1-mesa-glx:i386 libgl1-mesa-dri:i386 libglu1-mesa:i386 libglapi-mesa:i386 libxatracker2:i386 libdrm2:i386 |
||
| 253 | </pre> |
||
| 254 | |||
| 255 | X11 e estensioni |
||
| 256 | |||
| 257 | <pre> |
||
| 258 | (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 |
||
| 259 | </pre> |
||
| 260 | |||
| 261 | Font / Rendering |
||
| 262 | |||
| 263 | <pre> |
||
| 264 | (nwn32)$ sudo apt install libfreetype6:i386 libfontconfig1:i386 libpng16-16:i386 libsm6:i386 libice6:i386 |
||
| 265 | </pre> |
||
| 266 | |||
| 267 | Audio / OpenAL |
||
| 268 | <pre> |
||
| 269 | (nwn32)$ sudo apt install libopenal1:i386 libasound2:i386 libasound2-plugins:i386 |
||
| 270 | </pre> |
||
| 271 | |||
| 272 | Extra per Wine / compatibilità |
||
| 273 | <pre> |
||
| 274 | 15 | Fluidone Morinmoto | (nwn32)$ sudo apt install libc6:i386 libgcc-s1:i386 libstdc++6:i386 libtinfo6:i386 libncurses6:i386 |
| 275 | 1 | Fluidone Morinmoto | </pre> |
| 276 | |||
| 277 | 20 | Fluidone Morinmoto | Driver Audio |
| 278 | <pre> |
||
| 279 | (nwn32)$ sudo apt-get install pulseaudio pulseaudio-utils libpulse0:i386 |
||
| 280 | </pre> |
||
| 281 | |||
| 282 | 1 | Fluidone Morinmoto | Driver video 32-bit (se NVIDIA/AMD proprietari) |
| 283 | |||
| 284 | <pre> |
||
| 285 | (nwn32)$ sudo apt install libnvidia-glx:i386 libnvidia-glvkspirv:i386 |
||
| 286 | </pre> |
||
| 287 | |||
| 288 | 6 | Fluidone Morinmoto | Installa le librerie corrispondenti alla versione del driver host: |
| 289 | 1 | Fluidone Morinmoto | |
| 290 | <pre> |
||
| 291 | 6 | Fluidone Morinmoto | (nwn32)$ sudo dpkg --add-architecture i386 |
| 292 | (nwn32)$ sudo add-apt-repository ppa:graphics-drivers/ppa |
||
| 293 | (nwn32)$ sudo apt update |
||
| 294 | (nwn32)$ sudo apt install nvidia-driver-470 |
||
| 295 | 1 | Fluidone Morinmoto | </pre> |
| 296 | |||
| 297 | 16 | Fluidone Morinmoto | Oppure se non puoi aggiungere il repository in quel modo, crea il file @/etc/apt/sources.list.d/nvidia.list@ con : |
| 298 | |||
| 299 | <pre> |
||
| 300 | deb http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu focal main |
||
| 301 | </pre> |
||
| 302 | |||
| 303 | 17 | Fluidone Morinmoto | Scarica e aggiungi la chiave: |
| 304 | |||
| 305 | <pre> |
||
| 306 | 19 | Fluidone Morinmoto | $ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys FCAE110B1118213C |
| 307 | |||
| 308 | # $ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub |
||
| 309 | # $ sudo apt-key add 7fa2af80.pub |
||
| 310 | 17 | Fluidone Morinmoto | </pre> |
| 311 | |||
| 312 | |||
| 313 | 16 | Fluidone Morinmoto | |
| 314 | 1 | Fluidone Morinmoto | |
| 315 | 6 | Fluidone Morinmoto | Esportare il display per avviare finestre dentro l'ambiente: |
| 316 | 4 | Fluidone Morinmoto | |
| 317 | 5 | Fluidone Morinmoto | <pre> |
| 318 | 6 | Fluidone Morinmoto | (nwn32)$ export DISPLAY=:0 |
| 319 | 5 | Fluidone Morinmoto | </pre> |
| 320 | 6 | Fluidone Morinmoto | |
| 321 | h4. Librerie NVidia in posizioni non standard |
||
| 322 | 1 | Fluidone Morinmoto | |
| 323 | Nel sistema host verifica dove si trovano le librerie: |
||
| 324 | |||
| 325 | <pre> |
||
| 326 | $ cd /usr/lib |
||
| 327 | $ find . -name "libGLX_nvidia.so.0" |
||
| 328 | </pre> |
||
| 329 | |||
| 330 | Individua nell'output le librerie i386 e poi monta la directory delle librerie dal sistema host nel sistema schroot: |
||
| 331 | |||
| 332 | <pre> |
||
| 333 | $ sudo mount --bind /usr/lib/i386-linux-gnu/ /srv/chroot/nwn32/usr/lib/i386-linux-gnu/nvidia/current/ |
||
| 334 | </pre> |
||
| 335 | |||
| 336 | 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 |
||
| 337 | |||
| 338 | <pre> |
||
| 339 | (nwn32)$ sudo mkdir -p /usr/lib32 |
||
| 340 | (nwn32)$ cd /usr/lib32 |
||
| 341 | (nwn32)$ sudo mkdir -p nvidia |
||
| 342 | (nwn32)$ sudo ln -sf /usr/lib/i386-linux-gnu/nvidia/current/libGLX_nvidia.so.0 nvidia/libGLX.so.0 |
||
| 343 | (nwn32)$ sudo ln -sf /usr/lib/i386-linux-gnu/nvidia/current/libEGL_nvidia.so.0 nvidia/libEGL.so.1 |
||
| 344 | (nwn32)$ sudo ln -sf /usr/lib/i386-linux-gnu/nvidia/current/libGLESv2_nvidia.so.2 nvidia/libGLESv2.so.2 |
||
| 345 | (nwn32)$ sudo ln -sf /usr/lib/i386-linux-gnu/nvidia/current/libGLESv1_CM_nvidia.so.1 nvidia/libGLESv1_CM.so.1 |
||
| 346 | (nwn32)$ sudo ln -sf /usr/lib/i386-linux-gnu/nvidia/current/libcuda.so.1 nvidia/libcuda.so.1 |
||
| 347 | </pre> |
||
| 348 | |||
| 349 | Poi impostare LD_LIBRARY_PATH: |
||
| 350 | |||
| 351 | <pre> |
||
| 352 | (nwn32)$ export LD_LIBRARY_PATH=/usr/lib32/nvidia:$LD_LIBRARY_PATH |
||
| 353 | (nwn32)$ export WINEPREFIX="$HOME/.wine32/" WINEARCH=win32 wine nwtoolset.exe |
||
| 354 | |||
| 355 | </pre> |
||
| 356 | |||
| 357 | h4. Montare un percorso esterno |
||
| 358 | |||
| 359 | Modifica il file @/etc/schroot/default/fstab@ : |
||
| 360 | |||
| 361 | <pre> |
||
| 362 | /media/tuo-utente/VOLUME_ESTERNO/Giochi/Neverwinter/Neverwinter_Enhanced_Installed /srv/chroot/nwn32/mnt/nwn_game none rw,bind 0 0 |
||
| 363 | </pre> |
||
| 364 | |||
| 365 | Crea il punto di mount nel sistema host: |
||
| 366 | |||
| 367 | <pre> |
||
| 368 | $ sudo mkdir -p /srv/chroot/nwn32/mnt/nwn_game |
||
| 369 | </pre> |
||
| 370 | |||
| 371 | h3. Installare i font |
||
| 372 | |||
| 373 | <pre> |
||
| 374 | $ sudo apt install ttf-mscorefonts-installer |
||
| 375 | $ cp /usr/share/fonts/truetype/msttcorefonts/* /home/user/.wine_prefix_dir/drive_c/windows/Fonts |
||
| 376 | </pre> |
||
| 377 | |||
| 378 | Installare font aggiuntivi |
||
| 379 | |||
| 380 | <pre> |
||
| 381 | $ winetricks corefonts |
||
| 382 | $ winetricks tahoma |
||
| 383 | $ winetricks allfonts |
||
| 384 | </pre> |