Finally fixed my PC’s persistent graphics and audio stutters
ctrl.blog
ctrl.blog
To save you the story of weeks-long debugging efforts - the problem turned out to the monitor. It was a Dell Ultrasharp 25", and (as I now know) they all had an issue where the monitor would freeze roughly every 20 seconds for a frame, because the monitor was advertising the refresh rate to windows as 59.95Hz but it was actually refreshing at 60Hz internally - the timing would get out of sync pretty much exactly every 20 seconds, causing the monitor to "pause" and freeze - which looked like stutter when playing games. The solution was using some kind of program(forgot the name now) which basically overrode the refresh information being sent from the monitor and forced windows to refresh at exactly 60Hz and no less - then it worked fine. But of course if you used it with a PS4 then you didn't have any way to do that and just had to suffer this stutter every 20 seconds.
Dell actually made a firmware verison that address it and people reported that it indeed fixed it. But guess what? You cannot download it! The only way to get newer FW was to buy a monitor from a newer production batch.
No you can't have the firmware update. You can exchange it for a refurbished monitor and "should" get the new firmware.
There's a 53 page Dell forum thread about that disaster of a monitor: https://www.dell.com/community/Monitors/UP3214Q-UP2414Q-1-2-...
Amazing that nearly 10 years later they still can't update monitor firmware in the field.
If it's going to need firmware updates, it should be able to get firmware updates.
I found a forum thread on Dell's forums about it ages ago, I remember people sharing the refresh rate override fix, but I wasn't aware that Dell did eventually "fix" it in a later batch of monitor.
That monitor did actually die for me literally 2 months ago(and just few months out of warranty, typical) but I was very glad to replace it with something else.
Before high refresh rate screens, I was one of those people that would turn off v-sync in games because the additional input lag bugged me just enough, JUST on the edge of perception. I wasn't even a competitive player or particularly good, but it felt....mushy. Similar problem with playing old NES games on modern LEDs.
For many years I had a mechanical keyboard I loved, but slowly and subtly over time the enter key would miss a keystroke. It was like 1 out of 300 times maybe, but it was just often enough for me to start doubting my own fingers. Finally couldn't take it anymore and just bought a new keyboard.
Just goes to show that very subtle problems in a computer interfaces can have a big impact.
I have to flip it between 59.95Hz and 60 Hz in the windows advanced settings, changing that setting basically makes the monitor re-initialize and then everything is fine. It happens every time I wake the monitor from sleep (ie: my computer rarely, if ever goes to sleep, but the monitors will turn off after 10 minutes of inactivity)
This only really happens with games. DirectX or Vulcan doesnt matter. Doesnt affect things like youtube, plex etc.
But any game in fullscreen or borderless windows on that screen, i have to basically just change that setting back and forth to keep my sanity.
It worked and sounded great in Windows; it also worked and sounded great in Linux, with one exception: the card supported ISA PNP, which was great, but the kernel module for the sound card wouldn't load unless I did `cat /proc/isapnp` first.
I had no idea why, and it took a few reboots and trial-and-error to narrow it down to this janky workaround, but it worked so I just configured modprobe to run `cat /proc/isapnp > /dev/null` before trying to load the module and I never had to worry about it again.
Technology sure is weird sometimes.
Every other boot, the BIOS would fail to initialize the controller, leaving the computer stuck at a "non-bootable device" error until I could manually reboot it.
My solution? A perpetually plugged-in USB flash drive with a small boot loader that would simply reboot the machine again, set to a lower boot priority than the SATA RAID controller.
It was pretty stupid, but if it's stupid and it works...
Open-source is the best worst-thing ever.
Would probably need to use Custom Resolution Utility to define a refresh rate that you really want.
right click on desktop>Display Settings>scroll to bottom>Advanced Display Settings
Then select your monitor in the drop down and the refresh rate. Which is negotiated by the monitor and the video card. I suppose unplugging and pluggin the cable back in may help. But ive changed cables, bought new ones, tried adapters to change the type (ie: hdmi to DP etc).
Its just something with the display. And Im too lazy to bend over and unplug/plug it in, so i just do the refresh rate trick.
I've had it happen on more than one phone, and I'd also note that my Sony headphones don't skip.
You could splice cable DDC lines to I²C EEPROM programmed with patched EDID data.
All I can figure is that it might have some motion blur or other interpolation feature and it's holding frames back after receiving them and displaying them from an internal buffer at 60Hz. In this case, you'll get occasional (but rare) tearing/stuttering no matter what since the computer's clock and the LCDs hypothetical clock are not syncronized.
The easy and lazy solution is to generate your own clock signal at the rate you want, and then to buffer the data from their closeish-clock to your own. Obviously this has the downside of an extra frames latency and the occasional dropped frame when the clocks drift.
Even so, the anti-ghosting compensation algorithms typically only work at one rate.
They mentioned they put the ram in 2 years ago and they've had this issue for 2 months. I suspect maybe it started when their OS's started using their TPM's but it's possible their board has just broken randomly. Likely on a hardware level.
I do see value in diagnosing the issue and making a post about mitigation's. I love people who do this so others with the issue can find it and get their boards refunded/RMA'd before their warranties expire. But once the tpm/ftpm was identified as being the issue and it was hardware/firmware related, they need to get a new board, not more mitigations (hopefully by getting a refund/RMA so the board manufacturer doesn't get a pass on this). I don't see how someone working in the tech space (we are VERY privileged salary wise) would tolerate having obviously faulty electronics.
This is probably a code that works in SMM mode, and it has a priority even over ring 0 code. SMM is one of the worst CPU features, it is basically a backdoor in your system that can do anything and you cannot even see it. Even if you run Linux you have no control over SMM code, it can hang your system and you cannot even debug it.
Also this shows a weakness of an "open" PC model where poorly tested hardware and low quality firmware from different vendors are assembled together. I cannot imagine this happening on an iPhone for example.
ATI drivers back then were already in a different league of quality than nVidia ones, looking like amateur hour sometimes
SMM code writers seem to not give a F about any OS except Windows (current version) and even then.
If AMD wants to win the datacenter they need to be extra attentive to this
AMD fTPM runs on the PSP coprocessor, not on the x86 cores.
Honestly, as much as AMD's processors are often great value for money, I have never had a completely stable glitch-free AMD system.
But son of a bitcoin, my current PC has this exact stuttering problem! And all this time I just assumed it was Windows being stupid about normal I/O. But come to think of it, I did recently have a conversation with my even-hardware-geekier brother in which I said something like “How in the hell can Windows have become so sloppy that the mouse cursor can be regularly interrupted during normal use? That should be logically impossible by design.”
But now I bet it’s this motherboard thing preempting everything and it all makes sense.
Been AMD only for CPU in my desktop the past 15 years or so and haven't had these glitch/stutter issues.
All of this anecdotal, but I just find it odd you've never had a "stable glitch-free AMD system." But it might vary depending on motherboard, motherboard OEM and motherboard chipset. (Was on Asus X470, now on MSI X570.)
For what it's worth, I also indirectly support quite a lot of corporate systems, and we've had a fair amount of flakiness with AMD Thinkpads. Not every laptop has issues, and not in every situation, but we get issues significantly more often for the AMD machines - this is visible clearly in the stats we keep. Anything involving docks seems to be particularly problematic. It could be that Lenovo are just making terrible devices and I'm unfairly blaming AMD - but the Intel ones are rock solid.
Also I've used TPM for years, possibly since Windows 7 I think, in order to get full disk encryption with Bitlocker. More recently I've been playing with remote attestation.
The computer failed to POST after I put in the dTPM, nothing to do with the OS. It's either an issue with the dTPM or the motherboard, but I couldn't figure out what the problem was and didn't want to keep spending money. The motherboard manufacturers provide very little information about how their dTPM interfaces work, and nowadays it can be difficult to find genuine OEM dTPMs due to Win11-related stock shortages.
https://www.techpowerup.com/295821/amd-releases-agesa-v2-1-2...
"This particular version of AGESA gains importance to those on Windows 11, as it corrects a performance-stuttering issue caused due to frequent polling of the fTPM by the OS."
My high-end x570 board from ASUS initially exhibited this behavior, but it was rectified rather quickly with a BIOS update.
I still ended up putting in a real TPM module for convenience reasons. It's hard to experiment with bios settings when half of them end up wiping the fTPM, necessitating me to punch in my BitLocker key on next boot.
Maybe this fiasco combined with Windows 11 will finally push motherboard manufacturers to just build a real TPM into their products rather than relying on these janky fTPM/PTT solutions.
One was my glorious AXP1800 + Gigabyte GA-7DXR.
Ok so it -started- glitching eventually, but that was because capacitor plague and not the AMD-ness. But that was a workhorse machine of mine through most of college. The few crashes that I -did- have, were related to other components like video/audio(1) that were no better in a 'full intel' setup.
The other was an unsupported config; Tyan Tiger MPX with Dual 1.0Ghz Morgan Durons, Running Windows 2000. Fun little box.
(1) - At the start of the century, one of the best things I did for system reliability was ditch Creative Labs and their drivers for the Glorious Crystal/HTEnvy cards.
And frankly, having to disable this bit of hardware that you paid for because it doesn't work properly is bullshit.
Besides Windows 11 requiring a TPM, which was known to be on the cards for a while now, storing the key on a USB drive is not functionally the same as the TPM. It means either the key material is stored in plaintext on the USB, which is pointless, or I still need to use a PIN. I need my computer to be able to boot without intervention, so that isn't an option.
I don't understand, since fTPM specifically isn't a requirement. Any TPM will work. If you had bought Intel you would have paid more for just the CPU alone, regardless of the cost of a discrete TPM.
> Besides Windows 11 requiring a TPM, which was known to be on the cards for a while now, storing the key on a USB drive is not functionally the same as the TPM. It means either the key material is stored in plaintext on the USB, which is pointless, or I still need to use a PIN. I need my computer to be able to boot without intervention, so that isn't an option.
With f/TPM and no PIN you're storing the keys in plain-text right next to the encrypted content. It's like hanging the keys to your door on the knob. This effectively cancels the point of full-disk encryption for your implied personal use. I cannot believe what I'm reading.
Also, your description of how an fTPM works is wrong. The fTPM on AMD is provided by the AMD PSP TEE, which measures your execution environment then seals the drive encryption key. The platform garauntees that it will not unseal the drive encryption key other than to the same combination of trusted hardware and cryptographically verified software that previously sealed the key. The hardware is tamper resistent and has a relatively good track record. dTPM vs fTPM is an active debate, but so far the most practical sniff attack on the TPM only works on dTPMs, though that's partially Microsoft's fault.
If a hard drive is stolen, it is useless without the CPU. If a whole computer is stolen, the data will only be accessible to a very advanced adversary. The list of people on earth who can tamper or trace a CPU to successfully exfiltrate an fTPM key is probably a short list, and nearly all of them will be security researchers, state-level adversaries or APTs. In fact, many government and other highly secure organisations rely on the security of the TPM for disk encryption.
Analogy wise, it's more like having a bouncer guarding your door who only lets you in once he's carefully checked all your biometrics. And if you try to push past him, he blows up the house so you can't get in.
However, would I trust a TPM in isolation if I was likely to be physically raided by the CIA? Probably not.
Not everyone's. I use the fTPM on a few different Ryzen systems and I don't seem to have any issues. Maybe I'm just lucky though.
Not true. If you change the boot parameters it won't release the key. If you were to try and boot a live OS to try and extract the data without respecting ACLs or something, you wouldn't be able to access the key. You also can't actively read the key from the TPM once the system has booted.
Sure, there might be some attackers who may be able to mess with the OS post-boot to have it give up its info, but even the above-average thief off the street isn't going to be able to access my data.
Keeping the key file on a USB drive isn't exactly safe either, as there's a high likelihood that flash drive is probably going to be near my computer when stolen. Also, that flash drive may be active and plugged when the system is running, exposing it to the machine directly. Having that key material easily accessible on a flash drive makes it less protected than using the TPM.
Using the TPM gives me a better experience and depending on how things are handled a far more secure way of handling the key. Its way easier to grab the key file off the flash drive than coaxing it out of the TPM without booting the trusted boot process.
If they are glitchy how can they be great value?
I've had the same experience over the past decades - I will never be buying AMD again.
https://www.tomshardware.com/news/amd-issues-fix-and-workaro...
I tried a RX580 pre-pandemic and it was both a space heater with massive power consumption, framerates were wildly inconsistent in several games, and I had game crashes.
Switched to a GTX1060 and boom, problems gone.
Nowadays, I have no idea if that advice (Intel + Nvidia) is still sound. There are way more AMD users than before, and computers are more complicated than they were 20 years ago.
Nit: Thunderbird was the third iteration of Athlon and I only remember this because I had an Athlon 700, which came on a Slot A cartridge (!) and had the L2 cache as separate chips
That same system also had one of the first GeForce cards. The term "GPU" was not unknown before GeForce, but it was the first time the mainstream computing media started using it regularly.
That was the first computer I built with my own cash and boy it was not cheap. (21" CRT monitor and dual 10k RPM SCSI drives...)
10 onward just seems to lag & crash more. Totally crazy theory would be that binary compatibility (and dependencies) doesn't work well once the original author of a piece of code has retired (or died).
For dev and desktop usage no IGP has let me down. Unless work needs a dedicated GPU to be done I think an IGP is enough for everything else these days.
I don't think people using dedicated GPU wouldn't see differences with an IGP in day to day usage.
The only thing I did was to set the governor from powersave, which came by default configured, to ondemand. Graphic stutters immediately went away and performance got close to that on windows.
I suggest anyone having performance issues under Linux to check their governor.
Yeah, both can be true, but when it goes wrong, it can be very difficult and expensive to troubleshoot.
One annoying one is a 2014 HP laptop with Beats Audio. The laptop has a non-standard internal speaker setup. With the installed Windows 8 & Beats Audio drivers it sounds nice. Under Linux by default the speakers sound like a muffled tin can. Using a couple of tools and some terminal commands everything is right as rain. I nearly exclusively use Linux, but I had a need to work on some windows stuff so the laptop was pulled out and upgraded to windows 10. As soon as I ran some audio, tin can sounds. I've looked over and over for drivers, HP doesn't support Beats Audio anymore, and their replacement drivers that claim to work don't. Now if I need audio from that laptop I either have to use linux or I have to use the headphone port.
Windows 10, Z170-A motherboard with driver for built in audio
Tried different cables, inputs (optical vs aux etc) installing different drivers, old drivers, new drivers, nothing fixes it
Super annoying when I want to listen to spotify or YouTube or anything
If he hadn't been using Linux, the entire experience would have been completely mysterious. Microsoft releases an update and problems magically go away. Not much of a blog post and not much to understand. The blog post ends with a plea to make problems easier to diagnose and understand, not with a plea for corporate monopolies to fix our problems for us.
https://tidbits.com/uploads/2019/04/T2-hiccup.jpg
This image was linked from this article:
https://tidbits.com/2019/04/05/what-does-the-t2-chip-mean-fo...
Big reason why lot of audio engineers use an external audio box - latency is super noticeable with audio and motherboards are rarely going to cut it
Although the noise sucked, the real reason I got a external audio interface was the 1/4"/XLR connections anyways, so matters less.
Kudos for sticking out for so long. I would’ve given up a lot sooner.
Can anyone verify this? Sounds fucked up.
Dude needs to stop quickly reinstalling things. Instead they need to slowly work through what is going on in the operating system that could be causing the observed issue. What does the Windows system information program say when it is run as an administrator? Is secure boot enabled? Is the pcr7 configuration on "binding possible"? What about kernel dma protection or virtualization based security?