3019
Comment:
|
3981
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
This Howto is a subset of the main documentation, please read the [[Howto/nVidia|Howto NVIDIA]] first. |
|
Line 7: | Line 9: |
This is only tested using the main driver (367.xx and later). |
|
Line 8: | Line 12: |
I highly recommends to have another PC for remote debug. | |
Line 10: | Line 15: |
This will enable a version glvnd enabled mesa that will replace the fedora version. | This is optional for optimus, and will provide a glvnd enabled mesa that will replace the fedora version. Once installed, it will be easier to switch between FOSS stack (nouveau) and the binary driver (nvidia). The long term plan is to have the switch enabled in the fedora mesa package (see rhbz#1388810 ). |
Line 12: | Line 19: |
Note: Copr is not multilib compliant, you need to copy the x86_64 repo as a new file and replace "arch" to i386, if using 32bit programs. | Note: Copr is not multilibs compliant, you need to copy the x86_64 repo as a new file and replace "arch" to i386, if using 32bit programs. |
Line 14: | Line 21: |
dnf copr enable kwizart/glvnd dnf update |
# dnf copr enable kwizart/glvnd # dnf update |
Line 21: | Line 28: |
grubby --update-kernel=$(uname -r) --args="nvidia-drm.modeset=1" --remove-args="video=vesa:off" | # grubby --update-kernel=$(uname -r) --args="nvidia-drm.modeset=1" --remove-args="video=vesa:off" |
Line 23: | Line 30: |
[ -f /boot/grub2/grub.cfg ] && grub2-mkconfig -o /boot/grub2/grub.cfg | # [ -f /boot/grub2/grub.cfg ] && grub2-mkconfig -o /boot/grub2/grub.cfg |
Line 25: | Line 32: |
[ -f /boot/efi/EFI/fedora/grub.cfg ] && grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg | # [ -f /boot/efi/EFI/fedora/grub.cfg ] && grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg |
Line 30: | Line 37: |
For Fedora 24 and later, you still need a xorg.conf: | * For Fedora 25 and later. Please verify to have the modified xorg-x11-server package currently in updates-testing repository. It contains some not yet upstream [[https://lists.x.org/archives/xorg-devel/2016-December/052066.html|patches]] by Hans De Goede (Fedora/RPM Fusion contributor). {{{ # dnf update xorg-x11-server\* --enablerepo=updates-testing # rpm -q xorg-x11-server-Xorg xorg-x11-server-Xorg-1.19.0-3.fc25 }}} * Up to Fedora 24 , you still need a xorg.conf and adapted display manager configuration (GDM, KDM, LightDM, etc). |
Line 89: | Line 103: |
*A: nvidia-prime is not something from NVIDIA despite the name. It's a collection of integration scripts made by canonical for Ubuntu. Best would be to avoid using custom scripts and to have the driver to setup appropriately if on optimus hardware or single GPU setup. | *A: nvidia-prime is not something from NVIDIA despite the name. It's a collection of integration scripts made by canonical for Ubuntu. Best would be to avoid using custom scripts and to have the driver to setup appropriately if on Optimus hardware or single GPU setup. |
Introduction
There are additional steps needed to integrate the package with optimus.
This Howto is a subset of the main documentation, please read the Howto NVIDIA first.
Also note that NVIDIA currently only support "outputsource" and not "offloadsink". It means that you cannot disable the dGPU (nvidia). The current workaround is to reboot onto the free Software version using an alternative grub2 boot menu.
This is only tested using the main driver (367.xx and later).
!!! BIG FAT WARNING - This is still experimental documentation, only experimented users should follow. I highly recommends to have another PC for remote debug.
GLVND enabled mesa
This is optional for optimus, and will provide a glvnd enabled mesa that will replace the fedora version. Once installed, it will be easier to switch between FOSS stack (nouveau) and the binary driver (nvidia). The long term plan is to have the switch enabled in the fedora mesa package (see rhbz#1388810 ).
Note: Copr is not multilibs compliant, you need to copy the x86_64 repo as a new file and replace "arch" to i386, if using 32bit programs.
# dnf copr enable kwizart/glvnd # dnf update
KMS for nvidia
Enable Kernel Mode Setting for nvidia-drm, this is needed for buffer sharing with the intel adapter:
# grubby --update-kernel=$(uname -r) --args="nvidia-drm.modeset=1" --remove-args="video=vesa:off" # [ -f /boot/grub2/grub.cfg ] && grub2-mkconfig -o /boot/grub2/grub.cfg # [ -f /boot/efi/EFI/fedora/grub.cfg ] && grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
Additional Configuration
For Fedora 25 and later. Please verify to have the modified xorg-x11-server package currently in updates-testing repository. It contains some not yet upstream patches by Hans De Goede (Fedora/RPM Fusion contributor).
# dnf update xorg-x11-server\* --enablerepo=updates-testing # rpm -q xorg-x11-server-Xorg xorg-x11-server-Xorg-1.19.0-3.fc25
- Up to Fedora 24 , you still need a xorg.conf and adapted display manager configuration (GDM, KDM, LightDM, etc).
Please verify to Update the BusID earch GPU, specially for the nvidia device.
cat>/etc/X11/xorg.conf<<EOF # RPM Fusion - nvidia-xorg.conf # Section "ServerLayout" Identifier "layout" Screen 0 "nvidia" Inactive "intel" EndSection Section "Device" Identifier "intel" Driver "modesetting" # Change BusID if necessary. Tips: (lspci | grep VGA) (Change 00:02.0 to 0:2:0) BusID "PCI:0:2:0" Option "AccelMethod" "none" EndSection Section "Screen" Identifier "intel" Device "intel" EndSection Section "Device" Identifier "nvidia" Driver "nvidia" # Change BusID if necessary. Tips: (lspci | grep 3D) (Change 01:00.0 to 1:0:0) BusID "PCI:1:0:0" Option "AllowEmptyInitialConfiguration" EndSection Section "Screen" Identifier "nvidia" Device "nvidia" EndSection EOF cat>/etc/X11/xinit/xinitrc.d/05-nvidia.sh<<EOF #!/bin/bash xrandr --setprovideroutputsource modesetting NVIDIA-0 xrandr --auto EOF chmod +x /etc/X11/xinit/xinitrc.d/05-nvidia.sh
Others Display Manager tweaks, needed for GDM, KDM, LightDM, etc:
https://wiki.archlinux.org/index.php/NVIDIA_Optimus#Display_Managers
FAQ
- Q: Why there is no nvidia-prime package ?
- A: nvidia-prime is not something from NVIDIA despite the name. It's a collection of integration scripts made by canonical for Ubuntu. Best would be to avoid using custom scripts and to have the driver to setup appropriately if on Optimus hardware or single GPU setup.