In the design of differentially private mechanisms, it is usually assumed that a uniformly random source is available. However, in many situations it seems unrealistic, and one must deal with various imperfect random sources. Dodis et al. (CRYPTO'12) presented that differential privacy can be achieved with Santha-Vazirani (SV) sources, introduced in 1986, via adding a stronger property called SV-consistent sampling and left open the question if differential privacy is possible with more realistic, i.e., less structured, sources. A new source, called bias-control limited (BCL) source, introduced by Dodis (ICALP'01), is more realistic. It can be considered as a generalization of the SV and sequential bit-fixing sources. Unfortunately, the natural extension of SV-consistent sampling to the BCL source is hopeless to achieve differential privacy, mainly because SV-consistent sampling requires “consecutive” strings, while some strings cannot be generated from “non-trivial” BCL sources. Moreover, there exists some inconsistency in the bit lengths of random sources between the mechanism construction and the proofs for differentially privacy presented by Dodis et al. (CRYPTO'12). More appropriate mechanisms and more rigourous proofs are needed. Motivated by these questions, we introduce a new appealing property, called compact BCL-consistent sampling, the degeneration of which is different from SV-consistent sampling shown by Dodis et al. (CRYPTO'12). We prove that if the mechanism based on the BCL source satisfies this property, then it is differentially private for certain parameters. Even if the BCL source is degenerated into the SV source, our proof is much more intuitive and simpler than that of Dodis et al. Further, we construct an explicit finite-precision mechanism using an improved construction of infinite mechanism and a new truncation technique. We also propose its concrete results for differential privacy and utility, one core proof step of which is trickier and much shorter than the counterpart by Dodis et al. (CRYPTO'12). While the results of Dodis and Yao (CRYPTO'15) imply that if there exist differentially private mechanisms for imperfect randomness, then the parameters should have some constraints, we show an explicit construction of such mechanisms, whose parameters match the prior constraints.