ubuntu user Hon Weng Chong has emailed me as he continues to investigate the problem. He believes he has proof that it is is GDM configuration issue and has provided the following fix
Hey Tim, I figured out a hack solution to the GDM prime issue. If you replace /lib/systemd/system/gdm3.service with this file: https://gist.github.com/hwchong/b3634b387e91b38d355a0500ffecfc7d and /etc/X11/xorg.conf with this: https://gist.github.com/hwchong/28d7c70aafd62a0d3114c5746da7da36 You should be able to use Prime Sync with your Intel graphics card and have an external monitor connected to the Nvidia GPU without using LightDM. Cheers, Hon His proposed changes to xorg are probably not significant. He is proposing to add this to nvidia options, but this can be done via the GUI or command line. Option "metamodes" "nvidia-auto-select +0+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}" The revised /lib/systemd/system/gdm3.service he proposes is is --> Compared to Fedora 27's config, changes seem to be the addition of ExecStartPre=/usr/bin/xinit /usr/share/gdm/generate-config . . . RestartSec=1s ExecReload=/usr/share/gdm/generate-config [Unit] Description=GNOME Display Manager # replaces the getty Conflicts=getty@tty1.service After=getty@tty1.service # replaces plymouth-quit since it quits plymouth on its own Conflicts=plymouth-quit.service After=plymouth-quit.service # Needs all the dependencies of the services it's replacing # pulled from getty@.service and plymouth-quit.service # (except for plymouth-quit-wait.service since it waits until # plymouth is quit, which we do) After=rc-local.service plymouth-start.service systemd-user-sessions.service # GDM takes responsibility for stopping plymouth, so if it fails # for any reason, make sure plymouth still stops OnFailure=plymouth-quit.service [Service] ExecStartPre=/usr/bin/xinit /usr/share/gdm/generate-config ExecStart=/usr/sbin/gdm3 KillMode=mixed Restart=always RestartSec=1s IgnoreSIGPIPE=no BusName=org.gnome.DisplayManager StandardOutput=syslog StandardError=inherit EnvironmentFile=-/etc/default/locale ExecReload=/usr/share/gdm/generate-config ExecReload=/bin/kill -SIGHUP $MAINPID -- You received this bug notification because you are a member of Desktop Packages, which is subscribed to gnome-shell in Ubuntu. https://bugs.launchpad.net/bugs/1716857 Title: gdm3, hybrid nvidia with modeset=1, no external monitors detected Status in gnome-shell package in Ubuntu: New Bug description: Context: 17.10 development packages, nvidia binary driver 375, modeset=1 for the nvidia driver. ubuntu desktop (gnome shell), fresh install ThinkPad W520 in Nvidia Optimus bios mode. Nvidia profile. Result: no external monitors are detected. xrandr does not even list them as disconnected (normally it would list five external disconnected monitors) lsmod shows that nvidia driver is loaded and the modesetting is working at some level because there is no tearing on the laptop panel Note: modeset=1 is the only way to get flicker-free graphics on the laptop panel. modeset=1 is not the default setting but it is highly desirable. It works if lightdm is used which is why I have reported this against gdm3 My sessions in this configuration have mostly crashed after a few minutes with a gdm3 fail whale message in syslog but nothing else looks interesting. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/gnome-shell/+bug/1716857/+subscriptions -- Mailing list: https://launchpad.net/~desktop-packages Post to : desktop-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~desktop-packages More help : https://help.launchpad.net/ListHelp