Prologue

I recently bought a Point of View Mobii netbook from this site, because it was offered with Ubuntu pre-installed. I was pleased to see that some things worked out-of-the-box. The NVidia ION drivers were installed, and HDMI-output seemed to work just fine. Even the webcam (which I expected to be dodgy at best) worked without so much as a stutter. Hibernation was not a problem, and the power-manager properly detected the battery state. Most of the special keys did their job, too. Unfortunately, some parts did not work out that well for me. This page attempts to document those flaws, in hope that the vendor will pick up on these problems and fix them. This so that future users do not have to deal with them, for I honestly believe the Mobii has great potential as an Ubuntu netbook.

These instructions are written with Ubuntu 10.04 LTS in mind, which is the version I ran when tinkering them out. They are not tested on other distributions, but I suspect most of them will work anyway. If a different action is required for another distro, let me know! 

All other remarks are welcome too, please send them to tobias@ntlabs.org

I have composed a tarball of the files I will refer to in this documentation. 

Externals

Closing the lid is detected automatically, as is pressing the power button - no problems there. You might want to disable Mouse clicks with touchpad in System  Preferences  Mouse  Touchpad. I for one, find it highly annoying that when I type the cursor suddenly jumps elsewhere, because my thumb hit on the touchpad.

FullHD video playback

The Mobii is advertised as being capable of playing 1080p video, better known as FullHD. To do so, you will need to install the proprietary drivers from nvidia. Ubuntu provides a nice graphical interface for this under System → Administration → Hardware drivers. Once you have done so, you will need to recompile mplayer with vdpau support. Download the two header files and place them in /usr/include, then do the following:

cd mplayer-vdpau
sudo apt-get build-dep mplayer
./checkout-patch-build.sh

The script will take a while, so grab a coffee. Note that you can follow the instructions from the link provided earlier on, but there are two subtle differences. For the screensaver to be inhibited properly, you'll have to apply the mplayer-screensaver patch. Also, if you're running GCC 4.4.3, there's a known issue where the resulting mplayer binary will crash. Use put CFLAGS="-O2 -fomit-frame-pointer" before ./configure in the build script to work around this.

To configure mplayer, create a config file in the .mplayer directory in your home folder. Put in the following and any additional options you'd like:

vo=vdpau,xv
vc=ffh264vdpau,ffmpeg12vdpau
ao=alsa # needed for HDMI audio output further on
stop-xscreensaver=1

HDMI output

The Mobii has an HDMI output port; this is great if you want to connect it to a TV to play a movie, especially if you get FullHD video playback to work! There is a downside to this, though: the nvidia display driver handles the video configuration (that is, it does not allow gnome to handle it). It also does not properly remember your configuration, and setting up the extra monitor can be cumbersome to do every time, especially since the settings window is rather large, and the maximum resolution of the main screen is 1024x768, making it hard to reach all the buttons: you'll have to resolve to double-clicking the window, somehow putting it in a state where the lower buttons become visible. Mouse clicks will not work at this point, so you'll have to tab-space-enter your way to the "Apply" button. 

Moreover, when the extra monitor is configured, video playback will still be a bit hesitant. I suspect this is because the display driver still allocates framebuffer for the main laptop screen, and I am strengthened in this suspicion by the fact that the video quality improves greatly when the main screen is disabled. To work around all this, I found disper to be very useful. To switch to TV output, I'd simply type disper -S -r 1920x1080. To go back to the main screen, I'd type disper -s

Having done this, I noticed that the audio was still routed through the laptop speakers. I could switch this through - guess what - a GUI tool: System  Preferences   Sound  Hardware and select Digital Stereo (HDMI) output. This was still not easy enough for me, because I wanted to automate it. After some tinkering, I discovered the underlying pulseaudio command: pacmd set-card-profile 0 output:hdmi-stereo and pacmd set-card-profile 0 output:analog-stereo to switch back.

These two commands I have compiled in the output-tv and output-screen scripts found in the tarball. These scripts are bound to global hotkeys through gconf. Bear in mind that gconf needs to have the absolute path to these scripts, and that they need to have run permissions.

Wireless

It's the strangest thing; when I got the machine, wireless seemed to work (though grudgingly). The day after it arrived, it had broken down. I am not sure whether this was due to the upgrade from Karmic Koala to Lucid Lynx, or general wackyness, but I could not get it to work normally again. It turned out that I needed to get the r8187se driver instead of the rtl8187se that comes with Ubuntu. For reference, this driver is also contained in the realtek-drivers directory in the tarball. To install the drivers, perform the following commands in a terminal:

cd realtek-drivers
make
sudo make install
sudo modprobe r8187se

Reboot and your wireless should be working!

Wireless killswitch

Through some fault in the BIOS (I suspect), the wireless radio killswitch does not seem to work. I hardly fancied trying to upgrade my BIOS, fearing that I'd break my brand new device in the process. I therefore set out to find a command to toggle wifi, instead of having to click the network-manager applet every time. Using ifconfig to shut down the interface requires you to have root privileges, which is not ideal; I do not want to type my password to simply shut down the wifi! On top of that, network-manager decides to put the interface back online anyway. I discovered that network-manager can be controlled through DBus, so the following command was crafted: 

dbus-send --system --type=method_call --dest=org.freedesktop.NetworkManager /org/freedesktop/NetworkManager org.freedesktop.DBus.Properties.Set string:'org.freedesktop.NetworkManager' string:'WirelessEnabled' variant:boolean:false

To enable the wifi again, change false to true. A simple script named killswitch is provided in the tarball, which will toggle your wifi based on the state network-manager thinks it is in. Obviously, it is recommended that you bind this to a global hotkey.
Comments