Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Getting Vampire: The Masquerade - Bloodlines Running [inc]
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Gamers & Players
View previous topic :: View next topic  
Author Message
UberPinguin
Guru
Guru


Joined: 20 Nov 2005
Posts: 510
Location: 2416.94 Miles From Home

PostPosted: Thu Jun 29, 2006 2:01 pm    Post subject: Getting Vampire: The Masquerade - Bloodlines Running [inc] Reply with quote

WARNING: This is still very incomplete. It may completely fsck your fake windows directory. I have not yet gotten the steps to a consistently reproducible state. If you would like to help troubleshoot and refine the install, any help would be appreciated. Thanks.

OK. I've been looking around, and it doesn't look like anyone has figured this out yet. Or if they have, they're being selfish and not sharing the information. Here's what I've got so far:

    1. You need the Windows Installer. So emerge the latest version of WINE, set up your fake windows directory.
      a. I used winetools to get the installer. Winetools will offer an option to install the installer for you, but it's really only good for downloading the InstMsiA.exe file; the install always fails for me. Once you have InstMsiA.exe, copy it to somewhere within your fake windows drive (I used c:\temp).
      b. Install the Windows Installer like so:
      Code:
      WINEDLLOVERRIDES='msiexec.exe=n' wine "C://temp/InstMsiA.exe"

    2. VTMB and WINE don't seem to play well with mounting, so I dumped an image of each CD to an .iso on my hard drive; I won't go into details, but this game uses SafeDisc 2 protection.
    3. Now mount the first disc:
    Code:
     sudo losetup /dev/loop0 ~/images/vtmb1.iso && sudo mount /dev/loop0 /mnt/cdrom

    4. Run the installer:
    Code:
     wine /mnt/cdrom/setup.exe

    5. Here's the extra-trixy part: switching discs. First you'll need to set up the other .iso's with loop devices:
    Code:
    sudo losetup /dev/loop1 ~/images/vtmb2.iso && sudo losetup /dev/loop2 ~/images/vtmb3.iso
    .
      a. Now, when asked for the next disc you need to edit /etc/mtab and remove the line for /mnt/cdrom. For example, if disc 1 is mounted and you need to mount disc 2, remove the line
      Code:
      /dev/loop/0 /mnt/cdrom iso9660 rw 0 0
      .
      b. Then
      Code:
      sudo mount /dev/loop1 /mnt/cdrom
      .
      c. Now tell the installer to continue. Do the same when the installer requests disc 3.
      d. At the end of the install, disc 1 will be requested again. Run
      Code:
      sudo umount /mnt/cdrom
      until it complains about the mount being busy. Now add this line to the end of /etc/mtab:
      Code:
      /dev/loop/0 /mnt/cdrom iso9660 rw 0 0
      . Now the installer should be able to find disc 1.

    6. It is now safe to unmount /mnt/cdrom.
    7. VTMB checks for disc 1 when launched, which causes trouble (like many games, it will ask you to 'unload the debugger and try again'). Play with google for a few minutes, there is a way around this.
    8. VTMB also has _several_ patches, all of them unofficial. I highly recommend downloading them all at this point and installing them (most are just .zip files that need to be extracted and copied into the install directory).
    9. You will also need some windows libraries: ntoskrnl.exe, HAL.dll, BOOTVID.dll, KDCOM.dll. All of these reside in c:\windows\system32\, but do not come with WINE. Many .dll's are available for download online, but ntoskrnl.exe will have to come from an existing windows installation.
    10. I'm not sure if it's necessary, but I used winecfg to add these .dll's to the DLL Overrides list and did a
    Code:
    wineboot

    11. VTMB doesn't seem to like the WIN98 setting in WINE, so use winecfg to set it to w2k or wxp.


That's as far as I've gotten. If anyone knows how to help with the following error, I'd appreciate it. This occurs when attempting to launch the game:
Code:
libGL warning: 3D driver claims to not support visual 0x4b
wine: Unhandled page fault on read access to 0xffdff020 at address 0x800216df (t hread 000d), starting debugger...
libGL warning: 3D driver claims to not support visual 0x4b
libGL warning: 3D driver claims to not support visual 0x4b
WineDbg starting on pid 0xc
Unhandled exception: page fault on read access to 0xffdff020 in 32-bit code (0x8 00216df).
Register dump:
 CS:0073 SS:007b DS:007b ES:007b FS:003b GS:0033
 EIP:800216df ESP:7fbcfc50 EBP:7fbcfc58 EFLAGS:00010216(   - 00      -RIAP1)
 EAX:7fac0ce6 EBX:7ffd5254 ECX:00000001 EDX:7fac0ce6
 ESI:00000000 EDI:00000002
Stack dump:
0x7fbcfc50:  00000000 7ffd5254 7fbcfc78 7ff98a65
0x7fbcfc60:  7fac0000 00000001 00000001 7fbcfdf8
0x7fbcfc70:  7fbcfd6c 7ffd5254 7fbcfd28 7ff99a43
0x7fbcfc80:  7fac0ce6 7fac0000 00000001 00000001
0x7fbcfc90:  00001000 b7ef00d9 00000001 7ffbebb6
0x7fbcfca0:  7c005c4f 0000004d 00000001 003a0043
fixme:ntdll:RtlNtStatusToDosErrorNoTeb no mapping for c0000119
Backtrace:
=>1 0x800216df in hal (+0x116df) (0x800216df)
  2 0x7ff98a65 call_dll_entry_point+0x15 in ntdll (0x7ff98a65)
  3 0x7ff99a43 in ntdll (+0x29a43) (0x7ff99a43)
  4 0x7ff99edb in ntdll (+0x29edb) (0x7ff99edb)
  5 0x7ff99e13 in ntdll (+0x29e13) (0x7ff99e13)
  6 0x7ff99e13 in ntdll (+0x29e13) (0x7ff99e13)
  7 0x7ff99e13 in ntdll (+0x29e13) (0x7ff99e13)
  8 0x7ff9cc3e LdrInitializeThunk+0x36e in ntdll (0x7ff9cc3e)
  9 0x7fc5c174 in kernel32 (+0x4c174) (0x7fc5c174)
  10 0xb7f8e507 wine_switch_to_stack+0x17 in libwine.so.1 (0xb7f8e507)
0x800216df: movl        %ds:0xffdff020,%eax
Modules:
Module  Address                 Debug info      Name (21 modules)
PE      0x00400000-00614780     Deferred        ntoskrnl
ELF     0x7bf00000-7bf03000     Deferred        <wine-loader>
PE      0x7fab0000-7fab3000     Deferred        bootvid
PE      0x7fac0000-7fac1b80     Deferred        kdcom
PE      0x7fbe0000-7fbe2e80     Deferred        secdrv.sys
ELF     0x7fbf0000-7fcf0000     Export          kernel32<elf>
  \-PE  0x7fc10000-7fcf0000     \               kernel32
ELF     0x7fe01000-7fe0c000     Deferred        libnss_files.so.2
ELF     0x7fe28000-7fe4e000     Deferred        libm.so.6
ELF     0x7fe50000-7fe66000     Deferred        libnsl.so.1
ELF     0x7fe6a000-7ff62000     Deferred        libwine_unicode.so.1
ELF     0x7ff62000-7ffe0000     Export          ntdll<elf>
  \-PE  0x7ff70000-7ffe0000     \               ntdll
PE      0x80010000-80023d80     Export          hal
ELF     0xb7e14000-b7e1f000     Deferred        libnss_nis.so.2
ELF     0xb7e21000-b7e25000     Deferred        libdl.so.2
ELF     0xb7e25000-b7f5a000     Deferred        libc.so.6
ELF     0xb7f5a000-b7f6d000     Deferred        libpthread.so.0
ELF     0xb7f80000-b7f89000     Deferred        libnss_compat.so.2
ELF     0xb7f89000-b7fa3000     Export          libwine.so.1
ELF     0xb7fa4000-b7fc3000     Deferred        ld-linux.so.2
Threads:
process  tid      prio (all id:s are in hex)
00000010
        00000012    0
        00000011    0
0000000c (D) C:\windows\system32\drivers\SECDRV.SYS
        0000000d    0 <==
0000000a
        00000013    0
        0000000b    0
00000008
        00000009    0
wine: Unhandled page fault on read access to 0xffdff020 at address 0x800216df (t hread 0015), starting debugger...
WineDbg starting on pid 0x14
Unhandled exception: page fault on read access to 0xffdff020 in 32-bit code (0x8 00216df).
Register dump:
 CS:0073 SS:007b DS:007b ES:007b FS:003b GS:0033
 EIP:800216df ESP:7fbafc50 EBP:7fbafc58 EFLAGS:00010216(   - 00      -RIAP1)
 EAX:7faa0ce6 EBX:7ffd5254 ECX:00000001 EDX:7faa0ce6
 ESI:00000000 EDI:00000002
Stack dump:
0x7fbafc50:  00000000 7ffd5254 7fbafc78 7ff98a65
0x7fbafc60:  7faa0000 00000001 00000001 7fbafdf8
0x7fbafc70:  7fbafd6c 7ffd5254 7fbafd28 7ff99a43
0x7fbafc80:  7faa0ce6 7faa0000 00000001 00000001
0x7fbafc90:  00001000 b7e3e0d9 00000001 7ffbebb6
0x7fbafca0:  7c005c7f 0000004d 00000001 003a0043
fixme:ntdll:RtlNtStatusToDosErrorNoTeb no mapping for c0000119
Backtrace:
=>1 0x800216df in hal (+0x116df) (0x800216df)
  2 0x7ff98a65 call_dll_entry_point+0x15 in ntdll (0x7ff98a65)
  3 0x7ff99a43 in ntdll (+0x29a43) (0x7ff99a43)
  4 0x7ff99edb in ntdll (+0x29edb) (0x7ff99edb)
  5 0x7ff99e13 in ntdll (+0x29e13) (0x7ff99e13)
  6 0x7ff99e13 in ntdll (+0x29e13) (0x7ff99e13)
  7 0x7ff99e13 in ntdll (+0x29e13) (0x7ff99e13)
  8 0x7ff9cc3e LdrInitializeThunk+0x36e in ntdll (0x7ff9cc3e)
  9 0x7fc3c174 in kernel32 (+0x4c174) (0x7fc3c174)
  10 0xb7edc507 wine_switch_to_stack+0x17 in libwine.so.1 (0xb7edc507)
0x800216df: movl        %ds:0xffdff020,%eax
Modules:
Module  Address                 Debug info      Name (21 modules)
PE      0x00400000-00614780     Deferred        ntoskrnl
ELF     0x7bf00000-7bf03000     Deferred        <wine-loader>
PE      0x7fa90000-7fa93000     Deferred        bootvid
PE      0x7faa0000-7faa1b80     Deferred        kdcom
PE      0x7fbc0000-7fbc2e80     Deferred        secdrv.sys
ELF     0x7fbd0000-7fcd0000     Export          kernel32<elf>
  \-PE  0x7fbf0000-7fcd0000     \               kernel32
ELF     0x7fdeb000-7fdf6000     Deferred        libnss_files.so.2
ELF     0x7fdf6000-7fe0c000     Deferred        libnsl.so.1
ELF     0x7fe28000-7fe4e000     Deferred        libm.so.6
ELF     0x7fe52000-7fe5d000     Deferred        libnss_nis.so.2
ELF     0x7fe5d000-7fe66000     Deferred        libnss_compat.so.2
ELF     0x7fe6a000-7ff62000     Deferred        libwine_unicode.so.1
ELF     0x7ff62000-7ffe0000     Export          ntdll<elf>
  \-PE  0x7ff70000-7ffe0000     \               ntdll
PE      0x80010000-80023d80     Export          hal
ELF     0xb7d6f000-b7d73000     Deferred        libdl.so.2
ELF     0xb7d73000-b7ea8000     Deferred        libc.so.6
ELF     0xb7ea8000-b7ebb000     Deferred        libpthread.so.0
ELF     0xb7ed7000-b7ef1000     Export          libwine.so.1
ELF     0xb7ef2000-b7f11000     Deferred        ld-linux.so.2
Threads:
process  tid      prio (all id:s are in hex)
00000014 (D) C:\windows\system32\drivers\SECDRV.SYS
        00000015    0 <==
00000010
        00000012    0
        00000011    0
0000000a
        00000013    0
        0000000b    0
00000008
        00000009    0


I know the libGL stuff is not relevant, but I'm lost on the rest of it. Thanks, and good luck!
_________________
aidanjt wrote:
You see, instead of arguing from ignorance, and fear, there is only one way to verify a theory. And that's not by clutching a black book and begging the sky fairy for deliverance from the mad scientists and their big machines.


Last edited by UberPinguin on Mon Jul 03, 2006 2:50 pm; edited 1 time in total
Back to top
View user's profile Send private message
takhisis_astrafall
Tux's lil' helper
Tux's lil' helper


Joined: 04 Apr 2004
Posts: 127
Location: rennes

PostPosted: Thu Jun 29, 2006 10:46 pm    Post subject: Reply with quote

this game sometimes work on cedega.
you should try with it
Back to top
View user's profile Send private message
Imago
Apprentice
Apprentice


Joined: 25 Nov 2004
Posts: 157
Location: Germany

PostPosted: Sat Jul 01, 2006 6:52 pm    Post subject: Re: Getting Vampire: The Masquerade - Bloodlines Running Reply with quote

UberPinguin wrote:

9. You will also need some windows libraries: ntoskrnl.exe, HAL.dll, BOOTVID.dll, KDCOM.dll. All of these reside in c:\windows\system32\, but do not come with WINE. Many .dll's are available for download online, but ntoskrnl.exe will have to come from an existing windows installation.

hrm, thats not going to work. you will never be able run native ntoskrnl under wine. If your application tries to load it, it is trying to load a device driver, which simply doesn't work.
*hint* copy protection is most likely to blame, do something against it ;)
Back to top
View user's profile Send private message
UberPinguin
Guru
Guru


Joined: 20 Nov 2005
Posts: 510
Location: 2416.94 Miles From Home

PostPosted: Mon Jul 03, 2006 1:44 am    Post subject: Reply with quote

Quote:
*hint* copy protection is most likely to blame, do something against it ;)

I know that the game uses SafeDisc 2, and that this is not yet supported in WINE (it just recently got support in Cedega, from what I understand), but I've read of other games with similar protection that ran OK. FWIW, I've 'patched' the vampire.exe and vampire.dll to alleviate the need for having Disc 1 in the CD drive.
_________________
aidanjt wrote:
You see, instead of arguing from ignorance, and fear, there is only one way to verify a theory. And that's not by clutching a black book and begging the sky fairy for deliverance from the mad scientists and their big machines.
Back to top
View user's profile Send private message
Greven
Tux's lil' helper
Tux's lil' helper


Joined: 28 Jul 2002
Posts: 138

PostPosted: Tue Jul 04, 2006 9:08 pm    Post subject: Reply with quote

Why not post this in Wine-Wiki.org? The more we have the better!
_________________
veritas vos liberabit...
Linux User Number: 346805
Wine-Wiki
AMD 64 3500+ | MSI "K8T NEO2-FIR" | mushkin Dual Channel DDR 400
Back to top
View user's profile Send private message
UberPinguin
Guru
Guru


Joined: 20 Nov 2005
Posts: 510
Location: 2416.94 Miles From Home

PostPosted: Wed Jul 05, 2006 12:59 pm    Post subject: Reply with quote

Once I get the install refined, I'll probably do that. Right now I can't even get it to install reliably on my own machine. I tried wiping the ~/.wine dir and starting fresh, and the install won't start any more. I'm not sure what's different now, but I'll keep working at it.

[EDIT: Update] I've tried wine-0.9.14, 0.9.15 and 0.9.16 and still can't get the game to install a second time. Part way through setting up the MSI, this spits out on the console:
Code:
fixme:advapi:RegisterEventSourceA ((null),"MsiInstaller"): stub
fixme:advapi:RegisterEventSourceW (L"",L"MsiInstaller"): stub
fixme:advapi:ReportEventA (0xcafe4242,0x0001,0x0000,0x000003f5,(nil),0x0006,0x00000000,0x7c499200,(nil)): stub
fixme:advapi:ReportEventW (0xcafe4242,0x0001,0x0000,0x000003f5,(nil),0x0006,0x00000000,0x7fd3fc40,(nil)): stub
err:eventlog:ReportEventW L"=====================================================\r\nException code: C0000005 ACCESS_VIOLATION\r\nModule: C:\\windows\\system32\\ole32.dll\r\nFunction: 0x65f23798\r\n=====================================================\r\n\r\nRegisters:\r\nEAX:80000CD8  EBX:65FAF0C0  ECX:00000000  EDX:00000001  "...
err:eventlog:ReportEventW L""
err:eventlog:ReportEventW L""
err:eventlog:ReportEventW L""
err:eventlog:ReportEventW L""
err:eventlog:ReportEventW L""
fixme:advapi:DeregisterEventSource (0xcafe4242) stub
err:ntdll:RtlpWaitForCriticalSection section 0x65faf088 "?" wait timed out in thread 001c, blocked by 001d, retrying (60 sec)
And the Vampire splash screen and InstallShield Wizard windows both lock up, requiring a 'kill -s 9' to get rid of them. If someone else could test the steps outlined above, at least as far as running the installer, I would appreciate it. I suspect it has something to do with the attempt to integrate IE into WINE, which is still incomplete and seems to mess other things up as well. It'd be nice if major structural changes like this were tested before being released outside of CVS.
[/EDIT]
_________________
aidanjt wrote:
You see, instead of arguing from ignorance, and fear, there is only one way to verify a theory. And that's not by clutching a black book and begging the sky fairy for deliverance from the mad scientists and their big machines.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gamers & Players All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum