Release Starcraft

awesome..very grateful for the fullscreen scaling (somehow I am not very sensitive to distortion... :rolleyes: ) 
I've finally done the armhf static recompiles, should be compatible with various ARM devboards (like Raspberry Pi 2) and of course Pyra:

Be sure to read the notes, it's not very straightforward to get things to work.


Offtopic: I have tested the Bug 67037 you have found, and I confirm it trigger too on the GCC 5.2 I used on codeblocks  :(
Last edited by a moderator:
GCC isn't that great for ARM lately, there is also bug 65932. There were several more, at least those were fixed but the bugs stay around in various toolchains until they release the next update, which often takes half of a year or so. Some distributions don't upgrade at all, like Debian is still on 4.9.2, they backport some changes but who knows if they'll pick all the ARM fixes...
I've finally done the armhf static recompiles, should be compatible with various ARM devboards (like Raspberry Pi 2) and of course Pyra: sure to read the notes, it's not very straightforward to get things to work.

Will try it out on the devboard when I get home tomorrow.
Notaz, I compiled wine on the devboard and copied over my starcraft data from my Pandora... when I run:

LD_LIBRARY_PATH=. setarch linux32 -L wine
It's giving me a message saying that local.dll is corrupt and I need to re-install starcraft... is this some odd path issue?
It probably actually doesn't find that file, have you copied that to SC directory?
Can you navigate to your SC dir in wine's nopepad open dialog?
Last edited by a moderator:
It probably actually doesn't find that file, have you copied that to SC directory?
Can you navigate to your SC dir in wine's nopepad open dialog?

Yes on both...
Ok it looks like there was some compilation issue, I've recompiled everything and updated the instructions.

I'm getting further as it's not complaining about missing files anymore. I recompiled Wine with the pathed Makefile, maybe I missed something:

Unhandled exception: page fault on read access to 0x0000004e in 32-bit code (0x40a9b0fc).
Register dump:
ARM User Mode
 Pc:40a9b0fc Sp:4116e3c8 Lr:40239c85 Cpsr:200f0010(--C-)
 r0:00000103 r1:4116f774 r2:40ab2600 r3:0000004e
 r4:ffffffff r5:4116e3f4 r6:4116e400 r7:00000080
 r8:00000000 r9:00000000 r10:00000001 Fp:40b2a704 Ip:000000af
Stack dump:
0x4116e3c8:  4116e41c 00000324 4116e3ec 00000000
0x4116e3d8:  00000000 4116e3e8 4116e404 4116e440
0x4116e3e8:  00000080 00000000 00000000 0018000e
0x4116e3f8:  40923ba0 00000000 00000001 00000018
0x4116e408:  00000000 4116e3f4 00000040 00000000
0x4116e418:  00000000 00000000 00000000 00000000
=>0 0x40a9b0fc GetVolumeInformationW+0x7ac() in kernel32 (0x40b2a704)
  1 0x40239c85 pthread_sigmask+0x23() in (0x40b2a704)
0x40a9b0fc GetVolumeInformationW+0x7ac in kernel32: 
	ldr	r1, [r3, #0]
Module	Address			Debug info	Name (63 modules)
ELF	   10000-   21000	Deferred        <wine-loader>
ELF	40046000-4006f000	Deferred
ELF	4006f000-4021d000	Dwarf 
ELF	40222000-4022d000	Deferred
ELF	40230000-40253000	Dwarf 
ELF	40253000-40341000	Deferred
ELF	40341000-40354000	Deferred
ELF	40354000-40435000	Deferred        ntdll<elf>
  \-PE	40370000-40435000	\               ntdll
ELF	40435000-404a9000	Deferred
ELF	408a9000-408bf000	Deferred
ELF	408bf000-408df000	Deferred
ELF	408df000-408f7000	Deferred
ELF	408f7000-40910000	Deferred
ELF	40a20000-40b2b000	Dwarf           kernel32<elf>
  \-PE	40a30000-40b2b000	\               kernel32
ELF	40bbd000-4106d000	Deferred        libscr_sa_arm<elf>
  \-PE	40c50000-4106d000	\               libscr_sa_arm
ELF	41170000-412a8000	Deferred        user32<elf>
  \-PE	41180000-412a8000	\               user32
ELF	412a8000-413b3000	Deferred        gdi32<elf>
  \-PE	412b0000-413b3000	\               gdi32
ELF	413b3000-4142c000	Deferred        advapi32<elf>
  \-PE	413c0000-4142c000	\               advapi32
ELF	4142c000-41454000	Deferred        version<elf>
  \-PE	41430000-41454000	\               version
ELF	41454000-41484000	Deferred        imm32<elf>
  \-PE	41460000-41484000	\               imm32
ELF	41484000-4151e000	Deferred        msvcrt<elf>
  \-PE	414a0000-4151e000	\               msvcrt
ELF	4151e000-41576000	Deferred        winmm<elf>
  \-PE	41530000-41576000	\               winmm
ELF	41576000-41685000	Deferred        ole32<elf>
  \-PE	41590000-41685000	\               ole32
ELF	41685000-4170e000	Deferred        rpcrt4<elf>
  \-PE	41690000-4170e000	\               rpcrt4
ELF	4170e000-41741000	Deferred        msacm32<elf>
  \-PE	41710000-41741000	\               msacm32
ELF	41741000-41926000	Deferred        shell32<elf>
  \-PE	41750000-41926000	\               shell32
ELF	41926000-4199e000	Deferred        shlwapi<elf>
  \-PE	41930000-4199e000	\               shlwapi
ELF	4199e000-41a09000	Deferred        comdlg32<elf>
  \-PE	419a0000-41a09000	\               comdlg32
ELF	41a09000-41af5000	Deferred        comctl32<elf>
  \-PE	41a10000-41af5000	\               comctl32
ELF	41af5000-41b3b000	Deferred        winspool<elf>
  \-PE	41b00000-41b3b000	\               winspool
ELF	41b4e000-41bc3000	Deferred
ELF	41bc3000-41be5000	Deferred
ELF	41be5000-41c0e000	Deferred
ELF	41e30000-41eb8000	Deferred        winex11<elf>
  \-PE	41e40000-41eb8000	\               winex11
ELF	41eb8000-41ed3000	Deferred
ELF	41ed3000-41fc8000	Deferred
ELF	41fc8000-41fed000	Deferred
ELF	41fed000-42000000	Deferred
ELF	42000000-42014000	Deferred
ELF	42014000-4202b000	Deferred
ELF	4202b000-42042000	Deferred
ELF	42042000-42056000	Deferred
ELF	42056000-4209b000	Deferred        uxtheme<elf>
  \-PE	42060000-4209b000	\               uxtheme
process  tid      prio (all id:s are in hex)
00000008 (D) C:\starcraft\libscr_sa_arm.exe
	00000026    1
	00000009    0 <==
0000000e services.exe
	0000001f    0
	0000001e    0
	00000019    0
	00000018    0
	00000016    0
	00000010    0
	0000000f    0
00000012 explorer.exe
	00000025    0
	00000024    0
	00000023    0
	00000022    0
	00000013    0
00000014 winedevice.exe
	0000001b    0
	0000001a    0
	00000015    0
0000001c plugplay.exe
	00000021    0
	00000020    0
	0000001d    0
System information:
    Wine build: wine-1.7.51-201-g60d1d6f
    Platform: arm
    Host system: Linux
    Host version: 4.1.0-gta04-a1
Edit: Going to do a full uninstall of wine and recompile it again to be sure.
Last edited by a moderator:
Hidden Content

That crash is caused by gcc bug.
It might be easier to apply this patch:
Got a bit further applied both the Makefile patch and the one you shared... It now launches, seems quick to start, can get through the two intro videos, has non-distorted music, but it's perpetually loading and never getting to the main menu.
Output from terminal while running:

trashy@trashypyra:~/.wine/drive_c/starcraft$ LD_LIBRARY_PATH=. setarch linux32 -L wine
fixme:ole:RemUnknown_QueryInterface No interface for iid {00000019-0000-0000-c000-000000000046}
storm: ctors done
WinMain: ctors done
err:winediag:X11DRV_WineGL_InitOpenglInfo The Mesa OpenGL driver is using software rendering, most likely your 32-bit OpenGL drivers haven't been installed correctly (using GL renderer "Software Rasterizer", version "2.1 Mesa 10.3.2").
fixme:d3d:wined3d_guess_card No card selector available for card vendor 0000 (using GL_RENDERER "Software Rasterizer").
fixme:win:EnumDisplayDevicesW ((null),0,0x4137f2f8,0x00000000), stub!
fixme:x11drv:X11DRV_desktop_SetCurrentMode Cannot change screen BPP from 32 to 8
fixme:d3d:wined3d_get_adapter_raster_status wined3d 0x409ea6b0, adapter_idx 0, raster_status 0x4137fcd0 semi-stub!
fixme:ddraw:ddraw7_WaitForVerticalBlank iface 0x409e6e80, flags 0x1, event (nil) stub!
I used these CFLAGS to compile wine:
-O2 -pipe -march=armv7ve -mcpu=cortex-a15 -mfloat-abi=hard -fPIC
Last edited by a moderator:
Try changing DirectDrawRenderer to gdi, see

Cool, I'll give that a try.

Also fun fact since Exagear seems to use your normal user account's home directory the x86 wine from the guest image and the ARM version of wine fight over the same .wine directory by default... so forced to use specify different directories with the $WINEPREFIX variable... 

EDIT: Awesome!, that did the trick... working Starcraft on the Devboard.
Last edited by a moderator:
Setting gdi as the DirectDraw Renderer got it working... Discovering that Exagear Desktop uses your normal home directory and can conflict with the config files was just an annoyance that had me scratching my head for a bit and felt like sharing.
Yup, i finally make it putting everything in the appdata/starcraft/ folder.

The most helpful thing I've found on the forum. A lot of these downloads should come with a quick readme note to avoid struggles like this

Sent from my iPhone using Tapatalk