Massive changeset for Linux port; testing soon.