Download your favorite Linux distribution at LQ ISO.
Go Back > Blogs > rkelsen
User Name


Rate this Entry

How to get StarCraft (1998 version) working on Slackware64

Posted 06-14-2021 at 02:03 AM by rkelsen

This requires a working installation of Wine. See previous blog entry for how to get that.

Step 1. Mount the StarCraft CDROM
Step 2. $ wine /mnt/cdrom/setup.exe
Step 3. Exit installer. Do not click on Play Starcraft at this point - you'll be disappointed with the results.
Step 4. Copy /mnt/cdrom/install.exe to /home/user/.wine/drive_c/Program Files/Starcraft/StarCraft.mpq
Step 5. Umount & eject the CDROM
Step 6. Obtain the v1.16.1 (last official) patch from Blizzard:
Step 7. Apply the patch: $ wine /home/user/Downloads/SC-1161.exe. The installer will start the game. Again, you'll probably be disappointed with the result, so click Exit.
Step 8. $ wine regedit
Step 9. Browse to: HKeyCurrentUser-Software-Wine-AppDefaults
Step 10. Right click on AppDefaults & select New Key
Step 11. Name the new key "Starcraft.exe" without quotes
Step 12. Right click Starcraft.exe & select New Key again
Step 13. Name the new key "Direct3D" without quotes
Step 14. Right click on Direct3D & select New String Value
Step 15. Name the new string value "renderer" without quotes
Step 16. Double click on renderer and insert "gdi" without quotes as the value
Step 17. Right click on Direct3D & select New String Value
Step 18. Name the new string value "VideoMemorySize" without quotes
Step 19. Double click on VideoMemorySize and insert the amount of Video Memory (in megabytes) your machine has

To find out how much Video Memory to use:
$ /sbin/lspci

Look for something like this in the output:
00:02.0 VGA compatible controller: Intel Corporation CoffeeLake-S GT2 [UHD Graphics 630] (rev 02)

Then use the numbers on the left to query the card:
$ /sbin/lspci -v -s 00:02.0

The line which shows "prefetchable" memory shows the number of megabytes to use at Step 19

Step 20. Click on Registry-Exit to close regedit.
Step 21. $ cat << EOF > /home/user/scstart
> #!/bin/bash
> xrandr -s 640x480
> wine /home/user/.wine/drive_c/Program\ Files/Starcraft/StarCraft.exe
> xrandr -s 1920x1200 # alternatively, insert your standard resolution here
Step 22. $ chmod +x /home/user/scstart

Starting the game is then just a matter of using the 'scstart' script created at step 21.

Explanations/Rationale for these instructions:

The patch at Step 6 will allow you to play without the CDROM in the drive. It's an official patch from Blizzard, so probably better than a hack from the internet.

The game doesn't run smoothly with Wine's OpenGL implementation. The solution is to force Wine to use GDI graphics. This is accomplished at Steps 8 through 19.

Unfortunately, GDI graphics will cause the game to run in a tiny box at the top left corner of your screen, which is why we use xrandr at step 21 to resize the screen to StarCraft's native resolution before starting the game... and then to resize it back after you exit the game. StarCraft's resolution is fixed at 640x480 and cannot be changed.

Now go attend to those pesky Zergs!
Posted in Uncategorized
Views 249 Comments 0
« Prev     Main     Next »
Total Comments 0




All times are GMT -5. The time now is 12:11 AM.

Main Menu
Write for LQ is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration