Maybe it just needs a better lookup table or some preprocessing.
I’ve seen some impressive 1-bit displays, so 8 shades shouldn’t be harder than that.