The forum

Changement du répertoire d'installation

Author Replies
acieroid Friday 8 June 2007 at 16:30
acieroidAnonymous

Je viens de tester POL sur ubuntu, ça marche tranquillement, mais j'ai eu un petit problème. C'est que je n'ai pas installé Half Life dans le dossier Sierra/, mais dans Program Files/, et POL allait chercher l'éxécutable dans Sierra/
Il m'a suffit de bouger le dossier, mais peut être que d'autres personnes ne comprendront pas pourquoi ça ne fonctionne pas.

La solution serait de faire un find de l'éxecutable (ici hl.exe) dans le dossier de wine, en éspérant que le jeu ne soit installé qu'une fois, je vois pas trop par quelle autre façon récupérer le dossier ou le jeu est installé.


edit: en fait, y a un petit problème à l'éxécution, lorsque je lance une partie :
wine: Unhandled page fault on read access to 0xdc0e35ea at address 0x7e2bd285 (thread 0009), starting debugger...
Unhandled exception: page fault on read access to 0xdc0e35ea in 32-bit code (0x7e2bd285).
Register dump:
CS:0073 SS:007b DS:007b ES:007b FS:0033 GS:003b
EIP:7e2bd285 ESP:0034c2ec EBP:0034c4a4 EFLAGS:00010202( - 00 - -RI1)
EAX:dc0e35ea EBX:7e312544 ECX:000001df EDX:0017fb58
ESI:dc0e372a EDI:b7e107fc
Stack dump:
0x0034c2ec: 000001e0 00000a00 00000018 00000002
0x0034c2fc: 00000000 00000000 00005000 000001e0
0x0034c30c: 00000020 00000000 0034c324 7e9e64ef
0x0034c31c: 7c03ca50 7eaa9b2c 0034c344 7bc2983f
0x0034c32c: 7c030694 001db1ec 0034c344 7e2ee140
0x0034c33c: 7e315520 7e312544 0034c374 7e2de470
Backtrace:
=>1 0x7e2bd285 in winex11 (+0x1d285) (0x0034c4a4)
2 0x7e2c073f X11DRV_SetDIBitsToDevice+0x28f() in winex11 (0x0034c544)
3 0x7ecac0c9 SetDIBitsToDevice+0x99() in gdi32 (0x0034c594)
4 0x0040923c in hl (+0x923c) (0x481fbee1)
5 0x00000000 (0x00000000)
0x7e2bd285: movzbl 0x0(%eax),%esi
Modules:
Module Address Debug info Name (101 modules)
PE 350000- 3f1000 Deferred woncrypt
PE 400000- 519000 Export hl
PE 520000- 578000 Deferred vgui
PE 10000000-100a1000 Deferred wonauth
PE 17000000-1700e000 Deferred hl_res
ELF 7b800000-7b929000 Deferred kernel32<elf>
\-PE 7b820000-7b929000 \ kernel32
ELF 7bc00000-7bc98000 Deferred ntdll<elf>
\-PE 7bc10000-7bc98000 \ ntdll
ELF 7bf00000-7bf03000 Deferred <wine-loader>
ELF 7cf99000-7cfc0000 Deferred msvfw32<elf>
\-PE 7cfa0000-7cfc0000 \ msvfw32
ELF 7cfc0000-7cfd7000 Deferred mcicda<elf>
\-PE 7cfd0000-7cfd7000 \ mcicda
ELF 7cfd7000-7d057000 Deferred libglu.so.1
ELF 7d057000-7d11d000 Deferred wined3d<elf>
\-PE 7d070000-7d11d000 \ wined3d
ELF 7d22e000-7d27f000 Deferred libgcrypt.so.11
ELF 7d27f000-7d294000 Deferred libtasn1.so.3
ELF 7d294000-7d2c2000 Deferred libcrypt.so.1
ELF 7d2cd000-7d33d000 Deferred libgnutls.so.13
ELF 7d33d000-7d36e000 Deferred libcups.so.2
ELF 7d39c000-7d3a0000 Deferred libgpg-error.so.0
ELF 7d3a5000-7d3d7000 Deferred uxtheme<elf>
\-PE 7d3b0000-7d3d7000 \ uxtheme
ELF 7d3d7000-7d3fd000 Deferred msacm32<elf>
\-PE 7d3e0000-7d3fd000 \ msacm32
ELF 7d3fd000-7d439000 Deferred wineoss<elf>
\-PE 7d400000-7d439000 \ wineoss
ELF 7d6c7000-7d6dc000 Deferred midimap<elf>
\-PE 7d6d0000-7d6dc000 \ midimap
ELF 7d6dc000-7d6f4000 Deferred msacm32<elf>
\-PE 7d6e0000-7d6f4000 \ msacm32
ELF 7d6f6000-7d6fb000 Deferred libxfixes.so.3
ELF 7d6fb000-7d704000 Deferred libxcursor.so.1
ELF 7d704000-7d721000 Deferred imm32<elf>
\-PE 7d710000-7d721000 \ imm32
ELF 7d721000-7d727000 Deferred libxrandr.so.2
ELF 7d727000-7d72f000 Deferred libxrender.so.1
ELF 7d887000-7e1f9000 Deferred libglcore.so.1
ELF 7e1f9000-7e28d000 Deferred libgl.so.1
ELF 7e28d000-7e31c000 Export winex11<elf>
\-PE 7e2a0000-7e31c000 \ winex11
ELF 7e394000-7e3b4000 Deferred libexpat.so.1
ELF 7e3b4000-7e3df000 Deferred libfontconfig.so.1
ELF 7e3df000-7e3f3000 Deferred libz.so.1
ELF 7e3f3000-7e45e000 Deferred libfreetype.so.6
ELF 7e45e000-7e47e000 Deferred mpr<elf>
\-PE 7e470000-7e47e000 \ mpr
ELF 7e47e000-7e4c7000 Deferred wininet<elf>
\-PE 7e490000-7e4c7000 \ wininet
ELF 7e4c7000-7e4f4000 Deferred ws2_32<elf>
\-PE 7e4d0000-7e4f4000 \ ws2_32
ELF 7e4f4000-7e50e000 Deferred wsock32<elf>
\-PE 7e500000-7e50e000 \ wsock32
ELF 7e50e000-7e541000 Deferred winspool<elf>
\-PE 7e520000-7e541000 \ winspool
ELF 7e541000-7e5fe000 Deferred comctl32<elf>
\-PE 7e550000-7e5fe000 \ comctl32
ELF 7e5fe000-7e657000 Deferred shlwapi<elf>
\-PE 7e610000-7e657000 \ shlwapi
ELF 7e657000-7e754000 Deferred shell32<elf>
\-PE 7e670000-7e754000 \ shell32
ELF 7e754000-7e7f5000 Deferred comdlg32<elf>
\-PE 7e760000-7e7f5000 \ comdlg32
ELF 7e7f5000-7e884000 Deferred winmm<elf>
\-PE 7e800000-7e884000 \ winmELF 7e884000-7e897000 Deferred libresolv.so.2
ELF 7e898000-7e89a000 Deferred libnvidia-tls.so.1
ELF 7e8a2000-7e8c0000 Deferred iphlpapi<elf>
\-PE 7e8b0000-7e8c0000 \ iphlpapi
ELF 7e8c0000-7e915000 Deferred rpcrt4<elf>
\-PE 7e8d0000-7e915000 \ rpcrt4
ELF 7e915000-7e9b4000 Deferred ole32<elf>
\-PE 7e920000-7e9b4000 \ ole32
ELF 7e9b4000-7e9b9000 Deferred libxdmcp.so.6
ELF 7e9b9000-7e9bc000 Deferred libxau.so.6
ELF 7e9bc000-7eaad000 Deferred libx11.so.6
ELF 7eaad000-7eabb000 Deferred libxext.so.6
ELF 7eabb000-7eac0000 Deferred libxxf86vm.so.1
ELF 7eac0000-7ead8000 Deferred libice.so.6
ELF 7ead8000-7eb2b000 Deferred ddraw<elf>
\-PE 7eae0000-7eb2b000 \ ddraw
ELF 7eb2b000-7eb73000 Deferred advapi32<elf>
\-PE 7eb40000-7eb73000 \ advapi32
ELF 7eb73000-7eb7f000 Deferred libgcc_s.so.1
ELF 7eb81000-7eb8a000 Deferred libsm.so.6

ELF 7ec74000-7ed34000 Export gdi32<elf>
\-PE 7ec90000-7ed34000 \ gdi32
ELF 7ed34000-7ee71000 Deferred user32<elf>
\-PE 7ed50000-7ee71000 \ user32
ELF 7efa2000-7efad000 Deferred libnss_files.so.2
ELF 7efad000-7efb7000 Deferred libnss_nis.so.2
ELF 7efb7000-7efce000 Deferred libnsl.so.1
ELF 7efce000-7eff5000 Deferred libm.so.6
ELF 7eff7000-7f000000 Deferred libnss_compat.so.2
ELF b7cc2000-b7cc6000 Deferred libdl.so.2
ELF b7cc6000-b7e07000 Deferred libc.so.6
ELF b7e08000-b7e1f000 Deferred libpthread.so.0
ELF b7e2a000-b7f3e000 Deferred libwine.so.1
ELF b7f40000-b7f5b000 Deferred ld-linux.so.2
Threads:
process tid prio (all id:s are in hex)
0000000a
0000000c 0
0000000b 0
00000008 (D) C:\Sierra\Half-Life\hl.exe
0000001a 15
00000019 15
0000000d 0
00000009 0 <==

Sur ubuntu 7.04, avec wine 0.9.38

Edited by acieroid

Gablink Friday 8 June 2007 at 17:03
GablinkAnonymous


La solution serait de faire un find de l'éxecutable (ici hl.exe) dans le dossier de wine, en éspérant que le jeu ne soit installé qu'une fois, je vois pas trop par quelle autre façon récupérer le dossier ou le jeu est installé.

Quote from acieroid


Dans ce cas là si il en trouve plusieurs, il faudrait permettre l'utilisateur de choisir le bon (même si les cas sont très minime je pense) .
Quentin PÂRIS Friday 8 June 2007 at 17:21
Quentin PÂRISAnonymous

L'idée me parait juste. Peut être pour la 1.6.4.
Sinon double poste, je supprime l'autre
twinoatl Sunday 10 June 2007 at 11:46
twinoatlAnonymous

L'idée me parait juste. Peut être pour la 1.6.4.
Sinon double poste, je supprime l'autre

Quote from Tinou


En fait, j'en vois pas l'intérêt. Si j'ai bien compris, il y a une installation wine pour chaque jeux. Donc, quel intérêt y a t'il à changer le dossier d'installation ? Je propose plutôt de mettre un message qui explique qu'il ne faut pas changer le dossier d'installation. Ça rend les scripts plus simples.
Quentin PÂRIS Sunday 10 June 2007 at 12:09
Quentin PÂRISAnonymous

Seulement, une installation de wine DOIT être sur une partition ext3
Akien Thursday 21 June 2007 at 14:03
Akien

EDIT: Je pense avoir trouvé la solution à mon problème ici :

3-Si tu veux installer ailleurs il te faurdra modifier le lanceur ~/.PlayOnLinux/configurations/installed/Starcraft et tu change la 3eme ligne (cd /.../) tu met le chemin vers ton répertoire d'installation

Quote

Peut être faudrait-il prévenir l'utilisateur, par exemple lors de la première installation que l'on fait avec POL, de ne pas changer le répertoire d'installation ou d'éditer le fichier correspondant (si on ne peut pas l'automatiser).


Bonjour,

Je ne sais pas si j'ai bien compris mon problème mais je pense qu'il s'inscrit dans la lignée de celui-ci.
Je suis sous Mandriva One 2007.1 « Spring » et ma partition home se trouve est relativement short. Je ne peux donc pas me permettre de laisser les répertoires d'installation originaux lorsque j'installe un jeu au risque de saturer ma partition.

J'ai installé Starcraft à l'aide de POL dans ma partition racine
/opt/starcraft/
J'ai pu faire la mise à jour avec l'utilitaire de POL (chapeau pour le téléchargement automatique des patchs récents, j'ai été bluffé ), et le Blizzard Updater m'a lancé le jeu tout seul, cela fonctionne.
Cependant je ne peux pas lancer le jeu avec POL, car Jouer > Starcraft me ramène au menu de départ.

J'ai analysé mon raccourci dans le Menu K pour comprendre que la commande à taper en terminale était
$ /opt/playonlinux/playonlinux --run Starcraft
Starcraft: line 4: cd: /home/remi/.PlayOnLinux/wineprefix/Starcraft/drive_c//Program Files/Starcraft: Aucun fichier ou répertoire de ce type
wine: could not load L"c:windowssystem32Starcraft.exe": Module not found


Bref tout ça pour dire que POL cherche systématiquement Starcraft là où il aurait été installé si rien n'avait été changé. Y-a-t-il un fichier que je pourrais éditer pour modifier le chemin par défaut, ou alors un lien symbolique pourrait-il faire l'affaire ?


PS. Pourquoi wine cherche-t-il Starcraft.exe dans system32 ?

Edited by Akien


Il y a 10 types de personnes dans le monde,
ceux qui comprennent le binaire et ceux qui ne le comprennent pas.

? Vive Mandriva One 2007.1 « Spring » et GNU/Linux !
Aymeric P. Thursday 21 June 2007 at 14:33
Aymeric P.

Il faut que tu modifie le lanceur du jeu (je revient dans 10 minutes pour dire quoi et ou (même si je n'ai pas le jeu )

PS. Pourquoi wine cherche-t-il Starcraft.exe dans system32 ?

Quote from Akien

Tout simplement Wine cherche le programme dans le chemin donné, si il ne s'y trouve pas, alors il le recherche dans le PATH (de wine) qui est "c:Windows;c:windowssystem32;"

Former member.
Aymeric P. Thursday 21 June 2007 at 14:45
Aymeric P.

Voilà, tu lance
vi ~/.PlayOnLinux//configurations/installed/Starcraft (si je ne me trompe pas, sur le nom)
Tu change la 4ieme ligne 4 cd /home/Moi/.PlayOnLinux/wineprefix/GuildWars//drive_c/Program Files/GU ILD WARS/
par
[code=console] 4 cd /le/dossiers/ou/est/lejeu/
(tu peut aussi mettre le chemin absolu a la 5ieme, si tu cherche la complexité) :
wine Gw.exe -dsound par
wine /home/Moi/.PlayOnLinux/wineprefix/GuildWars//drive_c/Program Files/GU ILD WARS/gw -dsound

OU

wine /etc/../media/../opt/../home/moi/.PlayOnLinux/G*/dr*/Pr*/GUILD*/Gw -dsound
histoire de perdre wine (je tiens a préciser que ce n'est pas a faire)
(je me suis baser sur Guildwars, mais c'est pareil pour tous (peut être le numéro de ligne qui change ...))

Edited by MulX


Former member.
Akien Thursday 21 June 2007 at 16:20
Akien

Merci bien pour ton aide.
J'ai remplacé mon fichier ~/.PlayOnLinux/configuration/installed/Starcraft par ça et ça marche nickel:

#!/bin/bash
export WINEPREFIX="/home/remi/.PlayOnLinux/wineprefix/Starcraft"
export WINEDEBUG="-all"
cd "/opt/starcraft/"
wine Starcraft.exe

Il y a 10 types de personnes dans le monde,
ceux qui comprennent le binaire et ceux qui ne le comprennent pas.

? Vive Mandriva One 2007.1 « Spring » et GNU/Linux !

This site allows content generated by members, and we promptly remove any content that infringes copyright according to our Terms of Service. To report copyright infringement, please send a notice to dmca-notice@playonlinux.com