Page 7 sur 7

Posté : sam. 23 févr. 2019, 15:19
par vv221
Mornagest, si tu as installé le jeu via ./play.it et que tu cherches à lancer les exécutables sous /usr/local/share/games/dragon-age-origins, ça n’a aucune chance de fonctionner ;)
Les fichiers présents dans ce répertoire ne peuvent pas être modifiés par ton utilisateur, ce qui va poser tout un tas de soucis.

Si tu veux lancer directement les exéctuables avec WINE, sans passer par le lanceur créé par ./play.it, commence comme ça :

Code : Tout sélectionner

export WINEPREFIX=~/.local/share/play.it/prefixes/dragon-age-origins
cd "$WINEPREFIX/drive_c/dragon-age-origins"
wine …

Posté : sam. 23 févr. 2019, 15:22
par Mornagest
Le truc, c'est que je me suis retrouvé à court de place sur la root :D j'avais pas imaginé que le jeu demanderait 25 Gio de place ! Du coup, je lui ai demandé gentiment, une fois les .deb compilés, de les installer dans ma /home.

J'ai shunté le souci en installant le programme avec l'installateur Windows classique, sans passer par ton script... désolé. C'est surtout pour voir ce que ça donne en jeu, je n'ai pas prévu d'y jouer de suite : je suis en pleine partie de The Witcher 1 qui a quand même autrement de la gueule :D ceci dit, je garde quelques bons souvenirs de DAO, ne soyons pas de mauvaise foi. Mais aussi quelques mauvais...

Posté : sam. 23 févr. 2019, 15:38
par vv221
Ton erreur fait référence au chemin "H:\usr\local\share\games\dragon-age-origins\daoriginslauncher.exe", qui correspondrait bien à ce que ./play.it installe. Donc je pense que tu n’as pas lancé la version installé dans ton $HOME ;)

(ou peut-être que j’ai manqué un truc dans tes explications)

-----

Au passage, en limitant le jeu à deux cœurs de mon CPU (taskset -c 0,1 dragon-age-origins) je réussis à reproduire des soucis de performances que je pense être proches de ceux observés par Voyageuse. En gros, ce n’est pas totalement injouable, mais absolument pas confortable.
Maintenant que je peux reproduire la situation, ce sera plus facile d’essayer de trouver des bidouilles pour l’améliorer.

Et ça nous confirme bien que le souci semble se trouver du côté du CPU.

Posté : sam. 23 févr. 2019, 15:45
par Mornagest
L'installation basique déconne aussi, j'ai obtenu une erreur runtime avec 48 chiffres derrière.

Je veux bien re-tenter avec ton script, mais je me demandais quel est le moyen propre pour l'installer directement dans ma /home sans avoir à passer par la root qui sera immanquablement saturée ?

Posté : sam. 23 févr. 2019, 16:23
par Voyageuse
Mornagest a écrit :L'installation basique déconne aussi, j'ai obtenu une erreur runtime avec 48 chiffres derrière.

Je veux bien re-tenter avec ton script, mais je me demandais quel est le moyen propre pour l'installer directement dans ma /home sans avoir à passer par la root qui sera immanquablement saturée ?
Solution ici : lacouronne/les-secrets-de-dragon-age-or ... post463660
(même discussion... voir aussi les posts précédents si besoin : j'avais le même problème de manque de place sur ma racine, vv221 m'a créé un script adapté ; et voir les posts suivants si ça buggue)

Posté : sam. 23 févr. 2019, 17:25
par Mornagest
Mince, j'ai lu ce message tantôt et j'ai pas vu le lien... merci ! je teste ce soir :)

Posté : sam. 23 févr. 2019, 18:26
par impli
vv221 a écrit : Au passage, en limitant le jeu à deux cœurs de mon CPU (taskset -c 0,1 dragon-age-origins) je réussis à reproduire des soucis de performances que je pense être proches de ceux observés par Voyageuse. En gros, ce n’est pas totalement injouable, mais absolument pas confortable.
Maintenant que je peux reproduire la situation, ce sera plus facile d’essayer de trouver des bidouilles pour l’améliorer.

Et ça nous confirme bien que le souci semble se trouver du côté du CPU.
Comme je suis curieux :

Tu as quoi comme CPU ? Si le soucis est récurent d'un processeur à un autre, ça semble plus venir d'un soucis d'optimisation quand le jeu est lancé via wine, non ?
(Je dis ça parce qu'à la base le jeu est fait pour tourner sur un dual core, donc il doit être -en théorie - optimisé pour ce genre de conf.)

Si ça ne te dérange pas, j'aimerai beaucoup que tu me donnes les bidouilles utilisées pour corriger le problème.

Posté : sam. 23 févr. 2019, 19:52
par vv221
Mon CPU est plutôt dans le genre bête de course : AMD FX-8350.
4 cœurs physiques, 8 cœurs logiques pouvant tourner entre 1,40GHz et 4GHz (sans overclocking).
8035,63 bogomips, au cas où tu saches interpréter ce genre de valeur (j’en suis incapable :gign: ).

Si je ne limite pas le nombre de cœurs utilisables, le jeu est très fluide.
Si je limite à un cœur, même les vidéos et le menu ont du mal à s’afficher.
Avec deux cœurs, c’est jouable mais pas agréable à cause de micro-freezes et de ralentissements.
Je n’ai pas testé, mais je pense qu’à partir de trois cœurs je devrais récupérer toute la fluidité.

Pour les bidouilles qui devraient permettre d’obtenir de bonnes performances avec deux cœurs, je les partagerai bien sûr ici, mais à condition que je les trouve :D

Posté : sam. 23 févr. 2019, 21:25
par Mornagest
Je crois qu'il y a un truc que j'ai pas compris...

J'ai lancé :

Code : Tout sélectionner

sudo sh ./play-dragon-age-origins.sh --prefix=/home/mornagest/jeux
puis :

Code : Tout sélectionner

sudo apt install "/home/mornagest/Jeux temporaire/dragon-age-origins-l10n-voice-fr_1.0-gog2.1.0.4+20180802.2_all.deb" "/home/mornagest/Jeux temporaire/dragon-age-origins-l10n-text-fr_1.0-gog2.1.0.4+20180802.2_all.deb" "/home/mornagest/Jeux temporaire/dragon-age-origins-environment_1.0-gog2.1.0.4+20180802.2_all.deb" "/home/mornagest/Jeux temporaire/dragon-age-origins-movies_1.0-gog2.1.0.4+20180802.2_all.deb" "/home/mornagest/Jeux temporaire/dragon-age-origins-data_1.0-gog2.1.0.4+20180802.2_all.deb" "/home/mornagest/Jeux temporaire/dragon-age-origins_1.0-gog2.1.0.4+20180802.2_i386.deb"
et j'ai ceci :(

Code : Tout sélectionner

Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x7d11ed7c).
Register dump:
 CS:0023 SS:002b DS:002b ES:002b FS:006b GS:0063
 EIP:7d11ed7c ESP:012bfe5c EBP:012bfed8 EFLAGS:00010216(  R- --  I   -A-P- )
 EAX:00000000 EBX:7bcdbcb4 ECX:012bfea0 EDX:00000000
 ESI:00000000 EDI:00a78160
Stack dump:
0x012bfe5c:  00000000 00000000 00000000 00000000
0x012bfe6c:  00000000 00000000 00000000 00a78160
0x012bfe7c:  7d142d90 00000000 00000000 00000000
0x012bfe8c:  00000000 00000000 00000000 00000000
0x012bfe9c:  00000000 00000000 00000000 00000000
0x012bfeac:  00000000 00000000 00000000 00000000
000d: sel=006f base=00000000 limit=00000000 16-bit r-x
Backtrace:
=>0 0x7d11ed7c (0x012bfed8)
  1 0x7bc7da10 (0x012bfeec)
  2 0x7bc81839 (0x012bffdc)
  3 0x7bc7da02 (0x012bffec)
0x7d11ed7c: movl	0x0(%eax),%edx
Modules:
Module	Address			Debug info	Name (38 modules)
PE	  400000-  533000	Deferred        daoriginslauncher
PE	7b410000-7b5b6000	Deferred        kernel32
PE	7bc10000-7bc14000	Deferred        ntdll
PE	7d110000-7d114000	Deferred        winegstreamer
PE	7d150000-7d153000	Deferred        midimap
PE	7d290000-7d293000	Deferred        msacm32
PE	7d2a0000-7d2a3000	Deferred        winealsa
PE	7d580000-7d583000	Deferred        winepulse
PE	7d5b0000-7d5b4000	Deferred        mmdevapi
PE	7d5d0000-7d5d6000	Deferred        devenum
PE	7d600000-7d60b000	Deferred        msvfw32
PE	7d620000-7d624000	Deferred        dsound
PE	7d7b0000-7d7c1000	Deferred        urlmon
PE	7dda0000-7ddc3000	Deferred        msxml3
PE	7df10000-7df1d000	Deferred        msxml
PE	7e980000-7e983000	Deferred        avicap32
PE	7e9a0000-7e9a4000	Deferred        uxtheme
PE	7ec00000-7ec04000	Deferred        winex11
PE	7ec90000-7ec94000	Deferred        imm32
PE	7eeb0000-7eeb9000	Deferred        msacm32
PE	7eee0000-7ef58000	Deferred        winmm
PE	7efb0000-7efb8000	Deferred        oleaut32
PE	7f0e0000-7f108000	Deferred        ole32
PE	7f220000-7f244000	Deferred        oledlg
PE	7f260000-7f26a000	Deferred        winspool
PE	7f2a0000-7f2f0000	Deferred        comctl32
PE	7f3c0000-7f459000	Deferred        comdlg32
PE	7f4a0000-7f4a3000	Deferred        msimg32
PE	7f4c0000-7f4c4000	Deferred        ws2_32
PE	7f500000-7f662000	Deferred        shell32
PE	7f750000-7f758000	Deferred        shlwapi
PE	7f7c0000-7f7c7000	Deferred        gdi32
PE	7f900000-7f9c6000	Deferred        user32
PE	7fad0000-7fada000	Deferred        mpr
PE	7fb10000-7fb28000	Deferred        wininet
PE	7fb90000-7fb94000	Deferred        advapi32
PE	7fc10000-7fc14000	Deferred        rpcrt4
PE	7ffd0000-7ffd4000	Deferred        version
Threads:
process  tid      prio (all id:s are in hex)
00000008 (D) H:\jeux\share\games\dragon-age-origins\daoriginslauncher.exe
	00000033    0 <==
	00000032    0
	00000031    0
	00000030    0
	0000002f    0
	0000002e    0
	0000002d    0
	00000009    0
0000000e services.exe
	00000022    0
	0000001d    0
	00000015    0
	00000014    0
	00000013    0
	00000010    0
	0000000f    0
00000011 winedevice.exe
	0000001c    0
	00000019    0
	00000018    0
	00000017    0
	00000016    0
	00000012    0
0000001a plugplay.exe
	0000001f    0
	0000001e    0
	0000001b    0
00000020 winedevice.exe
	00000029    0
	00000026    0
	00000025    0
	00000024    0
	00000023    0
	00000021    0
00000027 explorer.exe
	0000002c    0
	0000002b    0
	0000002a    0
	00000028    0
System information:
    Wine build: wine-3.0 (Ubuntu 3.0-1ubuntu1)
    Platform: i386
    Version: Windows XP
    Host system: Linux
    Host version: 4.15.0-45-generic

Posté : sam. 23 févr. 2019, 21:44
par vv221
Pas besoin de sudo quand on lance le script ./play.it, mais ça ne devrait pas poser de souci. C’est juste une mauvaise habitude :gign:

Par contre, comment tu lances le jeu par la suite pour obtenir l’erreur que tu postes ?
Ça ne me paraît pas être quelque chose qu’on peut obtenir en utilisant le lanceur ./play.it (commande "dragon-age-origins").

Posté : sam. 23 févr. 2019, 22:13
par impli
Sans rapport avec le problème de Mornagest, mais en regardant le bugtracker de wine, il semble y avoir pas mal de problèmes de perf sur les vieux jeux.
Une manip (assez ancienne) consistait à ne faire tourner le jeu que sur un seul core dans le cas d'un dual core. (le tips date de 2015, je ne promets rien).

Néanmoins, le soucis de perf semble assez ancien et récurrent, sans avoir trouvé de fix digne de ce nom. (On trouve des rapports de bug datant de 2012 mais toujours pas corrigés).


Pour conclure, et sans vouloir être trop pessimiste, comme le soucis concerne de vieux jeux, bah ... Je doute sincèrement que ce soit un problème prioritaire pour les devs.

Voyageuse, essaie de lancer le jeu avec

Code : Tout sélectionner

taskset -c 0 wine daorigins.exe
A une époque, ça a aidé ... (et la commande n'est sûrement pas adaptée, je la sors comme elle a été donnée.)


Edit : Et désolé pour le pavé, mais si ça peut aider ...
Most performance issues on Mid-End or High-End systems are CPU side bottlenecks. The problem can be in pretty much every component involved in running the game:

The Linux Kernel
The X server
The 3D parts of Wine
The non-3D parts of Wine
The 3D driver

It is tricky to tell those apart. A useful first test is comparing the following 3 metrics:

The performance on a normal Windows system
The performance on Windows while running the game with wined3d
The performance on Linux/macOS with Wine
If you are on macOS: The performance with Wine+macOS.

If there is a noticeable difference between (1) and (2) the problem is likely in the 3D related parts(wined3d, OpenGL driver). That's because all the other components haven't been changed. If there is a noticeable difference between (2) and (3) the problem is either in the non-3D parts(Rest of Wine, Linux kernel, ...). Make sure the game runs in the same codepath in all 4(or 3) cases - some games can use both d3d9 and d3d10 for example.

A difference between (2) and (3) may also indicate a problem in the Linux 3D driver that does not occur on Windows. If you are using AMD's or Nvidia's binary drivers this is unlikely because the Windows and Linux drivers share a pretty big common core. On macOS there is less code sharing, so if you're debugging performance issues on macOS the difference between (3) and (4) can matter.
Si besoin est, je peux faire un comparatif sous windows avec wined3d.

Posté : sam. 23 févr. 2019, 23:35
par vv221
La méthode de faire tourner le jeu sur un seul cœur je l'ai testée, avec le résultat donné plus haut : injouable.
Ça vaut quand même le coup de tester au cas où l'effet soit différent pour Voyageuse, mais je doute que ce soit concluant.

Posté : dim. 24 févr. 2019, 00:00
par impli
Yep. Mais comme tu es sur un quadcore ... Je lachais l'info comme ça.

Prochaine étape : le sacrifice humain ou les chants mayas devant un autel à la gloire du Dieu AMD. (Eh oui, le debug, c'est serious business)

Posté : dim. 24 févr. 2019, 11:13
par Voyageuse
impli a écrit : Voyageuse, essaie de lancer le jeu avec

Code : Tout sélectionner

taskset -c 0 wine daorigins.exe
A une époque, ça a aidé ... (et la commande n'est sûrement pas adaptée, je la sors comme elle a été donnée.)
Ça ne marche pas : il ne cherche pas l'exécutable au bon endroit (cannot find L"C:\\windows\\system32\\daorigins.exe").
Mais comme le jeu est prévu pour fonctionner à 2 coeurs, ça ne peut qu'être pire, non?

Si j'avais su d'avance que mon processeur n'était pas assez puissant pour DAO via wine, j'aurais économisé une carte graphique en commençant directement une partie sur mon portable (et j'aurais été forcée de jouer bien moins intensément ! Ce n'est pas forcément un mal :gign: ). Là, j'en suis apparemment à plus d'un tiers du jeu, je vais continuer tranquillement, et la prochaine partie sera sur le portable, c'est tout (je vais même la commencer en parallèle).

Tout à l'heure, si j'ai le temps, je réinstalle tout, sinon ce sera au retour des vacances (on part demain, quelques jours seulement)

Posté : dim. 24 févr. 2019, 12:51
par ZOLTAN
Voyageuse a écrit :...
Si j'avais su d'avance que mon processeur n'était pas assez puissant pour DAO via wine, j'aurais économisé une carte graphique en commençant directement une partie sur mon portable (et j'aurais été forcée de jouer bien moins intensément ! Ce n'est pas forcément un mal :gign: ). Là, j'en suis apparemment à plus d'un tiers du jeu, je vais continuer tranquillement, et la prochaine partie sera sur le portable, c'est tout (je vais même la commencer en parallèle). ...
Je comprends ta frustration, néanmoins ta mémoire vive et ta carte à prix canon peuvent servir pour des logiciels ou jeux ne nécessitant pas wine et ses 40% de charge. Sur GoG il y a plein de jeux sous linux et sans le méchant vilain wine. Ton processeur n'est peut être pas formidable mais il n'est pas nul non plus.

Pour l’anecdote, j'ai installé DAO UE sur mon portable 14" avec un pentium 2 cores à 1,1ghz et avec un chipset graphique pourri (intel graphics 605), avec l'antiliasing à 0 (et le reste en bas), il tourne lentement mais surement sur W10. J'ai fais ça pour voir ta gène dans le jeu avec un dual core et un système trop juste (1,1 ghz, et W10) comme toi avec wine.
J'ai bien avancé sur DAO awakening (plus court) mais je comprend que tu soit déçue. Le plaisir n'est pas à la hauteur. Bouh méchant wine !

Posté : dim. 24 févr. 2019, 15:39
par impli

Code : Tout sélectionner

taskset -c 0 dragon-age-origins
Essaie celle-ci plutôt. L'autre n'était pas adaptée.

Pour le détail, je ne pourrais pas te dire, mais ça a fonctionné avec pas mal de vieux jeux et c'est ce qu'ils recommandent sur le bugtracker.
J'imagine que wine doit avoir un peu de mal à gérer la transmission de certaines instructions (voire les envoies en double). Donc, le fait de faire tourner sur un seul coeur évite le bug de doublon et de saturer le processeur.
(C'est une simple supposition de ma part. Je n'ai jamais essayé wine et ne sais comment il fonctionne en détail.)

Posté : dim. 24 févr. 2019, 15:49
par Voyageuse
impli a écrit :

Code : Tout sélectionner

taskset -c 0 dragon-age-origins
Essaie celle-ci plutôt. L'autre n'était pas adaptée.

Pour le détail, je ne pourrais pas te dire, mais ça a fonctionné avec pas mal de vieux jeux et c'est ce qu'ils recommandent sur le bugtracker.
J'imagine que wine doit avoir un peu de mal à gérer la transmission de certaines instructions (voire les envoies en double). Donc, le fait de faire tourner sur un seul coeur évite le bug de doublon et de saturer le processeur.
(C'est une simple supposition de ma part. Je n'ai jamais essayé wine et ne sais comment il fonctionne en détail.)
La commande ne marche pas. L'autre l'avait fait "réfléchir" quelques secondes ; avec celle-ci j'ai directement "échec d'exécution de dragon-age-origins: Aucun fichier ou dossier de ce type"
La première commande est probablement mieux adaptée, mais il faut pouvoir lui préciser où chercher l'exécutable...

Posté : dim. 24 févr. 2019, 15:52
par vv221
Dernier essai, cette fois ça devrait le faire :

Code : Tout sélectionner

taskset -c 0 /home/jeux/games/dragon-age-origins

Posté : dim. 24 févr. 2019, 16:00
par impli
Voyageuse a écrit :La commande ne marche pas. L'autre l'avait fait "réfléchir" quelques secondes ; avec celle-ci j'ai directement "échec d'exécution de dragon-age-origins: Aucun fichier ou dossier de ce type"
La première commande est probablement mieux adaptée, mais il faut pouvoir lui préciser où chercher l'exécutable...
Je n'ai installé DAO ni utilisé le script de vv221, je ne peux pas deviner le répertoire d'installation.

Posté : dim. 24 févr. 2019, 16:06
par vv221
En fait la dernière commande que tu as donnée aurait fonctionné sur une installation standard via ./play.it, mais pour Voyageuse on a du utiliser un répertoire d'installation alternatif pour cause de manque de place sur la partition racine.

Posté : dim. 24 févr. 2019, 16:20
par Voyageuse
vv221 a écrit :Dernier essai, cette fois ça devrait le faire :

Code : Tout sélectionner

taskset -c 0 /home/jeux/games/dragon-age-origins
Là, le jeu se lance (avec un petit message d'erreur que je n'ai pas pris le temps de lire, impossible de paramétrer ou de construire je-ne-sais-quoi).
Mais il est totalement injouable.
Pas grave, je me contenterai de mon jeu au ralenti. Merci quand même d'avoir tenté de résoudre le problème ^^

Posté : dim. 24 févr. 2019, 20:34
par Mornagest
vv221 a écrit :Pas besoin de sudo quand on lance le script ./play.it, mais ça ne devrait pas poser de souci. C’est juste une mauvaise habitude :gign:

Par contre, comment tu lances le jeu par la suite pour obtenir l’erreur que tu postes ?
Ça ne me paraît pas être quelque chose qu’on peut obtenir en utilisant le lanceur ./play.it (commande "dragon-age-origins").
J'ai tenté en lançant daolauncher.exe qui se situe dans le répertoire du jeu.

En passant par le menu Jeux => Dragon Age Origins, il ne se passe rien. Je vois un processus qui consomme quelques dixièmes de pourcent de RAM dans htop, mais rien ne se lance pour autant. Je suis perplexe...

Posté : dim. 24 févr. 2019, 20:52
par vv221
Je vois le piège, c’est à cause du téléchargement de l’installeur pour PyhsX qui se passe en arrière plan, et pour lequel on n’a pour l’instant aucun retour visuel. Ce sera corrigé dans une future version du script.

Pour lancer le jeu en console :

Code : Tout sélectionner

/home/mornagest/jeux/games/dragon-age-origins
Pour accéder à l’écran de configuration de WINE :

Code : Tout sélectionner

/home/mornagest/jeux/games/dragon-age-origins_winecfg
Pour lancer directement un .exe avec WINE :

Code : Tout sélectionner

export WINEPREFIX=~/.local/share/play.it/prefixes/dragon-age-origins
cd "$WINEPREFIX/drive_c/dragon-age-origins"
wine bin_ship/daorigins.exe
PS : Je suis en train de tester un prototype de mise-à-jour du script pour Dragon Age: Origins, qui ne nécessite aucun téléchargement pour installer PhysX.

Posté : dim. 24 févr. 2019, 22:49
par Mornagest
OK merci Vv, je testerai un autre soir, par contre ^^ il se fait tard et demain je suis en balade pour le boulot :p

Posté : lun. 25 févr. 2019, 09:38
par vv221
Une nouvelle version du script ne nécessitant pas de téléchargement initial avant le premier lancement est dispo ici.

Elle remplacera celle actuellement proposée sur le site Web de ./play.it, une fois qu’on sera certain qu’elle ne peut pas planter au lancement, mettre feu au PC, ou invoquer un fiélon des abysses dans le dos de l’utilisateur :gign:

Posté : lun. 25 févr. 2019, 09:42
par Mornagest
Je tenterai dès que possible ; au pire, si je me fais attaquer par un diantrefosse, je serai seul à la maison, Althy sera épargnée :D

Posté : jeu. 07 mars 2019, 12:37
par Mornagest
J'ai pu lancer le jeu une fois, mais ensuite, toujours avec la commande dragon-age-origins, il m'a fait défiler l'ensemble des fichiers de tous les répertoires en me disant qu'il "ne pouvait pas les remplacer car le fichier existe"... je n'ai pas bien compris. J'avoue n'avoir pas cherché plus loin, je pense que le problème vient du fait que je ne peux pas installer le jeu sur la root pour ensuite le déplacer dans ma /home et placer un lien symbolique (j'ai pu faire ça pour PoE, Tyranny... mais DAO est bien trop gros). Et comme je ne comptais pas particulièrement jouer à DAO dans l'immédiat (je suis reparti pour TW2 là :gign: )...

Du coup, j'ai effacé les .deb et désinstallé les paquets pour récupérer de la place.

Merci quand même pour ton aide et désolé de ne pas pouvoir pousser les essais plus loin !