# [VGASWITCHEROO] Can't use my discrete GPU

## GSnake

Hello guys, I followed the tutorial about VGAswitcheroo but if I try to use my discrete GPU the screen becomes black and stands still.

I tried then to boot with i915.modeset=0 but my system can't boot freezing while booting.

I've got a ProBook 4530s.

```

lspci -k | grep -i VGA

00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)

01:00.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI Caicos [Radeon HD 6400M/7400M Series]

```

```
cat /sys/kernel/debug/vgaswitcheroo/switch  

0:DIS: :Pwr:0000:01:00.0

1:IGD:+:Pwr:0000:00:02.0

```

```
dmesg | grep -i radeon

Command line: BOOT_IMAGE=/kernel-giuliox-3.7.2-ati radeon.modeset=1 root=/dev/sda7 ro

Kernel command line: BOOT_IMAGE=/kernel-giuliox-3.7.2-ati radeon.modeset=1 root=/dev/sda7 ro

[drm] radeon kernel modesetting enabled.

radeon 0000:01:00.0: enabling device (0000 -> 0003)

radeon 0000:01:00.0: VRAM: 1024M 0x0000000000000000 - 0x000000003FFFFFFF (1024M used)

radeon 0000:01:00.0: GTT: 512M 0x0000000040000000 - 0x000000005FFFFFFF

[drm] radeon: 1024M of VRAM memory ready

[drm] radeon: 512M of GTT memory ready.

radeon 0000:01:00.0: irq 47 for MSI/MSI-X

radeon 0000:01:00.0: radeon: using MSI.

[drm] radeon: irq initialized.

[drm] enabling PCIE gen 2 link speeds, disable with radeon.pcie_gen2=0

radeon 0000:01:00.0: WB enabled

radeon 0000:01:00.0: fence driver on ring 0 use gpu addr 0x0000000040000c00 and cpu addr 0xffff880148ce8c00

[drm] Radeon Display Connectors

[drm] radeon: power management initialized

fb0: radeondrmfb frame buffer device

[drm] Initialized radeon 2.24.0 20080528 for 0000:01:00.0 on minor 0

```

```
grep -i firmware /usr/src/linux/.config

CONFIG_PREVENT_FIRMWARE_BUILD=y

CONFIG_FIRMWARE_IN_KERNEL=y

CONFIG_EXTRA_FIRMWARE="radeon/CAICOS_me.bin radeon/CAICOS_mc.bin radeon/CAICOS_pfp.bin radeon/BTC_rlc.bin"

CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware/"

```

```
grep -i drm /usr/src/linux/.config

CONFIG_DRM=y

CONFIG_DRM_KMS_HELPER=y

# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set

CONFIG_DRM_TTM=y

# CONFIG_DRM_TDFX is not set

# CONFIG_DRM_R128 is not set

CONFIG_DRM_RADEON=y

CONFIG_DRM_RADEON_KMS=y

# CONFIG_DRM_NOUVEAU is not set

# CONFIG_DRM_I2C_CH7006 is not set

# CONFIG_DRM_I2C_SIL164 is not set

CONFIG_DRM_I915=y

CONFIG_DRM_I915_KMS=y

# CONFIG_DRM_MGA is not set

# CONFIG_DRM_SIS is not set

# CONFIG_DRM_VIA is not set

# CONFIG_DRM_SAVAGE is not set

# CONFIG_DRM_VMWGFX is not set

# CONFIG_DRM_GMA500 is not set

# CONFIG_DRM_UDL is not set

# CONFIG_DRM_AST is not set

# CONFIG_DRM_MGAG200 is not set

# CONFIG_DRM_CIRRUS_QEMU is not set

```

Thank you guys.

----------

## NeddySeagoon

GSnake,

If your system is muxless, the same graphics chip is used to read the image out of the pixel buffer, regardless of which graphics chip is doing the drawing.

Xorg does not support splitting graphics processing like that yet.

Look at the bumblebee project,  VGAswitcheroo is only for systems that have two complete multiplexed graphics engines.

----------

## GSnake

So the Intel GPU "reads" the pixel buffer everytime? So when my ATI should be ON it just "calculate" but I see the results through the Intel... right?

How can I be sure that my 2 GPUs are muxless?

----------

## NeddySeagoon

GSnake,

Correct.

I tried to find it in the specification for your laptop but failed.  Most new laptops introduced for the past 18 months or so are muxless. It lowers the cost.

Also, judging by the problems that Windows users are having getting the ATI graphics working, its muxless.

----------

## GSnake

So I just have to wait? Or is there some alternate method?

----------

## VoidMage

@NeddySeagoon: not that I have the hardware, but didn't xorg-server 1.13 combined with recent kernels/libdrm already have done a little about this ?

----------

## NeddySeagoon

VoidMage,

I don't have the hardware either.  I only know what I know from reading around Google.

I do know work was in hand but not how far it has progressed.

Do you have any links?

----------

## GSnake

Bumblebee is only for NVIDIA cards.. those with an ATI have to suffer.  :Sad: 

----------

## NeddySeagoon

GSnake,

Follow up on what VoidMage said then.

----------

## GSnake

I already have Xorg server at the latest version. I don't know how to proceed... what should I do?

----------

## NeddySeagoon

GSnake,

Xorg and the view drivers move quickly - what is the latest version ?

The latest testing version is xorg-server-1.13.99.901 but my tree is a few days old.

Ask in #gentoo at irc.freenode.net you might even find an Xorg developer there.

----------

## GSnake

I already had 1.13.X version when I tested the GPU switching...  :Sad: 

EDIT: I've found this: http://www.x.org/wiki/RadeonFeature . If you scroll down you can see that "There are two versions of hybrd graphics: MUXed and MUX-less. MUXed have a display MUX to switch the displays between the discrete and integrated cards. MUXed systems can be switched using vgaswitcheroo. MUX-less do not have a display MUX and the displays are only connected to the integrated card. On MUX-less systems, the discrete card is solely for rendering, not display. At the moment the X server does not support rendering and display from different cards so the discrete card can not be used with MUX-less systems at the moment. Most new laptops (2011+) are MUX-less."

So, for now, there's no way to make my GPU work.

That's sad.

----------

