🔗️ Transcript generavimas youtube-video
🔗️ Skirtingi ekranai. Netikro teksto generavimas kaip xmatrix tik svetainėje.
🔗️ Geopolitical risks (blackrock)
MiniCPM-V hugingface
https://ollama.com/library/minicpm-v4.6
https://github.com/OpenSQZ/MiniCPM-V-CookBook
examples:
https://github.com/OpenSQZ/MiniCPM-V-CookBook/tree/main
Pdf extraction of data:
https://github.com/icereed/paperless-gpt
https://github.com/imanoop7/Ollama-OCR
https://github.com/CatchTheTornado/text-extract-api
Public api: https://github.com/OpenBMB/MiniCPM-V/blob/main/docs/api.md
sk-pQ8L2zF3XmR5kY9wV4jB7hN1tC6vM0xG3aD5sH2bJ9lK4cZ8https://artificialanalysis.ai/articles/openbmb-launches-minicpm-v-4-6-1-3b-instruct
Your external monitor randomly blinks, the picture jumps back to the laptop screen for a few seconds, then reconnects on its own — but on Windows everything is perfect. Here's exactly why it happens on Linux with an AMD GPU, how to confirm it from the logs, and the one-line fix that solves it for most people.
You have an external display plugged into an AMD-powered laptop. From time to time:
It's intermittent, it's annoying, and because Windows is fine you assume it's not the hardware. Let's prove what it actually is.
Right after the next blink, open a terminal and run:
journalctl -k -b | grep -iE 'dpcd|link training|retrieve_link_cap|resuming'
If your machine has the same problem, you'll see a line like this:
kernel: [drm:retrieve_link_cap [amdgpu]] *ERROR* retrieve_link_cap: Read receiver caps dpcd data failed.
That single line is the whole story.
Your monitor is connected over DisplayPort (a native DP port, a USB-C→DP cable, or a dock). When the GPU brings the link up, it must read the monitor's capabilities — called DPCD (DisplayPort Configuration Data) — over a tiny side-channel in the cable known as the AUX channel.
When that AUX read fails, the driver can't negotiate the link, so it drops the external output. The picture falls back to the laptop panel. A moment later it retries, the read succeeds, and the monitor comes back. That is exactly the blink–disconnect–reconnect cycle you see.
This is the part most guides get wrong. If the same cable and monitor work on Windows, the physical link is good enough — so the difference is in how each driver handles a marginal link. The real cause is usually a combination:
amdgpu gives up and logs an error. When a DPCD/AUX read hiccups, the Windows AMD driver does aggressive, invisible retries before you notice. Linux's
amdgpu is less forgiving — it logs the failure and tears the output down. Same glitch, different reaction.amdgpu enables an aggressive display power-saving feature called PSR (Panel Self Refresh). Entering and exiting PSR
re-touches the display link and disturbs the AUX channel — exactly the channel that's failing. Windows often tunes this very differently or leaves it off.amdgpu has had a steady stream of AUX/link-training fixes across kernel releases.In short: the link is slightly marginal, Windows hides it, and Linux's PSR power-saving exposes it.
The highest-yield software fix is to tell amdgpu to keep the display link awake instead of letting it nap. You do that with a kernel boot parameter: amdgpu.dcdebugmask=0x10.
On Ubuntu / Debian-based distros that use GRUB:
# 1. Back up the GRUB config
sudo cp /etc/default/grub /etc/default/grub.bak
# 2. Edit GRUB_CMDLINE_LINUX_DEFAULT, e.g. change:
# GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
# to:
# GRUB_CMDLINE_LINUX_DEFAULT="quiet splash amdgpu.dcdebugmask=0x10"
sudo nano /etc/default/grub
# 3. Regenerate the boot config
sudo update-grub
# 4. Reboot
sudo reboot
After rebooting, confirm it's active:
cat /proc/cmdline
You should see amdgpu.dcdebugmask=0x10 in the output. Done.
amdgpu.dcdebugmask=0x10 actually doesdcdebugmask is a bit-mask for the amdgpu driver's Display Core. Each bit switches off one display feature. The value 0x10 maps to a single bit: disable PSR
(Panel Self Refresh).
PSR is a power-saving feature: when the on-screen image isn't changing, the GPU stops actively driving the panel and lets the display hold its last frame from its own memory. Great for battery — but the transitions in and out of PSR are what disturb the AUX channel and cause your dropout. Turning it off keeps the link continuously active. The only real cost is slightly higher idle power draw.
Because it's a bitmask, you can combine values by adding them:
| Value | Disables |
|---|---|
0x2 | Memory "stutter" power saving |
0x8 | Clock gating |
0x10 | PSR (Panel Self Refresh) ← the fix |
0x12 | PSR + stutter (0x10 + 0x2) |
Note: exact bit meanings can shift slightly between kernel versions, but PSR = 0x10 is stable on kernel 6.8.
amdgpu.dcdebugmask=0x12 (PSR + stutter). Same edit, swap the value, update-grub, reboot.sudo apt update && sudo apt full-upgrade
sudo cp /etc/default/grub.bak /etc/default/grub
sudo update-grub
sudo reboot
retrieve_link_cap: Read receiver caps dpcd data failed from amdgpu.amdgpu — especially its PSR power-saving — exposes it.amdgpu.dcdebugmask=0x10 to disable Panel Self Refresh. blocks render as code boxes.
- Suggested title: Fix: AMD External Monitor Blinks & Disconnects on Linux (But Works on Windows)
- Suggested labels: Linux, AMD, amdgpu, DisplayPort, Ubuntu, Troubleshooting, External Monitor
- In Search Description (Settings sidebar of the post), paste: AMD external monitor blinks and disconnects on Linux but works on Windows — caused by amdgpu PSR. Fix it with amdgpu.dcdebugmask=0x10.
The same content is saved in the file amd-external-display-blinking-linux-blogger.html if you'd rather copy from there. Want a version with inline CSS styling (colored code boxes, a highlighted "fix" callout)
so it looks nicer on your Blogger theme?