A Nouveau graphics driver update
lwn.net
lwn.net
Is 20-30Mb of /boot space really a concern for someone running an nvidia graphics card?
Also, the earlier I get the GPU up, the better. My monitor won't display some resolutions used in BIOS screens and text modes.
1. Shrink the main partition 2. Move the main partition to the right, leaving free space between it and /boot 3. Resize /boot to fit into the newly freed space
That's what I did at one point to make my /boot 2gb or so, haven't had issues since.
The whole filesystem has to be moved, instead of just the excess data.
Although this is usually successful, my advice would be: don't have a power outage if you're moving the whole filesystem.
May need to run autoremove (haha) however.
Windows software that does this has to completely reboot into a dedicated executable that does the work before the system is actually started.
And btw, yes you can move partitions while linux is running.
This is not the same as simply running gparted from the partition to be resized.
> And btw, yes you can move partitions while linux is running.
Not your root partition, unless you can manage to unmount it without having a fatal system crash.
Nobody said you have to run it from that filesystem/partition?
> Not your root partition, unless you can manage to unmount it without having a fatal system crash.
You can resize your root partition using fdisk/partprobe without unmounting it, then move /boot to be after root.
I'm sure there are many other ways to do it as well (pivot_root, etc).
cp -r /boot /boot2
umount /boot
mv /boot2 /bootAlso, where did boot2 come from? Because a lot of these machines don't have free space sitting around, and some of them are still using MBR partitions and don't even have the ability to create a new partition. (You might well object that nobody even makes machines with bios boot anymore and surely everybody must be using GPT, at which point I get to gesture at the astonishing number of cloud virtual machines that are somehow not even capable of UEFI booting)
Edit: s/on bootable/unbootable/
Only because Linux bootloaders suck as they completely fall over when misconfigured. It was implied that you update the configuration of the bootloader to be able to find the new partition that holds /boot. You would also want to format the former boot partition so that you can reuse for other stuff.
>Also, where did boot2 come from?
The cp command creates it
> Only because Linux bootloaders suck as they completely fall over when misconfigured.
Have you got a bootloader that doesn't do awful things when it has no configuration? I mean, I guess you could write a bootloader that searched through available filesystems and tried to find something it could boot, but that seems like a great way for unexpected surprises on boot (what, you didn't want to default to booting this 6-month-old backup kernel?)
(And it's not just the bootloader config that you have to deal with - like I said, you have to do something to tell the firmware to even run that bootloader)
Then let me explain with English:
Move all of your files from the boot partition into the main partition. Then setup the system to boot from the main partition. Since there is likely gigabytes to terabytes free you will not need to worry about a few 30 MiB files being added to the /boot directory.
Which can be reused to store other files.
>You'd pretty much be stuck with ext4 as your most modern filesystem option.
What do you mean? You can grub boot from a partition that even uses LUKS and ZFS.
However I do got one where UEFI boots the linux kernel directly, /boot is the EFI parition. And there it feels like a bit of a waste to have to expand /boot or insert a bootloader into the boot process because initramfs is getting bloated with files that aren't critical to mounting root.
In the end, Windows has more users that report bugs on fewer setups. That makes fixing things much easier than Linux.
https://github.com/NVIDIA/open-gpu-kernel-modules
People still search for reasons to shit on it because they don’t like the company in general and want to back AMD. Nothing is or ever will be good enough for the haters.
http://www.paulgraham.com/fh.html
It's software development, if you're searching for a reason to be discontented, you're always going to find one, it's clearly an unfalsifiable situation for people who just dislike the company on personal grounds.
I just wish they'd let the nouveau developers do their thing.
Its been painless to install closed source nvidia drivers for 20 years so long as your distro provides a package.
This was not like that before their Tesla series took off with such momentum.Currently, X11 and display support is provided at the barely minimum level which doesn’t piss off the people.
I think some parts of their drivers do some black magic, because if that was not the case, there should not be a tug of war about the technical details for providing Wayland support.
Monitor power management and related display parts of the driver break constantly, but not the CUDA parts, because it’s the money making part.
I've been running NVIDIA GPUs on Linux workstations in personal and professional settings for almost 20 years. It's been always been an extremely functional and high performance experience.
It's annoying that the drivers are proprietary, and have to be rebuilt during kernel upgrades, but they have worked very well for a long time.
It would of course be better if the drivers where OSS and integrated in the kernel, but for more than a decade Nvidia was the only option for high performance graphics on Linux (Intel always had very good stable OSS drivers but not the hardware to match).
For AI work, their cards are great, yes. Also for accelerated science. We have quite a few of their cards at the bottom floor, churning out number non-stop.
However, desktop experience with their cards are constantly degrading after Tesla got up to speed. VSync can't be enabled without losing 25% performance hit. DPMS support was broken for 1.5 years on DisplayPort. Then, DisplayPort started to lose link when you turn off your monitor for whatever reason.
These things add-up, and when your card is deprecated you can't move to open drivers even if said drivers have lower performance, it breaks the camel's back.
If you're on the happy path (hardware + software wise), NVIDIA is great, and if you don't, you're too poor for NVIDIA and they can't be bothered.
So no, I'll not be buying NVIDIA card for my desktop use.
Non-Windows desktop users definitely don’t seem to be among Nvidia’s chief concerns.
There were probably about 1000x more Linux desktop users than Mac Pro users willing to install their own aftermarket GPU even when this was a thing.
It’s hard to tell how numerous this group was, but I saw them come up surprisingly often in photos and discussions online, even appearing in production environments (despite legal dodginess). Wouldn’t be surprised if at times this is where most Nvidia cards purchased for use with macOS were sold.
That Linux hobbyist market is barely relevant. Desktop Linux is supported by Nvidia because it is a big thing in the SFX industry.
Linux has been supported before their were data center cards. Before GPU compute was a thing there was workstations which are in fact still a thing.
> Monitor power management and related display parts of the driver break constantly,
In 20 years of usage this appears to be inaccurate. I'm not even 100% sure what your GPU has to do with monitor power management fails which historically consist wholly and only of distros/desktops setting the sleep threshold way to short and whatever half assed hack is being used to keep their machine from turning the monitor off in the middle of their youtube video fails to work properly. The solution as with a lot of over-complicated things is simplicity. Set the threshold far higher and if you actually want the monitor to shut off do so. In any case it again has little to do with your GPU
> X11 and display support is provided at the barely minimum level which doesn’t piss off the people.
Not sure where this is coming from at all. X11 support has pretty much always been great. The most reasonable thing to suppose is that the Linux desktop ecosystem has been historically somewhat fragile especially if you insist on the latest and greatest and that Nvidia due to open source unfriendliness seems to catch a greater than average share of the blame.
Someone will post a random thread on a entirely unrelated matter without even mentioning nvidia and somewhere down thread someone will be blaming Nvidia.
> Well recently my cat got the mange...
>> Are you running NVIDIA? It's known to cause that.
>>> Oh ya I installed NVIDIA recently and my cat is 100% dead!
>>>> My neighbor installed NVIDIA and my cat is now a dog
Look at this singular thread where NVIDIA is assigned the blame for flaky wifi, bluetooth, and display power management.
"Nvidia, fuck you" - https://youtu.be/i2lhwb_OckQ
AMD drivers are built into the kernel and work out of the box, but they're still buggy. In my experience, at least 3 times I couldn't boot after a kernel upgrade due to buggy Vega64 drivers.
This also won't install all the horrible security nightmares that come with the Windows drivers, as that stuff doesn't exist on Linux.
So overall a much better experience than on Windows.
If Nvidia wants to lose Linux users by not shipping drivers, let them fall, but I don't see the point in badly replicating drivers and making them "open-source". You still bought the GC from BigCorp, and only Nvidia can make those cards anyway: this "open-source" driver can't exist without Nvidia making cards. Who benefits from all that work?
2. Hardware lifespan: apple or microsoft get to decide when you buy a new computer instead of you and the community. Annoying, expensive, and not environmentally friendly.
3. Customizability and control: can't fix or improve the OS, and many powerful features just don't exist.
4. Open knowledge and human progress: by sharing knowledge and allowing others to contribute, we collectively advance. Proprietary operating systems discourage progress, and open source ones facilitate it. Nearly all of the great apps you know and love exist because of the culture of sharing. Even the proprietary OSs only exist because of open source OSs and libraries as the foundation and inspiration.
They break. I have a GT730 card which came with my office PC. This card’s support has ended with the 470 driver series, which is one of last (if not the last) release for the previous generation of NVIDIA drivers.
Now, the drivers still ship, and the kernel module is still maintained, but the surrounding GLX drivers are static. As the desktop Linux improves and moves forward, accelerated stuff tends to get migrated to newer technologies, or its GLX use is getting refined. This causes drivers to lose compatibility over time.
This means more and more of your applications fail to start or break in mysterious ways. Also there’s Wayland support issue, which is the elephant in the room.
I had to buy an AMD card which works better, because all the software ecosystem around that card is maintained by volunteers, and the card is architected for working with open drivers well. AMD redesigned its silicon to allow open drivers to work with every unit on the GPU without revealing sensitive information (like HDCP keys) while allowing open drivers to access video encoders and such on the card.
After I got that card, all my problems have just vanished.
So, I’ll never use an NVIDIA card on my computer for the foreseeable future.
It comes down to a religious belief in open source, which is totally fine. But let’s be honest about what’s happening here.
How so?
So you can end up in a situation where you've installed proprietary drivers via package manager and then a year later the packages are gone entirely.
You're forced to use PPAs that don't work or packages on the AUR which also don't work, and you're restricted to distributions that support either 3rd party packaging solution if don't want to install things manually, which also doesn't work.
Also, local stores around me still sell new GT 710s. Probably has something to do with Nvidia not making any low end GPUs since.
> Expecting even open source volunteers to maintain support for every old GPU
The great thing about open source is that anyone can fork the code and maintain support themselves. You don't get that option with proprietary drivers.
I have now replaced it with a Radeon RX550, which is 6.5 years old at this point, and works with open drivers like a charm, and amongst other things, I can integrate its power and utilization related data into my system dashboard very easily, because the drivers provide the relevant sensor access. Also, it works way smoother without finicky VSync and other small paper cuts.
Current, modern amdgpu driver supports cards which are 10 years old at this point. radeon kernel module supports cards even older than that, and this module is still updated, tuned up and fixed.
So, while AMD was the underdog, they managed to redesign their chips and restart a community and an independent department to develop and support open source drivers only.
I think NVIDIA can do that, too, if they can be bothered, but alas, they don't care.
https://videocardz.com/newz/amd-confirms-polaris-and-vega-ar...
Obviously having an open driver is nice (and nvidia is upstreaming one) but AMD still doesn’t support consumer cards in ROCm in Linux, AMD still doesn’t support hdmi 2.1 in Linux, and there’s probably (different) business concerns for nvidia as well. Not everything can be opened up - again, see hdmi 2.1, which will probably continue to require closed releases due to licensing requirements.
As I said, open drivers supported by AMD are here [0] [1], and even the historic "radeon" driver which supports older cards than "amdgpu" is being supported and fixed up.
It's also important to understand that open source driver team was independent and separate from closed source driver (fglrx + windows) team in the beginning. This might still be the case.
NVIDIA is not upstreaming an open source driver. They are upstreaming a skeleton open source kernel module which bridges the closed source GLX libraries to a closed source blob which moved from the original kernel module to a flash storage + RISC-V core complex on the card itself. This is fundamentally different from what AMD is doing.
ROCm is historically slow to develop and being supported by (m)any cards in general, but considering a couple of high profile supercomputers are using their cards and they openly said that ROCm is a priority now, they started to get way faster in development part. Tons of ROCm libraries have landed to Debian in the last 6 months, and a couple of consumer cards started to be supported under Linux [2]. Depreciation of older cards in closed source drivers will also probably enable this support to be developed faster, because AFAICS, AMD has gone through more ISA changes than NVIDIA in the last decade.
From what I can find in FreeDesktop issue tracker, AMD is actively trying to bring HDMI 2.1 in Linux, in a completely open form, and they are very open about it [3]. Unfortunately free software and large profits are not very compatible in the content industry, but at least AMD is not silent, and trying their best in the open, unlike the other camp, which does sneaky things like artificially limiting the performance of alternative APIs, and flat out refusing the work with some versions of them while advertising support.
[0]: https://gitlab.freedesktop.org/agd5f/linux/-/tree/amd-stagin...
[1]: https://gitlab.freedesktop.org/agd5f/linux/-/tree/amd-stagin...
[2]: https://rocm.docs.amd.com/projects/radeon/en/latest/docs/com...
[3]: https://gitlab.freedesktop.org/drm/amd/-/issues/1417#note_21...
AMD is trying to get HDMI 2.1 support through legal, but they've been trying for years and the answer is generally "no". HDMI Forum doesn't want you to release open implementations, it is incompatible by design. This is a microcosm of the problems around licensing in the audiovisual space, the reason NVIDIA can't go open is also because of these intractible licensing problems. They just lean towards "release the functionality, but closed" instead of choosing "don't release the functionality".
In practice: Even ignoring NVIDIA's insistence on proprietary drivers, other manufacturers have already succeeded in making drivers that are technically "open source" with unreadable source code full of opaque logic and magic constants maintained by a kernel dev who has had to sign an NDA for the privilege of maintaining the driver, so the code isn't any more likely to survive a major kernel redesign (or perhaps a shift to a different operating system) than a proprietary driver would be, unless the manufacturer remains interested in actively supporting the device.
Wait is this true? How did the kernel team agree to this?
Second, my understanding of Linux's history is that people creating open source drivers for hardware is responsible for its success. The problem of bootstrapping Linux hardware compatibility was solved in part by people writing open-source drivers when companies didn't support Linux. Community support has been necessary for the creation and upstreaming of many previous drivers, not least among them AMDGpu.
Also, in this case, a large portion of the work for Nouveau is funded by Red Hat. I believe they business reasons for wanting a well-functioning open source Nvidia driver.
Back in the day, VIA's Unichrome integrated graphics were best supported by the OpenChrome project. Very grateful to those guys too.
Driver support will be an afterthought, performed at their whim, and the only harm they suffer from not doing it will be offending the small community Linux users.
Greg Kroah-Hartman explains it:
Linux was built because Linus Thorvalds wanted to use his hardware for something else the manufacturer envisioned. The free software movement got started because Richard Stallman wanted to add a new feature in the printer driver.
Their failure to do it well becomes user problems, which history shows, has been the overwhelming case.
Open source gives the user or their community recourse
I sort of don't really know why they even bother. The only reason to have an Nvidia card is to use their CUDA toolkit, which isn't even supported by Nouveau.
With that said, I wish Linux would do what OpenBSD does, do not support nvidia GPUs until it is opened up. Maybe this will make nvidia smarten up.