Get the latest version of Wine here.
Refer to your individual distribution's documentation on how to install Wine with your distro's package manager if it is not listed in the above link.
If you close your terminal during the installation, you will have to enter this command again to set your Wine prefix as the one to use:
Make sure to also install any Wine Gecko or Mono package requirements.
We will be downloading and running Winetricks later on in the tutorial.
Mounting the Installation DVD
Insert the DVD and it should be automatically mounted (typically this is under /dev/sr0).
Mounting an ISO
Create a mount point for the ISO. You can place it wherever you like.
I will place mine at /mnt/iso
To make a mount point, execute the following command:
sudo mkdir /your_mount_point
You can check if your ISO is mounted properly with:
lsblk or ls /your_mount_point
Once your mount point has been created, mount your ISO with this command:
sudo mount /your_iso_image_name /your_mount_point -o loop
Your ISO will now be mounted.
In your terminal, specify a new 32-bit prefix with:
WINEPREFIX=your_prefix_directory WINEARCH="win32" winecfg
As an example, I created a prefix like this:
WINEPREFIX=~/cnc_rocks WINEARCH="win32" winecfg
Once generated, close the Wine Configuration settings panel.
Then set your Wine Prefix as the one to use for the installation with:
If you want to use the default prefix, use the command:
Navigate to your mounted DVD/ISO with:
My ISO would be at:
Once inside the ISO, run the command to run the setup.exe file under Wine:
Follow through the installation wizard, inserting your cd keys, installing the game (you can install more than the first game in the collection if you wish).
When the installer is finished, click 'Finish', then 'Register Later' and you are done.
You can then unmount your DVD or ISO with the following command:
sudo unmout /your_mount_point
Now we have to download and run Winetricks.
Select where you want to place Winetricks, as an example I navigate to:
Use the wget command to download the latest version of Winetricks from Austin English's GitHub:
Give the file execute permissions:
chmod +x winetricks
While in that same directory, we can install the required Windows components. dotnet20 is required for nyerguds' patch and cnc_ddraw is needed so the game does not crash every 5 minutes.
Run the following command to install the Windows components in your prefix with Winetricks:
env WINEPREFIX=~/your_prefix_directory sh winetricks cnc_ddraw dotnet20
The required components are then downloaded and installed and you are done with this step.
This is the latest unofficial patch and brings a host of fixes and modernisations to the game.
Download the patch from here.
Go into the directory where you saved the cc95v106c_r3_u6.exe file with:
Run the patch with:
The patch should automatically find your game directory in your Wine Prefix, click through the menus to install it and you are good to go.
Once the installer is done, it should present you with the simple Command & Conquer Config menu. Should it not appear, go into your Command and Conquer directory and run:
The game runs at 1024x640 natively, however the patch will stretch the game to 1024x768 by default (you can change this under 'Advanced Options').
Under 'Renderer', leave it as 'Automatic' and click 'OK'.
Clicking 'Advanced Options' allows you to set custom resolutions, scaling, game options, sound options, hotkeys and more. Change these options to your liking.
Once everything is done, click 'OK' to close the config menu.
Finally, go back into your Command and Conquer directory and run:
That will run the game.
Single-player, editing in-game options like the game speed and scroll rate, saving and loading missions all work great! No graphical issues in-game or in the menus, the FMVs are centered properly and the keybindings work as expected.
Good luck, Commander!
What does not
The dotnet20 and cnc_ddraw workarounds are required.
The dotnet20 DLL is a requirement for the nyerguds patch.
The cnc_ddraw DLL is required, otherwise the game crashes often (every 5 or 10 minutes).
Winetricks with dotnet20 and cnc_ddraw Windows components.
What was not tested
Distribution: Pop!_OS 21.10
DE: GNOME 40.5
Windowing System: X11
CPU: Intel i7-6700HQ (8) @ 3.500GHz
GPU: NVIDIA GeForce GTX 950M
Nvidia Drivers: 470.86
|Operating system||Test date||Wine version||Installs?||Runs?||Used|
|Current||Pop!_OS 21.10||Jan 13 2022||6.0.2||Yes||Yes||Yes||Gold||Metalinux|
|Show||Fedora 24 x86_64||Nov 26 2016||1.9.22||Yes||Yes||Gold||an anonymous user|
|Show||Gentoo Linux x86_64||Apr 08 2014||1.7.16||Yes||Yes||Gold||Manuel|
|Show||Ubuntu 13.10 "Saucy" i386 (+ variants like Kubuntu)||Oct 30 2013||1.4.1||N/A||Yes||Gold||an anonymous user|
|Show||Ubuntu 12.04 "Precise" amd64 (+ variants like Kubuntu)||Sep 08 2012||1.4||Yes||Yes||Gold||Terence Hui|
To get around most of the bugs listed, check out: http://hifi.iki.fi/cnc-ddraw/
Also remember to add ddraw to dll overrides to get it loading, virtual desktop also recommended.
It is highly recommended you install Nyerguds' v1.06c version that includes bug fixes, new features, cnc-ddraw and CnCNet:
Regardless what version you install, remember to add ddraw to dll overrides as it will improve rendering performance a lot if ddraw.dll is included or installed by hand.
The game does not run correctly on SMP PCs (more than one CPU core or HyperThreading enabled); HyperThreading can be disabled in the BIOS setup.
by David Eccles (gringer) on Wednesday October 24th 2007, 4:58
As mentioned in bug 4487, an alternative workaround to freezes on multi-processor systems is to restrict the wine process to a single CPU, as in:
schedtool -a 0x2 -e wine C&C95.EXE