# mhwd Driver Config

NAME="video-optimus-manager"
INFO="Hybrid prime solution for NVIDIA Optimus Technology - Closed source NVIDIA driver & open source intel driver."
VERSION="2021.04.19"
FREEDRIVER="false"
PRIORITY="31"

# NVIDIA cards
CLASSIDS="0300 0302"
VENDORIDS="10de"
DEVICEIDS=">/var/lib/mhwd/ids/pci/nvidia.ids"

# Intel Or Amd cards
CLASSIDS="0300"
VENDORIDS="8086 1002"
DEVICEIDS="*"

# Conflicts with other mhwd configs
MHWDCONFLICTS="video*optimus*"

# Depends on other mhwd configs
MHWDDEPENDS="video-nvidia-prime-render-offload"

# Dependencies
DEPENDS="optimus-manager optimus-manager-qt"
DEPKMOD="bbswitch-dkms acpi_call-dkms"

XDGAUTOSTARTFILE="/etc/xdg/autostart/optimus-manager-qt.desktop"

autostart()
{
	cat <<EOF > "${XDGAUTOSTARTFILE}"
[Desktop Entry]
Type=Application
Exec=/usr/bin/optimus-manager-qt
X-GNOME-Autostart-enabled=true
X-KDE-autostart-after=panel
X-LXQt-Need-Tray=true
EOF
	# Has to be added separately because MHWD thinks this is the config name
	echo Name=Optimus Manager Qt >> "${XDGAUTOSTARTFILE}"
}


post_install()
{

	systemctl enable --now optimus-manager.service
	
	autostart
	sed -i 's/startup_mode=.*/startup_mode=hybrid/g' /etc/optimus-manager/optimus-manager.conf
	sed -i 's/startup_mode=.*/startup_mode=hybrid/g' /usr/share/optimus-manager.conf
	#sed -i 's/MODULES=.*/MODULES=(intel_agp i915 nvidia nvidia_modeset nvidia_uvm nvidia_drm)/g' /etc/mkinitcpio.conf
	#mkinitcpio -P
	optimus-manager --switch hybrid
}



post_remove()
{
	optimus-manager --cleanup
	rm -f "${XDGAUTOSTARTFILE}"
	
	#sed -i 's/MODULES=.*/MODULES=()/g' /etc/mkinitcpio.conf
	#mkinitcpio -P
	
	mhwd-gpu --check
}
