Making manjaro use nonfree drivers by default

Hey again,

Some time ago i was pro defaulting to nonfree drivers, yet lately i was confronted with a situation i need more information about, but i wasn’t able yet to gather it so far.
While trying the preview 20.2 i was not able to boot with the nonfree driver option, when in the past was my only option. Now i was able to boot with free drivers only and do a test install. This sort of inconsistency in behavior for installers is not clear for me, but i would not go by bashing Manjaro team for that.
While we are at bashing, or playing “strong”, i would appeal to make the points without the elbows move, remember? Is unwelcome to see it happening again even if i’m not affected directly by it. Manjaro team and Moderators are still a TEAM, they do deserve some respect, respect that seems got affected by nonfree/free remarks here and there …

2 Likes

Well I for one don’t consider this to be an issue at all. I mean shouldn’t Users know their Hardware before trying to install an OS?

As a person who builds his Systems, maybe I’m getting a bit cranky as I’m getting older.

1 Like

Yeah, we all get cranky for different reasons :slight_smile:

It turns out only if i use Ventoy i can’t boot with nonfree option, otherwise now i can boot with both options if i create the USB with DD or with Imagewriter. That wasn’t the case before, so that means things are getting better, even if my system is quite old now.

I just use Etcher which works perfectly.

My apologies if I sounded harsh in my previous comments. :pray:
As a person whose laptops have been locking up due to nouveau on any Linux distro since 2011 I just cannot understand why anyone can even think that this free driver should be the default. I used to throw away the idea of using Linux as I saw a lockup or graphical issues, until the next try, in a year or so. This was a “good tradition” until I booted Manjaro with non-free option and saw a fast and good-looking system, which detected my GPU and used a correct Bumblebee setup for it. That was so awesome. And I see no reason to make user experience less awesome, only vice versa. Just how I see it.

(I am a long time Linux user and I know how to solve issues, but my tolerance to problems related to graphics is very low.)

2 Likes

I would definitely prefer to have the nonfree driver as default. It would have saved me some stress in the past.
Here is my experience so far:
On two of my Nvidia machines, when I tried to install Manjaro on it, I always needed multiple tries. This was because the system always locked up / frooze during installation. After some tries, sometimes the installation finished. But even then, when I booted up Manjaro, always after some seconds to minutes, the system did freeze.
At first as a Manjaro noob it took me a while to figure out why this happened. And it is hard to guess. I nearly gave up on Manjaro / (linux) because of this.

But someday I tried the nonfree option during Manjaro boot on my Nvidia systems. I did not really know what this did mean at that time, but I wanted to give it a try.
Since this day, I can finally have Manjaro working on my Nvidia machines, without constantly freezing and/or having graphics glitches in KDE.

My experience with the nouveau / free driver so far:

  • system freezes
  • graphics glitches
  • unusable slow performance
  • not working features (like nvenc and cuda)

So the Nvidia / nonfree driver seems to be the only one that really works on Nvidia hardware.
Also seems I’m not alone with this. The person who posted above me also had locking up issues + posts like this appear from time to time again, see this topic for example:

So to me it seems common that the free driver often doesn’t work in an acceptable way.

As a noob it is really hard to guess that you are having such a horrible experience just because you did not choose the “nonfree” option in the boot screen.

So I would recommend setting the default driver to nonfree, to make Manjaro supporting more hardware setups ootb with less problems and so make it more easy and user friendly.

Edit: What I wrote is just my experience. I don’t think that noveau is complete trash, maybe someone has a better experience with it than I did, so the option to choose it should still be there.
Still I think that nonfree would be the better default for most users.

3 Likes

So then I also add my mustard to it…

Due to personal preferences I don’t want Manjaro to leave the impression that it generally prefers proprietary drivers, but only offers them optionally. That would be a step in the wrong direction.

If it says “unfree” as default, it means that Manjaro supports non-free software. This is fundamentally against the basic philosophy of the Open Source community and I would be against it as well. Whereas “unfree” is, of course, an incorrect term. It is simply “not open”.

When it comes to functionality, the NVIDIA drivers are miles better than the nouveau drivers. No doubt about it.

Since Nvidia is now the only graphics card manufacturer that offers proprietary drivers for Linux (the AMD drivers are not needed for the desktop) it would make sense to call this option “proprietary nvidia drivers”, or leave this menu item out completely and let it be selected automatically.

1 Like

I thought the point of Manjaro was to bring an Arch based system in a user friendly way which would encourage more users. Those users would not be coming over from Arch or Gentoo but from Windows, Mint, or Ubuntu.

Many users are not advanced users as most people here are and don’t know how computers work. They simply just use them. Fact is though, they are the easiest to bring over from Windows because as point and click users they don’t really notice a difference on day to day tasks.

My wife and kids found using Mint easier than Windows and using Manjaro easier than Mint. They didn’t have to install either, they sat down and used them. I showed my wife how to install programs from the GUI in both Mint and Manjaro. She didn’t find anything on Mint so I assume she didn’t find that GUI repository very useful. On Manjaro though she explored Pamac’s GUI and found quite a few programs she was able to install, use, have helped her do tasks she wanted to do and has not had a problem with them or the installation. That is user friendliness.

I think the installer should be equally user friendly to new users, windows users and even apple users.

When I tried Mint coming over from Windows a couple years ago it explicitly stated, “Install third party software for graphics and wi-fi, mp3 and other media” in a user friendly window.

As a windows user you see that and say… 'yes I want those to work" and tick the box.

On Manjaro you get a boot screen that many might not even read that has a line that says ‘driver-free’
Which a Windows user might not understand and probably won’t understand at all. They might think ok it has a free(to pay for) driver, why would I have to pay for a driver to use my stuff anyway?

Here is the Mint screen:

and here is the Manjaro option on boot.

The first one is easy to see, not easy to miss and easy to understand. The second most new users will miss, might not understand it if they don’t miss it and probably get bad performance after installation which could lead to frustration and a return to their previous OS that they understood.

In my opinion it should have a Window that explains that it is about “Proprietary drivers from the manufacturers of your video card” versus “Drivers made by the community”
You don’t learn Linux before you use Linux you learn it after you install it after all.

I believe it should be encouraged to bring over more Windows users and the installer should have some basic explanations of what everything means.

A simple script which detects the user’s GPU and recommends a driver with language that is easy to understand and not easy to confuse the end user, would go a long way to user friendliness and general adoption of this OS over others. That is how one wins in a competitive marketplace.

It could say something to the effect of “Nvidia GTX 1070 detected Nvidia proprietary driver selected by default for better performance click here to choose open-source community driver if wanted.”

Or some variation. It does not need to be verbose.

That is my opinion anyhow.

9 Likes

IMO the best solution for new/inexperienced users would be proprietary drivers for nvidia users and open drivers for amd/intel gpu users by default. Especially if it could prevent scenarios like black screen after first reboot or other problems that discourage new users from using manjaro.
:v:

2 Likes

Just for my knowledge, what happens if one selects non-free drivers with an AMD GPU?

1000% at your standpoint.

1 Like

It’s a big deal for unexperienced users.

Can I get the inxi output for that install? This seems to be a “BUT SOMETIMES” case. Can we please not forget that nouveau has COUNTLESS more issues than this one isolated scenario?

They know their hardware, but they have no idea that they SHOULD change the setting. That’s the entire problem I’m focusing on.

That’s interesting, I also use Ventoy and have no issues.

Trust me, I HATE NVIDIA and am a free software enthusiast and activist in my free time, but I’d argue this is in Manjaro’s best interest.

Setting it to “nonfree” will make it automatically select the best driver.

That is literally what this proposal is about. Nonfree does not mean you get nonfree drivers for all GPUs, this only applies to NVIDIA cards.

Nothing. You get the exact same driver as if you selected free.

I experienced lot of trouble with laptops with dual GPU in the past, this may be solved now with the MHWD hybrid configs, but the only option to boot on three different laptops with Nvidia was the free option.

For me something good would be at least to rename the options because free/nonfree doesn’t mean anything to most users.
A free/proprietary option wouldn’t help much either, I think literally writing Nvidia discrete or hybrid graphics instead of nonfree would help a lot (and maybe change free for Intel or AMD graphics.

Indeed.

What do you think about a yes/no option for “nvidia proprietary graphics” instead of the current approach? So in this case instead of driver=nonfree it would say NVIDIA proprietary graphics: yes

@bogdancovaciu opinion?

1 Like

Yes that would work too and probably better approach as the ‘value’ for each settings seem to be a single word :smiley: when my value would be a sentence.

For your curiosity? Sure :slight_smile:

System:
  Kernel: 5.8.14-1-MANJARO x86_64 bits: 64 compiler: N/A 
  parameters: BOOT_IMAGE=/boot/vmlinuz-5.8-x86_64 
  root=UUID=7df5f1ea-3d1e-48e9-a10f-d5c32faf7650 rw quiet loglevel=3 
  rd.udev.log_priority=3 
  Desktop: KDE Plasma 5.20.80 tk: Qt 5.15.1 wm: kwin_x11 dm: SDDM 
  Distro: Manjaro Linux 
Machine:
  Type: Desktop System: Alienware product: Aurora v: 00 serial: <filter> 
  Chassis: type: 3 serial: <filter> 
  Mobo: Alienware model: 04VWF2 v: A02 serial: <filter> BIOS: Alienware v: A11 
  date: 11/10/2010 
CPU:
  Topology: Quad Core model: Intel Core i7 960 bits: 64 type: MT MCP 
  arch: Nehalem family: 6 model-id: 1A (26) stepping: 5 microcode: 1D 
  L2 cache: 8192 KiB 
  flags: lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 51347 
  Speed: 2076 MHz min/max: 1600/3201 MHz boost: enabled Core speeds (MHz): 
  1: 2076 2: 2458 3: 2779 4: 2108 5: 2078 6: 2870 7: 2543 8: 2446 
  Vulnerabilities: Type: itlb_multihit status: KVM: VMX disabled 
  Type: l1tf 
  mitigation: PTE Inversion; VMX: conditional cache flushes, SMT vulnerable 
  Type: mds 
  status: Vulnerable: Clear CPU buffers attempted, no microcode; SMT vulnerable 
  Type: meltdown mitigation: PTI 
  Type: spec_store_bypass 
  mitigation: Speculative Store Bypass disabled via prctl and seccomp 
  Type: spectre_v1 
  mitigation: usercopy/swapgs barriers and __user pointer sanitization 
  Type: spectre_v2 mitigation: Full generic retpoline, IBPB: conditional, 
  IBRS_FW, STIBP: conditional, RSB filling 
  Type: srbds status: Not affected 
  Type: tsx_async_abort status: Not affected 
Graphics:
  Device-1: NVIDIA GM206 [GeForce GTX 960] vendor: eVga.com. driver: nvidia 
  v: 455.28 alternate: nouveau,nvidia_drm bus ID: 08:00.0 chip ID: 10de:1401 
  Display: x11 server: X.Org 1.20.9 compositor: kwin_x11 driver: nvidia 
  display ID: :0 screens: 1 
  Screen-1: 0 s-res: 3840x1080 s-dpi: 101 s-size: 966x272mm (38.0x10.7") 
  s-diag: 1004mm (39.5") 
  Monitor-1: DVI-I-1 res: 1920x1080 hz: 60 dpi: 102 
  size: 477x268mm (18.8x10.6") diag: 547mm (21.5") 
  Monitor-2: DVI-D-0 res: 1920x1080 hz: 60 dpi: 102 
  size: 476x268mm (18.7x10.6") diag: 546mm (21.5") 
  OpenGL: renderer: GeForce GTX 960/PCIe/SSE2 v: 4.6.0 NVIDIA 455.28 
  direct render: Yes 
Audio:
  Device-1: Intel 82801JI HD Audio vendor: Dell driver: snd_hda_intel 
  v: kernel bus ID: 00:1b.0 chip ID: 8086:3a3e 
  Device-2: NVIDIA GM206 High Definition Audio vendor: eVga.com. 
  driver: snd_hda_intel v: kernel bus ID: 08:00.1 chip ID: 10de:0fba 
  Sound Server: ALSA v: k5.8.14-1-MANJARO 
Network:
  Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet 
  driver: r8169 v: kernel port: d800 bus ID: 04:00.0 chip ID: 10ec:8168 
  IF: enp4s0 state: up speed: 100 Mbps duplex: full mac: <filter> 
  Device-2: Broadcom and subsidiaries NetLink BCM5784M Gigabit Ethernet PCIe 
  vendor: Dell driver: tg3 v: kernel port: d800 bus ID: 05:00.0 
  chip ID: 14e4:1698 
  IF: enp5s0 state: up speed: 100 Mbps duplex: full mac: <filter> 
Drives:
  Local Storage: total: 3.06 TiB used: 1.40 TiB (45.8%) 
  SMART Message: Unable to run smartctl. Root privileges required. 
  ID-1: /dev/sda vendor: A-Data model: SX900 size: 119.24 GiB block size: 
  physical: 512 B logical: 512 B speed: 3.0 Gb/s serial: <filter> rev: 5 
  scheme: GPT 
  ID-2: /dev/sdb vendor: Samsung model: SSD 840 EVO 120GB size: 111.79 GiB 
  block size: physical: 512 B logical: 512 B speed: 3.0 Gb/s serial: <filter> 
  rev: BB6Q scheme: MBR 
  ID-3: /dev/sdc vendor: Seagate model: ST2000VN004-2E4164 size: 1.82 TiB 
  block size: physical: 4096 B logical: 512 B speed: 3.0 Gb/s 
  rotation: 5900 rpm serial: <filter> rev: SC60 scheme: MBR 
  ID-4: /dev/sdd vendor: Western Digital model: WD10EZEX-00RKKA0 
  size: 931.51 GiB block size: physical: 4096 B logical: 512 B speed: 3.0 Gb/s 
  serial: <filter> rev: 0A80 scheme: MBR 
  ID-5: /dev/sde vendor: HP model: SSD S700 120GB size: 111.79 GiB block size: 
  physical: 4096 B logical: 512 B speed: 3.0 Gb/s serial: <filter> rev: 4A1 
  scheme: MBR 
Partition:
  ID-1: / raw size: 55.91 GiB size: 54.53 GiB (97.53%) used: 36.66 GiB (67.2%) 
  fs: ext4 dev: /dev/sde1 
Swap:
  Alert: No Swap data was found. 
Sensors:
  System Temperatures: cpu: 37.0 C mobo: 26.0 C gpu: nvidia temp: 39 C 
  Fan Speeds (RPM): cpu: 0 fan-1: 1200 fan-3: 0 fan-4: 0 gpu: nvidia fan: 0% 
  Voltages: 12v: N/A 5v: N/A 3.3v: 3.36 vbat: 3.26 
Info:
  Processes: 301 Uptime: 8h 01m Memory: 23.48 GiB used: 10.63 GiB (45.3%) 
  Init: systemd v: 246 Compilers: gcc: 10.2.0 alt: 8/9 clang: 10.0.1 Packages: 
  pacman: 1358 lib: 352 Shell: Bash v: 5.0.18 running in: konsole inxi: 3.1.05

When first Ventoy came out, i was not able to boot any Manjaro ISO with it.

To me the install should be a lot more easier. Form what you explained previously, the install should run just one script and install the best option for the user; if fails with proprietary to install the free. That means the Proprietary to be default. The nonfree nomenclature didn’t make much sense for me, as it implies if are not free i have to pay for … So in the end YES or NO like option would make a lot more sens instead of going trough a menu of choices, no more going to another GRUB list …

Not sure how that can be done, but i think is possible, and maybe simpler that that …

2 Likes

In my opinion, we should make easy much as possible. Manjaro have mhwd, it’s great tool for installing gpu drivers. Everybody want to achive maximum performance from hardware.

Intel gpu
If mhwd detect only Intel gpu, open-source drivers should be automatically install.
Nvidia gpu
If mhwd detect only nvidia gpu, proprietary (closed source) drivers should be automatically install.
AMD
If mhwd detect only AMD, so AMD it always run better with open-source drivers, so there is a nothing to discuss.

hybrid graphics cards(optimus laptop)
Intel & Nvidia
if mhwd detect Intel + Nvidia GPU, Nvidia should get proprietary (closed source) drivers and Intel open source.
AMD & Nvidia
If mhwd detect AMD + Nvidia GPU, AMD should get open source drivers and nvidia proprietary (closed source).

As for the philosophy in a GNU/Linux, community world. We shoud use only open source solutions, but we know it… nvidia exist.

Again, I don’t know how often I need to say this, but this is LITERALLY what my proposal does. This is ALREADY the behaviour of MHWD if you select nonfree.

Hey, can a mod allow my post to be edited please? I need to clarify this since apparently nobody understands how MHWD works.

image

1 Like

Obviously half of the people who reply here didn’t read the previous messages. They probably read the title and jumped in to throw their opinion. How many time did you explain that having nonfree as default install option only affects Nvidia GPU? Too much in my opinion :zipper_mouth_face:.

3 Likes