If you have a laptop in "Developer Workstation" mode and you want to use it with the Nvidia graphics card, you have come to the right place.
The first step is to read and apply the instructions presented in my other tutorial :
https://forum.proxmox.com/threads/developer-workstation-proxmox-ve-8-with-cinnamon-lmde6.133736/
Whether your laptop is an Asus brand or another, you will need to install "Asusctl" in order to be able to graphically modify the desired graphics mode. If you only want to modify the graphics mode on the command line, you will have to look at "Supergfxctl"
1) Nvidia Driver
You must install the Nvidia drivers via the "proposed-update" repository only, at present in version 535.161
2) Install Asusct
Link to the main site :
https://asus-linux.org/
Install only V5.0.10 on debian, newer version are not supported.
Follow the instructions in the link below
https://gitlab.com/asus-linux/asusctl/-/tree/5.0.10?ref_type=tags
3) Config file supergfxd.conf
If you have Asus laptop :
If you have another brand laptop :
4) NVIDIA Hybrid Mode Advanced Setup
According to the Nvidia documentation (links below)
https://download.nvidia.com/XFree86/Linux-x86_64/535.161.07/README/dynamicpowermanagement.html
Please note that part of the configuration is already present via "supergfxctl"
Excerpt from NVIDIA documentation :
The file is already created but with fewer options compared to the NVIDIA documentation. It is up to everyone to create a “rules” file containing the missing objects if necessary
The option is used for dynamic power management of the "dGPU", to be adjusted according to the "NVIDIA" and "Supergfxctl" documentation.
By default you will need to add the option to the file "/etc/modprobe.d/NAME-OF-YOUR-FILE.conf"
Personally I add it to the "/etc/modprobe.d/nvidia-options.conf" file already present.
add this line :
Finally, you will need to restart your laptop.
You now have the ability to switch graphically between multiple modes.
NOTE: If you have errors when changing graphics mode, you will need to look at Linux firmware
https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
The first step is to read and apply the instructions presented in my other tutorial :
https://forum.proxmox.com/threads/developer-workstation-proxmox-ve-8-with-cinnamon-lmde6.133736/
Whether your laptop is an Asus brand or another, you will need to install "Asusctl" in order to be able to graphically modify the desired graphics mode. If you only want to modify the graphics mode on the command line, you will have to look at "Supergfxctl"
1) Nvidia Driver
You must install the Nvidia drivers via the "proposed-update" repository only, at present in version 535.161
apt install nvidia-driver-full
reboot
2) Install Asusct
Link to the main site :
https://asus-linux.org/
Install only V5.0.10 on debian, newer version are not supported.
Follow the instructions in the link below
https://gitlab.com/asus-linux/asusctl/-/tree/5.0.10?ref_type=tags
3) Config file supergfxd.conf
nano /etc/supergfxd.conf
If you have Asus laptop :
Bash:
{
"mode": "Hybrid",
"vfio_enable": true,
"vfio_save": true,
"always_reboot": false,
"no_logind": false,
"logout_timeout_s": 10,
"hotplug_type": "Asus"
}
If you have another brand laptop :
Bash:
{
"mode": "Hybrid",
"vfio_enable": true,
"vfio_save": true,
"always_reboot": false,
"no_logind": false,
"logout_timeout_s": 10,
"hotplug_type": "None"
}
4) NVIDIA Hybrid Mode Advanced Setup
According to the Nvidia documentation (links below)
https://download.nvidia.com/XFree86/Linux-x86_64/535.161.07/README/dynamicpowermanagement.html
Please note that part of the configuration is already present via "supergfxctl"
A) Rules file : /lib/udev/rules.d/80-nvidia-pm.rules
Do not create the file
Excerpt from NVIDIA documentation :
Bash:
# Remove NVIDIA USB xHCI Host Controller devices, if present
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c0330", ATTR{remove}="1"
# Remove NVIDIA USB Type-C UCSI devices, if present
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c8000", ATTR{remove}="1"
# Remove NVIDIA Audio devices, if present
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x040300", ATTR{remove}="1"
# Enable runtime PM for NVIDIA VGA/3D controller devices on driver bind
ACTION=="bind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", TEST=="power/control", ATTR{power/control}="auto"
ACTION=="bind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", TEST=="power/control", ATTR{power/control}="auto"
# Disable runtime PM for NVIDIA VGA/3D controller devices on driver unbind
ACTION=="unbind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", TEST=="power/control", ATTR{power/control}="on"
ACTION=="unbind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", TEST=="power/control", ATTR{power/control}="on"
B) Rules file : /lib/udev/rules.d/90-supergfxd-nvidia-pm.rules
The file is already created but with fewer options compared to the NVIDIA documentation. It is up to everyone to create a “rules” file containing the missing objects if necessary
Bash:
# Enable runtime PM for NVIDIA VGA/3D controller devices on driver bind
ACTION=="bind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", TEST=="power/control", ATTR{power/control}="auto"
ACTION=="bind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", TEST=="power/control", ATTR{power/control}="auto"
# Disable runtime PM for NVIDIA VGA/3D controller devices on driver unbind
ACTION=="unbind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", TEST=="power/control", ATTR{power/control}="on"
ACTION=="unbind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", TEST=="power/control", ATTR{power/control}="on"
C) “Nvreg_DynamicPowerManagement” options.
The option is used for dynamic power management of the "dGPU", to be adjusted according to the "NVIDIA" and "Supergfxctl" documentation.
By default you will need to add the option to the file "/etc/modprobe.d/NAME-OF-YOUR-FILE.conf"
Personally I add it to the "/etc/modprobe.d/nvidia-options.conf" file already present.
nano /etc/modprobe.d/nvidia-options.conf
add this line :
Bash:
options nvidia "Nvreg_DynamicPowerManagement=0x02"
Finally, you will need to restart your laptop.
You now have the ability to switch graphically between multiple modes.
NOTE: If you have errors when changing graphics mode, you will need to look at Linux firmware
https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
Last edited: