Solving the Ubuntu 14.04 – NVIDIA 346 – nvidia-prime black screen issue

For a project that I’m currently helping with, we needed recent OpenGL features that are only available on NVIDIA drivers with version 340 and later.

Unfortunately, I have one of those NVIDIA Optimus laptops. Up to now, Bumblebee worked a treat (I would recommend this system in most cases), but for this project I needed the whole of X to run on the NVIDIA, so I had to make use of nvidia-prime to switch between Intel and NVIDIA mode.

After upgrading to the nvidia-346* packages from the xorg-edgers PPA, switching to nvidia mode by typing prime-select nvidia and then logging out and in to X, I was greeted by a black screen.

Analysis

Many hours of experimentation, script tracing and web searching later I made the following observations:

  • gpu-manager, part of ubuntu-drivers-common (in my case version 1:0.2.91.7), runs every time you start and stop your display manager (in other words, when you log out and back in) and then rewrites the /etc/X11/xorg.conf based on what it finds in the system.
  • In theory, with prime support in the NVIDIA drivers, xrandr is used to connect the output of NVIDIA adapter to the Intel adapter, which then displays the output. See the NVIDIA driver documentation for more details. The 90-nvidia.conf script in /usr/share/lightdm/lightdm.conf.d/ (part of the nvidia-prime package) calls /sbin/prime-offload, which will automatically take care of the xrandr setup for you.
  • gpu-manager was rewriting my xorg.conf file incorrectly, at least according to NVIDIA’s xrandr documentation. The primary issue was that gpu-manager was using the intel driver for the intel, instead of the modesetting driver.

The solution

All of this lead to the following (working: now tested on two setups) solution:

  • Switch to console (Ctrl-Alt-F1) and stop lightdm: sudo service lightdm stop
  • Disable gpu-manager by commenting out everything in /etc/init/gpu-manager.conf
  • Switch to nvidia mode by doing sudo prime-select nvidia
  • Change your /etc/X11/xorg.conf to look like this, making sure that the nvidia BusId is correct (check with lspci):
    Section "ServerLayout"
     Identifier "layout"
     Screen 0 "nvidia"
     Inactive "intel"
    EndSection
    
    Section "Device"
     Identifier "intel"
     Driver "modesetting"
    EndSection
    
    Section "Screen"
     Identifier "intel"
     Device "intel"
    EndSection
    
    Section "Device"
     Identifier "nvidia"
     Driver "nvidia"
     BusID "PCI:1:0:0"
    EndSection
    
    Section "Screen"
     Identifier "nvidia"
     Device "nvidia"
     Option "UseDisplayDevice" "None"
    EndSection
    
  • In the comments, Christopher May-Townsend made this brilliant suggestion. By doing sudo chattr +i /etc/X11/xorg.conf you can prevent any process from changing the file. We highly recommend that you do this, as users have reported that even after disabling the gpu-manager upstart job, it still manages to change the xorg.conf during reboot.
  • Start X up again with sudo lightdm start

If you are still greeted by a black screen, switch back to the console, and double-check that the xorg.conf has not again been rewritten to its pre-modesetting state. (if you’ve used the chattr trick above, you should be fine)

If you want to switch back to Intel you will have to stop lightdm, re-enable gpu-manager, make xorg.conf editable again with sudo chattr -i /etc/X11/xorg.conf, activate intel mode with sudo prime-select intel and then restart X with sudo service lightdm start.

It’s very possible that later versions of gpu-manager might have fixed this behaviour.

Let me know in the comments if this worked for you!

71 thoughts on “Solving the Ubuntu 14.04 – NVIDIA 346 – nvidia-prime black screen issue”

  1. Very useful page thanks. But saying that, something else is modifying the xorg.conf for me. gpu-manager.conf is completely hashed out, yet whenever X fails to start sure enough I have a different xorg.conf.

    chattr +i /etc/X11/xorg.conf is REALLY useful in this case.

    Ofc, I do want the ability to flip between prime and bumbleebee so I plan on improving my script;

    https://github.com/maquis196/optirun-prime-switcher

    which needs a bit of work after this new laptop. Now I just wished wireless on this alienware m15 worked!

    Oh, another consideration is that if youre running bumbleebee on your machine, there could be a /etc/modprobe.d/bumbleebee.conf that blacklists all the nvidia drivers (which again causes issues).

    Again, thanks or this.

  2. Thanks!

    This worked wonders, the xorg.conf did get overwritten once but after using console only and a reboot just to be sure gpu-manager was disabled, I was able to get back on nvidia graphics.

    Once again, Thank you =D

  3. Hi,

    It worked for me either, but when I rebbot, it seems that my xorg.conf file under nvidia profile keep getting rewriiten and the modesetting in the intel device keep disappearing.

    What should I do?

    1. I’ve heard reports that gpu-manager still manages to overwrite things, even after being commented out of the upstart configuration.

      As an experiment, could you try renaming gpu-manager with e.g.: sudo mv /usr/bin/gpu-manager /usr/bin/gpu-manager-NOT

      Then ensure again that your xorg.conf is fixed, and check if your changes stick (i.e. it’s not reverted).

    2. Or do what I suggested by running;

      sudo chattr +i /etc/X11/xorg.conf

      Then nothing can change that file. Not even you without running chattr -i on it again first.

        1. ah no problem. Joys of being a sysadmin, you pick up these little things that you wouldn’t normally come across. Im just glad its useful here.

  4. Thanks a lot. I have found out it is only the xorg.conf Device intel Driver modesetting which is essential for working (I think any Device intel Option are meaningless then too). Everything else configured for nvidia does not harm.
    I traced back that problem since I had this kind of issue every once in a month during the last years work from xorg-edgers ppa. Nevertheless I figured out which caused the latest arise of that issue.
    Everything went fine with nvidia-prime until upgrades in xorg-edgers ppa between 2015-01-24 and 2015-01-26.
    So it should be one of those packages causing the black screen (once again):
    libdrm2:amd64 (2.4.59+git20150125.0c5aaeef
    libdrm-intel1:amd64 (2.4.59+git20150125.0c5aaeef
    libdrm-radeon1:amd64 (2.4.59+git20150125.0c5aaeef
    libdrm-nouveau2:amd64 (2.4.59+git20150125.0c5aaeef
    libdrm-dev:amd64 (2.4.59+git20150125.0c5aaeef
    libgl1-mesa-dri:amd64 (10.5.0~git20150125.0aa31bf9
    libgbm1:amd64 (10.5.0~git20150125.0aa31bf9
    libegl1-mesa:amd64 (10.5.0~git20150125.0aa31bf9
    libwayland-egl1-mesa:amd64 (10.5.0~git20150125.0aa31bf9
    mesa-common-dev:amd64 (10.5.0~git20150125.0aa31bf9
    libglapi-mesa:amd64 (10.5.0~git20150125.0aa31bf9
    libgl1-mesa-glx:amd64 (10.5.0~git20150125.0aa31bf9
    libgl1-mesa-dev:amd64 (10.5.0~git20150125.0aa31bf9
    libgles2-mesa:amd64 (10.5.0~git20150125.0aa31bf9
    libxatracker2:amd64 (10.5.0~git20150125.0aa31bf9
    libegl1-mesa-drivers:amd64 (10.5.0~git20150125.0aa31bf9

  5. It worked partially.

    I have an Asus n56vm with two external Samsung Syncmaster P2250 displays. The external display are connected via HDMI and VGA interface.

    I recover my laptop built in display from the black screen condition and I can get video signal on my external display who’s connected via the VGA interface, but I lost the video in my HDMI connect display.

    In the former condition (built in display in black) the video in the HDMI display was working.

    I have done all the steps that you said and installed nvidia driver 346 from xorg-edgers PPA with nvidia-prime.

    Any ideas?

    Thanks

    Pedro

  6. Been looking for a while for a fix for this. Thanks! Although, I do wish there were an easier way to switch between the intel and nvidia drivers.

  7. Hi!
    First, thanks for the help to find out what this is all about.

    I have the same problem as Pedro though, I have an N56VZ with an external HDMI connected screen that now instead becomes unavailable.

    I guess I could add that to this modified xorg.conf, but I am not sure how to use the xrandr output to construct the correct xorg.conf entries.

    The web is full of stuff explaining this, but it feels like a mess how to construct a proper xorg.conf with multiple displays.
    This bus is slight different when having an external HDMI connected display, that one works but the internal LVDS connected display gets black. Using the bug fix here it goes the other way around because it seems to set a fixed configuration with only the internal display.

    My xrandr outputs:

    Screen 0: minimum 8 x 8, current 1680 x 1050, maximum 16384 x 16384
    HDMI-0 connected primary 1680×1050+0+0 (normal left inverted right x axis y axis) 473mm x 296mm
    1680×1050 60.0*+
    1920×1080 59.9 50.0 60.1 50.0
    1600×1000 60.0
    1440×900 59.9
    1280×1024 75.0 60.0
    1280×960 60.0
    1280×720 59.9 50.0
    1152×720 60.0
    1024×768 75.0 60.0
    800×600 75.0 60.3
    720×576 50.0 50.1
    720×480 59.9 60.1
    640×480 75.0 59.9 59.9
    LVDS1 connected (normal left inverted right x axis y axis)
    1920×1080 59.9 + 59.9 39.9
    1680×1050 60.0 59.9
    1600×1024 60.2
    1400×1050 60.0
    1280×1024 60.0
    1440×900 59.9
    1280×960 60.0
    1360×768 59.8 60.0
    1152×864 60.0
    1024×768 60.0
    800×600 60.3 56.2
    640×480 59.9
    VGA1 disconnected (normal left inverted right x axis y axis)
    VIRTUAL1 disconnected (normal left inverted right x axis y axis)
    1680×1050 (0x2c7) 146.2MHz
    h: width 1680 start 1784 end 1960 total 2240 skew 0 clock 65.3KHz
    v: height 1050 start 1053 end 1059 total 1089 clock 60.0Hz
    1280×1024 (0x2cf) 108.0MHz
    h: width 1280 start 1328 end 1440 total 1688 skew 0 clock 64.0KHz
    v: height 1024 start 1025 end 1028 total 1066 clock 60.0Hz
    1440×900 (0x2cd) 106.5MHz
    h: width 1440 start 1520 end 1672 total 1904 skew 0 clock 55.9KHz
    v: height 900 start 903 end 909 total 934 clock 59.9Hz
    1280×960 (0x2d0) 108.0MHz
    h: width 1280 start 1376 end 1488 total 1800 skew 0 clock 60.0KHz
    v: height 960 start 961 end 964 total 1000 clock 60.0Hz
    1024×768 (0x2d5) 65.0MHz
    h: width 1024 start 1048 end 1184 total 1344 skew 0 clock 48.4KHz
    v: height 768 start 771 end 777 total 806 clock 60.0Hz
    800×600 (0x2d7) 40.0MHz
    h: width 800 start 840 end 968 total 1056 skew 0 clock 37.9KHz
    v: height 600 start 601 end 605 total 628 clock 60.3Hz
    640×480 (0x2dd) 25.2MHz
    h: width 640 start 656 end 752 total 800 skew 0 clock 31.5KHz
    v: height 480 start 490 end 492 total 525 clock 59.9Hz

    1. Please check carefully: Optimus setups vary in which dispaly ports are connected to which adapters. In my case, the NVIDIA has no external connectors (everything is connected to the intel) but apparently there are some setups in which a subset of the ports are actually connected to the NVIDIA.

      In your case, xrandr reports both your internal and external display as connected.

      Have you tried something stupid like “xrandr –output HDMI-0 –auto” ?

      What does the display control panel tell you? (press windows key, then “display”)

    2. Hi Lars,

      I found the solution.

      The problem is in the xorg.conf.

      I’ll post my configuration during this weekend (i’m not near my other laptop)

      1. Hi Lars,

        Check my xorg.conf. For me this worked.

        ————————-
        Section “ServerLayout”
        Identifier “layout”
        Screen 0 “nvidia”
        Inactive “intel”
        EndSection

        Section “Device”
        Identifier “intel”
        Driver “modesetting”
        EndSection

        Section “Screen”
        Identifier “intel”
        Device “intel”
        EndSection

        Section “Device”
        Identifier “nvidia”
        Driver “nvidia”
        BusID “PCI:1:0:0”
        Option “ConstrainCursor” “off”
        EndSection

        Section “Screen”
        Identifier “nvidia”
        Device “nvidia”
        Option “AllowEmptyInitialConfiguration” “on”
        EndSection
        —————————

        Regards,
        Pedro

  8. Thanks for the tips, but actually, I finally tried something that was simple but good.

    I originated from the generated file that was created every time by the gpu-manager, and then I ONLY changed the line that read “intel” to “modesetting” in the Device part.
    Then I of course, I changed the attribute of xorg.conf like suggested so that it could not be overwritten.

    That worked, both the internal display and my HDMI-connected monitor is back.

    However, just like before things are kind of weird, in the NVIDIA control panel ONLY the external HDMI display is available to choose, not the internal one for some reason.
    So I always set up the displays in the ubuntu Displays dialog, because there for some reason both are available.

    Also, one thing I’ve always had to do in compiz is in the General Settings –> Display Settings is to tick off the “detect outputs” and add two entries in there:

    1920×1080+0+0
    1680×1050+1920+0

    Otherwise both resolution, window placement and everything goes totally wrong in Compiz.
    It was just pure luck that I experimented with that.

    This “prime” thing and Nvidia drivers on the optimus chipset still feels VERY shaky. There’s always some new effect or complete chaos when either the kernel, compiz or nvidia drivers are updated. It seems like both canonical and nvidia has very much problems with regression testing.

    1. Hello Lars,

      I’ve got the same Asus laptop and it’s a nightmare with this optimus crap!

      Did you find a final acceptable solution for the HDMI external port (I don’t care about 3D stuff)?

      Thanks

  9. Anyone else getting hit by the following issue?

    During normal use (game or desktop), the screen “crashes” where it doesn’t update. Switching to console and back again restores it with a msg in syslog saying;

    acpid client disconnect?

    I’m curious if its just me, the screen actually crashes where the apps keep running!

  10. So I’ve been searching for an easier fix for this and I found something that works a little better for me (don’t know if it will work for everyone.

    On Nvidia developer zone forums someone said that after switching to Nvidia drivers and getting black screen of death ;), when they closed their laptop lid, activating sleep mode, and then opened back up, they were able to log in normally and that Nvidia drivers were active. I did try this several times and it worked every time.

    Although not really a “fix”, this is easier for me to do than editing xorg, disabling/enabling gpu-manager, converting to -i/+i, etc. for every switch.

    1. Yeah that’s totally right. I realized it after turing the computer on and went away. The default login-screen timeout for the blank-screen (kind of screensaver) is 10 minutes (it is a kernel-parameter, really!).
      Do following to test:
      1. boot
      2. no logon screen, black screen of death
      3. switch to terminal 1 to see a blinking cursor
      4. wait 10 minutes until the screen blanks (can be verified by not seeing the cursor)
      5. press any key to wake up and change back to terminal 7 (X session)
      6. voila, the login screen is there

      So it is somehow related to acpi, X or console timeout (the default kernel screen blank timeout).

      COULD YOU PLEASE TELL ME WHERE YOU FOUND THAT INFORMATION ON THE NVIDIA FORUMS?

      1. Remember, this is no solution for workstation users, since they can’t put the sleepmode on IN the X session.
        It only works when the X session is available. If you switch to a pure console terminal none of the following commands will help, since they will not find any X display:

        xset dpms force standby
        xset dpms force off
        xset -q
        xscreensaver-command
        setterm -blank 1 #wait 1 minute to blank the terminal

        I am using KDE, so even KDE could not help:
        qdbus org.freedesktop.ScreenSaver /ScreenSaver Lock
        qdbus org.freedesktop.ScreenSaver /ScreenSaver SetActive true
        qdbus org.freedesktop.ScreenSaver /ScreenSaver GetActiveTime

  11. Just to add my 2 cents. I had the same issue but the process described didnt work for me. Changing the intel driver to modesetting just made Xorg crash on start. I played with different configuration changes and driver versions for hours till I tried purging nouveau, then everything magically works. At that point I had already purged xorg-edgers and downgraded to nvidia-331 but I will try if this solves the issue for 346 as well.

  12. For me this fix dosen’t work ubuntu-common-drivers 1:0.2.98.4 πŸ™
    I try and nvidia-xconfig’s xorg.conf and it also dosen’t work

  13. Thank you very much for this article and the comments!!! It works like a charm now. Actually both methods work for me: the xorg.conf version and the one with putting your laptop to sleep at login screen.

    I have placed your workaround in the bug report: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-331/+bug/1362848. Do you think you could also elaborate with the developers so that this issue could be solved (the gpu-manager ones)? I believe that your input would be of a great help to them πŸ˜‰

  14. Thanks. You solution works very good. I have written script for changing card, maybe it wil be helpfull for somebody:

    Save this as script_name

    #!/bin/bash

    p=$1
    card_now=$(prime-select query)
    if [ "$p" == "nvidia" -a "$card_now" != "nvidia" ]
    then
    echo Changing graphic card to NVIDIA
    sudo service lightdm stop
    sudo sed -i 's/^/#/' /etc/init/gpu-manager.conf
    sudo prime-select nvidia
    sudo cp ./xorg.conf.nvidia /etc/X11/xorg.conf
    sudo chattr +i /etc/X11/xorg.conf
    sudo service lightdm start

    elif [ "$p" == "intel" -a "$card_now" != "intel" ]
    then
    echo Changing graphic card to Intel
    sudo service lightdm stop
    sudo sed -i 's/^[#]*//' /etc/init/gpu-manager.conf
    sudo chattr -i /etc/X11/xorg.conf
    sudo prime-select intel
    sudo service lightdm start

    else
    echo Wrong argument or this card is using now
    echo Now using: $card_now
    fi

    and give rules for running by chmod +x script_name .

    also for using need to create file xorg.conf.nvidia in the same folder as described in the part Change your /etc/X11/xorg.conf to look like this.

    Usage of script:
    # script_name intel for switching to Intel card and
    # script_name nvidia for Nvidia respectively.

  15. I was struggling for days with the new Nvidia 346 driver (xorg-edgers) on Ubuntu 14.04. Have a notebook with GTX 970m. Had blank screen, wrong resolution etc. The solution above worked, but only after I used the chattr +i on xorg.conf. Even if gpu manager was deactivated, some little kobolt in the system changed my xorg.conf back. THANK YOU! CHEERS!

  16. Hi,
    I am using an optimus laptop (acer aspire V5-573G) with GT 750M gfx card. I had the same issues as you did when I suddenly switched to my nvidia card for a CUDA project. I tried out doing exactly what you did, still without any success. If you could give any pointers to how I can try to troubleshoot it’ll be of great help.

    Right now I’ve tried drivers 346,340,331 and 331-updates without luck.

    I can still run CUDA on the tty when switching to the NVIDIA card. But this is not fun.

    1. What do you see in your xorg.conf when X gives you the black screen? (ctrl-alt-f1 to switch to console, login and check your /etc/X11/xorg.conf).

      Did you use the chattr trick to prevent changes being made to this file after setting the Intel to modesetting?

    1. script and manually way dont work for me, using asus 550jk.

      @inzt – i cant see version 2.6 of libdrm2 from oibaf repository. its only 2.4.60.

  17. Hi,

    I just want to say thank you for taking the time and effort to figure out this issue and more importantly for sharing it with the rest of us. I went through hell trying to get the nvidia gpu on my Lenovo Ideapad z710 to work properly with the new nvidia drivers. It was your instructions and steps that finally allowed me to get it to work. Ubuntu linux is a great OS but these problems with the graphic chip sets are a real impediment. I have been using Linux since 1995 so I am no newbie but this issue tested my patience and almost made me want to go back to Windows 8.1 which I find absolutely horrid. So thanks again and much obliged.

    Cheers,
    Juan

  18. Hi,
    I performed a fresh install of ubuntu 14.04.1. The “Additional Drivers” section didn’t recognized my nvidia (GTX 860M) graphics card at all. I added the xorg-edgers and installed the nvidia-356.59 driver and got the black screen problem. I apply the solution proposed here and worked. Then I processed to apply al the following Ubuntu updates and updated until 14.04.2. I was happy that everything was running well.
    Then I processed to install CUDA 7.0 and now I have the following problem:
    Sometimes my laptop hangs on boot: the last line of the booting process before hanging reads:
    ‘Starting ACPI daemon [OK]’
    After that I only can power off the laptop pressing the power button.
    Using the “nomodeset” boot parameter allows me to boot with the nvidia driver selected, without freeze, but I get the login screen and after logging in I only see my desktop background and the mouse pointer. Usint “Alt + F2” or “Ctrl + Alt + T” does nothing (only the tty1-6 work). From there switching to intel drivers using ‘sudo prime-select intel’ fails.
    When the laptop does not hangs I get again a black screen. I can use the others ttys and using ‘prime-select query’ outputs ‘nvidia’. If I wait until the “screen saver” is activated then the X Server works. (Probably related with the “work around” mentioned by “Z” (February 23, 2015 12:48 PM))
    Does anyone else is having the boot problem as described here?

    Cheers

  19. Once I installed xserver-xorg-video-modesetting, work well with my Ubuntu 14.04.2 and GTX 850M.
    After hundreds of pages I’ve seen, your solution was the one.

    Thank you very much for your work.

    1. Great! installing xserver-xorg-video-modesetting indeed was my last part of the puzzle, now it runs 1920×1080 with working OpenGL on the internal display!

  20. A week of googling just to find your page! Thanks for your help, the driver’s now working smooth and fine.

  21. Thank you so much! This has been driving me up the wall! Having never been able to get Bumblebee fully functional, i’m finally able to use my nvidia card! Christopher May-Townsend, Cpbotha, I owe you both a beer!! If you’re ever over West London way….

  22. Works Fine with 1 monitor!!

    However, I have 2 monitors attached to the laptop (ASUS ROG), 1 HDMI and VGA.

    When I try to plugin the monitors… the blackscreen is back!!!

    Help please!!!

  23. Sorry, that didn’t work to me. I have a Kubuntu 15.04 laptop with an NVIDIA Quadro K1100M card.
    I tried the chattr +i fix, as gpu-manager was overwriting the xorg.conf file even after commenting out its config file. But then I couldn’t even start sddm (which replaces lightdm on 15.04): as I run “sudo service sddm start” from the 1st virtual console, I didn’t get the black screen as before, yet after a quick flash I was still on the same console. Looking into the gpu-manager log file, I noticed it was complaining about being unable to write the xorg.conf file.
    Any help would be highly appreciated!

  24. Doesn’t work for my system (Lenovo Y510p), but I think there may be a more serious problem with my GPU. I’ve tried every solution on the internet to the black screen issue but nothing works; whenever the nvidia card is selected I am unable to get passed the login screen, the system typically just goes to “low graphics mode”.

  25. I’ve been trying this on my thinkpad W541, and I can’t seem to get modesetting to work. X always crashes with this error in the log:

    modeset (g1): drmsetmaster failed: Invalid argument

    Anyone seen this before?

  26. So after trying a lot of things to solve the blank screen on boot, this is the one thing that solved for me:

    use only regular repos
    upgraded to the latest binary available through the Additional Drivers menu

    and if you use Bumblebee, certify that you have the driver you choose blacklisted! (yeah!!)

    sudo nano /etc/modprobe.d/bumbleebee.conf

    In my case I’m using 346 proprietary:

    # do not automatically load nouveau as it may prevent nvidia from loading
    blacklist nouveau
    # do not automatically load nvidia as it’s unloaded anyway when bumblebeed
    # starts and may fail bumblebeed to disable the card in a race condition.
    blacklist nvidia
    blacklist nvidia-current
    blacklist nvidia-current-updates
    # 304
    blacklist nvidia-304
    blacklist nvidia-304-updates
    blacklist nvidia-experimental-304
    # 310
    blacklist nvidia-310
    blacklist nvidia-310-updates
    blacklist nvidia-experimental-310
    # 313
    blacklist nvidia-313
    blacklist nvidia-313-updates
    blacklist nvidia-experimental-313
    # 319
    blacklist nvidia-319
    blacklist nvidia-319-updates
    blacklist nvidia-experimental-319
    # 325
    blacklist nvidia-325
    blacklist nvidia-325-updates
    blacklist nvidia-experimental-325
    # 331
    blacklist nvidia-331
    blacklist nvidia-331-updates
    blacklist nvidia-experimental-331
    # 340
    blacklist nvidia-340
    blacklist nvidia-340-updates
    blacklist nvidia-experimental-340
    # 346
    blacklist nvidia-346
    blacklist nvidia-346-updates
    blacklist nvidia-experimental-346

    yey! no everything works!

  27. On my laptop I just press the power button once and the restart menu comes up along with the rest of the screen. Esc and log in. No need to put it in sleep mode.

    But your solution is good too (sorry, that was snarky).

  28. Great Man…I’ve a lot a problem with this “double” video card, but now everything is working fine! Thank you so much!

  29. Just note the kernel (grub) line can be modified to include “nogpumanager” and effectively do the same as the modification with chattr +i /etc/X11/xorg.conf.

  30. Wow! It worked! I don’t know how to thank you! I’ve been stuck and I was even thinking about reinstalling ubuntu, you really saved me!

  31. In Ubuntu 15.10 and higher, where systemd is used to manage processes, disabling gpu-manager is done with the following:

    sudo systemctl disable gpu-manager

    Modifying the /etc/init/gpu-manager.conf file seems to have no effect, the service starts up anyway unless disabled via systemctl as well.

  32. Thank you! Tried it on two setups. Just needed to fix xorg.conf as described in this page w/o tinkering w/ gpu-manager; used chattr +i and works like a charm. post and things worked like a charm.

  33. Hello, I had the same problem, but I could solve my case:
    Gigabyte Notebook with hybrid Intel + Nvidia GTX 765M card with PRIME not working with (K)Ubuntu 16.04 with any version of the proprietary NVIDIA driver. When prime-select switched to nvidia gives a black screen, set to intel worked. NVidia proprietary driver prime-select set to nvidia worked on (K)Ubuntu 14.04 before.

    The solution that worked for me (with latest stable driver 367.57, from graphics ppa, but should work with every driver) was to change xorg.conf!

    The version of Xorg shipped with (K)Ubuntu 16.04 is 1.18.4, where the BusID format in xorg.conf was slightly changed in Xorg >= 1.17.2.
    I changed `BusID “PCI:1@0:0:0″` on the nvidia card to `BusID “PCI:1::0:0″` and similar process on the intel section and also added the LoadModule setting. Like described in an answer to a post on askubuntu. see: http://askubuntu.com/a/776527

    I guess the broken id works on PRIME set to intel because autodetection in single-intel mode is much better then the Nvidia PRIME stuff.

    After restart it worked, but something changed my xorg.conf again to have invalid data. I’m now experimenting with deactivating gpu-manager by commenting all lines in /etc/init/gpu-manager.conf and setting “chattr +i” for xorg.conf.

    and see ArchWiki: https://wiki.archlinux.org/index.php/NVIDIA_Optimus#Using_nvidia

    Hope this solves your problems with NVidia PRIME too!

Leave a Reply

Your email address will not be published. Required fields are marked *