I recently had a problem with my Sony RX100 mk3: it wouldn’t automatically swap between displaying in the viewfinder and on the LCD.
If turned on with the viewfinder extended, the viewfinder alone would work; if turned on with the viewfinder shut, the LCD would work. But if the viewfinder was on, raising and lowering it to my eye wouldn’t swap between the two. I spent a while faffing with this, convinced it was broken, and failing to find anything on the internet to discuss this.
Anyhow, then I found this video which explains the problem, and takes a full two minutes to get to the point. So I’m re-iterating that point, in writing, for everybody using a search engine!
Long story short: if you’d guessed that the sensor that detects when it to your eye is playing up, possibly, because of dirt, you’re entirely right. What you might not have worked out is where that sensor is.
It’s not in the viewfinder; it’s to the right of it, on the lip above the LCD. Mine didn’t look dirty, but I wiped it down a few times and sure enough, everything worked fine again. Problem solved, and one of the most useful features of this little camera worked properly again.