Today, I saw there were a lot of packages due for updating (including the kernel), so I updated them all and rebooted. So far, so good.
When I boot my computer up, it shows the TTY login prompt, and I usually log in and start X manually if I want or have to.
However, upon turning it back on, I was presented with this: https://i.stack.imgur.com/yo5U6.jpg
Null characters appearing on their own, one every eight tenths of a second or so. And they're not being simply printed, they are appearing into the stdin. I can't log in, because I can't type my password, because I can't see when those pop up so I can erase them and finish the password. And no, I can't type 35 characters in eight tenths of a second.
First thought: keyboard is bad. Got rid of all input devices and powercycled. Nothing.
Second idea: system is bad. Logged in via SSH from my phone. No null characters to speak of. I can use the terminal normally from here. But not physically. Something to do with tty specifically?
All in all, I'm "locked out" of my computer (SSH works, so there's that) and all out of ideas.
And the null characters don't stop coming: https://i.stack.imgur.com/wjlVw.jpg
Any help is deeply appreciated.
Edit 1: I'm using Arch Linux. I don't think a version number applies here. First image has a version number though.
Edit 2: I managed to get X running by allowing anyone to run startx, and calling it from SSH to run on my monitor. But my TTYs are still unusable.
Edit 3: strangely, pulseaudio refuses to recognize my monitor HDMI audio output since I got X to run.
Edit 4: should I downgrade the kernel? I'm afraid that's the only update that could have broken things down to that level, but I'm also scared it may break other packages and lock me out for good. Thoughts?
Edit 5: okay, things are getting very, very weird. It seems to be putting null characters in the stdin of every terminal I open. If I hold a key, say, "a" in ANY program, it'll type "a" no longer than 0.8 seconds. It's not just the tty or the terminals, X programs are also detecting a ^@.
If I run
xev to see if keystrokes are being detected... guess what:
KeyRelease event, serial 42, synthetic NO, window 0x2200001, root 0x29e, subw 0x0, time 5986026, (15,93), root:(996,809), state 0x50, keycode 221 (keysym 0x0, NoSymbol), same_screen YES, XLookupString gives 0 bytes: XFilterEvent returns: False
Every single program I open is getting these. And the time info in xev output says EXACTLY 800 ms of interval, always ending in "26". Which means, these ^@ are being sent every 0.8 seconds, down to the millisecond, since I turned my computer back on. No change in period, no drift, no nothing.