I did simple console test on linux mint (debian distro) with TDataModule, it doesn't need LCL. My "Required package" section is empty. If project has LCL in "Required package" then all visual libs are fired like GTK, QT etc even if console application is working like console application. But I'm not sure, LCL mean "Lazarus Components Library" so it not mean "visual" but it is equivalent of delphi VCL which mean "Visual Componets Library"