Project

General

Profile

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

Fluidone Morinmoto, 11/30/2025 10:16 AM

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
(nwn32)$ sudo apt install libc6:i386 libc6-dev-i386 libgcc-s1:i386 libstdc++6:i386 libtinfo6:i386 libncurses6:i386
77
</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
<pre>
185
$ sudo debootstrap --arch=i386 focal /srv/chroot/nwn32 http://archive.ubuntu.com/ubuntu/
186
</pre>
187
188
Modifica il file /etc/schroot/schroot.conf e aggiungi:
189
190
<pre>
191
[nwn32]
192
description=Debian 32-bit environment for Neverwinter Nights Toolset
193
directory=/srv/chroot/nwn32
194
root-users=tuo-utente
195
type=directory
196
users=tuo-utente
197
</pre>
198
199
Avvia schroot come utente root e installa sudo:
200
201
<pre>
202
$ sudo schroot -c nwn32 -u root
203
(nwn32)$ apt update
204
(nwn32)$ apt install sudo
205
(nwn32)$ usermod -aG sudo tuo-utente
206
(nwn32)$ exit
207
</pre>
208
209 2 Fluidone Morinmoto
Adesso entra nell'ambiente nwn32 aggiungi architettura i386, installa software-properties-common e aggiungi i repository universe e multiverse:
210 1 Fluidone Morinmoto
211
<pre>
212
$ schroot -c nwn32
213
(nwn32)$ sudo dpkg --add-architecture i386
214 2 Fluidone Morinmoto
(nwn32)$ sudo apt install software-properties-common
215
(nwn32)$ sudo add-apt-repository universe
216
(nwn32)$ sudo add-apt-repository multiverse
217
</pre>
218
219 3 Fluidone Morinmoto
e installa wine32, winetricks ed eventuali pacchetti necessari:
220 2 Fluidone Morinmoto
221
<pre>
222 3 Fluidone Morinmoto
(nwn32)$ sudo apt install wget gnupg libgd3:i386 libwine:i386 wine32 mesa-utils winetricks
223 1 Fluidone Morinmoto
</pre>
224
225
Librerie necessarie:
226
227
Core OpenGL / Mesa
228
229
<pre>
230
(nwn32)$ sudo apt install libgl1-mesa-glx:i386 libgl1-mesa-dri:i386 libglu1-mesa:i386 libglapi-mesa:i386 libxatracker2:i386 libdrm2:i386
231
</pre>
232
233
X11 e estensioni
234
235
<pre>
236
(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
237
</pre>
238
239
Font / Rendering
240
241
<pre>
242
(nwn32)$ sudo apt install libfreetype6:i386 libfontconfig1:i386 libpng16-16:i386 libsm6:i386 libice6:i386
243
</pre>
244
245
Audio / OpenAL
246
<pre>
247
(nwn32)$ sudo apt install libopenal1:i386 libasound2:i386 libasound2-plugins:i386
248
</pre>
249
250
Extra per Wine / compatibilità
251
<pre>
252
(nwn32)$ sudo apt install libc6:i386 libc6-dev-i386 libgcc-s1:i386 libstdc++6:i386 libtinfo6:i386 libncurses6:i386
253
</pre>
254
255
Driver video 32-bit (se NVIDIA/AMD proprietari)
256
257
<pre>
258
(nwn32)$ sudo apt install libnvidia-glx:i386 libnvidia-glvkspirv:i386
259
</pre>
260
261
Esportare il display per avviare finestre dentro l'ambiente:
262
263
<pre>
264
(nwn32)$ export DISPLAY=:0
265
</pre>
266
267
h4. Librerie NVidia in posizioni non standard
268
269
270
Dentro schroot installa le librerie corrispondenti alla versione del driver host:
271
272
<pre>
273
(nwn32)$ sudo dpgk --add-architecture i386
274
(nwn32)$ sudo apt update
275
(nwn32)$ sudo apt install nvidia-driver-libs:i386
276
</pre>
277
278
Nel sistema host verifica dove si trovano le librerie:
279
280
<pre>
281
$ cd /usr/lib
282
$ find . -name "libGLX_nvidia.so.0"
283
</pre>
284
285
Individua nell'output le librerie i386 e poi monta la directory delle librerie dal sistema host nel sistema schroot:
286
287
<pre>
288
$ sudo mount --bind /usr/lib/i386-linux-gnu/ /srv/chroot/nwn32/usr/lib/i386-linux-gnu/nvidia/current/
289
</pre>
290
291
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
292
293
<pre>
294
(nwn32)$ sudo mkdir -p /usr/lib32
295
(nwn32)$ cd /usr/lib32
296
(nwn32)$ sudo mkdir -p nvidia
297
(nwn32)$ sudo ln -sf /usr/lib/i386-linux-gnu/nvidia/current/libGLX_nvidia.so.0 nvidia/libGLX.so.0
298
(nwn32)$ sudo ln -sf /usr/lib/i386-linux-gnu/nvidia/current/libEGL_nvidia.so.0 nvidia/libEGL.so.1
299
(nwn32)$ sudo ln -sf /usr/lib/i386-linux-gnu/nvidia/current/libGLESv2_nvidia.so.2 nvidia/libGLESv2.so.2
300
(nwn32)$ sudo ln -sf /usr/lib/i386-linux-gnu/nvidia/current/libGLESv1_CM_nvidia.so.1 nvidia/libGLESv1_CM.so.1
301
(nwn32)$ sudo ln -sf /usr/lib/i386-linux-gnu/nvidia/current/libcuda.so.1 nvidia/libcuda.so.1
302
</pre>
303
304
Poi impostare LD_LIBRARY_PATH:
305
306
<pre>
307
(nwn32)$ export LD_LIBRARY_PATH=/usr/lib32/nvidia:$LD_LIBRARY_PATH
308
(nwn32)$ export WINEPREFIX="$HOME/.wine32/" WINEARCH=win32  wine nwtoolset.exe
309
310
</pre>
311
312
h4. Montare un percorso esterno 
313
314
Modifica il file @/etc/schroot/default/fstab@ :
315
316
<pre>
317
/media/tuo-utente/VOLUME_ESTERNO/Giochi/Neverwinter/Neverwinter_Enhanced_Installed /srv/chroot/nwn32/mnt/nwn_game none rw,bind 0 0
318
</pre>
319
320
Crea il punto di mount nel sistema host:
321
322
<pre>
323
$ sudo mkdir -p /srv/chroot/nwn32/mnt/nwn_game
324
</pre>
325
326
h3. Installare i font
327
328
<pre>
329
$ sudo apt install ttf-mscorefonts-installer
330
$ cp /usr/share/fonts/truetype/msttcorefonts/* /home/user/.wine_prefix_dir/drive_c/windows/Fonts
331
</pre>
332
333
Installare font aggiuntivi
334
335
<pre>
336
$ winetricks corefonts
337
$ winetricks tahoma
338
$ winetricks allfonts
339
</pre>