DragonFly On-Line Manual Pages

Search: Section:  

VGA_SWITCHEROO(4)     DragonFly Kernel Interfaces Manual     VGA_SWITCHEROO(4)


vga_switcheroo, apple_gmux -- support for Apple laptops with dual GPUs


To enable support of dual GPUs in kernel, include the following line in the kernel configuration file: options VGA_SWITCHEROO When the system has booted, load the apple_gmux driver before the native graphics drivers, for example i915(4). Alternatively, you can put these two lines in rc.conf(5): apple_gmux_load="YES" i915_load="YES" As a result, vga_switcheroo switches the gmux controller so that all output comes from the IGD.


Apple MacBook Pro laptops have hybrid graphics, i.e. two GPUs, one being the integrated graphics device (IGD) and the other being the discrete graphics device (DIS), sometimes called the dedicated graphics device. Gmux is a microcontroller that controls the output of these GPUs. vga_switcheroo is the higher level module that facilitates switching between the two GPUs using the lower level apple_gmux driver. When the system boots and vga_switcheroo is enabled, apple_gmux registers with it. It then acts as a handler. The two graphics adapters will also detect the presence of vga_switcheroo and register as clients.


In the current DragonFly specific implementation, upon detecting the presence of apple_gmux, the Intel driver will call vga_switcheroo to switch the gmux so that all output comes from the IGD. Switching to DIS is not yet supported.


Apple MacBook Pro laptops with dual GPUs.


i915(4), rc.conf(5) https://01.org/linuxgraphics/gfx-docs/drm/gpu/vga-switcheroo.html


The vga_switcheroo driver was added in DragonFly 4.9.


The vga_switcheroo driver was ported to DragonFly from linux 4.8 by Peeter Must. He also wrote this manual page. DragonFly 4.7 May 30, 2017 DragonFly 4.7

Search: Section: