Archive

Region Free DVD

The aim of this page is to make the whole DVD-ROM region free situation clearer. DVDs containing films or TV series are encoded with a “region”. This is an artificial measure introduced on top of the DVD format at the behest of content producers. “Region 1” is made up of the US and Canada for example. The UK is in “Region 2”. Some DVD discs are produced with multi-region encoding and are designed to play in more than one region. Rarely are commercial discs produced without any region protection (also known as Region 0 discs), but Revolution OS is an example. This page contains the following map of DVD regions:

http://www.hantslug.org.uk/images/dvdworldmap.gif

Region encoding serves to stop DVDs being shipped between regions, for example to stop DVDs sold on-line by sites based in Asia or Russia being shipped to the UK for less than the “high street” price. Also, DVDs are generally released in the US six months ahead of the UK, and region encoding is designed to stop DVDs from the US eroding box office takings of films in the UK. The move to introduce region protection angered many following the development of the DVD format, who saw a powerful format being artifically crippled for purely commercial reasons.

Region protection at the hardware level

There are two layers of DVD region “protection” in a computer running Microsoft Windows and equipped with a DVD-ROM drive. Only one of these layers is present on a computer running Linux, you will probably have to deal with Windows in order to make your DVD-ROM play discs from any region under Linux.

The first level of region protection is the firmware on the DVD-ROM drive itself. As this is based in the hardware of the drive, it is OS independent and can cause problems for Linux users wanting to play DVDs from different regions as well as those using Windows. This wasn’t always the case, though. Early DVD-ROM drives had “RPC-1” firmware, which meant that they would play a DVD from any region. However, content producers soon started demanding that region encoding be enforced on DVD-ROM drives and all DVD-ROM drives produced in the last 5 years (or thereabouts) have “RPC-2” firmware. This gives users a limited number of region changes that can be made before the drive “locks” to a specific region. Commonly, 5 changes are allowed. Windows supports changing DVD region through Device Manager and there are Linux utilties to do the same (e.g regionset). The initial region in the drive’s firmware is set by Windows based on the region of the first DVD disc inserted. It is possible to set the initial region on a new drive using the aforementioned regionset.

The theory behind the “tally of changes” is that it would allow someone to physically relocate to a different region (i.e. move from the UK to US) and be able to purchase DVDs and play them on the computer that they purchased “back home”. They may then relocate a further 4 times without purchasing new DVD-ROM hardware. However, this approach doesn’t take into account that users are likely to want to be able to watch the DVDs that they purchased whilst living in other regions as well as those they purchase in their new location. Of course, it is in the content providers financial interests if a user has to repurchase all their DVDs if they moves to a different region.

Thankfully there is hope for those wishing to play DVD-ROMs from different regions. One option (but not the easiest, necessarily) is to look for an old, RPC-1 DVD-ROM drive on ebay. A second option is to purchase multiple DVD-ROM drives and set one to each region for which you have discs, although this requires a tower case and money to spare. Probably the easiest option is to locate a firmware patch for your DVD-ROM drive. These are not fimware revisions produced by the manufacturer, but by people who have reverse-engineered the firmware in RPC-2 drives and produced a modified version. Generally these modified versions either change the DVD-ROM drive to behave like an RPC-1 drive and play dics from any region. An alternative type of firmware is the “RPC-2 resetting” firmware. This makes the drive act like a normal RPC-2 drive, except that the count of changes to the drive’s region setting is reset every time the system is powered off. This approach is more likely to be of use to Windows users who a) reboot their PC more often than Linux users do and b) want to fool auditing or DVD playing software in to thinking that their drive is a normal RPC-2 drive – something that Linux users probably don’t have to worry about.

Sites like http://www.rpc1.org hold a large repository of patched firmwares of both RPC-1 and RPC-2 resetting varieties. However, the flashing software is generally Windows-based, so you will have to use Windows in order to flash the firmware. Flashing your DVD-ROM drive with firmware other than supplied by the manufacturer will, of course, invalidate your warranty. Flashing any firmware to a hardware device is a risky process – if the flash fails you can end up with a paper-weight rather than a DVD-ROM drive. One limitation of this approach is that you have to know what model your DVD-ROM drive is and hope that there is a patched firmware available. However, you may be able to contact someone via the forums at rpc1.org who can help develop a patched firmware. Again, this will require the use of Windows-based utilities. Alternatively, you could try and locate a supplier who provides DVD-ROM drives that are pre-flashed.

Region protection at the OS level

The second layer of region “protection” is at the OS level and is only really a problem for Windows users – Microsoft (or rather the companies who are producing DVD-playing software using licensed codecs) detect changes in the DVD-ROM drives RPC-2 region switching count and also keep track of the number of changes made. Most Windows DVD-playing software will stop changing region after 5 changes in the same way that an RPC-2 drive does. In order to “reset” this count requires reinstallation of the DVD playing software (at best) or the entire OS (at worst). However, because the region code used by the software is generally stored in the Windows registry and there exist tools like DVD Genie to change those values for all sorts of Windows DVD-playing software. So that layer of protection is pretty ineffectual. Even with a patched RPC-1 or RPC-2 resetting DVD-ROM drive, one still needs to use region switching software like DVD Genie to allow Windows DVD-playing software to play discs from different regions.

Whilst GNU/Linux as an OS, and Linux-based DVD players like Xine or Ogle don’t give a tinkers cuss about which region a disc is designed for, this won’t stop the DVD-ROM drive firmware preventing discs from regions other than that set in its firmware from being played.

Getting around the problem

Linux users who wish to play DVDs from different regions may still need to use either RPC-1 firmware or RPC-2 resetting firmware and the regionset utility. A caveat here is that some people have reported using some modern drives without patching the firmware to play discs from different regions. If you try Xine or Ogle and find that they play all your discs from around the world, good on you! For most people though, that won’t be the case. For Liteon drives, it is not necessary to flash the firmware. The LtnRPN utility allows region settings to be tweaked or disabled without the risk of flashing the drive. Although it does require Windows XP to run…

Another thing to be aware of comes from TonyWhitmore‘s experiences when he purchased a laptop in early 2004: “Being aware that an RPC-2 drive shouldn’t have a region set when shipped, I didn’t boot into the supplied Windows OS at all, but re-partitioned and installed Debian first off. When I tried playing DVDs from different regions on my RPC-2 “region-unset” drive I experienced bizarre results that took a while to figure out. Linux wasn’t setting the region code on the DVD-ROM firmware when I tried to play a DVD (as Windows does), so the drive was staying region-unset. The upshot of all this was that only some discs would play, whilst others, perhaps with CSS, weren’t happy with being played on a drive that was unable to report a region-code and refused to play. The regionset utility did not work in my case, either.

However, once I had booted into Windows and inserted a Region 2 DVD, I was able to boot into Linux and play all DVDs from Region 2, and some non-CSS DVDs from Region 1. The regionset utility was able to chang the drive’s region and I could then play Region 1 CSS DVDs and non-CSS DVDs from any region. Before long, an RPC-1 and RPC-2 resetting firmware for my drive became available through http://www.rpc1.org and I went for the RPC-1 firmware. Once I’d flashed my DVD-ROM drive with this (under Windows) I was able to play all Region 1 and Region 2 DVDs under Linux without issue (or the need to reboot).”

libdvdcss

It is also possible to use exported shell variables to change the method used by libdvdcss to decode DVDs that use CSS. Some people have reported that this can also eliminate region encoding. Quote from http://www.mplayerhq.hu/DOCS/HTML/en/dvd.html: :The authentication and decryption method of the new-style DVD support is done using a patched libdvdcss (see above). The method can be specified through the environment variable DVDCSS_METHOD, which can be set to key, disk or title.

:If nothing is specified it tries the following methods (default: key, title request): ::1. bus key: This key is negotiated during authentication (a long mix of ioctls and various key exchanges, crypto stuff) and is used to encrypt the title and disk keys before sending them over the unprotected bus (to prevent eavesdropping). The bus key is needed to get and predecrypt the crypted disk key. ::2. cached key: MPlayer looks for already cracked title keys which are stored in the ~/.mplayer/DVDKeys directory (fast ;). ::3. key: If no cached key is available, MPlayer tries to decrypt the disk key with a set of included player keys. ::4. disk: If the key method fails (e.g. no included player keys), MPlayer will crack the disk key using a brute force algorithm. This process is CPU intensive and requires 64 MB of memory (16M 32Bit entries hash table) to store temporary data. This method should always work (slow). ::5. title request: With the disk key MPlayer requests the crypted title keys, which are inside hidden sectors using ioctl(). The region protection of RPC-2 drives is performed in this step and may fail on such drives. If it succeeds, the title keys will be decrypted with the bus and disk key. ::6. title: This method is used if the title request failed and does not rely on any key exchange with the DVD drive. It uses a crypto attack to guess the title key directly (by finding a repeating pattern in the decrypted VOB content and guessing that the plain text corresponding to the first encrypted bytes is a continuation of that pattern). The method is also known as “known plaintext attack” or “DeCSSPlus“. In rare cases this may fail because there is not enough encrypted data on the disk to perform a statistical attack or because the key changes in the middle of a title. This method is the only way to decrypt a DVD stored on a hard disk or a DVD with the wrong region on an RPC2 drive (slow).

Further Reading

http://www.michaeldvd.com.au/Articles/PALvsNTSC/PALvsNTSC.asp – “There has been endless debate on the relative merits of the quality of PAL images versus the quality of NTSC images. In this article, I want to present you with the arguments for and against both PAL and NTSC on DVD so that you can make an informed decision when purchasing your DVDs in regards to the best version to buy.”

Leave a Reply