I’ve been a Linux user since the 90s, and nvidia has been a problem as long as I can remember. The wayland issues are just a new chapter in a long saga. ATI used to be the same, but they came around after having been bought by AMD.
If you’re already planning to use Linux on something a quick search will directly tell you that nvidia is a problem. If you got the hardware before nvidia that sucks - but again, it’s nvidias fault.
I think we absolutely should neglect nvidias market share, and just fully drop support for nvidia cards - either they’ll get pressured by angry users to no longer behave like dicks, or they keep doing it, and people will only make the mistake of buying nvidia once (or not use Linux) - either way, we’ll have gotten rid of a massive headache.
I don’t think infotainment systems need a concept of copy/paste but having to write:
Having lived through the whole “phones don’t need copy and paste debate”, which fortunately got solved by now having it everywhere I’m in the camp “just stick that everywhere, just in case somebody might use it one day”
After reading about it - true. Disadvantage of doing this stuff for a long time - you miss new developments. Only reason I’m aware of testdisk is that I lost the sources of my own superblock search tool, my old binaries broke with a newer glibc, and before reimplementing it I checked if sombody else had done that in a more usable form in the meantime.
That has changed over the last few years - I’d prefer a proper usb3 to sata bridge over a shitty sata controller - and the quality of integrated sata controllers isn’t that great nowadays.
You can do all of that on the device - but you only get one shot. If you mess up that’s it - so no sensible person would try any form of data rescue directly on the device. Storage is cheap, if you don’t have sufficient space on your computer just get another external disk.
First step, in case you didn’t do that yet: Create a disk image of the partition - you don’t want to try data recovery on the actual data. Easiest is just using dd to dump the disk to another drive.
Next try running testdisk on the image to see if it can find the backup superblocks - if it does you can feed that to fsck to restore the filesystem.
If you know the blocksize of the filesystem you can also run mke2fs with the -S parameter - this will just write the superblocks. Again, only do that on a disk image, not the actual drive.
I’d just start from very simple kernel and static init, and work my way up to adding more functionality. I’d use kvm with rootfs on p9fs - that allows playing with it without having to build images. I can throw together the initial invocation, if you’re interested.
Then start building simple core elements in a language allowing easy static linking - I’d use C with dietlibc or go. Start adding core userland programs, explore initramfs (without using something like dracut), add dynamic libraries and explore the dynamic linker, … - if you’re interested we could set up a matrix channel for questions (typically with some lag, though), and do a github repo to follow along.
LFS iirc goes for full desktop - the high level userland is very complex, but easy to understand when you know the basics. You pretty much learn how to compile lots of libraries - which has limited use. A full LFS style desktop I’d no longer recommend nowadays - it’s just too many dependencies to deal with. I used to build my own system (not following LFS) until the Xorg fork made it sigificantly more complicated - and things got just worse since then, and I never was using a complicated UI stack.
edit: I had a few minutes, so I’ve thrown this together github.com/bwachter/lll - you should easily get a kernel with a custom init running, and have enough to start experimenting. If you or anyone else is interested to go deeper I’ll set up a matrix channel for guidance.
Gentoo is useless for learning how things work. Back in the 00s when I still had time to hang out at events it was always quite ridiculous at what kind of basic stuff the gentoo crowd got stuck at - and with the tooling 15+ years more polished now I’d expect what is actually going on is way more hidden than back then.
If you do want to understand how things work just build a minimal system - either on spare hardware, or qemu/kvm. Don’t go with systemd, or other fat userland options - that just makes you compile a lot of dependencies not adding value for learning.
Use some lean init (or just write one yourself), and some lean shell.
You’re describing Wayland running into issues due to overall high system load, and not been given enough scheduler time to accept messages?
edit: This issue? gitlab.freedesktop.org/wayland/wayland/-/…/159 - didn’t find anything else matching the description, and personally have never seen that, both on my low specs notebook or my workstation, which probably counts as higher spec.
Would be interesting if this is more on Firefox side, or on compositor side. I’ve been running Firefox in Wayland for about 9 months now, without any issues.
That sounds more like a compositor problem - typically a client should not have control over where windows are placed, and that X11 allowed that got heavily abused with negative impact on UI. Wayland fortunately fixed that, so it is now up to the compositor where to place windows. Those can send hints, but the compositor is free to ignore them.
In your situation your compositor should remember where to stick the windows.