so, I have a weird problem with a Dell Latitude 5285, that’s a 2-in-1 with a detachable keyboard akin to the MS Surface Pro 5. it has an i5-7300u, 16 GB LPDDR3 (on-board), 500 GB NVMe, 12.3" 1920x1280 3:2 touch screen.

I got it second-hand, unknown history, without a battery. they’re stuck at 400 MHz without one, but Thottlestop in Windows and msr-tools in Linux fix the BD_PROCHOT throttling and the machine performed adequately for months.

I’ve sourced a replacement battery, removed the patch and my problems started. there’s weird screen flickering, looks like bad video ram or a flaky connection. it’s intermittent, sometimes it runs without issues for hours, sometimes minutes and sometimes it flickers from the start, so troubleshooting and checking if this or that fixed things takes days.

the artefacts are inconsistent with anything that is or isn’t happening (load, temps, etc) or power source. the problem is mostly exacerbated when the battery is full and/or when waking from sleep, it’s almost always super glitchy then.

here’s a demonstration:

would be great if I could try a different battery or try this one in another device, but don’t have that option.

at no point are there ANY glitches on the external display (tried DP-Alt over USB Type-C and HDMI over Dell WD19 Dock), regardless if the internal screen is enabled or not.

so, bad luck - faulty screen or backlight or RAM or something, right?

except, when I unplug the battery (but leave it in place) and connect it to power and reenable the BD_PROCHOT patch - zero glitches! it runs for hours - videos, GPU and CPU stress test, not one hiccup, tear, nothing!

if it were a normal laptop, I’d just leave it be and use it as a desktop. it feels like such a waste with the functional touchscreen though.

what I’ve tried:

  • different USB Type-C chargers
  • fresh paste on CPU, clean vent
  • latest firmware, tried downgrading, no change
  • memtest passed twice on thorough, all clear
  • internal diagnostics also
  • it never froze or crashed
  • screenshot during glitches doesn’t contain them
  • disabling turbo, upping/lowering the max/boost GPU clock, forcing cores offline, limiting max frequencies with TLP
  • the battery isn’t deformed and doesn’t exert pressure on the screen or any cables; also tried running it with the screen slightly lifted from the case, no change
  • pressing, jerking, wiggling of the internal display cable/connector, no change
  • same issues in Windows 11, Ubuntu 23.04 and Fedora WS 38; rarely but sometimes in BIOS/during boot
  • sadly, can’t undervolt the CPU/GPU (Throttlestop FIVER says it’s locked) but some MSR writes are apparently OK (like disabling BD_PROCHOT works).

at some point, it had both charger and dock with PD attached at the same time to both USB Type-C ports; it’s possible this fried something, although I have no evidence of that.

so, I’m sure this is NOT a linux hardware problem, but I would like to use linux to fix the problem. at this point, I am sure it’s defective, whether it’s age or physical or manufacturing defect or whatever; but since it definitely works perfectly without the battery, I’m looking for some tweaks that makes it perform with the battery the same as without it.

seriously doubt anyone’s seen anything similar but are there any ideas what to look at? what to try?

edit: I’m not asking for free hardware troubleshooting, maybe I haven’t expressed myself succintly. what I’d like is some sort of snapshot of all relevant registers with battery working. and then one without. and then have somehow the difference between those two computed, so I can see which setting I need to tweak. would this be doable?

  • I have had an identical problem a few years back, with a Samsung 2 in 1 that worked perfectly on AC, but had exact issues on battery.

    It was the “power saving” capability of the GPU that triggered it on battery. So simply disabling this is the integrated Intel GPU control panel (in Windows) fixed the problem. Laptop is still running now and works with my sister in law.

    • thanks for chiming in. yeah, some surface models are prone to have these issues as well, I remember trying that in windows but with no results. in linux, the i915 driver doesn’t have that option any more, or I suck at reading comprehension… anyhow, not sure that’s the same issue, as my device has these spells also when on AC power but with battery installed. the only times it’s functioning properly is when it’s on AC and with battery removed. but this looks like a promising lead to research further.