2

I am using Ubuntu Gnome on a Lenovo Y50-70 with a GTX 860M.

I have been unable to successfully configure /etc/default/grub.

I want GRUB to display on my HDMI monitor but it only displays on my laptop inbuilt eDP display.

3
  • I'm pretty sure this is something that would need to be configured in the BIOS/UEFI. Aug 29, 2016 at 2:35
  • @NathanOsman: Why? I have a similar situation (laptop with external monitor): After boot linux switches to the external monitor. Why shouldn't grub (be able to) do the same. Unless this function is simply not implemented.
    – Giorgio
    Oct 13, 2016 at 19:16
  • Because Grub doesn't interact with the graphics card the same way a Linux desktop does. Oct 13, 2016 at 19:28

2 Answers 2

0

First of all I want to clear something This issue has nothing to do with your graphics card It is all about the resolution of your displays (Either the laptop or the external display) For Example - If your laptop screen is set 1360x768 but your external display is 1600x900 In order to show the grub menu or the BIOS of your laptop on the external display simply set the external display's resolution to match the laptop's display resolution. don't forget to disable the laptop display before a reboot This worked for me

0

Lenovo Y50-70 is a dual-GPU laptop. It has a power-efficient Intel iGPU and a more powerful discrete Nvidia GPU. With Nvidia, this is known as the "Nvidia Optimus" technology.

There are multiple ways to implement a dual-GPU laptop. The best and most expensive way would include a "multiplexer": an internal system that can switch either GPU to any outputs as needed.

The cheaper way (a multiplexer-less, or "muxless Optimus" as it is sometimes known) is to wire only some outputs to one GPU and the rest to the other. In this solution, when the more powerful GPU is used with a display connected to the "wrong" GPU, the rendered bitmap image is transferred between the GPUs on the system bus: in Linux, this is known as "DRI PRIME". This can affect the system performance somewhat, depending on resolutions and refresh rates used.

Typically, the built-in display is wired to the iGPU to minimize the use of battery power when the laptop is not plugged in to a wall socket. If the laptop has a VGA output, it's also often wired to the iGPU, to allow presentations with a video projector.

Any digital outputs are usually wired to the more powerful discrete GPU, to allow maximum graphics performance when connected to an external digital display: the rationale is that when you have an external display, you are also likely to have the power supply plugged in, so there will be no need to worry about saving battery power.

But at boot time, the BIOS might only initialize one of the GPUs: normally it will be the GPU connected to the laptop's internal display, as it's fixed to the laptop and so always available for use. Sometimes you can select which GPU will be used by the BIOS, in the BIOS settings.

If the BIOS developers have taken the easy way, they may have implemented BIOS-level support only for the iGPU, so starting up the second GPU and probing for any displays connected to it will be a job for the operating system and its drivers. In that case, any system boot-up diagnostics will be available on displays that are wired to the iGPU only, and there's nothing the user can do about it (without major hardware and/or BIOS modifications, at least).

In Linux, if you have debugfs mounted, you may be able to get some information about the implementation style of a dual-GPU laptop by viewing the contents of the file /sys/kernel/debug/vgaswitcheroo/switch. By writing specific keywords to that file, it's also possible to manually power up or down the discrete GPU, and to switch the GPU outputs to different displays if the hardware implements that capability. More information can be found in the kernel documentation for the VGA Switcheroo subsystem.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.