If it reports the same values for everyone, or randomizes them every start (like display resolution and timezone), then it becomes less useful for fingerprinting. In fact, it calculated a different fingerprint altogether this time, though it did know it was the second time I visited.
I’m not sure whether it needs JavaScript to read the values? I’d like to know.
Yeah no, it actually will need JS for most of that information. Otherwise the server will just get the HTTP request header which includes your browser's user-agent and some other less identifying stuff, plus maybe your IP (unless you're behind a VPN).