nvidia-prime needs sddm support

Bug #1428328 reported by Marcin Sągol
82
This bug affects 15 people
Affects Status Importance Assigned to Milestone
nvidia-prime (Ubuntu)
Fix Released
Medium
Alberto Milone

Bug Description

Kubuntu 15.04 will use sddm as a default login manager. If we try to install nvidia drivers with nvidia-prime, the second will want to install lightdm as it depends of it. Whats more lightdm will want to install a lot of other packages.

What we need: nvidia-prime to support sddm

1. #lsb_release -rd
Description: Ubuntu Vivid Vervet (development branch)
Release: 15.04

2. #apt-cache policy nvidia-prime
nvidia-prime:
  Installed: (none)
  Candidate: 0.7
  Version table:
     0.7 0
        500 http://archive.ubuntu.com/ubuntu/ vivid/main amd64 Packages

3. What you expected to happen ?

nvidia-prime should work with sddm and do not require lightdm and all its dependencies (unity packges)

4. What happened instead ?

nvidia-prime wants to install lightdm as a dependency and a lot of other packages:

#sudo apt-get install nvidia-prime

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:

  adwaita-icon-theme apg avahi-utils bbswitch-dkms cheese-common cups-pk-helper dconf-cli evolution-data-server evolution-data-server-common evolution-data-server-online-accounts
  geoclue geoclue-ubuntu-geoip gir1.2-atk-1.0 gir1.2-freedesktop gir1.2-gdkpixbuf-2.0 gir1.2-gnomebluetooth-1.0 gir1.2-gnomekeyring-1.0 gir1.2-gtk-3.0 gir1.2-ibus-1.0
  gir1.2-notify-0.7 gir1.2-packagekitglib-1.0 gir1.2-pango-1.0 gkbd-capplet gnome-bluetooth gnome-control-center-shared-data gnome-desktop3-data gnome-menus gnome-power-manager
  gnome-screensaver gnome-session-bin gnome-settings-daemon-schemas gnome-user-guide gnome-user-share gsettings-ubuntu-schemas gstreamer1.0-clutter gvfs-backends humanity-icon-theme
  hwdata ibus indicator-applet indicator-application indicator-bluetooth indicator-datetime indicator-keyboard indicator-messages indicator-power indicator-session indicator-sound
  libaccount-plugin-1.0-0 libaccount-plugin-generic-oauth libaccount-plugin-google libaccounts-qt5-1 libappindicator3-1 libcamel-1.2-49 libcdio-cdda1 libcdio-paranoia1
  libcheese-gtk23 libcheese7 libclutter-1.0-0 libclutter-1.0-common libclutter-gst-2.0-0 libclutter-gtk-1.0-0 libcogl-common libcogl-pango20 libcogl-path20 libcogl20
  libdbusmenu-gtk3-4 libebackend-1.2-7 libebook-1.2-14 libebook-contacts-1.2-0 libecal-1.2-16 libedata-book-1.2-20 libedata-cal-1.2-23 libedataserver-1.2-18 libgdata-common
  libgdata19 libgee2 libgeocode-glib0 libgnome-bluetooth11 libgnome-desktop-3-10 libgnome-menu-3-0 libgnomekbd-common libgnomekbd8 libgoa-1.0-0b libgoa-1.0-common libgtop2-10
  libgtop2-common libgweather-3-6 libgweather-common libido3-0.1-0 libindicator3-7 libinput7 liblightdm-gobject-1-0 libnm-gtk-common libnm-gtk0 liboauth0 libpackagekit-glib2-16
  libpanel-applet0 libsignon-extension1 libsignon-glib1 libsignon-plugins-common1 libsignon-qt5-1 libtimezonemap-data libtimezonemap1 libunity-control-center1
  libunity-settings-daemon1 liburl-dispatcher1 libwacom-bin libwacom-common libwacom2 libxklavier16 libyelp0 lightdm mousetweaks nautilus-data network-manager-gnome python-notify
  python3-aptdaemon.pkcompat python3-bs4 python3-cairo python3-html5lib python3-lxml python3-smbc python3-xdg session-migration signon-keyring-extension signon-plugin-oauth2
  signon-ui signon-ui-service signon-ui-x11 signond system-config-printer-common system-config-printer-gnome ubuntu-mono ubuntu-system-service ubuntu-touch-sounds
  unity-control-center unity-control-center-signon unity-greeter unity-settings-daemon yelp yelp-xsl

Suggested packages:

  bumblebee evolution evolution-data-server-dbg apache2.2-bin libapache2-mod-dnssd samba-common ibus-clutter ibus-doc click powerd unity-system-compositor
  unity-greeter-session-broadcast url-dispatcher nautilus network-manager-openconnect-gnome network-manager-openvpn-gnome network-manager-vpnc-gnome network-manager-pptp-gnome
  python3-genshi python3-lxml-dbg python-lxml-doc libcanberra-gtk-module lightdm-remote-session-freerdp lightdm-remote-session-uccsconfigure remote-login-service metacity
  x-window-manager

The following NEW packages will be installed:

  adwaita-icon-theme apg avahi-utils bbswitch-dkms cheese-common cups-pk-helper dconf-cli evolution-data-server evolution-data-server-common evolution-data-server-online-accounts
  geoclue geoclue-ubuntu-geoip gir1.2-atk-1.0 gir1.2-freedesktop gir1.2-gdkpixbuf-2.0 gir1.2-gnomebluetooth-1.0 gir1.2-gnomekeyring-1.0 gir1.2-gtk-3.0 gir1.2-ibus-1.0
  gir1.2-notify-0.7 gir1.2-packagekitglib-1.0 gir1.2-pango-1.0 gkbd-capplet gnome-bluetooth gnome-control-center-shared-data gnome-desktop3-data gnome-menus gnome-power-manager
  gnome-screensaver gnome-session-bin gnome-settings-daemon-schemas gnome-user-guide gnome-user-share gsettings-ubuntu-schemas gstreamer1.0-clutter gvfs-backends humanity-icon-theme
  hwdata ibus indicator-applet indicator-application indicator-bluetooth indicator-datetime indicator-keyboard indicator-messages indicator-power indicator-session indicator-sound
  libaccount-plugin-1.0-0 libaccount-plugin-generic-oauth libaccount-plugin-google libaccounts-qt5-1 libappindicator3-1 libcamel-1.2-49 libcdio-cdda1 libcdio-paranoia1
  libcheese-gtk23 libcheese7 libclutter-1.0-0 libclutter-1.0-common libclutter-gst-2.0-0 libclutter-gtk-1.0-0 libcogl-common libcogl-pango20 libcogl-path20 libcogl20
  libdbusmenu-gtk3-4 libebackend-1.2-7 libebook-1.2-14 libebook-contacts-1.2-0 libecal-1.2-16 libedata-book-1.2-20 libedata-cal-1.2-23 libedataserver-1.2-18 libgdata-common
  libgdata19 libgee2 libgeocode-glib0 libgnome-bluetooth11 libgnome-desktop-3-10 libgnome-menu-3-0 libgnomekbd-common libgnomekbd8 libgoa-1.0-0b libgoa-1.0-common libgtop2-10
  libgtop2-common libgweather-3-6 libgweather-common libido3-0.1-0 libindicator3-7 libinput7 liblightdm-gobject-1-0 libnm-gtk-common libnm-gtk0 liboauth0 libpackagekit-glib2-16
  libpanel-applet0 libsignon-extension1 libsignon-glib1 libsignon-plugins-common1 libsignon-qt5-1 libtimezonemap-data libtimezonemap1 libunity-control-center1
  libunity-settings-daemon1 liburl-dispatcher1 libwacom-bin libwacom-common libwacom2 libxklavier16 libyelp0 lightdm mousetweaks nautilus-data network-manager-gnome nvidia-prime
  python-notify python3-aptdaemon.pkcompat python3-bs4 python3-cairo python3-html5lib python3-lxml python3-smbc python3-xdg session-migration signon-keyring-extension
  signon-plugin-oauth2 signon-ui signon-ui-service signon-ui-x11 signond system-config-printer-common system-config-printer-gnome ubuntu-mono ubuntu-system-service
  ubuntu-touch-sounds unity-control-center unity-control-center-signon unity-greeter unity-settings-daemon yelp yelp-xsl
0 upgraded, 143 newly installed, 0 to remove and 0 not upgraded.
Need to get 31,6 MB/31,8 MB of archives.
After this operation, 146 MB of additional disk space will be used.
Do you want to continue? [T/n]

Marcin Sągol (soee)
description: updated
Rohan Garg (rohangarg)
Changed in nvidia-prime (Ubuntu):
status: New → Confirmed
milestone: none → ubuntu-15.04
Changed in nvidia-prime (Ubuntu):
importance: Undecided → Medium
Revision history for this message
Aaron Honeycutt (aaronhoneycutt) wrote :

When I install the NVIDIA packages from Driver Manager and reboot my system does not load (I think it has to do with sddm not starting) I did pick sddm from the list that include a option to use lightdm.

Revision history for this message
sierdzio (sierdzio) wrote :

Same for me: I install nVidia stuff through Driver Manager, and on next boot I am greeted with black screen and lots of crash messages (kdeinit5, plasma, and others). This renders the system GUI completely unusable. And the alternative (Nouveau driver) is far, far from being good enough.

Revision history for this message
Konrad Materka (materka) wrote :

Aaron Honeycutt, sierdzio - this is differnt bug, you need "nomodeset" option in kernel options.
As a workaround in grub press "e" and add nomodeset in the line when "splash" is. Then hit F10 to boot - should work.
You can add this option in /etc/default/grub to make it default.

Revision history for this message
Jonathan Riddell (jr) wrote :

Needs sddm to run commands on login and shut down

also investigatae why this isn't just done as systemd units

https://lists.ubuntu.com/archives/kubuntu-devel/2015-April/009405.html

Revision history for this message
Jonathan Riddell (jr) wrote :

Added a patch to sddm to load the nvidia-prime setup script if it finds it.

However there's no hook to load prime-switch yet which needs run on shutdown.

Revision history for this message
Aaron Honeycutt (aaronhoneycutt) wrote :

I just installed NVIDIA driver 346.47 from nvidia-346 and from 'prime-select' query shows "nvidia". Once I reboot with "nvidia" select I get a lot of crash reports about plasmashell and krunner. If I switch back to intel with 'prime-select intel' and reboot, everything is back to normal. If anyone can point me to some logs so I can provide some feedback do let me know :). This is my hardware: http://shop.lenovo.com/us/en/laptops/lenovo/y-series/y510p/

Revision history for this message
Christian Bourque (christian-bourque) wrote :

Aaron, nvidia-prime is not supported by SDDM (this is precisely what this bug report is about) so I guess the behavior you get is expected at this point...

Jonathan Riddell (jr)
Changed in nvidia-prime (Ubuntu):
assignee: nobody → Alberto Milone (albertomilone)
Revision history for this message
Jonathan Riddell (jr) wrote :

implemented so it loads it not at login, alas the switch command doesn't get run at logout because sddm doesn't restart X

Changed in nvidia-prime (Ubuntu):
status: Confirmed → Fix Released
Revision history for this message
Caio Plazas (clplaza23) wrote :

Just reinstalled Kubuntu 15.04, updated it and installed the driver. I still get a black screen after reboot.

Revision history for this message
Christian Bourque (christian-bourque) wrote :

Indeed it doesn't work as expected! If I do "sudo prime-select intel" and then I reboot I get a black screen!

Revision history for this message
Alberto Milone (albertomilone) wrote :

This is no longer a problem in sddm. There seems to be a bug in ubuntu-drivers-common (on in systemd) that prevents gpu-manager from creating the following file:

/var/lib/ubuntu-drivers-common/requires_offloading

As a result, nvidia-prime, won't see the need of offloading rendering, and you will boot into a black screen. I've filed LP: #1443364 about it.

Assuming that you're affected by the same problem, for now you can do the following:

sudo systemctl stop sddm

sudo systemctl start gpu-manager

sudo systemctl start sddm

Revision history for this message
Marcin Sągol (soee) wrote :

Hi Alberto,

with latest updates i was able to run propriery driver with nvidia-prime, but only 346 version. With 340 there are problems like black screen or as users report, we can reach sddm, enter login data but after loading screen we are kicked back to sddm again. One user also reported font issues, that might be somehow related to dpi settings.

Revision history for this message
Alberto Milone (albertomilone) wrote :

That is probably a bug in the driver. Something only NVIDIA can fix.

Revision history for this message
Christian Bourque (christian-bourque) wrote :

I confirm that it works nicely on my system (Asus N56VZ with optimus Intel/NVIDIA)!

Thanks a lot Alberto :)

Revision history for this message
José Alarcón (jose-alarcon-roldan) wrote :

I experienced the same issue as Marcin described after updating from 14.10 on my Thinkpad T420.

In order to solve it I had to manually remove all nvidia-* packages and install nvidia-346. Not a big deal for anyone somehow comfortable with a shell but probably a show stopper for some other users.

Is there any mechanism to force using nvidia-346 when performing a distribution upgrade?

Revision history for this message
sierdzio (sierdzio) wrote :

After all the recent updates, the problem is solved on my side. I can, once again, use the nVidia drivers on my laptop. Thanks, guys!

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.