Wednesday, October 1, 2008

Epic Fail. =(

This morning, my wife informed me that she was taking our laptop to work so she could show ~40 people a slideshow. The slideshow was just images so I gleefully showed her how Gwenview does slideshows. She liked how it looked and worked very much.

Anyway, she was going to use this laptop with an attached projector so she could ensure everyone could see the slideshow. I told her to call me at work if she had any problems. I assumed that KDE/Kubuntu/Linux/Dbus/X/Whatever would make sure it would Just Work™.

Alas, 15 minutes before the presentation she rang me and described how she couldn't browse the external hard drive she was plugging in. Easy, it was an NTFS drive, the logfile on the system needed resetting because it had been un-safely unmounted.

5 minutes later she rang back because when plugging in the projector, it wouldn't show anything - just a 'No Signal' error. I took her through KDE's system settings and we tried configuring it with the 'Display' section. But everything I tried wouldn't work. None of the applications recognised that an external projector/screen had been plugged in. Also, none of the Function Keys worked. So holding down the 'Fn' key and pressing the 'CRT/LCD' key did absolutely nothing.

In the end, she had to try and find another laptop to do the job - something with Ms Windows. Which worked straight away.

I don't know where the blame lies for this, my hunch is Xrandr. Or is it the KDE implementation of it? Also, why didn't my Function keys work? =(

Either way, my wife went to work with an operating system and desktop environment that she expected to do what she wanted without any hassles. It failed her when she needed it most and has damaged her already fragile confidence in open source software. This saddens me a lot - but, it also motivates me. We need to create an experience for the every day user that makes them head into their day brimming with confidence that their 'computer' will do everything they need - no questions asked.

It made me realise, as crappy and bloated as XP's desktop environment was - it worked when you needed it. Still does.

P.S. I'm aware that support by manufacturers for Ms Operating Systems helps this. While its 'unfair', it doesn't change the fact that it just works.

Just how hard is it for a manufacturer to include support for their monitor/projector product in the free desktop environment? What are the barriers?

26 comments:

  1. "Or is it the KDE implementation of it?"

    KDE doesn't provide an implementation of xrandr; that's up to the video driver (and whatever bits of x.org it elects to use).

    "I'm aware that support by manufacturers for Ms Operating Systems helps this."

    it doesn't just help, it is what makes the difference.

    "Just how hard is it for a manufacturer to include support for their monitor/projector product in the free desktop environment?"

    it isn't the monitor or projector, it's the driver that manages the video hardware inside the laptop.

    "What are the barriers? "

    market share, mostly. if there isn't demand, why should they care? it's a bit of a catch 22, but one we are slowly winning over .. the hard way: 1/10th of a percent at a time.

    "We need to create an experience for the every day user that makes them head into their day brimming with confidence that their 'computer' will do everything they need - no questions asked."

    i couldn't agree more.

    there are several things that need to happen at various parts of the stack to make this happen, and we've got a ways to go yet, to be perfectly honest. less than we did 3 years ago, certainly, but still a lot left.

    this can partly be solved by controlling the hardware people use KDE on, Apple-like.

    but a lot of work needs to happen within x.org, the interfaces to it from the user interface ...

    the NTFS thing you mention is another sort of problem, one that exists again at a lower area of the stack than KDE.

    function keys on the laptop are a distribution issue (though it *should* be a laptop manufacturer issue).

    unfortunately there are no simple answers, and we need to continue pushing ourselves where we are weak.

    apologies to your wife. sorry for your experience (it's always disappointing).

    btw, what video chipset do you have in that laptop? and what driver are you running it with? and what version of kde? (for my own record keeping)

    ReplyDelete
  2. I've had a similar experience at university, where I was unable to do a presentation which did cost me many hours of work. It was very embarassing not to be able to do that. There was no way it would recognize the projector and I think it's not a problem of third-party support - some generic video output driver for projectors should be in the kernel and able to do the job. Also, hot-plugging was a problem. That was last year, I was using KDE 3.5 and some 2.6 of the kernel. I even tried to configure the xorg.conf some way before the presentation but nothing worked. That's exactly the reason why I switched to Mac OS X for my main laptop, btw. Still love Linux and KDE, but I cannot depend on it in my work environment.

    ReplyDelete
  3. I had a similar problem.. Until I found out that just starting krandrtray made the externaly monitor work. This could mean that everything is working well, except that nothing is looking for an external monitor by default (OpenSUSE 11.0) -- you have to do that yourself.

    ReplyDelete
  4. I've found just restarting X once you've plugged in the projector cable often works quite nicely.

    ReplyDelete
  5. It's not easy on Windows either to be franck, I remember my daughter having to present a slideshow last year for her final exam and fortunately we have a projector at home so she could train and be sure it'll all work in seconds.

    ReplyDelete
  6. @aseigo

    "it isn't the monitor or projector, it's the driver that manages the video hardware inside the laptop."

    I had a mental fart on this one. Heh, I knew that... =P

    "the NTFS thing you mention is another sort of problem, one that exists again at a lower area of the stack than KDE."

    Yeah, I was able to fix this one pretty quickly. Just needed to force the mount.

    "function keys on the laptop are a distribution issue (though it *should* be a laptop manufacturer issue)."

    I don't know enough about this to give a decisive opinion, but while the same function keys work in Gnome, they don't work in KDE. As you said, this may just be a distro issue.


    In terms of my hardware:
    Model: Dell Inspiron 1520
    Video: Nvidia 8400 GT
    Video Driver: nvidia-new (latest Ubuntu 8.04 version from repos - not sure about the actual version number)

    KDE Version: 4.1.1


    @francesco

    Hmm, very similar experience from the sound of it.

    I'm using KDE 4.1.1 here at work 24/7 though. It does everything I need and more without many hiccups. Its a desktop, so it doesn't have many of the issues a laptop has.


    @tkjacobsen

    Yeah, I tried getting her to start Krandrtray but it kept dying before she could actually use it. She didn't have the time for me to take her through diagnosing this issue.


    Is it just me or is X.org a major source of problems on the free desktop? Is this all just driver related? It just seems to me that X.org is a little fragile when it comes to coping with the unexpected (ie. hotswapping monitors, using multiple monitors - even with free drivers).

    ReplyDelete
  7. To get monitor output working, it often helps to plugin in the cable before the computer starts. This way the video card initializes itself, instead of depending on the driver to do it.

    (I can't be sure about it, but I do get the impression these integration issues also set distibutions like KUbuntu, openSUSE, Slackware and Gentoo apart).

    I'd also recommend testing stuff at home. Off course, we shouldn't have to worry things might not be working. But when you're prepared for it at the presentation, you can make a good first impression to all the Windows guys watching it. ;)

    ReplyDelete
  8. I would also like to add that what you described happens to us at work all the time! and we use Windows XP. Projectos with no signal, the output signal being to big or too small, only woking when you plug in the VGA cable before you boot etc. etc.

    ReplyDelete
  9. The external projector problem is one of the two missing reasons still do not recommend Linux to average users - chance is too high that it won't work.

    But about the source of the problem: it is not a strict xrandr1.2 problem because nvidia doesn't support it properly within its drivers.
    To switch to external monitors while using nvidia the best is to use their tool - "nvidia-settings".

    I just hope that they will include XRandR1.2 support in the near future, would make many things easier.

    ReplyDelete
  10. Ha, I had this one too once. What could be too blame ARrrrhhh.

    Some thinking later it appeared to me I did not install the ati driver :-D
    Yeah, who needs those frivolous effects anyway on a laptop? Anyway, ati driver is now installed, and hup, all works

    ReplyDelete
  11. to avoid confusion, with ati driver I obviously mean fglrx.

    For presentations I always have a pdf export at hand. Adobe can load it and show it nicely on whatever operating system that works with the projector

    ReplyDelete
  12. hey wait, I have a positive story to tell:

    two weeks ago, I switched distributions from Gentoo -> openSUSE 11.0 (mainly bc of KDE4.1 not in portage, but that's a diff. story..)

    so with openSUSE, connecting an external monitor/beamer is just as easy as u expect it to be. When I hotplug the VGA cable, there is KDE dialog popping up, telling me that a new monitor was connected and asking me if i want to configure it. Voila.
    That's how it should have been with yr wife's laptop and everybody would have been blown away by Linux/KDE/gwenview.

    Ok, I guess I am just lucky with my hardware configuration and with openSUSEs distribution. But still, all the infrastructure seems to be in place in a modern Linux. I am really really impressed. Linux is very close to be THE system for the average user.

    btw, i am only using open source drivers. it's a dell latitude D630, intel graphics, intel wireless, ...
    and even, suspend2ram/disk works out of the box. :)

    ReplyDelete
  13. I found using puppy linux that if you use Xorg the projector didn't work. If you use KDrive (or whatever it's called) it does. I blame X. It's one of the weakest links in the linux ecosystem.

    ReplyDelete
  14. I know this doesn't help you...I just want to share it anyways. I've got similar problems (with a second monitor) in KDE 4.1(.1), while it does work in KDE 3.5(.10).

    So it seems to me (at least with my computer) it's got something to do with KDE, too...same computer, same Kubuntu installation, KDE 3.5 and 4.1 installed parallel, same xrandr-command run from konsole.

    ReplyDelete
  15. That failure has nothing to do with operating system. Just about the proprietary driver or Xorg what fails. Of course it would be nice if KDE would allow you to select easily the output and set settings for it. Like "Presentation" and it would set external VGA/DVI port to 800x600 mode (or other what is possible to set) and then turn it on, so the Xorg/Driver would do their "magic".

    ReplyDelete
  16. I had the same problem a few months back. I've been running the "experimental" kde4 stuff on ubuntu and I plugged into the projector, nothing. No signal. I reverted to the default gnome desktop and what do you know, working. So yah, kde4 must be doing or not doing something.

    ReplyDelete
  17. I've also always found glitches with outputting to another video device. Honestly, things became so much better when I started using intel graphics cards rather than NVidia.

    I still have to run

    "xrandr --output VGA --auto --same-as LVDS"

    But then everything works perfectly. Works on 100% of the projectors I have tried.

    I think that this is now the step where KDE can come in and provide a better end-user interface. Having something similar to the gnome xrandr gui config (or even better, using solid to detect when a monitor has been plugged in and acting on it accordingly) would be amazing.

    ReplyDelete
  18. It's all comes down to Video Card Manufacturers, drivers and Xrandr. Manufacturers have to supply specifications the Xorg team needs decent support and all the drivers have to work with (the same) Xrandr properly. None of this is happening right now.

    ReplyDelete
  19. I'm a KDE guy too, but I learned time and time again that being desktop bounded is a bad idea, specially when tools not from/for that desktop are best.

    grandr is very good configuring graphically everything what can be done with xrandr, which by the way is not very dicoverable.

    ReplyDelete
  20. Windows does not always work in thiis regards over the years doing shows we have had quite a few windows laptops that have refused to talk to projectors. Basically these days we test all hardware before taking it out to do a live show. We also almost always have a backup - (usually a dvd)...

    For my main gigging machine - Kubuntu based SFF machine - I have setup with twinview so that I can run my screen and the projector simultaneously. This second screen is set to run at a much lower res than my primary screen.

    ReplyDelete
  21. Its good to hear the successes that people have had with this.

    While I personally would have spent time to make sure that everything worked prior to something major like a presentation, my wife didn't - and couldn't.

    She expected (rightly so) that she could take along the laptop and have it just do what she needed it to - without her having to install X software and configure Y settings. There was a plug in the side of the laptop for a monitor cable - so she expected that when she plugged in a monitor that it would just work.

    In my estimation, she has the right mindset we should be striving to emulate in our software. My wife should be able to take her laptop along to that presentation, plug in a monitor - have it work, share her presentation live over the network - have it work, plug in a nice sound system to the laptop for the audio in the presentation - have it work.

    While there is a lot to do to get to this stage, its good to know we're getting there and that KDE has the right mindset, leading us in the right direction.

    Go go go! =D

    ReplyDelete
  22. I'm the one who first added multiple monitor support in krandr. But it can't do magic, if the external display is not showing up even in xrandr, then the problem is out of our control.

    Aike Sommer (a SoC student this year) has done a good job on making things easier, but that assuming it is working Xserver side.

    In a perfect world it would be so easy to do this kind of things, but..

    ReplyDelete
  23. The issue may have been that you need to re-start the X Server once you have the projector plugged in.
    (Note: I have an Intel card).

    I know this how I get my laptop hooked to the TV- it doesn't pick up anything until I re-start the X-server (either by logging out and re-starting the server, or restarting the computer).

    Once that's setup, RandR automatically handles the setup.

    This works as described on Kubuntu 8.04- it works even better on Fedora 9- I'm pretty sure that does hotplugging of display devices, and lets you do more fancy things like clone displays or keep your desktop at a larger resolution than the attached device.

    In any event, you'll start up KRandR, and use that to configure stuff.

    ReplyDelete
  24. @socceroos: Yes, and it happened to a friend of mine, too, whom I had given Sabayon because everything worked out of the box (or so I thought). It's depressing, and it all boils down to the use cases the software is designed and optimized for. Take VLC. It never crashed on me, reads codecs I haven't ever heard of, is more reliable than QuickTime or Windows Media Player and handles corrupt data gracefully (DRMed media is another story, but oh well). It focused on getting everything right for what it was designed for. Linux was never designed for laptop use like Windows or MacOS X, development was long focused on microbenchmarks in the server environment and still is (think Con Kolivas here). Now it's getting to work quite well on desktops and it's slowly starting to catch on to laptop use. I'm talking about stuff like efficient power management, working with projectors, suspend... It still doesn't work as reliably as I or other average users need it to be. That's why I applaud the devs that work on stuff like PowerTOP, PowerDevil, Solid (I love your work guys) or... It all helps, but we're not there quite yet. Sadly.

    ReplyDelete
  25. In my Kubuntu 8.10 at least there is a KRandRTray applet that sits in my system tray and lets me configure my rotation and extra monitors and such

    ReplyDelete
  26. I also need to restart the laptop with the projector conected in order to work. Besides, I just can't manage to get kde4.1 running OK with the projector, I ALWAYS need to swicth to gnome. With kde the image keeps bleeping, no matter what...

    ReplyDelete