Command & Conquer: Generals

Prepare to unleash the absolute latest in modern weapons technology against the world’s most powerful Generals in Command & Conquerâ„¢: Generals Zero Hour*. In the next era of military strategy and might, you’ll need to command a more technologically advanced arsenal to defeat new, more powerful enemies. The first expansion pack for the critically acclaimed Command & Conquerâ„¢: Generals challenges players to square off against the world’s most elite commanders for battlefield domination. Even the most experienced C&C Generals veteran must learn new strategies and tactics to take full advantage of—and learn to defend against—the next generation of the world’s most lethal weapons. With new units, structures, and upgrades, as well as the all-new Generals Challenge Mode, Zero Hour delivers all the firepower you’ll need in your quest to become the ultimate modern warfare General.

Application Details:

Version: Zero Hour: 1.04
License: Retail
URL: http://www.commandandconquer.c...
Votes: 1
Latest Rating: Gold
Latest Wine Version Tested: 4.5

Maintainers: About Maintainership

Link Homepage

Test Results

Old test results
The test results you have selected are very old and may not represent the current state of Wine.
Selected Test Results

What works

SinglePlayer (skirmish) SinglePlayer (general duels) SinglePlayer (campaign) Multiplayer(LAN)

What does not



What was not tested

Multiplayer(Internet, req-s valid CD-KEY)

Hardware tested


  • GPU:
  • Driver:

Additional Comments

Works with bit less performance than in windows. Works with high quality! Game requests first game CD to launch any singleplayer game. --------------- Native Wine (without winetricks). Ati-drivers 10.11. Linux 2.6.36-r5 gentoo KibeR_ShuriK@gentoo ~ $ cat /etc/make.conf # These settings were set by the catalyst build script that automatically # built this stage. # Please consult /usr/share/portage/config/make.conf.example for a more # detailed example. CFLAGS="-O2 -march=amdfam10 -pipe" CXXFLAGS="${CFLAGS}" CHOST="i686-pc-linux-gnu" DISTDIR="/usr/portage/.portage_tarballs" SYNC="rsync://" GENTOO_MIRRORS="" PORTAGE_IONICE_COMMAND="ionice -c 1 -n 0 -p \${PID}" PORTAGE_IONICE_COMMAND=" renice -n -20 \${PID}" ACCEPT_LICENSE="skype-eula AdobeFlash-10.1 PUEL" ACCEPT_KEYWORDS="~x86" CONFIG_FUSE_FS=m MAKEOPTS="-j5" USE="vnc mime php mysql ssl xml2 xml gd apache2 gtk ogg p7zip qt4 embedded xml libxml2 jpeg jpg png lame mad mp3 sse sse2 sse4a 3dnow 3dnowext cx16 -gnome kde X vorbis dbus cdrom nptlonly alsa qt3support nls ncurses opengl sql svg webkit threads"

selected in Test Results table below
Operating systemTest dateWine versionInstalls?Runs?Used
ShowManjaro Linux 18.0.0Apr 06 20194.5Yes Yes YesGoldBob Niemöller 
ShowArch Linux x86_64Jan 25 20194.0-stagingNo, but has workaround Yes YesGoldap4ss3rby 
ShowUbuntu 18.04 "Bionic" amd64 (+variants like Kubuntu)Jan 23 20194.0No, but has workaround Yes YesGoldEonfge 
ShowFedora 29 x86_64Dec 13 20183.21-stagingNo Not installable NoGarbageOrbit Li 
ShowUbuntu 14.04 "Trusty" amd64 (+ variants like Kubuntu)Feb 02 20151.7.33N/A Yes GoldMickael C. Guimaraes 

Known Bugs

Bug # Description Status Resolution Other apps affected
35672 command and conquer generals zero hour: - online gaming not working UNCONFIRMED View
48787 WineD3D C&C Generals Zero Hour takes a lot time to load or maximize UNCONFIRMED View
50115 C&C Generals Zero Hour cursor dissappears after first mouse action UNCONFIRMED View

Show all bugs

HowTo / Notes

Install and configure

The game should mostly run out of the box if you install it from the CDs.

You might need a NoCD crack.

If you already have a locally installed version of the game,
be aware that General won't start without some specific registry entries.
Mandatory entries include the game path, the language and the key.

The following note is a script that automated the registration of the game.

Save it locally, make it executable and start it from a shell.

It will ask you for the installation path, the language and the keys.

You can also preset keys within the script to make it easy to deploy for LAN parties.

Contact me (P. Neidhardt) if you have any issue running it.


Graphics: sidescreen scrolling does not work in windowed mode.  You can activate
the virtual desktop in winecfg though.

You can change the game resolution to an arbirary value via the command line
parameters `-xres X -yres Y`.

To make the changes permanent after the game has been start once,
go to the "Command and Conquer Generals Zero Hour Data" (by default in your home
directory), edit the Options.ini and set the Resolution to the desired value
(the value of the virtual desktop if you use it).

No winetricks needed, runs out of the box. If you encounter problems, install d3dx9 (winetricks d3dx9).

No-install startup script

usage () {
	cat <&2
Usage: ${0##*/} [MODE] [OPTIONS]

Setup Command & Conquer: Generals and start the game.
If started from a TTY, an X session will be automatically started.


	generals: Original game.
	zerohour: Official extension (default if found).


	-quickstart:   Disable 3D menu for faster startup.
	-xres : Horizontal resolution.
	-yres : Vertical resolution.
	-noshaders:    Improve performance on weak graphic cards.

[ -z "$GAMEROOT" ] && GAMEROOT="$HOME/games"

[ "$1" = "-h" ] && usage && exit
[ "$1" = "--" ] && shift

## Start X if needed.
# TODO: Do this first or last?
# If last, maybe errors can be caught before and printed to TTY.  Compare.
# If last, need more work on the parameters.
if [ -z "$DISPLAY" ]; then
	exec xinit "$(command -v "$0")" "$@" -- :1 vt$XDG_VTNR

## Game mode.
echo "$1" | grep -q '^-' && mode="$1" && shift

## Registry functions
## On x86_64, x86-specific nodes are stored in a sub-node.
[ "$(uname -m)" = "x86_64" ] && file $(command -v wine) | grep -q '64-bit' && regnode32='\\Wow6432Node'
## Return the value of the registry KEY of NODE.
## If KEY is omitted, return the default value.
regquery() # $1=node [$2=key]
	if [ $# -eq 1 ]; then
		## "reg query" uses CRLF (\r\n) newlines, hence the call to 'tr'.
		# echo "QUERY: '$(wine cmd /c reg query "$1" /ve)'"
		wine cmd /c reg query "$1" /ve | tr -d '\r' | \
			awk '/(Default)/ {if($3) print substr($0, index($0, $3))}'
		wine cmd /c reg query "$1" /v "$2" | tr -d '\r' | \
			awk -v key="$2" '$0 ~ key {if($3) print substr($0, index($0, $3))}'
	## The 'awk' expression remove the first two fields and the leading whitespace.
## Set KEY of NODE to the VALUE of type TYPE.
## If KEY is omitted, set the default value.
regadd() # $1=node $2=value [$3=key] [$4=type]
	local switch="/ve"
	local type="REG_SZ"
	[ $# -ge 3 ] && switch="/v"
	[ $# -ge 4 ] && type="$4"
	wine cmd /c reg add "$1" /d "$2" $switch "$3" /t $type /f
path_win2unix() # $1=path
	printf '%s' "$1" | awk '{sub(/^Z:\\/, "/"); gsub(/\\/, "/"); print}'

## Add the registry nodes.
if [ -z "$(regquery "HKEY_LOCAL_MACHINE\\Software$regnode32\\Electronic Arts\\EA Games\\Generals")" ]; then
	cat<<\EOF | regedit -
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\Software\Electronic Arts\EA Games\Generals]

[HKEY_LOCAL_MACHINE\Software\Electronic Arts\EA Games\Generals\ergc]

if [ -z "$(regquery "HKEY_LOCAL_MACHINE\\Software$regnode32\\Electronic Arts\\EA Games\\Command and Conquer Generals Zero Hour")" ]; then
	cat<<\EOF | regedit -
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\Software\Electronic Arts\EA Games\Command and Conquer Generals Zero Hour]
"UserDataLeafName"="Command and Conquer Generals Zero Hour Data"

[HKEY_LOCAL_MACHINE\Software\Electronic Arts\EA Games\Command and Conquer Generals Zero Hour\ergc]

## Game settings.
gamepath() # $1=node
	## We _need_ a global here so that we can get the return value after we've
	## called this function.
	path=$(regquery "$1" InstallPath)
	[ -n "$path" ] && return
	echo "Working directory: $(pwd)"
	echo -n "Path to game folder: "
	read path
	## TODO: Support drive letter dynamically.
	## WARNING: realpath is mandatory here, but it's not portable.
	path="Z:$(realpath "$path" | sed 's@/@\\@g')"
	## Trailing backslash required.
	regadd "$1" "$path\\" InstallPath

gameserial() # $1=node $2=serial_list
	## We _need_ a global here so that we can get the return value after we've
	## called this function.
	serial=$(regquery "$1")
	[ -n "$serial" ] && return
	cat <
$(echo "$2" | awk '{print NR, $0}')
	echo -n "Select an entry: "
	read choice
	if [ "$choice" -eq 0 ]; then
		echo -n "Enter serial: "
		read serial
		serial=$(echo "$2" | awk "NR == $choice {print; exit}")
	regadd "$1" "$serial"

gamelang() # $1=node
	## We _need_ a global here so that we can get the return value after we've
	## called this function.
	lang=$(regquery "$1" Language)
	[ -n "$lang" ] && return
	while [ "$lang" != "english" ] && \
					[ "$lang" != "french" ] && \
					[ "$lang" != "german" ] ; do
		echo -n "Language (english, french, german): "
		read lang
		lang=$(echo "$lang" | awk '{print tolower($0)}')
	regadd "$1" "$lang" Language

## Register game.
echo "==> Generals"
gamepath "HKEY_LOCAL_MACHINE\\Software$regnode32\\Electronic Arts\\EA Games\\Generals"
path_generals=$(path_win2unix "$path")
gameserial "HKEY_LOCAL_MACHINE\\Software$regnode32\\Electronic Arts\\EA Games\\Generals\\ergc" "$serial_list_generals"
gamelang "HKEY_LOCAL_MACHINE\\Software$regnode32\\Electronic Arts\\EA Games\\Generals"

printf "Path: '%s'\n" "$path_generals"
echo "Serial: $serial_generals"
echo "Language: $lang_generals"

echo "==> Zero Hour"
gamepath "HKEY_LOCAL_MACHINE\\Software$regnode32\\Electronic Arts\\EA Games\\Command and Conquer Generals Zero Hour"
path_zerohour=$(path_win2unix "$path")
if [ -f "$path_zerohour"/generals.exe ]; then
	gameserial "HKEY_LOCAL_MACHINE\\Software$regnode32\\Electronic Arts\\EA Games\\Command and Conquer Generals Zero Hour\\ergc" "$serial_list_zerohour"
	gamelang "HKEY_LOCAL_MACHINE\\Software$regnode32\\Electronic Arts\\EA Games\\Command and Conquer Generals Zero Hour"

	printf "Path: '%s'\n" "$path_zerohour"
	echo "Serial: $serial_zerohour"
	echo "Language: $lang_zerohour"

	[ "$mode" != "generals" ] && path="$path_zerohour"
	echo "Zero Hour not found."

## Keyboard settings.
## Some in-game shortcuts are bound to the key symbol while others are bound to the key code.
## For instance, in the French version with an AZERTY layout "a" builds a tank
## while "q" selects all unit; with a QWERTY layout "q" becomes "a" and shadows
## the tank binding.
layout=$(setxkbmap -query -v 6 | awk '/^layout/ {printf " -layout " $2} /^variant/ {printf " -variant " $2} /^options/ {printf " -option " $2} END {printf "\n"}')
if [ "$mode" = "zerohour" ]; then
case "$lang" in
	setxkbmap fr ;;
	setxkbmap de ;;

## Video settings.
# display=$(xrandr | awk '/ connected / {print $1; exit}')
res=$(xrandr | awk '/\*/ {print $1;exit}')
resx=$(echo "$res" | cut -dx -f1)
resy=$(echo "$res" | cut -dx -f2)

## Start game.
cd "$path"
wine generals.exe -xres $resx -yres $resy -quickstart "$@"
cd "$OLDPWD"

## Restore settings
setxkbmap $layout


The following comments are owned by whoever posted them. WineHQ is not responsible for what they say.

Fix for problems associated with newer versions of wine
by Colin Johnson on Friday November 17th 2017, 15:22
If like me, you like to periodically update your version of wine (per prefix) you might find that generals/zero hour stops working. More importantly if you go back to an older version of wine it still wont work?

Problem 1 - The splash screen shows and then closes with no error code.

The reason for this is because the old versions of wine expect the "Command and Conquer Generals Data" and "Command and Conquer Generals Zero Hour Data" to be in the root of the Home folder. The newer versions of wine now expect the data to be installed in /home//Documents.

Note: Once you change a prefix to use a newer version of wine the change is permanent, even if you go back a version!

Problem 2 - The game gets past the splash screen and then shows a "Technical Difficulties" message.

This message is caused by a resolution mismatch. If the "options.ini" has got the screen resolution set higher than you desktop can support it will fail. Most will never see this problem unless you choose the "emulate a virtual desktop" option.

I am currently playing generals/zero hour with wine staging 2.19 and the only problem I have noticed is an error message when closing the game.

by Heisenberg on Tuesday September 13th 2016, 6:20
When i start the game, game stopped..
by Akbar on Friday March 4th 2016, 3:25
How can i fix it ?

by muhammed01 on Saturday February 6th 2016, 1:30
how can ı disable shaders and activate virtual desktop.
by muhammed01 on Sunday February 7th 2016, 3:35
hmmm ... found the virtual desktop, where are the shadders
Cannot get C&C Generals + Zero Hour to work
by Michael on Saturday October 31st 2015, 7:41
I can't for the life of me get this game to work. It gets to the main menu and the background renders perfectly here. When I start a new game (campaign, challenge, or skirmish) it crashes with a general error. The error is not informative in the least.

I have tried disabling shaders, enabling virtual desktop, using a nocd patch, and manually creating the options file. Nothing works. I've also tried with the latest stable release of wine as well as the latest wine-staging.

Is there anything else I can try to get this game running?
Where is the option to disable vertex shader in winecfg?
by Michael on Tuesday October 20th 2015, 8:24
There is no such option in the Graphics tab or anywhere else that I can see.
zero h won't start
by vidarusny on Tuesday May 26th 2015, 16:16

when i tried to start zero hour i have this message :
wine: Unhandled page fault on write access to 0x003f0060 at address 0x7bc4afdb (thread 002b), starting debugger...

I install d3dx9 but i have the same problem.

Anyone have an idea?
Game closes after splash
by Maverick DeCero on Friday May 15th 2015, 13:48
I've copied my install folder for Zero Hour and Generals to my Ubuntu 15.04 install from Windows 7. I did not install it as I no longer have the original CDs but instead backups I myself made on windows several years ago.

The problem with this is that I made them in MDF format, but can be alleviated through simple conversion.

My real problem lies in the fact that whenever I launch generals.exe for Zero Hour, the splash screen appears, and then a second one appears in the top left corner of my screen, overlapping part of the first one, then the whole process just closes.

C&C Generals works just fine, but Zero Hour doesn't even launch. What's the problem here? I've tried everything, to the point I even copied my old registry entries from my windows PC to wine with wine regedit to see if it'd work, and of course, it didn't.
RE: Game closes after splash
by Maverick DeCero on Friday May 15th 2015, 13:51
I'd also like to clarify that I do in fact have an options.ini file, and that I have in fact placed it in the proper folder for it. I went through the same issue with Generals, and it works, so I'm still not seeing why ZH doesn't.
RE: Game closes after splash
by K1773R on Monday May 18th 2015, 10:20
i had the same issue when switching from win to linux.
ZH needs more than just the install, i presume its some registry entries/hidden files missing. i didnt try to fix it, as i just reinstalled the whole thing.
this also was only with ZH, all others were fine.
as you have bought the game, your entitled to download the game and use it with your serial key without worrying about any legal problems.
RE: Game closes after splash
by Maverick DeCero on Tuesday May 19th 2015, 12:14
I have downloaded a copy of ZH, but sadly it's in .mdf format and I cannot for the life of me extract the files from it, or even convert it to an iso file. It takes up space, but mounting it (that is WHEN it decides to mount) makes the insides of it show up blank.

I could use my windows install and Daemon Tools to extract the files, maybe, but my cd and virtual cd drivers are currently borked at the moment.

I suppose I could get the files from a friend, thanks though.
RE: Game closes after splash
by K1773R on Tuesday May 19th 2015, 13:00
did you try with mdf2iso?
RE: Game closes after splash
by nash woods on Sunday September 13th 2015, 12:36
Did you get it to work??


by 3246251196 on Monday February 9th 2015, 17:31
Not sure why but I can run zero hour through a virtualbox windows machine - this is how I actually need to run it. If I try and open with WINE it says missing cd. So something to do with WINE and the CD is not working.

For now I just run it through VB but a little annoying.
by Maverick DeCero on Friday May 15th 2015, 13:53
You'll want to try to use a No-CD patch for whatever version you're using of Zero Hour.
Zero Hour crashes after showing splashscreen
by goliash on Wednesday September 3rd 2014, 12:54
If it crashes without any error after loading splashscreen, create options.ini file first. Normally it is created after first run of the game. It should be created in following path: documents folder/Command and Conquer Generals Zero Hour Data/options.ini


You can use e.g. this content:
AntiAliasing = 0
DrawScrollAnchor =
FirewallBehavior = 0
GameSpyIPAddress = (make sure you use your own IP)
Gamma = 50
IPAddress = (make sure you use your own IP)
IdealStaticGameLOD = High
LanguageFilter = false
MoveScrollAnchor = 0
MusicVolume = 61
Resolution = 800 600
Retaliation = yes
SFX3DVolume = 58
SFXVolume = 53
ScrollFactor = 60
SendDelay = no
StaticGameLOD = lOW
UseAlternateMouse = no
UseDoubleClickAttackMove = no
VoiceVolume = 70
C&C ZH 1.04 will not install
by evad jenkins on Sunday January 19th 2014, 21:42

Using Wine 1.7.10 on a linuxmint system:

I installed the retail CD C&C Generals from CD following the guide.

I tried to then install retail CD C&C Generals ZeroHour but the
installation failed with error -1603 every time.

Any ideas on how to debug this?
RE: C&C ZH 1.04 will not install
by Curtis Maves on Wednesday June 25th 2014, 20:55
I managed to get it to install by copying the contents of a the first disk into a folder and the from the second disk into the same folder. You can then run the setup.exe to install it.
C&C ZH 1.04 not run in Wine 1.7.6
by Diego Soares on Wednesday November 27th 2013, 18:41
I followed all steps, but the game not runs! When open he's closing after the black window! Whats the tip for my problem? Thanks.
Network play is possible!
by goliash on Sunday February 3rd 2013, 8:07
I would like to all you Generals fans know that Multiplayer mode on Linux machines is possible. I have successfully tested it and the game lasted till the end.

What was tested?
LAN multiplayer, 2 allies against 1 hard AI - Kubuntu 12.10, i386, Wine 1.4.1, C2D, Geforce 7300M and Kubuntu 12.04, amd64, Wine 1.4.1, i5, Radeon 6400M

No explosion after a start of a game, no mismatch in synchronization data. But I suppose the problem between Win PC and Linux (Wine) PC remains, I haven't tested it yet recently.
RE: Network play is possible!
by goliash on Tuesday February 5th 2013, 4:56
And in addition to this, I have tested also Win PC and Linux game and it failed afer few seconds on mismatch error so the problem remains on this configuration.
RE: Network play is possible!
by goliash on Thursday February 7th 2013, 15:10
I have done few more tests. LAN multiplayer works no matter on platform but only within let's say one router network. It worked within one ethernet or wifi network (up to 4 ms delay, I suspect that a higher delay is cause) but it didn't work on bigger networks (a. several routers and wifi connections - avg 15ms, b. tunneled through internet - avg 60ms).
ubuntu 11.10
by Masoud Serpoushani on Thursday November 17th 2011, 14:30
how can i instal Command and Conquer Generals Zero 1.04 on ubuntu 11.10 with wine 1.3.32
RE: ubuntu 11.10
by K1773R on Friday November 18th 2011, 2:27
Just do the things described in Install and Configure?
Error: -1639 invalid command line
by Matthew on Thursday August 4th 2011, 8:06
hi i get Error: -1639 invalid command line when trying to install anyone no what to do for this?
RE: Error: -1639 invalid command line
by K1773R on Thursday August 4th 2011, 8:07
Without more Infos and wihtout what you did you wont get help ;)
RE: Error: -1639 invalid command line
by Matthew on Saturday August 6th 2011, 1:55
i stated installing it installed fine then i used a crack but it was the wrong one so i uninstalled C&C Generals but when it had uninstalled i tried to reinstall it just comes up with that error i dont no what to do or what i need to install that myt have been corrupted i tried reinstalling wine and winetrix but it did nothing? i also tried deleting theC&C Generals folders but it still cums up as being an installed program on wine any ideas?
RE: Error: -1639 invalid command line
by K1773R on Saturday August 6th 2011, 2:01
you have to delete stuff in the registry ;)
i dont think you know how to do this (if you delete something wrong, it wont run anymore), so i hope you used a own wineprefix for ccgenerals! use a fresh wineprefix for ccg ;)
Mac OS X
by George Machitidze on Wednesday March 9th 2011, 11:15
Wine 1.3.14 under fink (standard compiled, not custom, just [fink install wine])
ATI X1600
Enabled virtual desktop
Disabled shader support
Installed DirectX9 redist
Installed game
Runs fast
Done :)
RE: Mac OS X
by George Machitidze on Wednesday March 9th 2011, 11:16
p.s. don't be mad on me - just testing, will install now on linux too :D
double buffering
by DrSlony on Tuesday September 21st 2010, 17:45
Gentoo 64 bit, wine-1.3.2, nVidia drivers 256.53
C&C Generals runs fine, Zero Hour doesn't.

fixme:cursor:CURSORICON_CreateIconFromANI Loading all frames for .ani cursors not implemented.
fixme:win:EnumDisplayDevicesW ((null),0,0x338648,0x00000000), stub!
fixme:d3d:swapchain_init The application requested more than one back buffer, this is not properly supported.
Please configure the application to use double buffering (1 back buffer) if possible.
fixme:d3d8:ValidatePixelShader (0x2ed05d4 (nil) 0 (nil)): stub
fixme:imm:ImmReleaseContext (0x10064, 0x133278): stub

How do I do that?
RE: double buffering
by K1773R on Sunday May 15th 2011, 6:09
sadly i got the same problem, didnt found a solution yet.

fixme:win:EnumDisplayDevicesW ((null),0,0x33873c,0x00000000), stub!
fixme:d3d:swapchain_init The application requested more than one back buffer, this is not properly supported.
Please configure the application to use double buffering (1 back buffer) if possible.
err:ole:CoGetClassObject class {2b2cc8b0-2dc0-48c6-b6fd-c07820a6477e} not registered
err:ole:CoGetClassObject class {2b2cc8b0-2dc0-48c6-b6fd-c07820a6477e} not registered
err:ole:create_server class {2b2cc8b0-2dc0-48c6-b6fd-c07820a6477e} not registered
err:ole:CoGetClassObject no class object {2b2cc8b0-2dc0-48c6-b6fd-c07820a6477e} could be created for context 0x7
fixme:d3d8:ValidatePixelShader (0x2fe04c8 (nil) 0 (nil)): stub
fixme:imm:ImmReleaseContext (0x202f2, 0x137df8): stub
by Hugo on Thursday March 25th 2010, 11:29
I cannot seem to get online working properly.

I can login to the online section, and then create a game with my friend, but when i start the game, only my load beam goes up, and for him its the same, only his game loads ???

i use wine 41 and he uses win xp.

RA2 online seems to be running without any problems...
DirectX 8.1
by Beri on Saturday March 13th 2010, 4:13
got a problem while starting C&C, splash screens shows up and then:
DirectX Error; make sure you have directX 8.1 or higher installed.

I Installed it with the game, running as Wine 1.1.40, win version (tried xp, vista, 7) on a geforce 8800 GT, ubuntu 9.04 64 Bits on Intel Quad Core.

Does anyone know how to fix this ?
RE: DirectX 8.1
by Beri on Saturday March 13th 2010, 4:14
Forgot to tell I tried several wine version, including the 1.1.26 (same as in the report) did not change anyting regarding the DirectX error.
RE: DirectX 8.1
by Hugo on Monday February 7th 2011, 13:50

I had the same for a while.
Then I found out that the game (both generals AND zero hour) will work as long as you set the option "emulate virtual desktop" in your winecfg graphics settings.

Also, if you set the resolution of that virtual desktop to be equal to the resolution of your ubuntu desktop, it will still look as if the game is fullscreen.

Hope this helps someone.

RE: DirectX 8.1
by Beri on Monday February 7th 2011, 14:52
Whaou, thanks a lot Jugo, you finally let me play this wonderful game !
Only down is that the virtual desktop lets the mouse go on my AWN Bar, but anyway, still good !
Big up for you ;)
RE: DirectX 8.1
by Hugo on Tuesday February 8th 2011, 8:45
I think if you check the checkbox "allow directx to keep mouse in program" (or something similar) in the "graphics" tab of winecfg that your mouse should be captured in the wine window unless you close wine or rotate the desktop cube.

Not 100% sure about that though. Let me know if it helped.
Ground textures bug (nvidia users)
by Incinerator on Sunday September 20th 2009, 13:05
If there are no ground textures in your game (white/green ground) or if they are too darked and contain artifacts then you should create a DWORD value VideoPciDeviceID in [HKCU\Software\Wine\Direct3D] (create Direct3D key if you don't have it) and set it to hex 0x01nn (nn - is certain variables: choose what you like here - ).


Detailed info here:

* it is not known that ATI users experiencing the same behaviour.
RE: Ground textures bug (nvidia users)
by Hugo on Thursday March 25th 2010, 8:54
This really worked.
I have a NVidia 7900 GTX, and with using code 0x0290 in the DWORD string my texture problem was resolved.
double installation may fail, bug 14930
by sub mesa on Saturday August 1st 2009, 5:31
C&C: Zero Hour is affected by bug 14930, if you do not install properly the first time. For example, the first time you install it asks you to switch the CD, but this doesn't work ofcourse as linux doesn't have something like DaemonTools. So the install fails. Next time you make a .iso with both CD's included, and install from there.

That should work, but there are still some files in the install directory. Any subsequent install will fail because it will not overwrite the files in this directory, because of some "read only" DOS-attribute i don't fully understand. Anyway, to fix it simply remove the installation folder and restart the setup. The error message i got was:

Feature transfer error

in console:

err:msi:msi_cabextract FDICopy failed
err:msi:ACTION_InstallFiles Failed to extract cabinet: L""
err:msi:ITERATE_Actions Execution halted, action L"InstallFinalize" returned 1627

So if this happens to you, delete the target files because its a file overwrite problem.
RE: double installation may fail, bug 14930
by Paul S. on Friday September 24th 2010, 17:07
Two possible fixes.

Approach 1:

Insert CD.

wine cmd

cd D:

Setup.exe (or whatever)

When new disc is asked for:


insert new disk


Approach 2:

Use gcdemu. It IS like daemon tools for Linux. Quite nice. Good luck folks.