← Back to team overview

hybrid-graphics-linux team mailing list archive

vga_switcheroo on HP dm4-1160eo

 

I have run some tests on a HP Pavilion dm4-1160eo (BIOS revision F.17).

It has two GPUs:
 00:02.0 [8086:0046] VGA compatible controller: Intel Corporation Core
Processor Integrated Graphics Controller (rev 02)
 01:00.0 [1002:68e0] VGA compatible controller: ATI Technologies Inc
Manhattan [Mobility Radeon HD 5000 Series]

When the machine boots and the kernel switches mode right before
/init, the screen just goes blank.

Once in a while however, I manage to tweak things by
plugging/unplugging the power cable etc, and actually get a picture.
When that happened recently, I tried vga_switcheroo.

The vga_switcheroo ON and OFF doesn't seem to turn anything on and off
on this laptop.

The vga_switcheroo DIS and IGD doesn't seem to switch outputs on this laptop.

The only thing vga_switcheroo seems to do (correctly?) on this laptop
is display the power and connected status of the two GPUs.

Next, I wanted to make it easy to change graphics adapter during boot,
before the prompt that asks you for a password to decrypt the root
device.  So I made a initramfs script for use with Ubuntu to launch
vga_switcheroo.  Attached as "hybrid_boot_options", instructions
uploaded at https://help.ubuntu.com/community/HybridGraphics.

Still no definitive success, so I tried to make acpi_call work.  It
was a bit difficult because of lacking instructions, so after
succeeding I ended up creating a DKMS package for other users.
Attached as "acpi_call-dkms_1.0-1ubuntu1.1_all.deb".  Just run "sudo
dpkg -i acpi_call-dkms*" and then "sudo modprobe acpi_call" and you're
good to go.  The test script ends up in
/usr/src/acpi_call-1.0/test_off.sh.

(Using the DKMS package, it is possible to get the ACPI call feature
into initramfs and run it on boot, however I didn't create the hook
script and loader script in /etc/initramfs-tools necessary to do this.
 There's some nice templates in /usr/share/initramfs-tools that shows
how to do this, however.)

I've also attached DSDT.dsl generated as per instructions on some
blog.  (I did not create a Debian package to automate this step.)

The output of test_off.sh for this laptop is:
 \_SB.PCI0.P0P2.PEGP._OFF: works!

The rest of the output is attached for your reading pleasure.

I hope my laptop will be supported soon?

I am not sure why it shows up a blank screen on boot or what to do
next, but I am open to suggestions.
Trying \_SB.PCI0.P0P1.VGA._OFF: failed
Trying \_SB.PCI0.P0P2.VGA._OFF: failed
Trying \_SB_.PCI0.OVGA.ATPX: failed
Trying \_SB_.PCI0.OVGA.XTPX: failed
Trying \_SB.PCI0.P0P3.PEGP._OFF: failed
Trying \_SB.PCI0.P0P2.PEGP._OFF: works!

Attachment: hybrid_boot_options
Description: Binary data

Attachment: acpi_call-dkms_1.0-1ubuntu1.1_all.deb
Description: application/debian-package

Attachment: DSDT.dsl.gz
Description: GNU Zip compressed data


Follow ups