Askannz / optimus-manager

A Linux program to handle GPU switching on Optimus laptops.
MIT License
2.28k stars 166 forks source link

Stopped working in Manjaro (after update I think). #251

Closed Tommos0 closed 2 months ago

Tommos0 commented 4 years ago

Hi, switching just suddenly stopped working on my Dell XPS 15 9570.

Something is happening; it seems both drivers (intel+nvidia) are being loaded, is that normal?

cat /etc/optimus-manager/optimus-manager.conf 
[optimus]
switching=none
pci_power_control=yes
#pci_remove=yes
pci_reset=no

[intel]
# Driver to use for the Intel GPU. Possible values : modesetting, intel
# To use the intel driver, you need to install the package "xf86-video-intel".
driver=intel
cat /var/log/optimus_manager/gpu_setup.log

2020-05-04 06:15:33 PM +0200 ==================== 

Optimus Manager (Setup script) version 1.2.2
Setting up the GPU
Checking status of optimus-manager.service
Cleaning up leftover Xorg conf
Removed /etc/X11/xorg.conf.d/10-optimus-manager.conf
Loading config
Requested mode : nvidia
Checking for GDM display servers
Available kernel modules : ['nouveau', 'nvidia', 'nvidia_drm', 'nvidia_modeset']
Setting up base state
Unloading modules ['nvidia_drm', 'nvidia_modeset', 'nvidia'] (if loaded)
Unloading modules ['nouveau'] (if loaded)
Running /etc/optimus-manager/nvidia-enable.sh
Setting up Nvidia state
Loading module nvidia
Loading module nvidia_drm
Loaded extra Intel Xorg options (0 lines)
Loaded extra Nvidia Xorg options (0 lines)
Writing to /etc/X11/xorg.conf.d/10-optimus-manager.conf
cat /etc/X11/xorg.conf.d/10-optimus-manager.conf 
Section "Files"
        ModulePath "/usr/lib/nvidia"
        ModulePath "/usr/lib32/nvidia"
        ModulePath "/usr/lib32/nvidia/xorg/modules"
        ModulePath "/usr/lib32/xorg/modules"
        ModulePath "/usr/lib64/nvidia/xorg/modules"
        ModulePath "/usr/lib64/nvidia/xorg"
        ModulePath "/usr/lib64/xorg/modules"
EndSection

Section "ServerLayout"
        Identifier "layout"
        Screen 0 "nvidia"
        Inactive "intel"
EndSection

Section "Device"
        Identifier "nvidia"
        Driver "nvidia"
        BusID "PCI:1:0:0"
        Option "Coolbits" "28"
EndSection

Section "Screen"
        Identifier "nvidia"
        Device "nvidia"
        Option "AllowEmptyInitialConfiguration"
EndSection

Section "Device"
        Identifier "intel"
        Driver "modesetting"
        BusID "PCI:0:2:0"
EndSection

Section "Screen"
        Identifier "intel"
        Device "intel"
EndSection
cat /var/log/Xorg.0.log | egrep "nvidia|intel"
[    42.590] (**) OutputClass "nvidia" ModulePath extended to "/usr/lib/nvidia/xorg,/usr/lib/xorg/modules,/usr/lib/xorg/modules"
[    42.590] (**) OutputClass "nvidia" ModulePath extended to "/usr/lib/nvidia/xorg,/usr/lib/xorg/modules,/usr/lib/nvidia/xorg,/usr/lib/xorg/modules,/usr/lib/xorg/modules"
[    42.591] (II) Applying OutputClass "intel" to /dev/dri/card0
[    42.591] (II) Applying OutputClass "nvidia" to /dev/dri/card1
[    42.591]    loading driver: nvidia
[    42.591] (II) Applying OutputClass "nvidia" to /dev/dri/card1
[    42.591]    loading driver: nvidia
[    42.591] (==) Matched intel as autoconfigured driver 1
[    42.591] (==) Matched nvidia as autoconfigured driver 2
[    42.599] (II) LoadModule: "intel"
[    42.599] (II) Loading /usr/lib/xorg/modules/drivers/intel_drv.so
[    42.599] (II) Module intel: vendor="X.Org Foundation"
[    42.599] (II) LoadModule: "nvidia"
[    42.599] (II) Loading /usr/lib/xorg/modules/drivers/nvidia_drv.so
[    42.603] (II) Module nvidia: vendor="NVIDIA Corporation"
[    42.604] (II) intel: Driver for Intel(R) Integrated Graphics Chipsets:
[    42.604] (II) intel: Driver for Intel(R) HD Graphics
[    42.604] (II) intel: Driver for Intel(R) Iris(TM) Graphics
[    42.604] (II) intel: Driver for Intel(R) Iris(TM) Pro Graphics
[    42.690] (II) Applying OutputClass "nvidia" options to /dev/dri/card1
[    42.690] (II) Applying OutputClass "nvidia" options to /dev/dri/card1
[    42.690] (II) UnloadModule: "intel"
[    42.690] (II) Unloading intel
[    42.690] (II) UnloadModule: "nvidia"
[    42.690] (II) Unloading nvidia
glxgears -info | head -n 5
Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.
GL_RENDERER   = Mesa Intel(R) UHD Graphics 630 (CFL GT2)
GL_VERSION    = 4.6 (Compatibility Profile) Mesa 20.0.6
GL_VENDOR     = Intel
Tommos0 commented 4 years ago

I just installed the latest git version. I noticed that now switching is working randomly sometimes.

Fail log:

[6] INFO: # Xorg pre-start hook
[6] INFO: Requested mode is: nvidia
[7] INFO: Checking for GDM display servers
[183] INFO: Available modules: ['nouveau', 'nvidia', 'nvidia_drm', 'nvidia_modeset', 'nvidia_uvm']
[184] INFO: Unloading modules ['nouveau'] (if loaded)

Succes log:

[5] INFO: # Xorg pre-start hook
[5] INFO: Requested mode is: nvidia
[5] INFO: Checking for GDM display servers
[177] INFO: Available modules: ['nouveau', 'nvidia', 'nvidia_drm', 'nvidia_modeset', 'nvidia_uvm']
[177] INFO: Unloading modules ['nouveau'] (if loaded)
[4234] INFO: Setting Nvidia PCI power state to on
[4268] INFO: Loading module nvidia
[4271] INFO: Loading module nvidia_drm
[4294] INFO: Loaded extra Intel Xorg options (0 lines)
[4294] INFO: Loaded extra Intel Xorg options (0 lines)
[4294] INFO: Writing to /etc/X11/xorg.conf.d/10-optimus-manager.conf
[4294] INFO: Writing state {'type': 'pending_post_xorg_start', 'switch_id': '20200504T190101', 'requested_mode': 'nvidia'}
[4294] INFO: Xorg pre-start hook completed successfully.
[2] INFO: # Xorg post-start hook
[3] INFO: Running xrandr commands
[579] INFO: Running /etc/optimus-manager/xsetup-nvidia.sh
[604] INFO: Writing state {'type': 'done', 'switch_id': '20200504T190101', 'current_mode': 'nvidia'}
[604] INFO: Xorg post-start hook completed successfully.
Askannz commented 4 years ago

After a fail, if you run optimus-manager --status, does it print an error message ?

nwildner commented 3 months ago

Hey @Tommos0 , are you still interested on this issue?

It's been 4 years since the last comment here. Is it still relevant to you using optimus-manager-git ?