Project

General

Profile

Ambiente Isolato per wine a 32 bit » History » Version 11

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