HDMI output not recognized on Asus netbook with nvidia ION

Hi all,

I’m trying to use my netbook as a media centre but last night I failed miserably at connecting to a tv via the hdmi port.

This is what xrandr outpus:

Screen 0: minimum 320 x 200, current 1366 x 768, maximum 32767 x 32767
LVDS1 connected primary 1366x768+0+0 (normal left inverted right x axis y axis) 270mm x 150mm
   1366x768       60.0*+
   1024x768       60.0  
   800x600        60.3     56.2  
   640x480        59.9  
VGA1 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)

The HDMI port is not even in the list!

sudo /sbin/lspci -v | grep -i vga

00:02.0 VGA compatible controller: Intel Corporation Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller (rev 02) (prog-if 00 [VGA controller])
04:00.0 VGA compatible controller: NVIDIA Corporation GT218 [ION 2] (rev a2) (prog-if 00 [VGA controller])

**What I tried:

**Installed various versions of the nvidia drivers both manually (after some kernel struggles) and from the nvidia repos.
Manual drivers I got from here: http://www.nvidia.ca/object/unix.html and I tried a bunch of version (340, 337, 304). All of those list ION as supported but X would not load.
Xorg.log.0 would error out saying no devices found. Clearly the driver did not think I have an nvidia chipset onboard.

In my desperation, I even tried bumblebee in the end.

I have no issues with the nouveau driver otherwise.

Any ideas?
Worst case I can install windows to see if the port works there but I’m guessing it will. I’d really rather not use windows though.

Well it’s an Optimus system and they run with the intel chip as primary graphics device and that chip is usually, possibly always, not connected to any of the external display ports.
I have a solution here https://forums.opensuse.org/showthread.php/497341-Howto-use-Nvidia-native-on-an-external-display-on-an-Optimus-system
It is a little ugly right now, but if you only want to use it as a media center you only need one instance of openSuse of course. I would recomend to use the propriarity nvidia driver as it has better power mangement than nouveau, those systems tend to get pretty hot when running the nvidia card.
Hopefully I’ll have a better solution for 13.2.

Ah, so it is an optimus system after all.

Thanks hank_se! I’ll give this a go tonight. Specifying the device address in xorg.conf might just do it.

Also, I did get some kernel warnings when installing bumblebee but ignored them because I didn’t really think I need it at the time.
Anyway, this gives me hope.

After a lot of futzing around last night, I think I am closer to getting this working but still no HDMI port in sight.

This is the output of systemctl status bumblebeed:

bumblebeed.service - Bumblebee C Daemon   Loaded: loaded (/usr/lib/systemd/system/bumblebeed.service; enabled)
   Active: active (running) since Mon 2014-08-18 23:04:21 EDT; 13min ago
 Main PID: 590 (bumblebeed)
   CGroup: /system.slice/bumblebeed.service
           └─590 /usr/sbin/bumblebeed

Aug 18 23:11:54 linux-0zqe.site bumblebeed[590]:   464.102006] [WARN][XORG] (WW) Unresolved symbol: fbGetGCPrivateKey
Aug 18 23:11:54 linux-0zqe.site bumblebeed[590]:   464.102081] [WARN][XORG] (WW) NVIDIA(0): Unable to get display device for DPI computation.
Aug 18 23:11:55 linux-0zqe.site bumblebeed[590]:   464.456310] [ERROR][XORG] (EE) Server terminated successfully (0). Closing log file.

So bumblebee appears to be running. I read somewhere that the NVIDIA warning is a non-issue though this is happening with the hdmi cable connected.
I’ve added the BusID to the xorg.conf.nvidia file.
Here’s my Xorg.8.log: http://pastebin.com/mFVFvJ7m
I’m using the nvidia drivers installed “the hard way”. The module appears to be loaded so no issues there (definite improvement to the no devices found error I had before).

optirun glxspheres runs.
I tried running optirun xrandr to see if I can see the hdmi port that way, but no luck.

I feel like I’m so close but not there yet!
(I’m starting to hate this optimus madness)

I never suggested that this would work under bumblebee, you need a normal non-bumblebee openSuse instance and with the nvidia driver installed just as on a normal nvidia only system.

As I recall under optimus the Intel chip hardware is actually in control of the output connectors. For what it is worth. IMO optimus is a cross between Frankenstein and Rube Goldberg

No the intel chip is only connected to the built in display.

So which chip set connect to the external? Is it it dependent on which machine?

Although there doesn’t seem to exist any standard I would say the external ports are connected to the nvidia card on all machines.

Indeed you didn’t! I think I was misguided by previous nvidia-only setups that didn’t work. Switched to nvidia only (via Xorg.conf) and viola!! I’ve got a picture when using an external screen.

Of course, I’m not quite done yet. Audio is only coming from he laptop.
aplay -l only lists one (analog) device.

The quest continues but I’m hopeful.

Install pavucontrol and use Volume Control for PulseAudi to set the sound.

I tried that but the only available output was the analog sound device, speakers or headphones.
I need to get it to realize there’s another output, so I’ve been playing around with modprobe configs but have had no luck for now.

Googling mainly shows people who get the hdmi output using “aplay -l” but can’t direct sound to it for whatever reason. I’m not even that far.

This laptop is clearly hellbent on making this hard for me. Perhaps it’s less than happy with its new role.

Took some time to recapitulate what I actually did to get sound. I discovered that pulseaudio was’nt installed by default so I had to install that manually.
Possibly pulseaudio isn’t installed on any Optimus system.

News to me pulse is pretty standard these days. Don’t have an optimus machine

Yeah, it’s definitely running. Problem appears to be moreso driver/hardware related unfortunately.

I have the same Nvidia card so I would guess your problem is driver settings related. One odd thing is that my onboard sound chip died a couple of years ago, my output from aplay -l is this.

hank@lillen:~/Desktop> aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 7: HDMI 0 [HDMI 0]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 8: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 9: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Hopefully someone with more knowledge about sound can help, I’ve had so few problems with sound so I haven’t really learned much about it.

Here’s a guy with the opposite problem.

Maybe you should try with blacklisting snd_hda_intel?

A bold suggestion! I tried it but I then get nothing:

aplay: device_list:268: no soundcards found...

Othewise I only get this:

**** List of PLAYBACK Hardware Devices ****
card 1: Intel [HDA Intel], device 0: ALC269VB Analog [ALC269VB Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

I read somewhere that it can be caused by an old version of alsa but with opensuse 13.1, that doesn’t apply for me.

What’s the output of this:

lsmod |  grep snd

Mine looks ike this:

hank@lillen:~/Desktop> lsmod |grep snd
snd_hda_codec_hdmi     45213  4 
snd_hda_intel          48171  4 
snd_hda_codec         205080  2 snd_hda_codec_hdmi,snd_hda_intel
snd_hwdep              13602  1 snd_hda_codec
snd_pcm               110211  4 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec
snd_seq                69752  0 
snd_timer              29423  2 snd_pcm,snd_seq
snd_seq_device         14497  1 snd_seq
snd                    87501  15 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_seq,snd_timer,snd_seq_device
soundcore              15047  1 snd
snd_page_alloc         18710  2 snd_hda_intel,snd_pcm

When you uninstalled bumblebee did you also uninstall bbswitch?

hank_se, your patience knows no bounds.
I hadn’t uninstalled bbswitch so I did now - no change.

My lsmod is similar to yours (I have everything you have):

snd_hda_intel          46754  3 
snd_hda_codec_hdmi     40373  0 
snd_hda_codec         180387  2 snd_hda_intel,snd_hda_codec_hdmi
snd_hwdep              13272  1 snd_hda_codec
snd_pcm                97750  3 snd_hda_intel,snd_hda_codec_hdmi,snd_hda_codec
snd_page_alloc         14230  2 snd_hda_intel,snd_pcm
snd_seq                63575  0 
snd_timer              24363  2 snd_pcm,snd_seq
snd_seq_device         14137  1 snd_seq
snd                    70606  14 snd_hda_intel,snd_hda_codec_hdmi,snd_hda_codec,snd_hwdep,snd_pcm,snd_seq,snd_timer,snd_seq_device
soundcore              14599  1 snd

There was some realtek module as well which I blacklisted for good measure but made no difference.

I’m also pouring over this: http://http.download.nvidia.com/XFree86/gpu-hdmi-audio-document/gpu-hdmi-audio.html, trying to find out what I should be seeing and maybe where things are failing.
Things are definitely a little off but I don’t know where they get bad.
There’s no mention of hdmi or audio in various logs either - Xorg, dmesg, /var/log/messages.
I’ve also tried various options snd-hda-intel settings in /etc/modprobe.d/50-sound.conf.

Crazy stuff.
I’m tempted to manually compile the latest alsa. Just cause.