tl;dr version: Win7+ doesn’t come with DirectX 9. Install it from here and Omerta should work fine.
long version:
I like Mafia stuff. Movies, games, what have you. I bought “Omerta – City of Gangsters” on a Steam sale a while back for some Mafia-themed sandbox gaming fun but never fired it up… until tonight.
And tonight it wouldn’t start. And so I scratched my head and did what any good techie would do. I tried again. I restarted Steam. I verified the game cache integrity. I deleted the game. I re-installed the game. I rebooted the computer. I tried several of these again, scratched my head, stroked my beard, and went, “Huh.”
I searched the internet. Somebody there said they had the same problem, but used a Torrent to fix it. Um, no thanks. There’s gotta be a way, right?
Then I saw someone else who said, “The game works fine on Windows XP or in WinXP Mode… Try that!”
That got me asking myself: “What’s different about Windows 8 (or 8.1, or 7) and Windows XP from a video game perspective?”
I couldn’t come up with a quick answer, so I did some more digging. I ran into my …\steam\steamapps\common\Omerta folder and found the executable for the game, thinking that Steam might be swallowing whatever error I *should* be seeing. Sure enough, I got my answer in the form of this error dialog:
So back to the question at hand. What’s the difference between XP and Win7+ from a game’s point of view? That’s right! The in-box version of DirectX.
You see, most games need DirectX to talk to the video hardware. And they need a specific version. DirectX 9 games need DirectX 9, not DirectX 10 or 11, etc. As it happens, Windows 7 and Windows 8 don’t ship with DirectX 9 “out of the box”…
This problem is easily remedied. Download this:
http://www.microsoft.com/en-us/download/details.aspx?id=35
And run it. That will scan your system and add any missing DirectX 9 files.
Once that’s done, Omerta should start up just fine.
“Keep the change, you filthy animal!”