Project

General

Profile

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

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