Announcement

Collapse
No announcement yet.

Linux with Nvidia GPU: Is it really that bad?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Linux with Nvidia GPU: Is it really that bad?

    Hello everyone,

    I am currently eyeing on this one Acer since it is the only Windows 10 tablet at the moment with dedicated Nvidia GPU. Naturally, I would like to dual-boot it with my preferred Linux desktop distro.

    However, my quick search on Google about Linux on Nvidia shows a rather... ummm... unpleasant experience with it from, it must be said, quite a lot of users. That got me thinking:
    • Is the experience running Linux on any PC with Nvidia really that bad? Or is it just a mere certain users' issue?
    • And while we're on the subject of graphic cards, how would AMD fair up?
    Thanks in advance.

  • #2
    Someone please respond.

    Comment


    • #3
      Hi oplein,

      upfront I want to be honest and let you know that I m more on the AMD side.

      But I have had the same thought recently when I ordered my new Notebook at work.
      Dell Precision 7540 with Quadro T1000.
      Dell is one of the few manufactures providing preinstalled Linux installations.
      So the Device was shipped with an OEM version of Ubuntu 18.04. Everything configured as it should ...more or less.
      Well it "works" ...but switching between intel igpu and the Quadro caused boot loops, attaching external display beamer with
      iGPU was not working only if switched to quadro only in bios. Prime is not syncing so a lot of screen tearing in some situations.

      After a few weeks I decided to do a complete fresh installation of generic ubuntu 18.04 (later also 19.10) and install everything by myself. First PPA then compiling ....and so on. Different kernels ...nothing it was not working as it should - one or another crucial feature was missing. (I spend almost a work week just with this)
      Now I have Clear Linux installed running without iGPU - only Nvidia -otherwise I have blackscreens. Battery of course is draining faster....

      The opensource driver is the last option if nothing works but dont expect any performance - for newer cards sometimes only 50% performance of properitery drivers.

      To sum it up: I consider myself as an advanced Linux user and I usually dont have issues getting things done on a linux machine (even compiling complete software frameworks/toolchains on a hpc computer from scratch without previliged permissions and only a limited toolset to start).

      Intel or AMD Cards are running out of the box:
      Intel:
      I have had in the Last 10 years 3 Laptops with intel onboard and never had real issues with it. 5 years ago screen tearing under Ubuntu 14.04 and 16.04 was present but rather easy to fix.
      For the last 2 years I can safely say: just install the latest ubuntu LTS and there is no issue at all. With any other Distro it was the same but I dont have longterm experience with them

      AMD:
      I have had 7870 and 7850 Cards they have always worked out of the box since Ubuntu 14.04.

      I have a NAS based on AMD Athlon 200GE (Vega 3 iGPU) - I bought the CPU shortly after release. At that time I installed a minimal Debian Stretch shipped with Kernel 4.9 - dmesg showed some issued. Using backported Kernel 4.18 caused some hang. But then I manually build the most recent (at that time) 4.19 Kernel and gfx worked without issues. one error in the log but it was not affecting operation at all. The AMDGPU driver matured very good.

      If it is an AMD Navi based card Kernel 5.3 or better 5.4 is necessary and also Mesa 19.2 or 19.3+ should be used to have a smooth experience.
      I have a AMD 5700 XT (Navi) and it worked out of the Box with Pop OS 19.10 (Kernel 5.3) and oibaf mesa. Now I have compiled the latest Kernel 5.4 even with some march=native hacks and it is rock stable and very performant. So no complain at all.

      I hope this will help you with your decision
      Last edited by CochainComplex; 09 January 2020, 12:03 PM.

      Comment


      • #4
        A tablet... hmmm...

        The problem is that in my opinion there is no real choice here.... Hybrid graphics setups are still not 100% supported under Linux, especially regarding power management.

        Is the experience running Linux on any PC with Nvidia really that bad? Or is it just a mere certain users' issue?
        Linux people tend to hate NVIDIA for the lack of open-source support (but something that Average Joe does not care about), and several other controversial decisions (like the GeForce Experience thingy or EGLStreams instead of GBM).
        However, it actually performs very well on the desktop and so far did not have any stability issues when testing it a while ago (using the proprietary driver).
        It even has a larger set of features, including advanced video encoding.

        The only problem is lack of official support for hybrid graphics. You can only use either the integrated card, or the dedicated one.
        ​​​​​​Thankfully there is a solution. By using Bumblebee/Primus you can have hybrid graphics support (using the integrated card for desktop, and the dedicated one for games).
        However, it does have several drawbacks:
        - VSync is off most of the time.
        - When VSync is on, there is a large amount of latency (~4 frames).
        - It does not fully do power management either, so the dedicated card will be powered up the whole time (but there is a "solution" to this problem).

        ...wait. I just read and there is partial "official" support for hybrid graphics! Of course, they did not implement power management :<
        There are also some other "hacks" that switch between both on-the-fly, but of course, it won't be as smooth as it is under Windows.

        And while we're on the subject of graphic cards, how would AMD fair up?
        To be honest, I am not sure since I've never had an hybrid AMD laptop...
        ...but what I can tell you is that while AMD is good regarding open-source support, it isn't when talking about stability.
        Often it is a mixed bag, with kernels/Mesa that hang, kernels/Mesa that don't hang, apps that cause issues, apps that don't, features that work and some others that don't, and lots of other stuff to consider. Sometimes even the official drivers have issues.
        It works very well for some users (probably most), and doesn't for others, especially in newer hardware. Vega had lots'a hang issues after release, and Navi's having a hard time right now.

        For hybrid graphics, PRIME also has its fair share of issues, including occasional frame corruption, and the fact that it doesn't work if you are not using a compositor (e.g. using Openbox instead of Mutter or KWin).
        ...plus I am not aware of power management solutions for AMD cards...

        In a summary, if you do not mind having a closed-source driver then you may want to go for the NVIDIA choice (I'm sorry, AMD fans, even though I primarily use AMD). Otherwise, try looking for AMD, but be aware of the stability issues.

        Comment


        • #5
          The best distribution for Nvidia users is Pop!OS. It builds on the excellent work on Ubuntu and fixes some things. For instance, screen tearing due to prime sync not activated. Under ubuntu, and probably every distribution shipping gnome except Pop, prime sync is not active, because it requires the nvidia drivers to be running as "modeset=1". Unfortunately, the display manager of gnome,gdm3, does not like that with default settings, and you get no external monitors.
          system76 solves this by giving gdm3 root permissions, it's a one line fix. (note that sddm and lightdm do not have the same problem that gdm3 has).
          On ubuntu, you can repeat the one line fix, or swap out gdm3 for lightdm, which is also one line, and after that, set up the nvidia driver to be in modeset=1. This will activate prime sync, and no more tearing. Under Pop!OS, it just works. Under ubuntu, allow five minutes to get it working. Every other distribution is varying degrees of PITA regarding nvidia. System76 sells Optimus laptops, so they had to get it working with Pop!OS.

          You can expect, if you are using ubuntu or pop, that you can turn off the nvidia card and get lower power, or turn it on for performance. The very latest ubuntu and pop also support 'hybrid' mode, where you can have certain applications render on the nvidia card, but then power down the nvidia card when not required. But for this to be useful, you need to have a Turing-based nvidia card, because the older cards don't powerdown very well. Also, it works best on laptops where the displays are connected to the intel graphics. Workstation laptops have external displays connected to the nvidia card, so the nvidia card must be turned on if you want external displays (this is not a Linux thing, Windows has the same problem).

          So if you choose the right distribution, you can live with Nvidia most of the time. But sometimes it just breaks for a while, based on my experience. There have been some big improvements in the past year, it's fair to say.

          Comment


          • #6
            Originally posted by timrichardson View Post
            The best distribution for Nvidia users is Pop!OS. It builds on the excellent work on Ubuntu and fixes some things. For instance, screen tearing due to prime sync not activated. Under ubuntu, and probably every distribution shipping gnome except Pop, prime sync is not active, because it requires the nvidia drivers to be running as "modeset=1". Unfortunately, the display manager of gnome,gdm3, does not like that with default settings, and you get no external monitors.
            system76 solves this by giving gdm3 root permissions, it's a one line fix. (note that sddm and lightdm do not have the same problem that gdm3 has).
            On ubuntu, you can repeat the one line fix, or swap out gdm3 for lightdm, which is also one line, and after that, set up the nvidia driver to be in modeset=1. This will activate prime sync, and no more tearing. Under Pop!OS, it just works. Under ubuntu, allow five minutes to get it working. Every other distribution is varying degrees of PITA regarding nvidia. System76 sells Optimus laptops, so they had to get it working with Pop!OS
            Thanks for this insights - I learned a lot of this post and I had been crawling through many "help me" threads due to my nvidia issues.

            slightly OT: I'm using Pop!OS on my desktop with the 5700XT and it is really nice dispite of my first doubts - "..yet another distro of the week". grub-update not present was a bit strange until I have realized that systemd is used instead.
            IMHO Pop!OS could be the next big thing after ubuntu - or at least a good debian/ubuntu ecosystem surrogate. (Mint has never appealed to me).
            Last edited by CochainComplex; 09 January 2020, 12:02 PM.

            Comment


            • #7
              Big AMD fan here, just saying...


              But regardless of that, the real truth is you probably won't have any major issues with nVidia unless you intend to use multi-monitors. It's horribly buggy. Single monitor the biggest problems will be the update experience, which may or may not be a problem at all depending on how good your distribution of choice handles it. But on multi-monitors the problems get severe.

              Probably the first thing you'll notice is the horrible almost unusably slow xrender acceleration, the desktop just feels laggy, especially so on multi-monitor setups and the more monitors the worse it gets. Second thing is tearfree doesn't work on any monitor besides the first so will have horrible tearing that can't be fixed on the second or higher monitor. Third thing you'll definitely notice if you're a gamer is that there are numerous bugs relating to fullscreen mode, many, many apps can only be stretched across all screens in fullscreen mode.

              There's more but that's likely to be the things that will badly irk you about nvidia on Linux.
              Last edited by duby229; 13 January 2020, 03:04 AM.

              Comment


              • #8
                There's not much wrong with nVidia drivers from a users point of view. A couple of tweaks here and there and they are perfectly usable - except if you want to do exotic things like run Wayland under multiple monitors or other such edge cases. But frankly, Linux distros as a whole tend to break down horribly on edge cases, so...

                This seamlessness has come at the cost of a lot of desktop developers going way out of their way in order to fix Nvidias shit though, which is why quite a few of them are quite a bit annoyed with Nvidia.

                These days you can get the same performance with AMD as you can with Nvidia, but have less breakage for certain edge case scenarios and less upgrade pains overall. This is the reason I have started to recommend AMD over Nvidia for Linux users.

                I hope I never have to deal with Nvidias proprietary drivers ever again, but not holding my breath for it. Best would be if Nvidia started to fully collaborate with Nouveau though, the way AMD has collaborated with the Linux community.

                Comment


                • #9
                  I'am currently running an AMD card but Nvidia is far from bad under Linux .
                  It of course depends on your setup but you may run an LTS distribution while still getting regular gfx driver updates without the need to update your kernel DRM and Mesa every month or so to stay up to date with the latest AMD code .
                  Besides Nvidias perfomance unser Linux is good throughout the gaming library ...

                  But it really depends on your setup and use case

                  Comment


                  • #10
                    I'm totally biased and using AMD myself but from what I've heard Nvidia GPU's doesn't really behave all that bad under Linux unless you're really unlucky or target some specific apps that are known to not work correctly.

                    Comment

                    Working...
                    X