bioshock wine error

I’ve been trying to tackle getting Bioshock I bought a bit ago on Steam to work on my openSuse 11.3 x86_64. I installed it inside PlayOnLinux and have tried many different and custom wine builds, all failing in the same place. The game crashes when loading a level. A few weeks back, I talked for a few hours with someone on IRC and gave them all the debug info they asked for, but they said the problem was(I think) something simple like divide by zero.(I’m guessing related to the assembly shown in the backtrace.)
Anyways, I was confused why it wasn’t working while most the reviews on winehq said it worked flawlessly. I noticed they were mostly from people running Ubuntu, so I decided to do some tests. I got some live cds of Ubuntu(10.04 and 10.10) of both arch(i386 and x86_64) and loaded up with nvidia proprietary driver and playonlinux. I then linked my playonlinux folder to the live cd to keep settings the same. On all cases, Bioshock ran like it was supposed to. Trying both the ubuntu native wine and the same custom builds I was using under opensuse, the game ran fine.
This seemed to point to the fact wine was not at fault, but something further down. I’m figuring it is most likely the kernel due to what I think the error is. So, the big question after all of this is: is there a way to find what patch/change in the ubuntu kernel is making this run right so it can be applied to a custom kernel I can install? The path of least resistance says I should just install a small ubuntu partition just for bioshock, but I’d rather find a fix that works on my current system that can be shared with anyone in the same position I am.

Without knowing more what the backtrace showed it is difficult to say - even then, it can be a bit like a needle in a haystack getting some games to run with Wine.

If it works on in Ubuntu, I might suggest just grabbing the kernel sources and compile a vanilla kernel and just see if that does it for you - would not take long and it just might work.

You could also try Codeweavers Crossover Games - the trial is free to try. Their version of Wine has additional patches, etc. though it does not appear that Bioshock is officially supported, it might be worth a shot. (Lots of stuff runs fine under Crossover but is not officially supported.)

Both these two potential solutions would be very easy to test without digging through backtraces and such.

Lews Therin

I found a kernel in the repos called vanilla, which is supposed to be exact from source. Problem is, I can’t seem to figure out how to get my nvidia driver to work with it. (I’ve tried nvidia .run file and making my own kmp against vanilla. I only seem to get kernel traces whenever I load the driver into the kernel.)

Dec  5 23:15:29 eyecreate kernel:    96.372948] nvidia: module license 'NVIDIA' taints kernel.
Dec  5 23:15:29 eyecreate kernel:    96.372953] Disabling lock debugging due to kernel taint
Dec  5 23:15:30 eyecreate kernel:    97.081490] nvidia 0000:01:00.0: power state changed by ACPI to D0
Dec  5 23:15:30 eyecreate kernel:    97.081503] nvidia 0000:01:00.0: power state changed by ACPI to D0
Dec  5 23:15:30 eyecreate kernel:    97.081518] nvidia 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
Dec  5 23:15:30 eyecreate kernel:    97.081532] nvidia 0000:01:00.0: setting latency timer to 64
Dec  5 23:15:30 eyecreate kernel:    97.081541] vgaarb: device changed decodes: PCI:0000:01:00.0,olddecodes=io+mem,decodes=none:owns=io+mem
Dec  5 23:15:30 eyecreate kernel:    97.081817] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  260.19.21  Thu Nov  4 21:16:27 PDT 2010
Dec  5 23:15:30 eyecreate kernel:    97.081938] BUG: unable to handle kernel paging request at ffff87ffa27a92a4
Dec  5 23:15:30 eyecreate kernel:    97.084092] IP: <ffffffff8108756a>] module_put+0x2a/0xa0
Dec  5 23:15:30 eyecreate kernel:    97.092092] PGD 0 
Dec  5 23:15:30 eyecreate kernel:    97.100014] Oops: 0002 #1] SMP 
Dec  5 23:15:30 eyecreate kernel:    97.104090] last sysfs file: /sys/bus/pci/drivers/nvidia/uevent
Dec  5 23:15:30 eyecreate kernel:    97.108092] CPU 1 
Dec  5 23:15:30 eyecreate kernel:    97.108092] Modules linked in: nvidia(P) cryptd aes_x86_64 aes_generic af_packet ip6t_LOG xt_tcpudp xt_pkttype xt_physdev ipt_LOG xt_limit rfcomm snd_pcm_oss snd_mixer_oss sco snd_seq bridge stp llc snd_seq_device coretemp bnep l2cap edd cpufreq_conservative cpufreq_userspace cpufreq_powersave acpi_cpufreq ip6t_REJECT nf_conntrack_ipv6 ip6table_raw xt_NOTRACK ipt_REJECT xt_state iptable_raw iptable_filter ip6table_mangle nf_conntrack_netbios_ns nf_conntrack_ipv4 nf_conntrack nf_defrag_ipv4 ip_tables ip6table_filter ip6_tables x_tables loop dm_mod arc4 snd_hda_codec_si3054 ecb snd_hda_codec_realtek iwlagn firewire_ohci iwlcore firewire_core crc_itu_t uvcvideo sdhci_pci snd_hda_intel sdhci snd_hda_codec mac80211 videodev ohci1394 iTCO_wdt btusb sr_mod v4l1_compat snd_hwdep iTCO_vendor_support usbhid mmc_core bluetooth compal_laptop wmi cdrom video battery sg v4l2_compat_ioctl32 ieee1394 tg3 cfg80211 i2c_i801 button ac joydev snd_pcm pcspkr intel_agp rfkill snd_timer snd soundcore 
Dec  5 23:15:30 eyecreate kernel: snd_page_alloc ext4 jbd2 crc16 uhci_hcd ehci_hcd sd_mod usbcore fan processor ata_generic ata_piix ahci libata scsi_mod thermal thermal_sys
Dec  5 23:15:30 eyecreate kernel:    97.168089] 
Dec  5 23:15:30 eyecreate kernel:    97.168089] Pid: 2414, comm: modprobe Tainted: P           2.6.34.7-0.5-vanilla #1 JFL92         /N/A                                            
Dec  5 23:15:30 eyecreate kernel:    97.168089] RIP: 0010:<ffffffff8108756a>]  <ffffffff8108756a>] module_put+0x2a/0xa0
Dec  5 23:15:30 eyecreate kernel:    97.168089] RSP: 0018:ffff880037be7f28  EFLAGS: 00010282
Dec  5 23:15:30 eyecreate kernel:    97.168089] RAX: ffffffffa0aa92a0 RBX: ffffffffa0e3bd40 RCX: ffffffff81819290
Dec  5 23:15:30 eyecreate kernel:    97.168089] RDX: ffffffff81819290 RSI: 0000000000000296 RDI: ffffffffa0e3bd40
Dec  5 23:15:30 eyecreate kernel:    97.168089] RBP: ffff880037be7f48 R08: 0000000000000000 R09: 0000000000000180
Dec  5 23:15:30 eyecreate kernel:    97.168089] R10: 0000000000000000 R11: ffff88013950a070 R12: 0000000000000000
Dec  5 23:15:30 eyecreate kernel:    97.168089] R13: 0000000000612b90 R14: 0000000000000000 R15: 0000000000406810
Dec  5 23:15:30 eyecreate kernel:    97.168089] FS:  00007ff3ab398700(0000) GS:ffff880001d00000(0000) knlGS:0000000000000000
Dec  5 23:15:30 eyecreate kernel:    97.168089] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
Dec  5 23:15:30 eyecreate kernel:    97.168089] CR2: ffff87ffa27a92a4 CR3: 0000000037b68000 CR4: 00000000000006e0
Dec  5 23:15:30 eyecreate kernel:    97.168089] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
Dec  5 23:15:30 eyecreate kernel:    97.168089] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Dec  5 23:15:30 eyecreate kernel:    97.168089] Process modprobe (pid: 2414, threadinfo ffff880037be6000, task ffff880037974640)
Dec  5 23:15:30 eyecreate kernel:    97.168089] Stack:
Dec  5 23:15:30 eyecreate kernel:    97.168089]  ffffffffa0e3bd40 0000000000000000 0000000000612b90 0000000000000000
Dec  5 23:15:30 eyecreate kernel:    97.168089] <0> ffff880037be7f78 ffffffff8108b179 0000000000406810 0000000000612ac0
Dec  5 23:15:30 eyecreate kernel:    97.168089] <0> 0000000000000000 0000000000610030 0000000000612b90 ffffffff81002e6b
Dec  5 23:15:30 eyecreate kernel:    97.168089] Call Trace:
Dec  5 23:15:30 eyecreate kernel:    97.168089]  <ffffffff8108b179>] sys_init_module+0x139/0x250
Dec  5 23:15:30 eyecreate kernel:    97.168089]  <ffffffff81002e6b>] system_call_fastpath+0x16/0x1b
Dec  5 23:15:30 eyecreate kernel:    97.168089] Code: 00 55 48 89 e5 48 83 ec 20 48 85 ff 48 89 1c 24 4c 89 64 24 08 48 89 fb 4c 89 6c 24 10 4c 89 74 24 18 74 2a 48 8b 87 30 02 00 00 <65> ff 40 04 8b 35 b4 f5 87 00 48 8b 87 30 02 00 00 65 44 8b 60 
Dec  5 23:15:30 eyecreate kernel:    97.168089] RIP  <ffffffff8108756a>] module_put+0x2a/0xa0
Dec  5 23:15:30 eyecreate kernel:    97.168089]  RSP <ffff880037be7f28>
Dec  5 23:15:30 eyecreate kernel:    97.168089] CR2: ffff87ffa27a92a4
Dec  5 23:15:30 eyecreate kernel:    97.168089] --- end trace 060affa50a154ac3 ]---

Also, I have CXGames and have tried it there too. It did the exact same thing.