Vaio Z1 hybrid graphics not working


I’ve just installed openSuse 13.1 on my Z1 and everything seems to work flawlessly except for hybrid graphics, this model has this switch with three positions:

It doesn’t matter where the switch is, it’s always running with the integrated card (intel), I’ve tried to change to the discrete card (nvidia 330m) with vgaswitcheroo and I always get a black screen that doesn’t allows me to do anything.

That’s what I get with the following commands:

grep -i switcheroo /boot/config-*


lsmod | grep nouveau

nouveau              1013347  1 
ttm                    92265  1 nouveau
drm_kms_helper         52710  2 nouveau,i915
drm                   313440  7 nouveau,i915,ttm,drm_kms_helper
i2c_algo_bit           13413  2 nouveau,i915
mxm_wmi                13021  1 nouveau
button                 13952  2 nouveau,i915
video                  19507  2 nouveau,i915
wmi                    19070  2 nouveau,mxm_wmi

lsmod | grep intel

snd_hda_intel          48171  5 
snd_hda_codec         205080  3 snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_intel
kvm_intel             142707  0 
kvm                   469295  1 kvm_intel
crc32c_intel           22079  0 
ghash_clmulni_intel    13259  0 
aesni_intel            55665  0 
ablk_helper            13597  1 aesni_intel
cryptd                 16262  3 ghash_clmulni_intel,aesni_intel,ablk_helper
lrw                    13286  1 aesni_intel
glue_helper            13990  1 aesni_intel
aes_x86_64             17131  1 aesni_intel
intel_ips              18470  0 
snd_pcm               110211  3 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec
snd                    87417  19 snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_seq,snd_timer,snd_seq_device
snd_page_alloc         18710  2 snd_hda_intel,snd_pcm

cat /sys/kernel/debug/vgaswitcheroo/switch

1:DIS: :Pwr:0000:01:00.0
2:DIS-Audio: :Pwr:0000:01:00.1

I try to switch to discrete card with the following command:

echo DDIS > /sys/kernel/debug/vgaswitcheroo/switch

After this follows ctrl + alt + backspace and then black screen comes. I need to restart the computer because I can’t do anything.

Any idea what’s going on?


Whatever you believe those switchbuttons only have a meaning in Windows, and I believe only if you use the manufacturers oem-drivers. They can in no way change anything in the hardware.
So if you can’t switch anything in the BIOS I’m afraid you’ll have to go for bumblebee.
Smithfarm - the Brain: openSUSE 13.1: install ‘bumblebee’ and disable discrete graphics adapter on NVIDIA Optimus laptop

As far as I know It uses a multiplexer instead of optimus (the last nvidia drivers in windows can’t be installed), so It does has to do something. I can’t change anything in the bios.

As far as I’m aware, vgaswitcheroo is not stable with optimus (or any other hybrid graphics?) yet. I tried using vgaswitcheroo to disable my discrete video card for a while but that resulted in making my desktop unstable, causing random freezes and crashes. I had to install bumblebee in order to just have a stable system. I’d recommend you go that route. My system functions normally now that I have it installed.

But that link is to disable the discrete card and what I want is to use it whenever I want, can It be done?

Yes. Bumblebee will not disable your discrete graphics, despite what the title of the page says. What it will do is turn off the card on boot so it won’t waste power. If you want to run a program using the discrete card, you’ll have to open up a terminal window and type “optirun” followed by the program you want to run. It will only be activated for that specific program and will remain off the rest of the time.

My problem is that I can only use the hdmi output with the discrete card, so how can it be done if It can?

I’m not sure, I’ve never connected the HDMI output on my laptop to anything so I don’t even know how it’s configured with the discrete card. However, I did read the other day that kernel 3.12, which is now out, is supposed to include dynamic power control of discrete nVidia cards, which should eliminate the need for bumblebee, I think. You could try upgrading to that kernel to see if it works. There’s a kernel repo for openSUSE, although I don’t recall the address but I’m sure you can find it. I’ve been planning on upgrading to 13.1 and then upgrading the kernel to 3.12 to see what happens, but I haven’t had time. I say give that a try if you have nothing to lose.

I’ve tested the kernel 3.12 and what I get is a kernel panic at boot so I can’t do anything. I know this model has a modified bios that enables an advanced menu that allows to change graphics mode to static instead of dynamic, but I don’t want to finish with a brick due to a wrong bios flash.

I have a Z1 and as far as I know the bios hack is your only option.
AFAIK this should also work on your machine.
For using the HDMI output, do something like

**primusrun**​ vlc