This paper proposes a novel linear precoder design based on the singular value decomposition (SVD) for multi-input multi-output visible light communications (MIMO VLC). We provide an analytical expression on power allocation subject to the function of maximizing the lower bound of capacity according to the optical wireless communication channel model. The expression is rather different from the radio frequency (RF) communications due to the non-negativity of the transmitted signals in VLC. Furthermore, we design an adaptive bit loading scheme for sub-streams with consideration of the tremendous gain difference among subchannels. Performances of the proposed adaptive power and bits allocation strategy are evaluated in two traditional MIMO VLC scenarios, i.e., a practical 2× 2 indoor scenario and a classical 4×4 system that is generated according to the MIMO model. In simulations, the techniques of unipolar M-level pulse amplitude modulation (M-PAM) and spatial-multiplexing (SMP) are employed, and the performance comparison with other SVD-based linear precoders is also given. Simulation results show that the proposed approach can effectively improve the spectral efficiency and guarantee the bit error rate (BER) performance under the same constraints of aggregate optical power budget and non-negativity included by the intensity modulation. It indicates that the strategy of uneven bits and power allocation with full consideration of the ill-conditioned characteristics of subchannels performs better than that based on equal bits transmission in VLC systems.