# [cedega/wine] problème avec Warcraft 3  (en cours)

## matthias*

bonjour à tous,

j'ai installé la version CVS de Cedega pour jouer à Warcraft III, je n'arrive pas à résoudre un problème qui semble être lié à ALSA (j'ai ALSA en full modules sur un kernel 2.6.10-gentoo-r4).

voici l'erreur ...

```

cvscedega War3.exe

err:module:map_image Could not map section .text, file probably truncated

fixme:keyboard:X11DRV_KEYBOARD_DetectLayout Your keyboard layout was not found!

Using closest match instead (French keyboard layout) for scancode mapping.

Please define your layout in windows/x11drv/keyboard.c and submit them

to us for inclusion into future Wine releases.

See the Wine User Guide, chapter "Keyboard" for more information.

fixme:wave:ALSA_WaveInit -/usr/lib/cvscedega/bin/wine: can't exec 'War3.exe': error=21

```

si qq à une idée, parce que la je vois pas ..Last edited by matthias* on Mon Jan 17, 2005 9:32 am; edited 4 times in total

----------

## NiLuJe

En général l'error=21 c'est quand on essaye d'executer un .exe situé sur une partoche monté sans les droits d'execution ...

----------

## bosozoku

Oui vérifie bien les droits. Si ta partition est un vfat utilise l'uid et le gid de ton utilisateur dans le fstab pour la monter.

----------

## matthias*

ok, merci pour l'info, en fait c'est une partoche NTFS ....

j'ai du mettre ro dans mon /etc/fstab car le NTFS n'est pas utilisable en ecriture sans risque sous Linux, je vais supprimer le ro pour voir si cela resoud le problème.

merci pour l'info   :Very Happy: 

----------

## matthias*

cela ne change rien, le problème vient surement du fait que la partoche soit NTFS, je vais essayer d'installe dans le fake C:

----------

## kernelsensei

effectivement le NTFS ca crain, car le jeu veut certainement ecrire aussi !! ce qui n'est pas possible !

----------

## bosozoku

 *kernel_sensei wrote:*   

> effectivement le NTFS ca crain, car le jeu veut certainement ecrire aussi !! ce qui n'est pas possible !

 

Oui c'est peut être ça. Mais dans l'erreur de Cedega c'est :

 *Quote:*   

> can't exec 'War3.exe': error=21 

 

 *Quote:*   

> En général l'error=21 c'est quand on essaye d'executer un .exe situé sur une partoche monté sans les droits d'execution ...

 

Avec tout ça, j'aimerais bien voir ton fstab mathias  :Smile: 

----------

## matthias*

oui tt cela est fort logique au final, j'ai donc fais une première tentative d'install dans le fake C: , voici le résultat, pas glop ...

```

cvscedega /mnt/cdrom/install.exe

fixme:msvcrt:__CxxFrameHandler (0x407c594c,0x408ef42c,0x407c59c0,0x407c58d0):stub?

fixme:msvcrt:__CxxFrameHandler (0x407c58d4,0x408ef42c,0x407c5558,0x407c54e8):stub?

fixme:msvcrt:__CxxFrameHandler (0x407c54ec,0x408ef42c,0x407c5170,0x407c5100):stub?

fixme:msvcrt:__CxxFrameHandler (0x407c5104,0x408ef42c,0x407c4d88,0x407c4d18):stub?

fixme:msvcrt:__CxxFrameHandler (0x407c4d1c,0x408ef42c,0x407c49a0,0x407c4930):stub?

etc ....

/usr/bin/cvscedega: line 87:  6617 Processus arrêté        "$ConfigurePrefix/bin /$WineExecName" "$@"

```

----------

## matthias*

 *bosozoku wrote:*   

> 
> 
> Avec tout ça, j'aimerais bien voir ton fstab mathias 

 

le voici

```

/dev/hda6      none      swap      sw         0 0

/dev/hda7      /boot      ext2      noauto,noatime      1 2

/dev/hda8      /      reiserfs   noatime         0 1

/dev/hda9      /var      reiserfs   noatime         0 2

/dev/hda10      /home      reiserfs   noatime         0 2

/dev/cdroms/cdrom0   /mnt/cdrom   iso9660      noauto,user,ro      0 0

/dev/hda5      /mnt/winD   vfat      noauto,user      0 0

/dev/hda1      /mnt/winC   ntfs      noauto,user,ro      0 0

/dev/sda1      /mnt/usb   auto      noauto,user      0 0

```

----------

## bosozoku

Tu vas modifier cette ligne comme ça :

```
/dev/hda1      /mnt/winC   ntfs      noauto,user,ro,uid=1000,gid=100      0 0 
```

Sous réserve bien sur que ton uid corresponde à 1000 et ton gid à 100 (tu peux le vérifier par la commande id)

----------

## nuts

sinon une copie du jeu sur la partoche linux? peut etre...

tu as le tout dernier cvs?

----------

## matthias*

 *bosozoku wrote:*   

> Tu vas modifier cette ligne comme ça :
> 
> ```
> /dev/hda1      /mnt/winC   ntfs      noauto,user,ro,uid=1000,gid=100      0 0 
> ```
> ...

 

j'ai adapté avec l'uid et le gid qui va bien, mais même topo, le jeux doit vouloir ecrire sur le disque ..

----------

## matthias*

 *nuts wrote:*   

> sinon une copie du jeu sur la partoche linux? peut etre...
> 
> tu as le tout dernier cvs?

 

j'ai une partoche FAT32 sur laquelle je pourrais installer le jeux, mais bon le plus propre serait de l'installer dans le fake car je serais complétement independant de windows.

----------

## nuts

 *matthias* wrote:*   

>  *bosozoku wrote:*   Tu vas modifier cette ligne comme ça :
> 
> ```
> /dev/hda1      /mnt/winC   ntfs      noauto,user,ro,uid=1000,gid=100      0 0 
> ```
> ...

 

tu peux mettre rw a la place de ro. bein avoir activer le support en ecriture dans ton kernel et peut etre dans ton fstab un umask=0000

c est pas users et non user?

----------

## matthias*

pour l'ecriture NTFS, j'ai pas trop envie de jouer aux apprentis sorciers avec une feature que l'on peut qualifier d'experimentale, je vais donc essayer par ordre de priorité :

1) install dans le fake C: (mais je vois pas comment resoudre l'erreur cité ci-dessus)

2) install sur la partoche FAT32 

merci à tous pour vos conseils   :Very Happy: 

je vous tiens au courant si j'ai du mieux  :Very Happy:  (peut pas avoir pire de toute façon   :Laughing:  )

----------

## kernelsensei

et rajoute exec dans les lignes ou t'as user dans le fstab !

----------

## nuts

oui tu as raison, je me disais bien que j oubliais qqchose  :Very Happy:  (moi meme qui fait mumuse avec de la fat rohhh). exec,users c est important

----------

## Dais

Boaf, je joue à War3 et son expansion (enfin surtout à DotA Allstars lol) alors que j'ai installé tout ça sous mon fake .. et ce avec wine et non cedega !

Déjà, pour l'install, lance autoplay.exe plutôt que install.exe (que ce soit pour war3 ou pour frozen throne).

Aussi, assure-toi d'avoir récupéré tous les fichiers windows nécessaires: tous les msvcrt* et regscr32.exe que tu mets dans le dossier system de ton fake.

Pour le reste, j'ai eu à toucher le fichier de conf de wine pour avoir les polices, et pour empêcher le jeu de ramer j'ai du mettre l'option managed à N dans la section x11drv.

J'peux pas vraiment récupérer mon fichier de conf pour te le montrer, mais je crois l'avoir posté quelque part :p

----------

## matthias*

 *kernel_sensei wrote:*   

> et rajoute exec dans les lignes ou t'as user dans le fstab !

 

effectivement, je n'ai plus le même problème   :Very Happy: 

```

err:mmsys:MMDRV_InitHardcoded You didn't setup properly the config file for the Wine multimedia modules.

Will use the hard-coded setup, but this will disappear soon.

Please add a WinMM section to your Wine config file.

```

ça avance, cool !

----------

## Dais

ok mon fichier wine

```
WINE REGISTRY Version 2

;; All keys relative to \\Machine\\Software\\Wine\\Wine\\Config

;;

;; MS-DOS drives configuration

;;

;; Each section has the following format:

;; [Drive X]

;; "Path"="xxx"       (Unix path for drive root)

;; "Type"="xxx"       (supported types are 'floppy', 'hd', 'cdrom' and 'network')

;; "Label"="xxx"      (drive label, at most 11 characters)

;; "Serial"="xxx"     (serial number, 8 characters hexadecimal number)

;; "Filesystem"="xxx" (supported types are 'msdos'/'dos'/'fat', 'win95'/'vfat', 'unix')

;;   This is the FS Wine is supposed to emulate on a certain

;;   directory structure.

;;   Recommended:

;;   - "win95" for ext2fs, VFAT and FAT32

;;   - "msdos" for FAT16 (ugly, upgrading to VFAT driver strongly recommended)

;;   DON'T use "unix" unless you intend to port programs using Winelib !

;; "Device"="/dev/xx" (only if you want to allow raw device access)

;;

[Drive C]

"Path" = "/home/dais/.wine/fake_windows"

"Type" = "hd"

"Label" = "/home/dais/.wine/fake_windows"

"Filesystem" = "win95"

[Drive D]

"Type" = "cdrom"

"Path" = "/mnt/cdrom"

#"Label" = "/mnt/cdrom"

"Filesystem" = "win95"

"Device" = "/dev/cdroms/cdrom0"

[Drive X]

"Type" = "hd"

"Path" = "/tmp"

"Label" = "Tmp Drive"

"FS" = "win95"

[Drive Y]

"Type" = "network"

"Path" = "${HOME}"

"Label" = "Home"

"FS" = "win95"

[Drive Z]

"Type" = "network"

"Path" = "/"

"Label" = "Root"

"FS" = "win95"

[wine]

"Windows" = "C:\\Windows"

"System" = "C:\\Windows\\System"

"Temp" = "X:\\"

"Path" = "C:\\Windows;C:\\Windows\\System;X:\\;Y:\\"

"GraphicsDriver" = "x11drv"

; Wine doesn't pass directory symlinks to Windows programs by default.

; Enabling this may crash some programs that do recursive lookups of a whole

; subdir tree in case of a symlink pointing back to itself.

;"ShowDirSymlinks" = "1"

"ShellLinker" = "wineshelllink"

# <wineconf>

[Version]

"Windows" = "win2k"

[DllDefaults]

; "EXTRA_LD_LIBRARY_PATH" = "${HOME}/wine/cvs/lib"

"DefaultLoadOrder" = "native, builtin, so"

[DllOverrides]

; default for all other dlls

"*" = "builtin, native, so"

;"commdlg"      = "builtin, native"

;"comdlg32"     = "builtin, native"

;"ver"          = "builtin, native"

;"version"      = "builtin, native"

;"shell"        = "builtin, native"

;"shell32"      = "builtin, native"

;"lzexpand"     = "builtin, native"

;"lz32"         = "builtin, native"

;"comctl32"     = "builtin, native"

;"commctrl"     = "builtin, native"

;"wsock32"      = "builtin"

;"winsock"      = "builtin"

;"advapi32"     = "builtin, native"

;"crtdll"       = "builtin, native"

;"mpr"          = "builtin, native"

;"winspool.drv" = "builtin, native"

;"ddraw"        = "builtin, native"

;"dinput"       = "builtin, native"

;"dsound"       = "builtin, native"

;"mmsystem"     = "builtin"

;"winmm"        = "builtin"

;"msvcrt"       = "native, builtin"

;"msvideo"      = "builtin, native"

;"msvfw32"      = "builtin, native"

;"mcicda.drv"   = "builtin, native"

;"mciseq.drv"   = "builtin, native"

;"mciwave.drv"  = "builtin, native"

;"mciavi.drv"   = "native, builtin"

;"mcianim.drv"  = "builtin, native"

;"msacm.drv"    = "builtin, native"

;"msacm"        = "builtin, native"

;"msacm32"      = "builtin, native"

;"midimap.drv"  = "builtin, native"

;"wnaspi32"     = "builtin"

;"icmp"         = "builtin"

[x11drv]

; Number of colors to allocate from the system palette

"AllocSystemColors" = "100"

; Use a private color map

"PrivateColorMap" = "N"

; Favor correctness over speed in some graphics operations

"PerfectGraphics" = "N"

; Color depth to use on multi-depth screens

;;"ScreenDepth" = "16"

; Name of X11 display to use

;;"Display" = ":0.0"

; Allow the window manager to manage created windows

"Managed" = "Y"

; Use a desktop window of 640x480 for Wine

"Desktop" = "N"

; Use XFree86 DGA extension if present

; (make sure /dev/mem is accessible by you !)

"UseDGA" = "Y"

; Use XVidMode extension if present # Y par defaut - provient de winex

"UseXVidMode" = "Y"

; Use XShm extension if present

"UseXShm" = "Y"

; Enable DirectX mouse grab

"DXGrab" = "Y"

; Create the desktop window with a double-buffered visual

; (useful to play OpenGL games)

"DesktopDoubleBuffered" = "Y"

; Code page used for captions in managed mode

; 0 means default ANSI code page (CP_ACP == 0)

"TextCP" = "0"

; Use this if you have more than one port for video on your setup 

; (Wine uses for now the first 'input image' it finds).

;; "XVideoPort" = "43"

; Run in synchronous mode (useful for debugging X11 problems)

;;"Synchronous" = "Y"

; How much Video RAM does your card have? 

"VideoRam" = "128"

[fonts]

;Read documentation/fonts before adding aliases

;See a couple of examples for russian users below

"Resolution" = "96"

"Default" = "-adobe-helvetica-"

"DefaultFixed" = "fixed"

"DefaultSerif" = "-adobe-times-"

"DefaultSansSerif" = "-adobe-helvetica-"

;; default TrueType fonts with russian koi8-r encoding

;"Default" = "-monotype-arial-*-*-*--*-*-*-*-*-*-koi8-r"

;"DefaultFixed" = "-monotype-courier new-*-*-*--*-*-*-*-*-*-koi8-r"

;"DefaultSerif" = "-monotype-times new roman-*-*-*--*-*-*-*-*-*-koi8-r"

;"DefaultSansSerif" = "-monotype-arial-*-*-*--*-*-*-*-*-*-koi8-r"

;; default cyrillic bitmap X fonts

;"Default" = "-cronyx-helvetica-"

;"DefaultFixed" = "fixed"

;"DefaultSerif" = "-cronyx-times-"

;"DefaultSansSerif" = "-cronyx-helvetica-"

[serialports]

"Com1" = "/dev/ttyS0"

"Com2" = "/dev/ttyS1"

[parallelports]

"Lpt1" = "/dev/lp0"

[spooler]

"LPT1:" = "|lpr"

"LPT2:" = "|gs -sDEVICE=bj200 -sOutputFile=/tmp/fred -q -"

"LPT3:" = "/dev/lp3"

[ports]

;"read" = "0x779,0x379,0x280-0x2a0"

; "write" = "0x779,0x379,0x280-0x2a0"

[spy]

"Exclude" = "WM_SIZE;WM_TIMER;"

[registry]

;These are all booleans.  Y/y/T/t/1 are true, N/n/F/f/0 are false.

;Defaults are read all, write to Home

; Global registries (stored in /etc)

"LoadGlobalRegistryFiles" = "Y"

; Home registries (stored in ~user/.wine/)

"LoadHomeRegistryFiles" = "Y"

; Load Windows registries from the Windows directory

"LoadWindowsRegistryFiles" = "Y"

; TRY to write all changes to home registries

"WritetoHomeRegistryFiles" = "Y"

; Registry periodic save timeout in seconds

; "PeriodicSave" = "600"

; Save only modified keys

"SaveOnlyUpdatedKeys" = "Y"

[Tweak.Layout]

;; supported styles are 'Win31'(default), 'Win95', 'Win98'

"WineLook" = "Win98"

[Console]

;"Drivers" = "tty"

;"XtermProg" = "nxterm"

;"InitialRows" = "25"

;"InitialColumns" = "80"

;"TerminalType" = "nxterm"

[Clipboard]

"ClearAllSelections" = "0"

"PersistentSelection" = "1"

; Liste des dossiers de fonts

[FontDirs]

"dir1" = "/usr/X11R6/lib/X11/fonts/TrueType"

"dir2" = "/usr/share/fonts/truetype"

"dir3" = "/usr/X11R6/lib/X11/fonts/TT"

"dir4" = "/usr/share/fonts/TT" 

; List of all directories directly contain .AFM files

;[afmdirs]

;"1" = "/usr/share/ghostscript/fonts"

;"2" = "/usr/share/a2ps/afm"

;"3" = "/usr/share/enscript"

;"4" = "/usr/X11R6/lib/X11/fonts/Type1"

;"4" = "/usr/share/fonts/Type1"

[WinMM]

"Drivers" = "wineoss.drv"

"WaveMapper" = "msacm.drv"

"MidiMapper" = "midimap.drv"

[wineoss]

"UseMMap" = "Y"

"FullDuplex" = "N"

[dsound]

;; HEL only: Number of waveOut fragments ahead to mix in new buffers.

;"HELmargin" = "5"

;; HEL only: Number of waveOut fragments ahead to queue to driver.

;"HELqueue" = "5"

;; Max number of fragments to prebuffer

;"SndQueueMax" = "28"

;; Min number of fragments to prebuffer

;"SndQueueMin" = "12"

;; Forces emulation mode (using wave api)

"HardwareAcceleration" = "Emulation"

;; Sets default playback device (0 - number of devices - 1)

"DefaultPlayback" = "0" ; use first device (/dev/dsp)

;"DefaultPlayback" = "1"  ; use second device (/dev/dsp1)

;"DefaultPlayback" = "2"  ; use third device (/dev/dsp2)

;; Sets default capture device (0 - number of devices - 1)

"DefaultCapture" = "0"  ; use first device (/dev/dsp)

;"DefaultCapture" = "1"  ; use second device (/dev/dsp1)

;"DefaultCapture" = "2"  ; use third device (/dev/dsp2)

# </wineconf>

#########################################

# Application dependent sections follow #

#########################################

[AppDefaults\\_INS5576._MP\\x11drv]

; Lotus Notes R5 installer

; I'm quite not sure this will run on some other machine than mine, but it 

; can't hurt

"Managed" = "N"

"Desktop" = "N"

[AppDefaults\\nlnotes.exe\\x11drv]

"Desktop" = "1024x768"

[AppDefaults\\notes.exe\\DllOverrides]

"msvcrt" = "native"

"msvcrt40" = "native"

"crtdll" = "native"

"imagehlp" = "native"

"rnaph" = "native"

[AppDefaults\\nlnotes.exe\\DllOverrides]

"msvcrt" = "native"

"msvcrt40" = "native"

"crtdll" = "native"

"imagehlp" = "native"

"rnaph" = "native"

[AppDefaults\\nhldaemn.exe\\DllOverrides]

"msvcrt" = "native"

"msvcrt40" = "native"

"crtdll" = "native"

"imagehlp" = "native"

"rnaph" = "native"

[AppDefaults\\war3.exe\\x11drv]

;"Desktop" = "1024x768"

"Managed" = "N"

"Desktop" = "1280x1024"

```

----------

## matthias*

merci beaucoup   :Very Happy: 

je vais regarder tt ça !

----------

## matthias*

ça me gonfle, ça part en sucette, j'arrive juste à lancer le debuggeur ....   :Confused: 

```

cvscedega /mnt/winC/JEUX/Warcraft\ III/War3.exe

fixme:keyboard:X11DRV_KEYBOARD_DetectLayout Your keyboard layout was not found!

Using closest match instead (French keyboard layout) for scancode mapping.

Please define your layout in windows/x11drv/keyboard.c and submit them

to us for inclusion into future Wine releases.

See the Wine User Guide, chapter "Keyboard" for more information.

fixme:wave:ALSA_WaveInit -wine: Unhandled exception, starting debugger...

Using wine_path: wine

00000001:00000002: create process 'G:\mnt\winC\JEUX\Warcraft III\War3.exe'/0x40113958 @00000000 (0<0>)

00000001:00000002: create thread I @00000000

GNU gdb 6.0

Copyright 2003 Free Software Foundation, Inc.

GDB is free software, covered by the GNU General Public License, and you are

welcome to change it and/or distribute copies of it under certain conditions.

Type "show copying" to see the conditions.

There is absolutely no warranty for GDB.  Type "show warranty" for details.

This GDB was configured as "i686-pc-linux-gnu".

Using host libthread_db library "/lib/libthread_db.so.1".

00000001:00000002: loads DLL ntdll.dll @4004f000 (0<0>)

00000001:00000002: loads DLL kernel32.dll @4094d000 (0<0>)

00000001:00000002: loads DLL advapi32.dll @40b72000 (0<0>)

00000001:00000002: loads DLL gdi32.dll @40afe000 (0<0>)

00000001:00000002: loads DLL user32.dll @409cc000 (0<0>)

00000001:00000002: loads DLL rpcrt4.dll @40d66000 (0<0>)

00000001:00000002: loads DLL ole32.dll @40cef000 (0<0>)

00000001:00000002: loads DLL shlwapi.dll @40da9000 (0<0>)

00000001:00000002: loads DLL comctl32.dll @40ddf000 (0<0>)

00000001:00000002: loads DLL shell32.dll @40c18000 (0<0>)

00000001:00000002: loads DLL winspool.drv @40e7b000 (0<0>)

00000001:00000002: loads DLL comdlg32.dll @40b9b000 (0<0>)

00000001:00000002: loads DLL winmm.dll @4100e000 (0<0>)

00000001:00000002: loads DLL C:\windows\system32\msvcrt.dll @77be0000 (0<0>)

00000001:00000002: loads DLL lz32.dll @4106c000 (0<0>)

00000001:00000002: loads DLL version.dll @41061000 (0<0>)

00000001:00000002: loads DLL G:\mnt\winC\JEUX\Warcraft III\Storm.dll @15000000 (0<0>)

00000001:00000002: loads DLL G:\mnt\winC\JEUX\Warcraft III\Mss32.dll @21100000 (0<0>)

00000001:00000002: loads DLL ws2_32.dll @41085000 (0<0>)

00000001:00000002: loads DLL wsock32.dll @41073000 (0<0>)

00000001:00000002: loads DLL x11drv.dll @41186000 (0<0>)

00000001:00000002: loads DLL winealsa.drv @460f1000 (0<0>)

00000001:00000002: loads DLL msacm32.dll @461e0000 (0<0>)

00000001:00000002: loads DLL msacm.drv @461d5000 (0<0>)

00000001:00000002: loads DLL midimap.drv @46302000 (0<0>)

00000001:00000002: exception code=80000003

00000001:00000002: exception code=80000100

Unhandled exception code 80000100

[New Thread 2]

0x40050058 in ?? ()

warning: Unable to find dynamic linker breakpoint function.

GDB will be unable to debug shared library initializers

and track explicitly loaded dynamic code.

trace: 98 => 80

* 1 Thread 2 (Running, priority normal)  0x40050058 in __wine_unimplemented (

    func=0x77bee970 "\203}\f\005\017\205]\001") at ntdll.spec.c:47

#0  0x40050058 in __wine_unimplemented (

    func=0x77bee970 "\203}\f\005\017\205]\001") at ntdll.spec.c:47

#1  0x40052b12 in __wine_stub_ntdll_RtlGetNtVersionNumbers ()

    at ntdll.spec.c:277

#2  0x77bee970 in ?? ()

#3  0x408f0804 in ?? ()

#4  0x408f0808 in ?? ()

Wine-gdb>

```

----------

## matthias*

au final je me suis rabattu sur Wine (dernière version dans portage), cela semble mieux se passer, j'ai d'abord ete surpris du fait que dans le ~/.wine il n'y ait pas de fichier config par default, j'ai donc utiliser celui de Dais comme pattern, quand je lance le jeux avec la commande

```

wine /mnt/winC/JEUX/Warcraft\ III/War3.exe

```

j'ai une fenêtre noir qui se lance avec dans la console, l'instruction suivante :

```

Please use the registry key HKEY_CURRENT_CONFIG\Software\Fonts\LogPixels

to set the screen resolution and remove the "Resolution" entry in the config file

```

mais la je vois pas trop ou et comment mettre cette info, y a bien des .reg présents dans le ~/.wine mais c'est pas super parlant ....

j'ai egalement du modifier la partie [FontDirs] du fichier config car je n'ai apparemment pas les polices truetype sur ma gentoo, je ne sais pas si cela est bloquant ...

----------

## matthias*

j'ai aussi essayé WineX, pas mieux

```

cvswinex War3.exe

/usr/bin/cvswinex: line 285:  4720 Erreur de segmentation  /usr/lib/cvswinex/bin/wine "$@"

```

j'ai pas du comprendre un truc, ou alors y a une incompatibilité qq part ...

je laisse tomber pour le moment, j'essayerai un autre fois, merci pour le coup de main.

A+

----------

## kernelsensei

moi je pense que la meilleure chose c'est de mettre le jeu sur une partoche fat ... car c'est le seul FS supporte en lecture et ecriture par les 2 systemes Win / Linux

Sur du NTFS, Linux ne sais pas vraiment ecrire

Sur un FS Linux, est-ce que le soft win sait comment s'y prendre pour ecrire ? et meme lire ?

----------

## nuts

on trouve des soft win pour lire du ext2(3) et du reiserfs mais pas de quoi ecrire

----------

## Dais

Bah, vu qu'il disait que la seule chose qui le retenait avec son windows, c'est war3, autant l'installer sur une partition de son linux .. plus de prise de tête de lecture/écriture .. mon war3 roule parfaitement, autant pour lire qu'écrire (sauvegardes, replays, maps downloadées via bnet, etc).

----------

## nuts

je suis full linux, mais il peut arriver que je boot sur mon disque pour l ecole (sous win) alors les partition en communs sont en fat

----------

## matthias*

re-bonjour à tous,

finallement j'ai decidé de ne pas abandonné, et hier soir je me suis relancé sur le sujet, aprés qq recherches j'ai donc fait les choses suivantes :

- desinstallation du jeux de la partoche NTFS

- installation War3 ROC,TFT, patch 1.17 et NOCD sur la partoche FAT32

- validation fonctionnement sous Windows

- reinstallation du CVS WineX via le script  GetCVSWineX_Pthreads récupéré sur http://gentoo-wiki.com/.

- edition du fichier config

- lancement du jeux sous linux.

les premiers resultats sont déja bien plus concluant que les précédents, à savoir que j'ai une fenêtre qui s'ouvre avec le message suivant :

 "Warcraft  3 n'est pas capable de trouver une clé CD, reinstaller le jeu".

ça progresse, la suite ce soir  :Smile: 

----------

## Polo

 *nuts wrote:*   

> on trouve des soft win pour lire du ext2(3) et du reiserfs mais pas de quoi ecrire

 

euh c'est quoi le soft pour lire du reiserfs?

il est graphique ou en ligne de commandes (enfin, ce qui s'en approche vaguement, c'est le "truc" de win qd meme....  :Laughing:  )

----------

## nuts

il est graphique et un coup de google pourrait t aider a chercher.

chai pas moi, resiserfs windows xp...

----------

## Dais

 *matthias* wrote:*   

> re-bonjour à tous,
> 
> finallement j'ai decidé de ne pas abandonné, et hier soir je me suis relancé sur le sujet, aprés qq recherches j'ai donc fait les choses suivantes :
> 
> - desinstallation du jeux de la partoche NTFS
> ...

 

T'as pensé à récupérer les fichiers windows dont je te parlais pour les mettre dans ton fake_windows/system ?

Et pour le nocd je te conseillerais le virtual, il te permet de te connecter sur bnet (tant qu'à faire, vu que tu as l'original  :Razz: )

PS: t'es têtu à vouloir utiliser cedega :p

----------

## matthias*

 *Dais wrote:*   

> 
> 
> T'as pensé à récupérer les fichiers windows dont je te parlais pour les mettre dans ton fake_windows/system ?
> 
> 

 

oui mais cela fait planter (lancement du debuggeur), bizarremment ça marche mieux sans, j'ai essayer sans le crack NOCD (le virtual crack) et bien le cpu mouline à 100% sans s'arrêter mais rien ne se passe ...

j'ai egalement essayer d'installer dans le fake, mais pareil ça plante, plein de messages d'erreurs ..

je vais re-essayer avec Wine ..

je poste mon config :

```

WINE REGISTRY Version 2

;; All keys relative to \\Machine\\Software\\Wine\\Wine\\Config

;; If you think it is nescessary to show others your complete config for a 

;; bug report, filter out empty lines and comments with

;; grep -v "^;" ~/.wine/config | grep '.' 

;;

;; MS-DOS drives configuration

;;

;; Each section has the following format:

;; [Drive X]

;; "Path"="xxx"       (Unix path for drive root)

;; "Type"="xxx"       (supported types are 'floppy', 'hd', 'cdrom' and 'network')

;; "Label"="xxx"      (drive label, at most 11 characters)

;; "Serial"="xxx"     (serial number, 8 characters hexadecimal number)

;; "Filesystem"="xxx" (supported types are 'msdos'/'dos'/'fat', 'win95'/'vfat', 'unix')

;;   This is the FS Wine is supposed to emulate on a certain

;;   directory structure.

;;   Recommended:

;;   - "win95" for ext2fs, VFAT and FAT32

;;   - "msdos" for FAT16 (ugly, upgrading to VFAT driver strongly recommended)

;;   DON'T use "unix" unless you intend to port programs using Winelib !

;; "Device"="/dev/xx" (only if you want to allow raw device access)

;;

[Drive C]

"Path" = "/home/matthias/c"

"Type" = "hd"

"Label" = "Dos Drive"

"Filesystem" = "win95"

 

[Drive D]

"Path" = "/mnt/winD"

"Type" = "hd"

"Label" = "/mnt/winD"

"Filesystem" = "win95"

 

[Drive E]

"Path" = "/mnt/cdrom"

"Type" = "cdrom"

"Label" = "CD-ROM"

"Filesystem" = "win95"

 

[Drive G]

"Path" = "/tmp"

"Type" = "hd"

"Label" = "tmp"

"Filesystem" = "win95"

[wine]

"Windows" = "c:\\windows"

"System" = "c:\\windows\\system32\\"

"Temp" = "g:\\"

"Path" = "c:\\windows\\;c:\\windows\\system32\\"

"GraphicsDriver" = "x11drv" 

; Wine doesn't pass directory symlinks to Windows programs by default.

; Enabling this may crash some programs that do recursive lookups of a whole

; subdir tree in case of a symlink pointing back to itself.

;"ShowDirSymlinks" = "1"

; Note: The WINESHELLLINK Environment variable will override this setting.

;       (which is set in the winex startup script)

"ShellLinker" = "/usr/lib/transgaming/winex/bin/wineshelllink"

; Note: The WINEBROWSER Environment variable will override this setting.

;       you may format the string by placing a %s where you want

;       the URL to go, if its left off then the URL will be appended to the end.

; This option is used by the winelib app 'winebrowserlink'

"Browser" = "/usr/bin/mozilla %s"

# <wineconf>

[Version]

; This doesn't work in WineX, but its here for WineHQ compatability.

; can be (win95, win98, winme, nt351, nt40, win2k, winxp, win20, win30, win31)

"Windows" = "win2k"

; dos version

;"DOS" = "6.22"

[DllDefaults]

"DefaultLoadOrder" = "native, builtin, so"

[DllOverrides]

"commdlg"      = "builtin, native"

"comdlg32"     = "builtin, native"

"ver"          = "builtin, native"

"version"      = "builtin, native"

"shell"        = "builtin, native"

"shell32"      = "builtin, native"

"shfolder"     = "builtin, native"

"shlwapi"      = "builtin, native"

"shdocvw"      = "builtin, native"

"lzexpand"     = "builtin, native"

"lz32"         = "builtin, native"

"comctl32"     = "builtin, native"

"commctrl"     = "builtin, native"

"advapi32"     = "builtin, native"

"crtdll"       = "builtin, native"

"mpr"          = "builtin, native"

"winspool.drv" = "builtin, native"

"d3d8"         = "builtin, native"

"d3drm"        = "builtin, native"

"ddraw"        = "builtin, native"

"dinput"       = "builtin, native"

"dinput8"      = "builtin, native"

"dmusic"       = "builtin, native"

"dsound"       = "builtin, native"

"opengl32"     = "builtin, native"

"msvcrt"       = "native, builtin"

"rpcrt4"       = "native, builtin"

"msvideo"      = "builtin, native"

"msvfw32"      = "builtin, native"

"mcicda.drv"   = "builtin, native"

"mciseq.drv"   = "builtin, native"

"mciwave.drv"  = "builtin, native"

"mciavi.drv"   = "native, builtin"

"mcianim.drv"  = "native, builtin"

"msacm.drv"    = "builtin, native"

"msacm"        = "builtin, native"

"msacm32"      = "builtin, native"

"midimap.drv"  = "builtin, native"  

[x11drv]

; Number of colors to allocate from the system palette

"AllocSystemColors" = "100"

; Number of colors to copy from the default palette

"CopyDefaultColors" = "0"

; Use a private color map

"PrivateColorMap" = "N"

; Favor correctness over speed in some graphics operations

"PerfectGraphics" = "N"

; Color depth to use on multi-depth screens

;;"ScreenDepth" = "16"

; Name of X11 display to use

;;"Display" = ":0.0"

; Allow the window manager to manage created windows

"Managed" = "Y"

; Use a desktop window of 640x480 for Wine

;"Desktop" = "800x600"

; Use XFree86 DGA extension if present

; (make sure /dev/mem is accessible by you !)

"UseDGA" = "N"

; Use XShm extension if present

"UseXShm" = "Y"

; Enable DirectX mouse grab

"DXGrab" = "Y"

; Use XVidMode extension if present

"UseXVidMode" = "Y"

; Create the desktop window with a double-buffered visual

; (useful to play OpenGL games)

"DesktopDoubleBuffered" = "Y"

; Code page used for captions in managed mode

; 0 means default ANSI code page (CP_ACP == 0)

"TextCP" = "0"

; Use this if you have more than one port for video on your setup 

; (Wine uses for now the first 'input image' it finds).

;; "XVideoPort" = "43"

; Use this to make your X server execute all commands

; sequentially rather than buffering commands. Will make

; everything really SLOW but can be nice for debugging.

;; "Synchronous" = "Y"

; This option controls the use of the X resize and rotate, XRandR, extension

; which provides fullscreen functionality in a manner similar to XVidMode.

; Note that if this option is enabled it will override UseXVidMode.

;; "UseXRandR" = "N"

; Enable the TransGaming HUD

;; "ShowFPS" = "Y"

; ShowFPS must be enabled for ShowMem to be enabled.

;; "ShowMem" = "Y"

; How much Video RAM does your graphic card have?

; If this option is not present, it will default set to 32MB.

"VideoRam" = "64"

; How much should WineX attempt to store into faster AGP memory

; Set the amount of video memory to be allocated for OpenGL vertex arrays.

"AGPVertexRam" = "64"

[d3dgl]

"AnisotropicTextureFiltering" = "N"

"VertexShaders" = "Y"

"ClipSpaceFix" = "Y"

[fonts]

;Read documentation/fonts before adding aliases

"Resolution" = "96"

"Default" = "-adobe-times-"

[FontPatterns]

"Pattern0" = "-adobe-times*"

"Pattern1" = "-adobe-helvetica*"

"Pattern2" = "-adobe-courier*"

"Pattern3" = "-misc-fixed*"

                              

[serialports]

"Com1" = "/dev/ttyS0"

"Com2" = "/dev/ttyS1"

"Com3" = "/dev/ttyS2"

"Com4" = "/dev/modem"

[parallelports]

"Lpt1" = "/dev/lp0"

[spooler]

"LPT1:" = "|lpr"

"LPT2:" = "|gs -sDEVICE=bj200 -sOutputFile=/tmp/fred -q -"

"LPT3:" = "/dev/lp3"

[ports]

;"read" = "0x779,0x379,0x280-0x2a0"

; "write" = "0x779,0x379,0x280-0x2a0"

[spy]

"Exclude" = "WM_SIZE;WM_TIMER;"

[registry]

;These are all booleans.  Y/y/T/t/1 are true, N/n/F/f/0 are false.

;Defaults are read all, write to Home

; Global registries (stored in /etc)

"LoadGlobalRegistryFiles" = "n"

; Home registries (stored in ~user/.wine/)

"LoadHomeRegistryFiles" = "Y"

; Load Windows registries from the Windows directory

"LoadWindowsRegistryFiles" = "n"

; TRY to write all changes to home registries

"WritetoHomeRegistryFiles" = "Y"

; Registry periodic save timeout in seconds

; "PeriodicSave" = "600"

; Save only modified keys

"SaveOnlyUpdatedKeys" = "Y"

[Tweak.Layout]

;; supported styles are 'Win31'(default), 'Win95', 'Win98'

"WineLook" = "Win98"

[Console]

"Drivers" = "xterm"

;"Drivers" = "tty"

"XtermProg" = "konsole"

;"InitialRows" = "25"

;"InitialColumns" = "80"

;"TerminalType" = "nxterm"

[Clipboard]

"ClearAllSelections" = "0"

"PersistentSelection" = "1"

; List of all directories directly contain .AFM files

[afmdirs]

;"1" = "/usr/share/ghostscript/fonts"

;"2" = "/usr/share/a2ps/afm"

;"3" = "/usr/share/enscript"

;"4" = "/usr/X11R6/lib/X11/fonts/Type1"

[WinMM]

"Drivers" = "wineoss.drv"

"WaveMapper" = "msacm.drv"

"MidiMapper" = "midimap.drv"

[wineoss]

"UseMMap" = "Y"

"FullDuplex" = "N"

;; sample AppDefaults entries

;[AppDefaults\\iexplore.exe\\DllOverrides]

;"shlwapi" = "native"

;"rpcrt4" = "native"

;"ole32" = "native"

;"shdocvw" = "native"

;"wininet" = "native"

;"shfolder" = "native"

;"shell32" = "native"

;"shell" = "native"

;"comctl32" = "native"

;

;[AppDefaults\\setup.exe\\x11drv]

;"Desktop" = "800x600"

# </wineconf>

```

----------

## Dais

Et ça donne quoi avec wine alors ?

Mets Managed = N dans la section x11drv :p

----------

## matthias*

Avec Wine, il me sort l'erreur sur le KEYBOARD et puis plus rien il me redonne le prompt .. (il me semble que j'ai essaye avec Y puis N pour  Desktop Managed, quoique à force de tester toutes les version je me melange un peu les crayons ...   :Confused:  )

----------

## {Vivi}

 *kernel_sensei wrote:*   

> moi je pense que la meilleure chose c'est de mettre le jeu sur une partoche fat ... car c'est le seul FS supporte en lecture et ecriture par les 2 systemes Win / Linux
> 
> Sur du NTFS, Linux ne sais pas vraiment ecrire
> 
> Sur un FS Linux, est-ce que le soft win sait comment s'y prendre pour ecrire ? et meme lire ?

 

Bonjour à tous,

Je sais que ce post risque de ne pas trop faire avancer le problème mais quand je fais mon make menuconfig sur mon kernel 2.6.10 j'ai l'option

File systems --> DOS/FAT/NT Filesystems  ---> [*]   NTFS write support

Alors je me demandais ce qui ne va pas sur le NTFS ?

Merci à tous, amicalement, Vivi.

----------

## Dais

Bah c'est encore considéré comme expérimental, l'écriture sur du NTFS.

----------

## kernelsensei

 *{Vivi} wrote:*   

>  *kernel_sensei wrote:*   moi je pense que la meilleure chose c'est de mettre le jeu sur une partoche fat ... car c'est le seul FS supporte en lecture et ecriture par les 2 systemes Win / Linux
> 
> Sur du NTFS, Linux ne sais pas vraiment ecrire
> 
> Sur un FS Linux, est-ce que le soft win sait comment s'y prendre pour ecrire ? et meme lire ? 
> ...

 

Il suffit de lire dans la doc du kernel !

Tu ne peux que modifier un fichier deja existant et seulement si cette modification ne le fait pas changer de taille !

----------

## Dais

Attention à l'abus des points d'exclamation !

 :Laughing:  T'as toujours l'air d'être en colère à cause de ça, kernelounet  :Razz:   :Laughing: 

----------

## kernelsensei

non, je ne suis pas en colere, je m'exclame  :Very Happy: 

Et bon, 2 points d'exclamation pour 2 lignes, je trouve ca correct !

quand je mets des  :Evil or Very Mad:  , la je suis en colere !

et bon, pour le kernelounet, tu meriterais un coup de katana !

----------

## expl0rer

Salut,

Pour Cedega, le nombre d'option a tester est assez important, j ai passer le weekend a trouver les bon parametre pour lancer DAOC, mais je perd mon clavier usb au bout d'un moment, essaye l'option bigexe pour lancer ton install.

Pour NTFS, le module Write est taggué comme dangerous dans le noyau car il est toujours dangeraux d'ecrire sur un système de fichier, on peut écraser ou supprimer des truc (zut, je vais passer mes partitions ext3 et reiserfs en read-only pour pas faire de conneries  :Wink:  ). Linux sait tres bien écrire sur du NTFS, et il le fait depuis bien longtemps, si mes souvenirs sont bon il était deja taggué DANGEROUS dans les sources du 2.2.x. Il n'y a qu'une question de droits dans le fait que le modules n'est pas compilé dans les noyaux précompilés.

----------

## kernelsensei

 *expl0rer wrote:*   

> Pour NTFS, le module Write est taggué comme dangerous dans le noyau car il est toujours dangeraux d'ecrire sur un système de fichier, on peut écraser ou supprimer des truc (zut, je vais passer mes partitions ext3 et reiserfs en read-only pour pas faire de conneries  ). Linux sait tres bien écrire sur du NTFS, et il le fait depuis bien longtemps, si mes souvenirs sont bon il était deja taggué DANGEROUS dans les sources du 2.2.x. Il n'y a qu'une question de droits dans le fait que le modules n'est pas compilé dans les noyaux précompilés.

 

Euh tu ne confonds pas avec le fat ?

car le NTFS n'etait, si je me souviens bien, pas encore en ecriture dans le kernel 2.4 !

Et maintenant avec le 2.6, il est possible d'"écrire", vraiment entre guillemets, car tres limite ! Donc TOUT sauf "tres bien écrire"

Il n'y a qu'une question de droits dans le fait que le modules n'est pas compilé dans les noyaux précompilés.

Je n'ai pas bien saisi la phrase !

EDIT:

```
boris@electron ~ $ grep NTFS config-2.4.26

CONFIG_NTFS_FS=m

# CONFIG_NTFS_RW is not set

boris@electron ~ $ grep NTFS config-2.2.20

CONFIG_NTFS_FS=m

```

donc l'écriture depuis le 2.2.x .. hum hum !

et sur le 2.4, elle est marquee comme vraiment dangeureuse, alors que sur le 2.6, si tu actives l'écriture, seule la partie "safe" est activée et voila pourquoi tu ne peux pas créer de fichiers, mais seulement modifier un fichier dans la limite ou la modification apportée ne change pas la taille de ce dernier !

----------

## expl0rer

J'ai dit si je me souviens bien, mais ca fait longtemps que j'ecris sur des partoches NTFS avec du linux sans le moindre soucis (jamais eu de soucis avec la version présente dans les noyaux 2.4) , mais comme je dis c'est toujours dangereux d'avoir les droits en ecriture sur une partition, surtout sous unix, juste pour rigolé une fois essayez "rm -fR /" en root A NE PAS FAIRE SUR UN SERVEUR OU UNE STATION DE PRODUCTION

[edit]Quant-à l'histoire de droit, c'est ce que m'avais dit un gars de red-hat france quant au fait qu'ils ne l'incluaient pas pas dans les noyaux qu'ils distribuaient, après ce qu'il a dit je ne peux pas en étre sur ...

----------

## kernelsensei

Une ecriture complete (creer un fichier, modifier en changeant la taille, deplacer un fichier, ...) sur du NTFS avec un kernel 2.4 ou 2.6 sans utiliser captive-ntfs ou un patch quelconque , excuse moi, mais je demande a voir !

Car la je suis tres interessé !

juste au passage :

```
  ┌───────────────────────────────────── NTFS write support ─────────────────────────────────────┐

  │ CONFIG_NTFS_RW:                                                                              │

  │                                                                                              │

  │ This enables the partial, but safe, write support in the NTFS driver.                        │

  │                                                                                              │

  │ The only supported operation is overwriting existing files, without                          │

  │ changing the file length.  No file or directory creation, deletion or                        │

  │ renaming is possible.  Note only non-resident files can be written to                        │

  │ so you may find that some very small files (<500 bytes or so) cannot                         │

  │ be written to.                                                                               │

  │                                                                                              │

  │ While we cannot guarantee that it will not damage any data, we have                          │

  │ so far not received a single report where the driver would have                              │

  │ damaged someones data so we assume it is perfectly safe to use.                              │

  │                                                                                              │

  │ Note:  While write support is safe in this version (a rewrite from                           │

  │ scratch of the NTFS support), it should be noted that the old NTFS                           │

  │ write support, included in Linux 2.5.10 and before (since 1997),                             │

  │ is not safe.                                                                                 │

```

----------

## expl0rer

Je ne fais qu'un retour d'experience, mais si la copie d'un fichier d'une partition linux vers une partition NTFS n'est pas une création de fichier alors je vois pas. j'essaierai de poster un screen depuis chez moi ce soir

----------

## kernelsensei

t'as un kernel vanilla ?

EDIT: 

Un test simple pour voir si l'ecriture NTFS est complete

En root ! :

```
mount /dev/<partoche_ntfs> /media/test -o rw

cd /media/test

>fichier_test
```

si vous avez l'ecriture complete, le fichier fichier_test est créé, sinon ca donne un truc du style :

```
bash: fichier_test: Permission non accordée
```

----------

## expl0rer

Je suis en 2.6.11-rc3, mais c'est avant j'etais en mandrake avec noyau 2.4.28, je n'ai pas encore testé avec le 2.6, on verra ce soir

----------

## Polo

ben oui, mais c'était sous mandrake....

les mandrakes ont leur petits noyeaux, avec leur patches a eux... et il y avait effectivement un patch pour l'ecriture en ntfs, mais elle doit as être totale, un peu comme l'eriture des 2.6 actuellement....

----------

## Dais

Sinon, les erreurs d'install pour war3, ça peut être dû au kernel. Il a l'air d'y avoir un problème de protection des CD avec les kernels 2.6.9 et 2.6.10. Essayer avec un 2.6.8 pourrait régler le problème d'install, et revenir au kernel habituel pour jouer.

----------

## kernelsensei

 *Dais wrote:*   

> Sinon, les erreurs d'install pour war3, ça peut être dû au kernel. Il a l'air d'y avoir un problème de protection des CD avec les kernels 2.6.9 et 2.6.10. Essayer avec un 2.6.8 pourrait régler le problème d'install, et revenir au kernel habituel pour jouer.

 

euh ..

Je sais que sur les 2.6.9 et + il y a eu une modification concernant les droits de gravure ... mais la tu m'apprends un truc !

tu peux etre plus precis ?

t'as des sources ? (changelog kernel qui m'aurait echappe, ...)

----------

## Dais

Euh je vais tenter de retrouver ça .. mais pour le 2.6.10 en tout cas ça a vraiment l'air d'être ça: Monrake voulait installer War3 et ça plantait dès le début de l'install, même pas le temps de faire un choix .. on pense que c'est wine, mais on la joue bourrin: copiage de mon install sur son DD et lançage de wine: oh ça marche ! o_O Bon bah c'est un prob avec le CD .. (qui était bien monté et tout pourtant).

Et des erreurs du genre arrivaient avec des kernels 2.6.9 et 2.6.10 dans ce que j'avais vu .. enfin je vais tenter de trouver des infos plus concrètes.

EDIT: par exemple http://www.linuxgames.com/news/feedback.php?identiferID=7252&action=flatview

en cherchant 2.6.9 dans la page, tu tomberas sur le message d'un gars qui dit (en parlant des systèmes de protection cd contre les copies:

 *Quote:*   

> The kernel fixes are only required for kernel 2.6.9 and 2.6.10. The ptrace features required were broken by the kernel developers in those releases, and fixed by Linus in a patch which will hopefully be included in 2.6.11.

 

Donc il y a bien quelque chose qui foirait avec ces 2 kernels :p Vivement le 2.6.11 quoi

----------

## Polo

 *Dais wrote:*   

> Donc il y a bien quelque chose qui foirait avec ces 2 kernels :p Vivement le 2.6.11 quoi

 

bah il y a la rc4 de gentoo-dev-sources qui est sorti il y a quelques jours (en testing hein...)

----------

## {Vivi}

 *kernel_sensei wrote:*   

>  *{Vivi} wrote:*    *kernel_sensei wrote:*   moi je pense que la meilleure chose c'est de mettre le jeu sur une partoche fat ... car c'est le seul FS supporte en lecture et ecriture par les 2 systemes Win / Linux
> 
> Sur du NTFS, Linux ne sais pas vraiment ecrire
> 
> Sur un FS Linux, est-ce que le soft win sait comment s'y prendre pour ecrire ? et meme lire ? 
> ...

 

Merci Ã  toi au grand manitou  :Wink:  . Ca m'apprendra  :Embarassed:  , mais au moins je me couche moins bÃªte ce soir. En plus ca va m'Ã©viter de faire une boulette en changeant mes partoches fat en ntfs croyant que le ntfs Ã©tait totalement fonctionnel. C'Ã©tait moins une un peu de plus et c'Ã©tait  :Shocked:  et T_T pour moi.

Amicalement, Vivi.

----------

