PRIME is a technology used to manage hybrid graphics found on recent desktops and laptops (Optimus for NVIDIA, AMD Dynamic Switchable Graphics for Radeon). PRIME GPU offloading and Reverse PRIME is an attempt to support muxless hybrid graphics in the Linux kernel. PRIME detects both cards and automatically selects Intel card by default, using Nvidia, when called, for more demanding applications.

+

PRIME is a technology used to manage hybrid graphics found on recent desktops and laptops (Optimus for NVIDIA, AMD Dynamic Switchable Graphics for Radeon).<br>

−

For an application to use the Nvidia card, prepend the application command with prime-run. For example:

+

PRIME GPU offloading and Reverse PRIME is an attempt to support muxless hybrid graphics in the Linux kernel.<br>

+

PRIME detects both cards and automatically selects Intel card by default; using the more powerful discrete graphics card, when called, for more demanding applications.

+

+

In Manjaro this will automatically be available for hybrid graphics systems using intel/modesetting for the integrated card and free drivers (AMDGPU or Nouveau) for the dGPU.

+

+

For an application to use the dGPU with free drivers prepend the application command with '''DRI_PRIME=1'''. For example:

+

+

DRI_PRIME=1 glxspheres64

+

+

Manjaro also offers an easy way to use PRIME with proprietary Nvidia drivers.<br>

+

Simply select and install an 'nvidia-prime' profile through MSM or mhwd (such as ''video-hybrid-intel-nvidia-440xx-prime'') and ensure the package ''nvidia-prime'' is installed.

+

+

Then to use the discrete Nvidia card prepend the application command with '''prime-run'''. For example:

−

prime-run glxspheres64

prime-run gimp

prime-run gimp

−

If you want to specifically run some application with the nvidia driver, you may edit that application's .desktop file "Exec" property, or run it in terminal like this

+

If you want to always run some application with the discrete gpu, you may copy that application's .desktop file to {{ic|~/.local/share/applications/}} and edit the "Exec" property

Exec=prime-run firefox

Exec=prime-run firefox

Line 299:

Line 310:

prime-run %command%

prime-run %command%

−

For "reverse-prime" see '''[https://wiki.archlinux.org/index.php/PRIME#Reverse_PRIME Reverse Prime]'''

+

To use the dGPU by default see '''[https://wiki.archlinux.org/index.php/PRIME#Reverse_PRIME Reverse Prime]'''

−

+

−

And for more info: '''[https://forum.manjaro.org/t/howto-set-up-prime-with-nvidia-proprietary-driver/40225 Prime]'''

+

+

For more info see '''[https://forum.manjaro.org/t/howto-set-up-prime-with-nvidia-proprietary-driver/40225 archival post on early adoption of PRIME]'''

Overview

note: The mhwd command is still under development, and at present is only able to install drivers for graphics cards connected internally via pci.

Where installing the full version of Manjaro (i.e. complete with a pre-installed desktop environment, codecs, and software applications), the mhwd command will be automatically run by the GUI and CLI installer to automatically detect your graphics card and install the most appropriate driver for it. Whether free or proprietary drivers are installed will depend on your initial choice of using free or nonfree graphics drivers to boot up.
Otherwise, it will be necessary to run the mhwd command manually as part of the post-installation process for the minimalistic NET-Edition of Manjaro.

For Beginners, it is recommended to use "Hardware Detection" in Manjaro Settings Manager to change or install new graphics drivers.
For intermediate and advanced users, it is also possible to use the mhwd command to install, re-install, and remove installed graphics drivers at any time, as illustrated below.

Automated Identification and Installation

This is the recommended method for the detection and installation of graphics drivers. The syntax for the automated installation method is:

sudo mhwd -a [pci or usb connection] [free or nonfree drivers] 0300

A breakdown of the command used for the automated method is as follows:

-a: Automatically detect and install the appropriate driver

[pci or usb]: Install the appropriate driver for devices connected internally via pci, or externally via usb (again, mhwd currently only supports pci connections at this stage in its development)

Using this command without the additional options will list basic information for all the available drivers for devices connected to your system. All drivers graphics card drivers will have the prefix (video-) in their name. The basic information provided for all listed drivers will be:

Name

Version

Free or proprietary, and

PCI or USB connection

A more detailed list of installed drivers can be obtained by entering:

mhwd -l -d

A detailed list will provide the following information:

Name

Version

PCI or USB connection

Description

Priority

Free or proprietary

Dependencies

Conflicts

Class ID (e.g. '0300' for graphics card drivers), and

Vendor ID

In addition, using the --pci filter in the following example will list detailed information for only the drivers available for devices (e.g. graphics cards) using an internal PCI connection:

mhwd -l -d --pci

Installing a Driver

To install a driver for a graphics card, the syntax is:

sudo mhwd -i pci [name of driver]

A breakdown of the command used to manually install a driver is as follows:

Identifying Installed Drivers

Using this command without the additional options will list the basic information of all the drivers currently installed on your system. Once again, all drivers for graphics cards will have the prefix (video-) in their name. As with listing drivers available for your system, the -d option used in the following command will list detailed information:

mhwd -li -d

This information may prove useful to determine any otherwise unforeseen consequences or problems upon removing a driver. And again, it is also possible to filter your list of installed drivers by whether they are used on hardware connected via pci or usb. In this instance, a detailed list will be generated only for installed drivers used on hardware with a PCI connection:

mhwd -li -d --pci

One other way of reporting drivers installed andin use is using the inxi tool.

note: The mhwd profile 'video-vesa' is a generic fallback driver which should not be used in the vast majority of cases.

Removing Installed Drivers

Warning: use this command with care!

To remove an installed driver, the syntax is:

sudo mhwd -r [pci or usb] [name of driver]

For example, to remove the installed driver for a nvidia graphics card (connected internally via pci), the following command would be used:

sudo mhwd -r pci video-nvidia

Checking configuration

You can check configuration with:

mhwd-gpu --check
mhwd-gpu --status

And if needed fix issues with:

mhwd-gpu --setmod
mhwd-gpu --setxorg [PATH]

Make sure the path to xorg config file is valid.

Note about ati, xorg file and login artifacts or kicad: if you get artifacts upon logging in or if kicad rendering and zooming is slow, try adding [Option "EXAPixmaps" "off"] in the "Device" section of xorg config file. See here.

Dual GPU

If your hardware includes more than one GPU card and you are using the free drivers (video-linux), you may choose to run a program with a specific GPU, prepending the application's command with DRI_PRIME=x, where x is the card priority number.
For example, to use the second card with Gimp

DRI_PRIME=1 gimp

To use the 1st card (usually when the CPU has an embedded GPU, this is used)

DRI_PRIME=0 gimp

If you have Nvidia Optimus hardware and use proprietary drivers see #Nvidia Optimus

NVIDIA Proprietary (non-free) drivers

If you have a Nvidia card, you have the option to use the proprietary (closed sourse = non-free) drivers instead of the open source (free) nouveau driver.

For Legacy/older nvidia cards, Manjaro maintains older drivers for compatibility. In these cases the driver name is different, instead of nvidia it is nvidia-390xx or nvidia340xx, whether in nvidia-only or bumblebee mhwd driver configuration.

When you install the non-free driver, mhwd includes a Nvidia utility "Nvidia Settings Utility" that can help you configure several settings. You can find this utility in your GUI Applications Menu or start it from a terminal

sudo nvidia-settings

If you are using bumblebee, the nvidia utility needs a special command

sudo optirun -b none nvidia-settings -c :8

Nvidia Optimus

For Optimus laptops or dual GPU hardware with intel and nvidia GPUs, you have three options to utilize the card driver usage at your preference or your hardware capabilities.

When you install Manjaro with the non-free option selected from Grub menu, or when you use automatic driver installation, bumblebee is installed by default. In these cases, the mhwd driver is named "video-hybrid-intel-nvidia-bumblebee".

Configure The Resolution/Refresh Rate

Warning: The method provided does not currently work for the Cinnamon Edition. As soon as a solution is found, then this article will be updated.

PRIME

PRIME is a technology used to manage hybrid graphics found on recent desktops and laptops (Optimus for NVIDIA, AMD Dynamic Switchable Graphics for Radeon).
PRIME GPU offloading and Reverse PRIME is an attempt to support muxless hybrid graphics in the Linux kernel.
PRIME detects both cards and automatically selects Intel card by default; using the more powerful discrete graphics card, when called, for more demanding applications.

In Manjaro this will automatically be available for hybrid graphics systems using intel/modesetting for the integrated card and free drivers (AMDGPU or Nouveau) for the dGPU.

For an application to use the dGPU with free drivers prepend the application command with DRI_PRIME=1. For example:

DRI_PRIME=1 glxspheres64

Manjaro also offers an easy way to use PRIME with proprietary Nvidia drivers.
Simply select and install an 'nvidia-prime' profile through MSM or mhwd (such as video-hybrid-intel-nvidia-440xx-prime) and ensure the package nvidia-prime is installed.

Then to use the discrete Nvidia card prepend the application command with prime-run. For example:

prime-run gimp

If you want to always run some application with the discrete gpu, you may copy that application's .desktop file to ~/.local/share/applications/ and edit the "Exec" property

Exec=prime-run firefox

Some applications (usually games like steam) may have an embedded option to specify the command line, where it is preferred to use this way.

For example, in Steam, select a game - that you want to run using your discrete Nvidia card - from the Library page of the Steam client, right-click, and select Properties.
Click the SET LAUNCH OPTIONS... button and specify for the command line options followed by the default launch hook %command%.

Bumblebee

Bumblebee configuration is mainly developed to help minimize laptop battery consumption, since Nvidia usually consumes significant power, while Intel cards are more power efficient. So, bumblebee detects both cards and automatically selects Intel card by default and can use the Nvidia for more demanding applications.
For an application to use the Nvidia card, prepend the application command with optirun ir primusrun. For example:

optirun glxspheres64
primusrun inkscape

If you want to specifically run some application with the nvidia driver, you may edit that application's .desktop file "Exec" property, or run it in terminal like this

Exec=primusrun chromium

Some applications (usually games like steam) may have an embedded option to specify the command line, where it is preferred to use this way.

For example, in Steam, select a game - that you want to run using your discrete Nvidia card - from the Library page of the Steam client, right-click, and select Properties.
Click the SET LAUNCH OPTIONS... button and specify for the command line options followed by the default launch hook %command%.

primusrun %command%

If you have problems with a bumblebee setup, refer to this Forum Tutorial for advice.