I tried 2 libraries (u8g2lib, Adafruit_SSD1306) with a ssd1309/oled 2.42" 128/64 display (noname China) and got the same result. Every second row of pixels has their brightness reduced. Except for the center of the screen.
I imagine that the sweep of the lines is zigzag, so the odd lines (if we say the top one is No. 1) sweep from left to right and the even ones do so in the opposite direction, then they all start with a brightness level that decays as the sweep progresses.
It seems like there is a faulty capacitor, perhaps.
I found step-down power convertor (U6, XC6206-3.3V) and step-up power convertor (U9, SX1308). Both are tolerant to 5V.
So I also tried:
Phone charger (usb 5V)
powerbank (usb 5V)
battery 3,6 v directly to the oled shield.
In ALL cases - same defect.
I'm thinking about unsoldering the step-up power convertor (U9, SX1308) and supplying 12 Volts from a 12 Volt battery directly to the 12 Volt input of the display. Does this make sense?