You are not logged in.
Pages: 1
Hi,
I spend the whole day yesterday trying to get the nvidia driver to work without any success. A huge thank you to you if you can provide any help or insight, or suggestions regarding better practices!
I have a iGPU Intel UHD 620 and a dGPU Nvidia GeForce MX150 (Thinkpad T480). In the current situation, I have a power hungry, non-usable graphics card that sucks empty my battery (~ 12 W in idle). :-(
I would like to:
1. Primarily use the iGPU with the dGPU off.
2. Use the dGPU on demand dedicated for certain tasks (e.g. in VM, CUDA, etc)
For this I decided to go for the proprietary nvidia driver with bumblebee or optimus-manager.
I installed: nvidia, nvidia-settings, nvidia-utils, bumblebee, optimus-manager, bbswitch.
My configuration looks as follows:
/etc/default/grub
GRUB_CMDLINE_LINUX="[...] modprobe.blacklist=nouveau"
/etc/modprobe.d/nouveau.conf
blacklist nouveau
/etc/modules-load.d/bbswitch
bbswitch load_state=0 unload_state=1
/etc/X11/xorg.conf.d/10-intel.conf
Section "Device"
Identifier "intel"
Driver "modesetting"
BusID "PCI:0:2:0"
Option "DRI" "3"
Option "Backlight" "intel_backlight
EndSection
/etc/X11/xorg.conf.d/20-nvidia.conf
Section "Module"
Load "modesetting"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BusID "PCI:1:0:0"
EndSection
.xinitrc
xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto
exec i3 --shmlog-size=26214400
exec xset s off
Currently bbswitch fails to switch the card:
$ sudo modprobe bbswitch load_state=0 unload_state=1; cat /proc/acpi/bbswitch
0000:01:00.0 ON
$ sudo tee /proc/acpi/bbswitch <<<OFF; cat /proc/acpi/bbswitch
OFF
0000:01:00.0 ON
optimus-manager always gives:
$ optimus-manager --print-mode
Current GPU mode : intel
Furthermore:
$ optirun glxgears -info
[ 5395.370053] [ERROR]Cannot access secondary GPU - error: [XORG] (EE) [drm] Failed to open DRM device for pci:0000:01:00.0: -19
Additionally, starting Xorg takes really long, fails the first time with following error but starts the second time:
Xorg.log
[...]
[ 37.904] (II) modeset(0): Output eDP-1 connected
[ 37.904] (II) modeset(0): Output DP-1 disconnected
[ 37.904] (II) modeset(0): Output HDMI-1 disconnected
[ 37.904] (II) modeset(0): Output DP-2 disconnected
[ 37.904] (II) modeset(0): Output HDMI-2 disconnected
[ 37.904] (II) modeset(0): Using exact sizes for initial modes
[ 37.904] (II) modeset(0): Output eDP-1 using initial mode 2560x1440 +0+0
[ 37.904] (==) modeset(0): Using gamma correction (1.0, 1.0, 1.0)
[ 37.904] (==) modeset(0): DPI set to (96, 96)
[ 37.904] (II) Loading sub module "fb"
[ 37.904] (II) LoadModule: "fb"
[ 37.904] (II) Loading /usr/lib/xorg/modules/libfb.so
[ 37.905] (II) Module fb: vendor="X.Org Foundation"
[ 37.905] compiled for 1.20.5, module version = 1.0.0
[ 37.905] ABI class: X.Org ANSI C Emulation, version 0.4
[ 37.905] (==) modeset(G0): Depth 24, (==) framebuffer bpp 32
[ 37.905] (==) modeset(G0): RGB weight 888
[ 37.905] (==) modeset(G0): Default visual is TrueColor
[ 37.905] (II) Loading sub module "glamoregl"
[ 37.905] (II) LoadModule: "glamoregl"
[ 37.906] (II) Loading /usr/lib/xorg/modules/libglamoregl.so
[ 37.906] (II) Module glamoregl: vendor="X.Org Foundation"
[ 37.906] compiled for 1.20.5, module version = 1.0.1
[ 37.906] ABI class: X.Org ANSI C Emulation, version 0.4
[ 56.206] (II) modeset(G0): Refusing to try glamor on llvmpipe
[ 56.207] (EE) modeset(G0): glamor initialization failed
[ 56.207] (II) modeset(G0): ShadowFB: preferred YES, enabled YES
[ 56.207] (II) modeset(G0): Double-buffered shadow updates: off
[ 56.207] (==) modeset(G0): Using gamma correction (1.0, 1.0, 1.0)
[ 56.207] (==) modeset(G0): DPI set to (96, 96)
[ 56.207] (II) Loading sub module "fb"
[ 56.207] (II) LoadModule: "fb"
[ 56.207] (II) Loading /usr/lib/xorg/modules/libfb.so
[ 56.207] (II) Module fb: vendor="X.Org Foundation"
[ 56.207] compiled for 1.20.5, module version = 1.0.0
[ 56.207] ABI class: X.Org ANSI C Emulation, version 0.4
[ 56.207] (II) Loading sub module "shadow"
[ 56.207] (II) LoadModule: "shadow"
[ 56.207] (II) Loading /usr/lib/xorg/modules/libshadow.so
[ 56.208] (II) Module shadow: vendor="X.Org Foundation"
[ 56.208] compiled for 1.20.5, module version = 1.1.0
[ 56.208] ABI class: X.Org ANSI C Emulation, version 0.4
[ 56.208] (EE) modeset(G0): drmSetMaster failed: Permission denied
[ 56.208] (EE)
Fatal server error:
[ 56.208] (EE) AddScreen/ScreenInit failed for gpu driver 0 -1
[ 56.208] (EE)
[ 56.208] (EE)
Please consult the The X.Org Foundation support
at http://wiki.x.org
for help.
[ 56.208] (EE) Please also check the log file at "/home/stephan/.local/share/xorg/Xorg.0.log" for additional information.
[ 56.208] (EE)
[ 56.235] (EE) Server terminated with error (1). Closing log file.
journalctr
kernel: NVRM: No NVIDIA devices probed.
kernel: NVRM: Try unloading the conflicting kernel module (and/or
NVRM: reconfigure your kernel without the conflicting
NVRM: driver(s)), then try loading the NVIDIA kernel module
NVRM: again.
kernel: NVRM: This can occur when a driver such as:
NVRM: nouveau, rivafb, nvidiafb or rivatv
NVRM: was loaded and obtained ownership of the NVIDIA device(s).
kernel: NVRM: The NVIDIA probe routine was not called for 1 device(s).
$ lsmod
lsmod
Module Size Used by
bbswitch 20480 0
msr 16384 0
ipmi_devintf 20480 0
ipmi_msghandler 69632 1 ipmi_devintf
ccm 20480 6
joydev 28672 0
mousedev 24576 0
nouveau 2310144 0
mxm_wmi 16384 1 nouveau
ttm 118784 1 nouveau
snd_hda_codec_hdmi 69632 1
snd_hda_codec_realtek 126976 1
snd_hda_codec_generic 94208 1 snd_hda_codec_realtek
snd_soc_skl 118784 0
intel_rapl 28672 0
snd_soc_hdac_hda 24576 1 snd_soc_skl
8021q 40960 0
snd_hda_ext_core 36864 2 snd_soc_hdac_hda,snd_soc_skl
garp 16384 1 8021q
snd_soc_skl_ipc 73728 1 snd_soc_skl
mrp 20480 1 8021q
stp 16384 1 garp
llc 16384 2 stp,garp
snd_soc_sst_ipc 20480 1 snd_soc_skl_ipc
snd_soc_sst_dsp 40960 1 snd_soc_skl_ipc
snd_soc_acpi_intel_match 28672 1 snd_soc_skl
i915 2265088 4
snd_soc_acpi 16384 2 snd_soc_acpi_intel_match,snd_soc_skl
arc4 16384 2
x86_pkg_temp_thermal 20480 0
iTCO_wdt 16384 0
intel_powerclamp 20480 0
coretemp 20480 0
snd_soc_core 286720 2 snd_soc_hdac_hda,snd_soc_skl
iTCO_vendor_support 16384 1 iTCO_wdt
kvm_intel 311296 0
mei_hdcp 24576 0
snd_compress 28672 1 snd_soc_core
ac97_bus 16384 1 snd_soc_core
intel_wmi_thunderbolt 20480 0
snd_pcm_dmaengine 16384 1 snd_soc_core
wmi_bmof 16384 0
i2c_algo_bit 16384 2 i915,nouveau
iwlmvm 466944 0
kvm 770048 1 kvm_intel
snd_hda_intel 53248 0
mac80211 999424 1 iwlmvm
nls_iso8859_1 16384 1
irqbypass 16384 1 kvm
nls_cp437 20480 1
intel_cstate 16384 0
intel_uncore 139264 0
vfat 24576 1
snd_hda_codec 159744 5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek,snd_soc_hdac_hda
drm_kms_helper 225280 2 i915,nouveau
fat 86016 1 vfat
snd_hda_core 102400 8 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_ext_core,snd_hda_codec,snd_hda_codec_realtek,snd_soc_hdac_hda,snd_soc_skl
intel_rapl_perf 16384 0
snd_hwdep 20480 1 snd_hda_codec
btusb 57344 0
pcspkr 16384 0
iwlwifi 389120 1 iwlmvm
psmouse 180224 0
input_leds 16384 0
uvcvideo 114688 0
e1000e 286720 0
drm 503808 7 drm_kms_helper,i915,ttm,nouveau
snd_pcm 135168 8 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_ext_core,snd_hda_codec,snd_soc_core,snd_soc_skl,snd_hda_core,snd_pcm_dmaengine
btrtl 20480 1 btusb
videobuf2_vmalloc 20480 1 uvcvideo
btbcm 16384 1 btusb
videobuf2_memops 20480 1 videobuf2_vmalloc
videobuf2_v4l2 28672 1 uvcvideo
btintel 28672 1 btusb
cfg80211 856064 3 iwlmvm,iwlwifi,mac80211
thunderbolt 196608 0
snd_timer 40960 1 snd_pcm
i2c_i801 36864 0
videobuf2_common 57344 2 videobuf2_v4l2,uvcvideo
mei_me 45056 1
intel_gtt 24576 1 i915
bluetooth 675840 4 btrtl,btintel,btbcm,btusb
thinkpad_acpi 110592 0
videodev 237568 3 videobuf2_v4l2,uvcvideo,videobuf2_common
mei 126976 3 mei_hdcp,mei_me
idma64 20480 0
agpgart 53248 4 intel_gtt,ttm,nouveau,drm
intel_pch_thermal 16384 0
nvram 16384 1 thinkpad_acpi
intel_lpss_pci 20480 0
syscopyarea 16384 1 drm_kms_helper
ledtrig_audio 16384 3 snd_hda_codec_generic,snd_hda_codec_realtek,thinkpad_acpi
ecdh_generic 16384 1 bluetooth
sysfillrect 16384 1 drm_kms_helper
intel_lpss 16384 1 intel_lpss_pci
rfkill 28672 6 bluetooth,thinkpad_acpi,cfg80211
sysimgblt 16384 1 drm_kms_helper
snd 110592 11 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_compress,thinkpad_acpi,snd_soc_core,snd_pcm
media 61440 4 videodev,videobuf2_v4l2,uvcvideo,videobuf2_common
ecc 32768 1 ecdh_generic
fb_sys_fops 16384 1 drm_kms_helper
intel_xhci_usb_role_switch 16384 0
processor_thermal_device 20480 0
roles 16384 1 intel_xhci_usb_role_switch
ucsi_acpi 16384 0
int3403_thermal 16384 0
intel_soc_dts_iosf 20480 1 processor_thermal_device
typec_ucsi 45056 1 ucsi_acpi
typec 49152 1 typec_ucsi
tpm_crb 20480 0
wmi 36864 4 intel_wmi_thunderbolt,wmi_bmof,mxm_wmi,nouveau
pcc_cpufreq 20480 0
soundcore 16384 1 snd
battery 24576 1 thinkpad_acpi
ac 16384 0
int340x_thermal_zone 16384 2 int3403_thermal,processor_thermal_device
tpm_tis 16384 0
tpm_tis_core 24576 1 tpm_tis
int3400_thermal 20480 0
acpi_thermal_rel 16384 1 int3400_thermal
tpm 73728 3 tpm_tis,tpm_crb,tpm_tis_core
evdev 24576 15
mac_hid 16384 0
rng_core 16384 1 tpm
ip_tables 36864 0
x_tables 49152 1 ip_tables
sd_mod 57344 0
uas 28672 0
usb_storage 77824 1 uas
scsi_mod 249856 3 sd_mod,usb_storage,uas
dm_crypt 53248 1
dm_mod 155648 14 dm_crypt
crct10dif_pclmul 16384 1
crc32_pclmul 16384 0
ghash_clmulni_intel 16384 0
serio_raw 20480 0
atkbd 36864 0
libps2 20480 2 atkbd,psmouse
aesni_intel 372736 6
aes_x86_64 20480 1 aesni_intel
xhci_pci 20480 0
crypto_simd 16384 1 aesni_intel
cryptd 24576 3 crypto_simd,ghash_clmulni_intel
glue_helper 16384 1 aesni_intel
xhci_hcd 278528 1 xhci_pci
i8042 32768 0
serio 28672 7 serio_raw,atkbd,psmouse,i8042
ext4 770048 2
crc32c_generic 16384 0
crc32c_intel 24576 4
crc16 16384 2 bluetooth,ext4
mbcache 16384 1 ext4
jbd2 135168 1 ext4
P.s. Oh and
$ xbacklight -set 50
No outputs have backlight property
:-(
Last edited by smoneck (2019-09-20 18:09:27)
Offline
Don't do everything you've ever read at the same time. Most of these things are mutually exclusive and you should decide for one approach. Revert all of this. (Regardless, your .xinitrc is incomplete, note the blue boxes)
You did define bumblebee or optimus-manager. This isn't an "and or" this is an "exclusive or". Which of the two? Decide for one remove things related to the other. Properly configure your choice. Read https://wiki.archlinux.org/index.php/Bumblebee if bumblebee or https://github.com/Askannz/optimus-mana … /README.md if optimus-manager (pay close and special attention to the configuration and the FAQ sections as there are certain things you have to be actively weary of to A) not use nouveau but bbswitch for power management and B) special precautions when using startx and not a display manager)
Regarding the P.s.:
Xbacklight uses a non-standard and broken way of setting your backlight that only ever worked with xf86-video-intel. Don't use it, use e.g. light instead which will control the proper kernel interfaces instead of random roudabout over the xorg server.
Last edited by V1del (2019-09-19 08:46:53)
Offline
Thanks a ton! Bumblebee is removed. I'll report back when I found the time to go through the optimus-manager documentation in detail.
Regarding xbacklight: light works nicely! There is no hint in the wiki about "uses a non-standard and broken way" and no mentioning of "light" apart from the comparison table. Is there any place with a concise best practice guide for different use cases?
Offline
There is the blue note box which should probably be changed to a warning that tells you that it's incompatible with everything but xf86-video-intel, including the modesetting driver that is a requirement for most things optimus.
Offline
I now reverted all my changes and went through the docs. X still takes half a minute to start and when I log out and in again, the machine completely hangs. And optimus-manager --switch nvidia still results in intel mode.
In the syslog, I find:
Sep 19 21:44:30 hostname kernel: #PF: error_code(0x0000) - not-present page
Sep 19 21:44:30 hostname kernel: #PF: supervisor read access in kernel mode
Sep 19 21:44:30 hostname kernel: BUG: unable to handle page fault for address: fffffffffffffc00
Sep 19 21:54:31 hostname kernel: RSP: 0018:ffff9e3781d53790 EFLAGS: 00010286
Sep 19 21:54:31 hostname kernel: RAX: 0000000000000000 RBX: ffff9ab18ea71800 RCX: 0000000000000000
Sep 19 21:54:31 hostname kernel: RDX: 0000000000000007 RSI: 0000000000000096 RDI: 00000000ffffffff
Sep 19 21:54:31 hostname kernel: RBP: 0000000000000001 R08: 0000000000000735 R09: 0000000000000001
Sep 19 21:54:31 hostname kernel: R10: 0000000000000000 R11: 0000000000000001 R12: ffff9ab18c5b3220
Sep 19 21:54:31 hostname kernel: R13: ffff9ab18ffba850 R14: ffff9ab18d3d4700 R15: ffff9e3781d539c8
Sep 19 21:54:31 hostname kernel: FS: 0000000000000000(0000) GS:ffff9ab192480000(0000) knlGS:0000000000000000
Sep 19 21:54:31 hostname kernel: CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Sep 19 21:54:31 hostname kernel: CR2: 00007f03fa26e480 CR3: 000000011180a003 CR4: 00000000003606e0
Sep 19 21:54:31 hostname kernel: Call Trace:
Sep 19 21:54:31 hostname kernel: nvkm_vmm_map+0x13b/0x360 [nouveau]
Sep 19 21:54:31 hostname kernel: ? gp100_vmm_pgt_mem+0x180/0x180 [nouveau]
Sep 19 21:54:31 hostname kernel: nvkm_vram_map+0x56/0x80 [nouveau]
Sep 19 21:54:31 hostname kernel: nvkm_uvmm_mthd+0x676/0x790 [nouveau]
Sep 19 21:54:31 hostname kernel: nvkm_ioctl+0xde/0x180 [nouveau]
Sep 19 21:54:31 hostname kernel: nvif_object_mthd+0x112/0x140 [nouveau]
Sep 19 21:54:31 hostname kernel: nvif_vmm_map+0x11e/0x130 [nouveau]
Sep 19 21:54:31 hostname kernel: ? reservation_object_wait_timeout_rcu+0x148/0x300
Sep 19 21:54:31 hostname kernel: nouveau_mem_map+0x97/0x100 [nouveau]
Sep 19 21:54:31 hostname kernel: nouveau_vma_map+0x44/0x70 [nouveau]
Sep 19 21:54:31 hostname kernel: nouveau_bo_move_ntfy+0xc1/0xe0 [nouveau]
Sep 19 21:54:31 hostname kernel: ttm_bo_handle_move_mem+0x3a1/0x4f0 [ttm]
Sep 19 21:54:31 hostname kernel: ttm_bo_evict+0x174/0x1f0 [ttm]
Sep 19 21:54:31 hostname kernel: ttm_mem_evict_first+0x194/0x210 [ttm]
Sep 19 21:54:31 hostname kernel: ttm_bo_force_list_clean+0x9f/0x170 [ttm]
Sep 19 21:54:31 hostname kernel: nouveau_do_suspend+0x93/0x190 [nouveau]
Sep 19 21:54:31 hostname kernel: nouveau_pmops_runtime_suspend+0x40/0xa0 [nouveau]
Sep 19 21:54:31 hostname kernel: pci_pm_runtime_suspend+0x58/0x140
Sep 19 21:54:31 hostname kernel: ? __switch_to_asm+0x40/0x70
Sep 19 21:54:31 hostname kernel: ? pci_has_legacy_pm_support+0x70/0x70
Sep 19 21:54:31 hostname kernel: __rpm_callback+0x7b/0x130
Sep 19 21:54:31 hostname kernel: ? pci_has_legacy_pm_support+0x70/0x70
Sep 19 21:54:31 hostname kernel: rpm_callback+0x1f/0x70
Sep 19 21:54:31 hostname kernel: rpm_suspend+0x136/0x610
Sep 19 21:54:31 hostname kernel: pm_runtime_work+0x94/0xa0
Sep 19 21:54:31 hostname kernel: process_one_work+0x1d1/0x3e0
Sep 19 21:54:31 hostname kernel: worker_thread+0x4a/0x3d0
Sep 19 21:54:31 hostname kernel: kthread+0xfb/0x130
Sep 19 21:54:31 hostname kernel: ? process_one_work+0x3e0/0x3e0
Sep 19 21:54:31 hostname kernel: ? kthread_park+0x80/0x80
Sep 19 21:54:31 hostname kernel: ret_from_fork+0x35/0x40
Sep 19 21:54:31 hostname kernel: ---[ end trace 2774d58e8ed99f7c ]---
Sep 19 21:54:31 hostname kernel: [TTM] Buffer eviction failed
Sep 19 21:54:46 hostname kernel: nouveau 0000:01:00.0: DRM: failed to idle channel 1 [DRM]
Sep 19 21:44:30 hostname kernel: nouveau 0000:01:00.0: tmr: stalled at ffffffffffffffff
P.s. Regarding this, I added the following:
.xinitrc (added second line)
exec i3 --shmlog-size=26214400
exec /usr/bin/prime-offload
exec xset s off
~/.config/i3/config
exec_always --no-startup-id ~/.local/bin/i3-logout
[...]
~/.local/bin/i3-logout
#!/usr/bin/env python3
import i3ipc, subprocess
def on_shutdown(conn):
subprocess.run(["sudo", "/usr/bin/prime-switch"])
conn = i3ipc.Connection()
conn.on('ipc_shutdown', on_shutdown)
conn.main()
Last edited by smoneck (2019-09-19 20:19:10)
Offline
If you "went through the docs" and desire to use the nvidia blob, why is nouveau loaded?
exec i3 --shmlog-size=26214400
exec /usr/bin/prime-offload
exec xset s off
Nothing after the first "exec" line will be executed.
Online
If you "went through the docs" and desire to use the nvidia blob, why is nouveau loaded?
Good question but I don't like that you give the impression that in fact I did _not_ read the documentation.
I assume it is at least this standard setting of optimus-manager:
/usr/share/optimus-manager.conf
# Module used for power switching. Possible values : nouveau, bbswitch, none
switching=nouveau
[...]
# Enable PCI power management in Intel mode.
# If you do not enable this option, you may see a higher power comsumption.
# This option is incompatible with bbswitch and will be ignored if bbswitch is enabled.
pci_power_control=yes
Regarding this, the documentation is ambiguous or unclear to me.
Nothing after the first "exec" line will be executed.
Thanks for the hint! I switched it to:
exec /usr/bin/prime-offload
exec i3 --shmlog-size=26214400
Last edited by smoneck (2019-09-20 11:01:06)
Offline
Yes, and you will likely want to change that to switching=bbswitch so that you don't trigger nouveau bugs/crashes. You should also change that in /etc/optimus-manager/optimus-manager.conf (you can copy the template there, or just override the option you want to override)
You should not use an exec call for anything but the last i3 invocation (now i3 won't start), and you will also want to read the link in my previous post, there's some additional includes you should have in your file before starting i3
Last edited by V1del (2019-09-20 11:11:43)
Offline
YAY! It works now! And I'm down to 5.5 W! Thanks a ton for the help!
[...] and you will also want to read the link in my previous post, there's some additional includes you should have in your file before starting i3
Could you give me a hint or a keyword? I went through the FAQ and the Readme again but I don't find anything missing.
Ah! All good. :-)
The content now is:
~/.xinitrc
<if blocks from /etc/X11/xinit/xinitrc>
/usr/bin/prime-offload
exec i3 --shmlog-size=26214400
P.S. TLDR summary for whoever stumbles upon this in the future:
- Installed: nvidia, nvidia-utils, optimus-manager, bbswitch
- ~/.xinitrc from above, ~/.config/i3/config and ~/.local/bin/i3-logout from my post above.
- Copied /usr/share/optimus-manager.conf to /etc/optimus-manager/optimus-manager.conf changing to switching=bbswitch.
Last edited by smoneck (2019-09-20 17:34:16)
Offline
Well ... there is still some trouble. I can not switch back from nvidia:
/var/log/optimus-manager/gpu_setup.log
[...]
Cannot setup GPU : kernel setup error : Cannot unload Nvidia modules : Failed to execute 'modprobe -r nvidia_drm nvidia_modeset nvidia_uvm nvidia' : modprobe: FATAL: Module nvidia_drm is in use.
and sometimes
Cannot setup GPU : kernel setup error : bbswitch failed to set the GPU to ON
/var/log/optimus-manager/prime_setup.log
Error : cannot setup PRIME : Cannot setup PRIME : Failed to execute 'xrandr --setprovideroutputsource modesetting NVIDIA-0'
I assume the problem is that prime-switch is being run on logout instead off after. How should I do this properly? A systemd service WantedBy graphical.target?
Last edited by smoneck (2019-09-20 18:27:29)
Offline
I'd say just run it consciously and when you actively want to switch after the X server dies. If you want this automated you might have a shot with a type=oneshot depending on graphical.target running an ExecStop=/usr/bin/prime-switch
Offline
I'd say just run it consciously and when you actively want to switch after the X server dies. If you want this automated you might have a shot with a type=oneshot depending on graphical.target running an ExecStop=/usr/bin/prime-switch
All right, I'll think about that and stick to manually running prime-switch for now.
(I didn't mark the thread as solved since there are still error messages and it's not really working but so far I didn't find the appropriate time to go after this to eventually condense this into a proper question.)
Offline
Pages: 1