Note: This page is horribly out of
date.
You can find the current pages for the dm-crypt
project (the Linux kernel part) here:
https://gitlab.com/cryptsetup/cryptsetup/wikis/DMCrypt
and the project page for the command line tool
cryptsetup (with Linux Unified Key
Setup - LUKS) here: https://gitlab.com/cryptsetup/cryptsetup.
Old page:
Device-mapper is a new infrastructure in the Linux 2.6 kernel that provides
a generic way to create virtual layers of block devices that can do different
things on top of real block devices like striping, concatenation, mirroring,
snapshotting, etc... The device-mapper is used by the
LVM2 and
EVMS 2.x tools.
dm-crypt is such a device-mapper target that provides transparent encryption of
block devices using the new Linux 2.6 cryptoapi. The user can basically specify
one of the symmetric ciphers, a key (of any allowed size), an iv generation mode
and then the user can create a new block device in /dev. Writes to this device
will be encrypted and reads decrypted. You can mount your filesystem on it as usual.
But without the key you can't access your data.
It does basically the same as cryptoloop only that it's a much cleaner code and
better suits the need of a block device and has a more flexible configuration
interface. The on-disk format is also compatible. In the future you will be able
to specify other iv generation modes for enhanced security (you'll have to
reencrypt your filesystem though).
I've set up a Wiki.
There's a mailing list at .
If you want to subscribe, use the mailman
web interface or its
archive.
Gmane provides a NNTP interface and also a
web archive
for this mailing list.
There is support for dm-crypt in the latest official kernel
2.6.4
which you can find on kernel.org.
Please use the mirrors for downloads.
There is a HIGHMEM cryptoapi bug in kernels before 2.6.4-rc2, please
upgrade if you were using such a kernel.
The latest version of the native userspace setup tool is cryptsetup 0.1.
Clemens Fruhwirth is maintaining an
enhanced
version of cryptsetup with the LUKS extension that allows you to have an
on-disk block of metadata which is superior to the current mechanism and was
my long term plan anyway but I didn't find the time to implement that yet...
A Complete 2026 Guide to Fixing the Most Infamous Launch Crash
If you have googled the phrase "batman arkham city fatal error qa approved build january work", you are likely staring at a grey error box instead of gliding through the rain-soaked streets of Arkham City. You are not alone. This specific error message has haunted PC gamers for over a decade, resurfacing every time someone installs the Game of the Year Edition from Steam, Epic, or GOG.
The message reads something like:
“Fatal error! QA approved build – January. Work in progress build – do not use.”
It appears just as the intro cinematic ends—right when Hugo Strange’s voiceover begins. The game crashes to desktop without mercy. Why does this happen in 2026? And more importantly, how do you fix it?
Let’s break down the origin of the error, why the “January build” matters, and the step-by-step solutions that actually work.
For over ten years, PC gamers have encountered a cryptic, infuriating error message when launching Batman: Arkham City (specifically the Game of the Year Edition). The error reads:
"Fatal Error. QA Approved Build. January XX, 201X - 10:XX:XX"
If you're reading this, you’ve likely been searching for the exact phrase "batman arkham city fatal error qa approved build january work" — hoping that someone, somewhere, has finally cracked the code to make this game run on modern Windows 10 or Windows 11 systems.
Good news: There is a solution. This article will explain what this error means, why it happens, and — most importantly — provide a definitive, step-by-step guide to making Batman: Arkham City work in 2025 and beyond.
| Symptom | Fix | |---------|------| | Error shows "QA Approved Build Jan" | Replace .exe with retail v1.04 | | Crash right after splash screen | Kill GFWL via xliveless | | Crash on "Loading PhysX" | Set PhysX to Low or Off | | Crash when entering menus | Force DX9 mode | | Crash after 10-20 mins of play | Apply 4GB patch | | Crash with memory address 0x00005 | Install VC++ 2010 x86 |
After applying Fixes #1 through #4, here’s how to verify the error is gone:
If the error persists, the nuclear option is to install the “Return to Arkham” version via Xbox Cloud Gaming or buy the game on GOG (which packages a clean, pre-patched offline installer without the January QA build check).
Sometimes a single texture file is missing, and when the game tries to load that specific texture, it crashes with the generic QA error.
The QA build expects specific VS2010 runtimes. If they are missing or corrupted:
This is the "turn it off and on again" of PC gaming and works 90% of the time for this specific issue. It forces the launcher to replace modified or corrupted files with the original, clean versions.
The on-disk layouts used by the current 2.6 cryptoloop are supported by dm-crypt.
Cryptoloop also uses cryptoapi so the name of the ciphers are the same. Cryptoloop also
supports ECB and CBC mode. Use <cipher>-ecb and
<cipher>-plain accordingly with dm-crypt. If you didn't
explicitly specify either -ecb or -cbc before you don't need it now, the default plain
IV generation will be used. There will be additional (incompatible, but more secure) possibilites
in the future because the unhashed sector number as IV is too predictible.
You'll need to figure out how your passphrase was turned into a key to use for losetup.
There are several patches floating around doing things differently. But usually cryptsetup
will provide a working solution to recreate the same key from your passphrase.
If you want to migrate from 2.4 cryptoloop please take a look at Clemens Fruhwirth's
Cryptoloop
Migration Guide. He describes the differences between 2.4 and 2.6 cryptoapi (or basically
the bugs in 2.4 cryptoapi...). If you need to cut the key size you can use the -s
option instead of playing with dd.
(BTW: Clemens has a i586 optimized version of the aes and serpent cipher on his page,
about twice as fast as the kernel implementation.)
Why dm-crypt?
Originally it started as a fun project because I wanted to play with the new Linux 2.6 internals.
I got a lot of great help from the device-mapper guys at Sistina (now Redhat). Thank you very
much!
It turned out that this implementation worked great and is very clean compared to the hacked
loop device. The device-mapper core provides much better facilities to stack block devices.
dm-crypt uses mempools to assure we never run into out-of-memory deadlocks when allocating
buffers.
Also the device-mapper configuration interface provides much more flexibility than the losetup
ioctl. And you can create as many devices as you want with any names you want and combine them
with other dm targets. Online device resizing is also possible, e.g. if you use dm-crypt on top
of a logical volume. There might perhaps even be LVM or EVMS support for device encryption
in the future.
A Complete 2026 Guide to Fixing the Most Infamous Launch Crash
If you have googled the phrase "batman arkham city fatal error qa approved build january work", you are likely staring at a grey error box instead of gliding through the rain-soaked streets of Arkham City. You are not alone. This specific error message has haunted PC gamers for over a decade, resurfacing every time someone installs the Game of the Year Edition from Steam, Epic, or GOG.
The message reads something like:
“Fatal error! QA approved build – January. Work in progress build – do not use.”
It appears just as the intro cinematic ends—right when Hugo Strange’s voiceover begins. The game crashes to desktop without mercy. Why does this happen in 2026? And more importantly, how do you fix it? A Complete 2026 Guide to Fixing the Most
Let’s break down the origin of the error, why the “January build” matters, and the step-by-step solutions that actually work.
For over ten years, PC gamers have encountered a cryptic, infuriating error message when launching Batman: Arkham City (specifically the Game of the Year Edition). The error reads:
"Fatal Error. QA Approved Build. January XX, 201X - 10:XX:XX"
If you're reading this, you’ve likely been searching for the exact phrase "batman arkham city fatal error qa approved build january work" — hoping that someone, somewhere, has finally cracked the code to make this game run on modern Windows 10 or Windows 11 systems. “Fatal error
Good news: There is a solution. This article will explain what this error means, why it happens, and — most importantly — provide a definitive, step-by-step guide to making Batman: Arkham City work in 2025 and beyond.
| Symptom | Fix | |---------|------| | Error shows "QA Approved Build Jan" | Replace .exe with retail v1.04 | | Crash right after splash screen | Kill GFWL via xliveless | | Crash on "Loading PhysX" | Set PhysX to Low or Off | | Crash when entering menus | Force DX9 mode | | Crash after 10-20 mins of play | Apply 4GB patch | | Crash with memory address 0x00005 | Install VC++ 2010 x86 |
After applying Fixes #1 through #4, here’s how to verify the error is gone:
If the error persists, the nuclear option is to install the “Return to Arkham” version via Xbox Cloud Gaming or buy the game on GOG (which packages a clean, pre-patched offline installer without the January QA build check). It appears just as the intro cinematic ends—right
Sometimes a single texture file is missing, and when the game tries to load that specific texture, it crashes with the generic QA error.
The QA build expects specific VS2010 runtimes. If they are missing or corrupted:
This is the "turn it off and on again" of PC gaming and works 90% of the time for this specific issue. It forces the launcher to replace modified or corrupted files with the original, clean versions.
Please contact the mailing list: dm-crypt@saout.de. Or in case there is a problem with the mailing list, me: .