NPU? Is that a marketing term for underpowered GPUs or something? I would not use a laptop for any substantial GPU usage if I could help it. Use the laptop as a laptop and a server with GPUs for heavier / noisier workload if possible. I run ollama on a desktop at home and have them connected my devices through tailscale virtual network. laptop stays silent with "long" battery life while desktop takes the load remotely. I think this workflow can be used for more than just ollama, but kind of depends. VPS might be an option too.
is the freeze sudden or does the system gets progressively slower?
does the mouse cursor respond?
does the audio keep playing in the background? does it repeat a short time interval over and over again?
does the system respond to ping requests?
does the system accept incoming ssh connections?
how random is it? what time interval?
is the location random (think consistent wifi / bluetooth devices nearby)
is the freeze happening after going to sleep / hibernation / screen blank?
does this happen if you aggressively open a lot of apps at the same time? Try it.
What to do before next system freeze
update and upgrade the system
create a working directory somewhere where you write down your findings. Does not have to be pretty or anything. Just for your own convenience.
Configure REISUB. check files in /etc/sysctl.d/*.conf and look for kernel.sysrq=0. Change it to 1.
Enable ctrl+alt+del spam reboot. Update /etc/systemd/system.conf so that you have a line looking like this:
CtrlAltDelBurstAction=reboot-force
Reboot
Try spamming ctrl+alt+del quickly. Does the system reboot?
On next boot try switching to a random tty ctrl+alt+fN where N in {1..12}. You should see a login prompt. Try the REISUB sequence. Press and hold alt+print screen (might require some fn key combination on a laptop) then press, hold and release following letters one at a time: R E I S U B. You should see kernel messages appear on the screen each time you press a button. Don't try to press them all at once or type them before the output is finished. Your system should reboot after this. Does it work?
make sure you can ping your computer from another computer.
Configure TCPKeepAlive=no for my-faulty-pc in your ssh config before connecting to avoid having the connection dropped. then run ssh my-faulty-pc journalctl -b0 -k -f > waiting_for_crash.log on another system that will capture the log
reproduce
Here is the easiest part. Make the system hang. Preferably with reproducible steps.
System is now freezed
Go quickly through the first list
from the remote host that monitors the logs through ssh. You can close the ssh connection and inspect some of the last lines in the file. Don't upload it anywhere before sanitizing it to avoid doxing yourself.
from the remote system try ssh and pinging.
on the frozen host try ctrl+alt+del burst first
then try REISUB combo if the burst didn't work.
What to do now
This part depends a bit on what the outcomes were. At least we'll know how "deep" the hang is and where it's worth modifying stuff.
You say in your post that you've tried ctrl+alt+del spam. But did you check that it works when the system is working as intended?
Learn different languages. A tool is good for problems it was designed to solve. Here is a list of programming languages i would recommend in addition to python.
c
elixir
rust
go
This would give you different perspectives on how a problem can be solved. And stay far away from jacascript.
Tutorials are nice to get the mechanics of the language but you should not stick with them for a long time. Start doing your own projects as soon as you feel comfortable with the language.
Yeah it would but it would not route your traffic through internet if both devices can communicate with each other over LAN.
DNS have nothing to do with SSL. Tailscale provide routing. It does not change applications running on the server.
TS have some convenient features to set up SSL but you cannot choose the domain name freely. I bet you can purchase a domain which redirects to ts domain id you want.
Then you don't need to inform the rest of the world about your domain. Just use the hostname of the server on your tailnet and it should work all the time
I didn't want to commit more than a cheap flash drive. However I tried what you said since I had a m.2 enclousure laying around. I did all of this through virt-manager by passing the external device through. The installer complained when I passed the device as a usb device. I solved it by just passing device path of the external drive to the vm and the installer didn't know any better.
I don't see any other reason why this would not work for any usb device. usb flash drives as well. I might try this at some point.
Sounds like a graphics driver issue. does anyone know if mint enables ssh by default?