On Wed, 13 Jan 2021 at 16:52, Archange <archange@xxxxxxxxxxxxx> wrote: > > Le 12/01/2021 à 21:45, Emil Velikov a écrit : > > On Tue, 12 Jan 2021 at 18:24, Archange <archange@xxxxxxxxxxxxx> wrote: > > > >> OK, will try to check tomorrow with a friend that has an Optimus laptop. > >> > > Perfect, thanks in advance. > > > > To trigger the event one has to echo into a sysfs file... Don't recall > > exactly, some of the following should be it. > > a) If the nvidia module is driving an fbcon: > > - echo "0" > /sys/class/vtconsole/vtconX/bind > > b) and/or a combination of the following > > - echo "remove" (or was it "unbind") > /sys/class/drm/cardX/device/uevent > > - echo "remove" (or was it "unbind") > > > /sys/class/drm/cardX/device/driver/uevent > > - echo "1" > /sys/class/drm/cardX/device/driver/unbind > > 2) If the driver is loaded before X, it works for PRIME. However, the > card refuse to unbind because it’s in use by X even if nothing is > actually running on it. > It just works here so I suspect that a command or the order was off. My setup: - Intel/Nvidia system, monitor plugged/powered by Intel GPU - Therefore fb0 is for Intel (alongside card0) and Nvidia does not have fb device only card1. What I've done: - Toggle render offload ON via xrandr, try glxgears - Toggle render offload OFF via xrandr - Issue the removal - echo "remove" > /sys/class/drm/card1/uevent - Confirm that it works - Xorg.0.log should list "removing GPU device ...blabla/card1" - No Nvidia fb - skipping the vtcon magic - Double-check nothing else is using the module - lsmod | grep nvidia_drm -> returns 0 - Remove the nvidia module(s) - rmmod nvidia_drm (+ rest) In practise the above approach should work with reverse PRIME but honestly I haven't tried. Can you give it a try, step-by-step and let me know if any issues you encounter along the way. Thanks Emil