In the past, I successfully used Linear Technology's LTSPice CAD/simulation software with Wine.
Last week, I upgraded the somewhat outdated Ubuntu Precise install to Linux Mint 16 KDE, and tried reinstalling LTSpice under Wine (see http://ltspice.linear-tech.com/software/LTspiceIV.exe).
Installating it works just fine, and it also starts OK -- even though the fonts look horrible. However, as soon as I actually load any of the example circuit files, Wine crashes:
Code: Select all
$ wine ./.wine/drive_c/Program\ Files/LTC/LTspiceIV/scad3.exe
Fontconfig warning: "/etc/fonts/conf.d/50-user.conf", line 14: reading configurations from ~/.fonts.conf is deprecated.
wine: Unhandled page fault on write access to 0x00000086 at address 0x7bc4717b (thread 0009), starting debugger...
Unhandled exception: page fault on write access to 0x00000086 in 32-bit code (0x7bc4717b).
Register dump:
CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
EIP:7bc4717b ESP:0033ce9c EBP:0033ce9c EFLAGS:00010206( R- -- I - -P- )
EAX:00000082 EBX:7bcc7000 ECX:001741b0 EDX:00000008
ESI:0000000f EDI:7e1a8fc0
Stack dump:
0x0033ce9c: 0033ced0 7bc482e0 001741b8 00000040
0x0033ceac: 00000002 00110000 00172548 001741b0
0x0033cebc: 00000002 00174160 001741b0 00110014
0x0033cecc: ffffffff 0033cf10 7bc484cd 00110014
0x0033cedc: 00174160 00000050 7bc34809 00110064
0x0033ceec: 00000000 0014648c 00000050 00000000
000c: sel=0067 base=00000000 limit=00000000 32-bit --x
Backtrace:
=>0 0x7bc4717b in ntdll (+0x3717b) (0x0033ce9c)
1 0x7bc482e0 in ntdll (+0x382df) (0x0033ced0)
2 0x7bc484cd in ntdll (+0x384cc) (0x0033cf10)
3 0x7bc4b921 RtlFreeHeap+0xef() in ntdll (0x0033cf60)
4 0x7eb0ddea in gdi32 (+0x4dde9) (0x0033cfd0)
5 0x7eb0e62d in gdi32 (+0x4e62c) (0x0033d0e0)
6 0x7e1a9072 in winex11 (+0x49071) (0x0033d1b0)
7 0x7eb100eb ExtTextOutW+0x16e6() in gdi32 (0x0033d3e0)
8 0x7ec38799 DrawTextExW+0x79f() in user32 (0x0033dd10)
9 0x7ec38db1 DrawTextW+0x80() in user32 (0x0033dd60)
10 0x7e588d0b DrawStatusTextW+0x1d6() in comctl32 (0x0033ddc0)
11 0x7e5e4011 in comctl32 (+0x74010) (0x0033de60)
12 0x7e5e41aa in comctl32 (+0x741a9) (0x0033deb0)
13 0x7e5e4396 in comctl32 (+0x74395) (0x0033df10)
14 0x7e5e674a in comctl32 (+0x76749) (0x0033df90)
15 0x7e5e744a in comctl32 (+0x77449) (0x0033dfe0)
16 0x7ec52912 WINPROC_wrapper+0x19() in user32 (0x0033e010)
17 0x7ec52a66 WINPROC_wrapper+0x16d() in user32 (0x0033e050)
18 0x7ec53e20 in user32 (+0xb3e1f) (0x0033e540)
19 0x7ec552c9 CallWindowProcA+0x11f() in user32 (0x0033e580)
20 0x00922223 in scad3 (+0x522222) (0x0033e5a0)
21 0x009218f0 in scad3 (+0x5218ef) (0x0033e630)
22 0x00922821 in scad3 (+0x522820) (0x0033e650)
23 0x009301e6 in scad3 (+0x5301e5) (0x0033e670)
24 0x00921833 in scad3 (+0x521832) (0x0033e6d0)
25 0x00921a3b in scad3 (+0x521a3a) (0x0033e6ec)
26 0x7ec52912 WINPROC_wrapper+0x19() in user32 (0x0033e71c)
27 0x7ec52a66 WINPROC_wrapper+0x16d() in user32 (0x0033e75c)
28 0x7ec5520d CallWindowProcA+0x63() in user32 (0x0033e79c)
29 0x004b6d76 in scad3 (+0xb6d75) (0x0033e8dc)
30 0x7ec52912 WINPROC_wrapper+0x19() in user32 (0x0033e90c)
31 0x7ec52a66 WINPROC_wrapper+0x16d() in user32 (0x0033e94c)
32 0x7ec54f15 in user32 (+0xb4f14) (0x0033ee4c)
33 0x7ec550d4 in user32 (+0xb50d3) (0x0033ee9c)
34 0x7ec10bc7 in user32 (+0x70bc6) (0x0033eefc)
35 0x7ec138b7 in user32 (+0x738b6) (0x0033ef5c)
36 0x7ec13fab SendMessageW+0x53() in user32 (0x0033efac)
37 0x7ec207ac in user32 (+0x807ab) (0x0033efdc)
38 0x7ec21646 RedrawWindow+0x399() in user32 (0x0033f04c)
39 0x7ec216c2 UpdateWindow+0x51() in user32 (0x0033f07c)
40 0x7e5e5a20 in comctl32 (+0x75a1f) (0x0033f0dc)
41 0x7e5e71f0 in comctl32 (+0x771ef) (0x0033f12c)
42 0x7ec52912 WINPROC_wrapper+0x19() in user32 (0x0033f15c)
43 0x7ec52a66 WINPROC_wrapper+0x16d() in user32 (0x0033f19c)
44 0x7ec53e20 in user32 (+0xb3e1f) (0x0033f68c)
45 0x7ec552c9 CallWindowProcA+0x11f() in user32 (0x0033f6cc)
46 0x00922223 in scad3 (+0x522222) (0x0033f6ec)
47 0x0092d4bf in scad3 (+0x52d4be) (0x0033f720)
48 0x004b9620 in scad3 (+0xb961f) (0x0033f75c)
49 0x0049146d in scad3 (+0x9146c) (0x0033fa68)
50 0x00922c8f in scad3 (+0x522c8e) (0x0033faf4)
51 0x00922821 in scad3 (+0x522820) (0x0033fb14)
52 0x00921833 in scad3 (+0x521832) (0x0033fb74)
53 0x00921a3b in scad3 (+0x521a3a) (0x0033fb90)
54 0x7ec52912 WINPROC_wrapper+0x19() in user32 (0x0033fbc0)
55 0x7ec52a66 WINPROC_wrapper+0x16d() in user32 (0x0033fc00)
56 0x7ec5514b in user32 (+0xb514a) (0x0033fc50)
57 0x7ec15109 DispatchMessageA+0x19a() in user32 (0x0033fd60)
58 0x0092565c in scad3 (+0x52565b) (0x009ee990)
59 0x00000200 (0x000301ca)
0x7bc4717b: movl %edx,0x4(%eax)
Modules:
Module Address Debug info Name (71 modules)
PE 400000- ac8000 Export scad3
ELF 7b800000-7ba43000 Deferred kernel32<elf>
\-PE 7b810000-7ba43000 \ kernel32
ELF 7bc00000-7bce3000 Dwarf ntdll<elf>
\-PE 7bc10000-7bce3000 \ ntdll
ELF 7bf00000-7bf04000 Deferred <wine-loader>
ELF 7df38000-7df6f000 Deferred uxtheme<elf>
\-PE 7df40000-7df6f000 \ uxtheme
ELF 7df93000-7dfb7000 Deferred imm32<elf>
\-PE 7dfa0000-7dfb7000 \ imm32
ELF 7dfb7000-7dfbe000 Deferred libxdmcp.so.6
ELF 7dfbe000-7dfe0000 Deferred libxcb.so.1
ELF 7dfe0000-7dfe6000 Deferred libuuid.so.1
ELF 7dfe6000-7e000000 Deferred libice.so.6
ELF 7e000000-7e135000 Deferred libx11.so.6
ELF 7e135000-7e148000 Deferred libxext.so.6
ELF 7e148000-7e151000 Deferred libsm.so.6
ELF 7e151000-7e202000 Dwarf winex11<elf>
\-PE 7e160000-7e202000 \ winex11
ELF 7e202000-7e2a1000 Deferred libfreetype.so.6
ELF 7e2a1000-7e2c3000 Deferred libtinfo.so.5
ELF 7e2c3000-7e2e8000 Deferred libncurses.so.5
ELF 7e2e8000-7e311000 Deferred mpr<elf>
\-PE 7e2f0000-7e311000 \ mpr
ELF 7e311000-7e32b000 Deferred libz.so.1
ELF 7e33c000-7e342000 Deferred libxxf86vm.so.1
ELF 7e349000-7e3c3000 Deferred wininet<elf>
\-PE 7e350000-7e3c3000 \ wininet
ELF 7e3c3000-7e524000 Deferred ole32<elf>
\-PE 7e3e0000-7e524000 \ ole32
ELF 7e524000-7e565000 Deferred winspool<elf>
\-PE 7e530000-7e565000 \ winspool
ELF 7e565000-7e684000 Dwarf comctl32<elf>
\-PE 7e570000-7e684000 \ comctl32
ELF 7e684000-7e8c2000 Deferred shell32<elf>
\-PE 7e690000-7e8c2000 \ shell32
ELF 7e8c2000-7e9af000 Deferred comdlg32<elf>
\-PE 7e8d0000-7e9af000 \ comdlg32
ELF 7e9af000-7ea38000 Deferred rpcrt4<elf>
\-PE 7e9c0000-7ea38000 \ rpcrt4
ELF 7ea38000-7eaa9000 Deferred advapi32<elf>
\-PE 7ea40000-7eaa9000 \ advapi32
ELF 7eaa9000-7eb88000 Dwarf gdi32<elf>
\-PE 7eac0000-7eb88000 \ gdi32
ELF 7eb88000-7ecf7000 Dwarf user32<elf>
\-PE 7eba0000-7ecf7000 \ user32
ELF 7ecf7000-7ed6d000 Deferred shlwapi<elf>
\-PE 7ed00000-7ed6d000 \ shlwapi
ELF 7ef6d000-7ef7a000 Deferred libnss_files.so.2
ELF 7ef7a000-7ef86000 Deferred libnss_nis.so.2
ELF 7ef86000-7ef9f000 Deferred libnsl.so.1
ELF 7ef9f000-7efe2000 Deferred libm.so.6
ELF 7efe5000-7f000000 Deferred version<elf>
\-PE 7eff0000-7f000000 \ version
ELF f7037000-f7054000 Deferred libgcc_s.so.1
ELF f7072000-f70b2000 Deferred usp10<elf>
\-PE f7080000-f70b2000 \ usp10
ELF f71b2000-f72f6000 Deferred oleaut32<elf>
\-PE f71d0000-f72f6000 \ oleaut32
ELF f7366000-f73cd000 Deferred riched20<elf>
\-PE f7370000-f73cd000 \ riched20
ELF f73cd000-f73e1000 Deferred riched32<elf>
\-PE f73d0000-f73e1000 \ riched32
ELF f73e2000-f73e7000 Deferred libdl.so.2
ELF f73e7000-f759b000 Deferred libc.so.6
ELF f759c000-f75b7000 Deferred libpthread.so.0
ELF f75b7000-f75c0000 Deferred libnss_compat.so.2
ELF f75d0000-f75d4000 Deferred libxau.so.6
ELF f75d5000-f7719000 Dwarf libwine.so.1
ELF f771b000-f773d000 Deferred ld-linux.so.2
ELF f773d000-f773e000 Deferred [vdso].so
Threads:
process tid prio (all id:s are in hex)
00000008 (D) Z:\home\richard\.wine\drive_c\Program Files\LTC\LTspiceIV\scad3.exe
00000023 0
00000022 0
00000009 0 <==
0000000e services.exe
0000001e 0
0000001d 0
00000015 0
00000010 0
0000000f 0
00000012 winedevice.exe
00000019 0
00000014 0
00000013 0
0000001a plugplay.exe
0000001f 0
0000001c 0
0000001b 0
00000020 explorer.exe
00000021 0
Machine hardware: AMD 64-bit, 4GB of RAM
Graphics card:
Code: Select all
$ lspci -nn | grep VGA
02:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc.
[AMD/ATI] RV710 [Radeon HD 4350/4550] [1002:954f]
Graphics driver: radeon
OS: Linux Mint 16 KDE 64-bit
Wine version: 1.4.1
The things I tried:
- Installing the fglrx graphics driver, but so far with disastrous results (no functional X Server, just a black screen). Also I don't recall this being installed in the old Ubuntu version. SSH'ing in from another box, uninstalling fglrx and reverting to radeon fortunately fixed this.
- Installing an older LTSpice version from a back-up -> no improvement.
- Forcing Wine into 32-bit mode by adding a line WINEARCH=win32 to /etc/environment, rebooting, deleting the complete ~/.wine folder, and reinstalling LTSpice from scratch -> no improvement.
- Installing & configuring winetricks, plus a Windows theme through winecfg, to at least improve the ugly font rendering -> better fonts, but no functional improvement.
The weird thing is that this worked just fine under the old Ubuntu installation, and that it also worked out-of-the-box on another Linux Mint 16 KDE 64-bit machine (with much better looking fonts too); the main difference is that this latter machine has a rather more sophisticated nVidia graphics card, so I still suspect a graphics driver issue (also because of the bad fonts) -- but I'm not quite certain.
I also wonder why the fglrx driver doesn't work, but troubleshooting a machine with a completely black screen is somewhat tricky, so I haven't really looked into that. Besides, the radeon driver seems to work just fine for all the rest of the applications, acceleration and all.
Does anyone have any ideas what may be the problem here, and how I might go about fixing it?
Thank you in advance.