Difference between revisions of "Dell Inspiron 1090 (Duo)"

From ArchWiki
Jump to: navigation, search
m
Line 79: Line 79:
  
 
===Wireless===
 
===Wireless===
 
 
Works out of the box.
 
Works out of the box.
  
 
===Webcam===
 
===Webcam===
 
+
Detected by {{ic|udev}} as
 +
Bus 001 Device 002: ID 0bda:58f4 Realtek Semiconductor Corp.
 
Works out of the box. Uses the {{ic|uvcvideo}} module, see [[Kernel Modules]] and [[Webcam Setup]].
 
Works out of the box. Uses the {{ic|uvcvideo}} module, see [[Kernel Modules]] and [[Webcam Setup]].
  
 
===Graphics controller===
 
===Graphics controller===
 
+
[[pacman|Install]] {{Pkg|xf86-video-intel}}, available in the [[Official Repositories]], see [[Intel]].
It is a . [[pacman|Install]] {{Pkg|xf86-video-intel}}, available in the [[Official Repositories]], see [[Intel]].
+
  
 
===Touchpad===
 
===Touchpad===
 
 
[[pacman|Install]] {{Pkg|xf86-input-synaptics}}, available in the [[Official Repositories]].
 
[[pacman|Install]] {{Pkg|xf86-input-synaptics}}, available in the [[Official Repositories]].
  
Line 98: Line 96:
  
 
===Speakers===
 
===Speakers===
 
 
Uses {{ic|snd-hda-intel}} module, see [[Kernel modules]].
 
Uses {{ic|snd-hda-intel}} module, see [[Kernel modules]].
  
 
===HD video playback===
 
===HD video playback===
 
 
Install {{AUR|crystalhd-git}}, available in the [[Arch User Repository]]. The new module is located in
 
Install {{AUR|crystalhd-git}}, available in the [[Arch User Repository]]. The new module is located in
 
  /lib/modules/$(uname -r)/kernel/drivers/video/broadcom/crystalhd.ko
 
  /lib/modules/$(uname -r)/kernel/drivers/video/broadcom/crystalhd.ko
Line 108: Line 104:
  
 
===Touchscreen===
 
===Touchscreen===
 +
Detected by {{ic|udev}} as:
 +
Bus 004 Device 002: ID 0eef:725e D-WAV Scientific Co., Ltd
 
Install the driver from the [http://home.eeti.com.tw/web20/eGalaxTouchDriver/linuxDriver.htm eGalax website]. Since version 1.01.1014, the driver supports (two finger) multitouch input. Requires reboot.
 
Install the driver from the [http://home.eeti.com.tw/web20/eGalaxTouchDriver/linuxDriver.htm eGalax website]. Since version 1.01.1014, the driver supports (two finger) multitouch input. Requires reboot.
  
Line 136: Line 134:
  
 
Install {{AUR|xcursor-transparent-theme}}, available in the [[Arch User Repository]].
 
Install {{AUR|xcursor-transparent-theme}}, available in the [[Arch User Repository]].
 +
 +
===On-screen keyboards===
 +
 +
====Generic====
 +
 +
Install {{AUR|florence}}, available in the [[Arch User Repository]].
 +
 +
====Gnome 3.2.x+====
 +
 +
[[pacman|Install]] {{Pkg|caribou}}, available in the [[Official Repositories]].
  
 
===Gesture recognition (with multitouch support)===
 
===Gesture recognition (with multitouch support)===
Line 183: Line 191:
 
Observe that the transformation matrix is the same for normal and inverted orientations, and for left and right orientations. Therefor the corresponding commands need to be applied only when changing between orientations with ''different'' transformation matrix.
 
Observe that the transformation matrix is the same for normal and inverted orientations, and for left and right orientations. Therefor the corresponding commands need to be applied only when changing between orientations with ''different'' transformation matrix.
  
===On-screen keyboards===
+
==Examples of Use==
  
====Generic====
+
===Script for rotating the screen===
  
Install {{AUR|florence}}, available in the [[Arch User Repository]].
+
The commands above can be used to make a simple shell script for toggling the screen orientation between landscape and portrait as follows:
  
====Gnome 3.2.x+====
+
{{hc|toggle_orientation.sh|<nowiki>
 +
#!/bin/bash
  
[[pacman|Install]] {{Pkg|caribou}}, available in the [[Official Repositories]].
+
eGalax0=10 # "eGalax Inc. USB TouchController"
 +
eGalax1=14 # "eGalaxTouch Virtual Device for Multi"
 +
eGalax2=15 # "eGalaxTouch Virtual Device for Single"
  
==Examples of Use==
+
matrix_left="0 1 0 1 0 0 0 0 1"
 +
matrix_identity="1 0 0 0 1 0 0 0 1"
  
===Script for rotating the screen===
+
invert_y="0 1"
  
The commands above can be used to make a simple shell script for toggling the screen orientation between landscape and portrait as follows:
+
%rotation=`xrandr -q --verbose|grep LVDS1|cut -b37-37`
 +
rotation="$(xrandr -q --verbose | grep 'connected' | egrep -o  '\) (normal|left|inverted|right) \(' | egrep -o '(normal|left|inverted|right)')"
  
{{hc|toggle_orientation.sh|
+
if [ $rotation = "normal" ] ;
}}
+
then
 +
 
 +
xrandr -o left
 +
xinput set-prop $eGalax0 'Coordinate Transformation Matrix' $matrix_left
 +
xinput set-prop $eGalax0 'Evdev Axis Inversion' $invert_y
 +
xinput set-prop $eGalax1 'Coordinate Transformation Matrix' $matrix_left
 +
xinput set-prop $eGalax1 'Evdev Axis Inversion' $invert_y
 +
xinput set-prop $eGalax2 'Coordinate Transformation Matrix' $matrix_left
 +
xinput set-prop $eGalax2 'Evdev Axis Inversion' $invert_y
 +
 
 +
else
 +
 
 +
xrandr -o normal
 +
xinput set-prop $eGalax0 'Coordinate Transformation Matrix' $matrix_identity
 +
xinput set-prop $eGalax0 'Evdev Axis Inversion' 0 0
 +
xinput set-prop $eGalax1 'Coordinate Transformation Matrix' $matrix_identity
 +
xinput set-prop $eGalax1 'Evdev Axis Inversion' 0 0
 +
xinput set-prop $eGalax2 'Coordinate Transformation Matrix' $matrix_identity
 +
xinput set-prop $eGalax2 'Evdev Axis Inversion' 0 0
 +
 
 +
fi
 +
exit 0</nowiki>}}
  
 
{{Tip|For an improved user experience you can:  
 
{{Tip|For an improved user experience you can:  
Line 211: Line 245:
 
The following shell script hides the mouse pointer and activates Gnome 3.x's on-screen keyboard, {{Pkg|caribou}}, when the netbook is fold into a tablet. It assumes {{AUR|xcursor-transparent-theme}} and {{Pkg|caribou}} are installed, ; and that {{ic|Adwaita}}, Gnome 3.x's default cursor theme is in use.
 
The following shell script hides the mouse pointer and activates Gnome 3.x's on-screen keyboard, {{Pkg|caribou}}, when the netbook is fold into a tablet. It assumes {{AUR|xcursor-transparent-theme}} and {{Pkg|caribou}} are installed, ; and that {{ic|Adwaita}}, Gnome 3.x's default cursor theme is in use.
  
{{hc|toggle_tabletmode.sh|
+
{{hc|toggle_tabletmode.sh|<nowiki>
}}
+
#!/bin/bash
 +
 
 +
tablet_mode=$(echo $(gsettings get org.gnome.desktop.interface cursor-theme) | cut -c2- | sed 's/\(.*\)./\1/')
 +
 
 +
if [ $tablet_mode = "xcursor-transparent" ] ;
 +
then
 +
 
 +
# Show mouse pointer
 +
gsettings set org.gnome.desktop.interface cursor-theme "Adwaita" &
 +
gconftool-2 --type string  --set /desktop/gnome/peripherals/mouse/cursor_theme Adwaita &
 +
 
 +
# Return screen to normal orientation
 +
xrandr -o normal &
 +
 
 +
# Restore touchscreen's default coordinates
 +
xinput set-prop 10 'Coordinate Transformation Matrix' 1 0 0 0 1 0 0 0 1
 +
xinput set-prop 10 'Evdev Axis Inversion' 0 0
 +
xinput set-prop 14 'Coordinate Transformation Matrix' 1 0 0 0 1 0 0 0 1
 +
xinput set-prop 14 'Evdev Axis Inversion' 0 0
 +
xinput set-prop 15 'Coordinate Transformation Matrix' 1 0 0 0 1 0 0 0 1
 +
xinput set-prop 15 'Evdev Axis Inversion' 0 0
 +
 
 +
# Disable on-screen keyboard
 +
dconf write /org/gnome/desktop/a11y/applications/screen-keyboard-enabled false &
 +
 
 +
else
 +
 
 +
# Hide mouse pointer
 +
gsettings set org.gnome.desktop.interface cursor-theme "xcursor-transparent" &
 +
gconftool-2 --type string  --set /desktop/gnome/peripherals/mouse/cursor_theme xcursor-transparent &
 +
 
 +
# Enable on-screen keyboard
 +
dconf write /org/gnome/desktop/a11y/applications/screen-keyboard-enabled true &
 +
 
 +
fi
 +
exit 0</nowiki>}}
  
 
{{Tip|You can run this script when (un)folding the netbook associating it to the keys {{Keypress|XF86LAUNCH1}} and {{Keypress|XF86LAUNCH2}}.}}
 
{{Tip|You can run this script when (un)folding the netbook associating it to the keys {{Keypress|XF86LAUNCH1}} and {{Keypress|XF86LAUNCH2}}.}}

Revision as of 20:55, 1 January 2012

Tango-document-new.pngThis article is a stub.Tango-document-new.png

Notes: please use the first argument of the template to provide more detailed indications. (Discuss in Talk:Dell Inspiron 1090 (Duo)#)

The Dell Inspiron 1090 is a notebook/tablet convertible with a touchscreen with two-finger multitouch support. The aim is to get the most out of this hardware, both as a netbook and as a tablet.

Hardware specifications

Official specifications

  • Processor: Intel® Atom® Dual Core Processor N570 (1.6GHz, 512K L2 Cache).
  • Memory: 2GB DDR3 SDRAM.
  • Chipset: Intel® NM10 Express Chipset.
  • Video card: Intel NM10 Express Video.
  • Display: 10.1" Widescreen (1366x768) Capacitive Multi Touch.
  • Audio and speakers: 2 X 1W speakers for total of 2W standard.
  • Hard drive: Up to 320GB5 SATA hard drive (7200RPM).
  • Battery: 29Whr 4 cell battery, captive, factory replaceable.
    • Battery life: Up to 3 hours and 57 minutes of battery life.
  • Camera: Built-in 1.3 megapixel Webcam.
  • Wireless: Wireless 802.11b/g/n.
  • Bluetooth: Wireless 802.11b/g/n / Bluetooth 3.0 combo Card (Optional).
  • Ports:
    • (1) Microphone.
    • (1) Headphone JACK.
    • (2) USB 2.0.
    • (1) AC adapter connector.
  • Dimensions and weight:
    • Width: 11.22" (285.0mm).
    • Height: 1.03" (26.2mm) front – 1.13" (28.7mm) back.
    • Depth: 7.66" (194.5mm).
    • Starting weight: 3.39 lbs (1.54Kg).

Specifications according to the Linux Kernel

Architecture, processor and platform

uname -mpi
i686 Intel(R) Atom(TM) CPU N550 @ 1.50GHz GenuineIntel

PCI buses and devices

lspci
00:00.0 Host bridge: Intel Corporation N10 Family DMI Bridge (rev 02)
00:02.0 VGA compatible controller: Intel Corporation N10 Family Integrated Graphics Controller (rev 02)
00:02.1 Display controller: Intel Corporation N10 Family Integrated Graphics Controller (rev 02)
00:1b.0 Audio device: Intel Corporation N10/ICH 7 Family High Definition Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 1 (rev 02)
00:1c.1 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 2 (rev 02)
00:1c.2 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 3 (rev 02)
00:1c.3 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 4 (rev 02)
00:1d.0 USB controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #1 (rev 02)
00:1d.1 USB controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #2 (rev 02)
00:1d.2 USB controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #3 (rev 02)
00:1d.3 USB controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #4 (rev 02)
00:1d.7 USB controller: Intel Corporation N10/ICH 7 Family USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
00:1f.0 ISA bridge: Intel Corporation NM10 Family LPC Controller (rev 02)
00:1f.2 SATA controller: Intel Corporation N10/ICH7 Family SATA AHCI Controller (rev 02)
00:1f.3 SMBus: Intel Corporation N10/ICH 7 Family SMBus Controller (rev 02)
01:00.0 Multimedia controller: Broadcom Corporation BCM70015 Video Decoder [Crystal HD]
02:00.0 Network controller: Atheros Communications Inc. AR9285 Wireless Network Adapter (PCI-Express) (rev 01)

USB devices

lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 0bda:58f4 Realtek Semiconductor Corp. 
Bus 004 Device 002: ID 0eef:725e D-WAV Scientific Co., Ltd 
Bus 004 Device 003: ID 0cf3:3005 Atheros Communications, Inc. AR3011 Bluetooth

Hardware configuration

Accelerometer

It is a lsm303dlh manufactured by STMicroelectronics. I did not succeed to make it work as of kernel version 3.1.6.

  • There is a driver available at lkml.org, but there is a claim that it does not work. There is a patch here. There are instructions on that website, which I have not been able to follow.
  • There are also some instructions for enabling the accelerometer available at the Ubuntu Forums.

Wireless

Works out of the box.

Webcam

Detected by udev as

Bus 001 Device 002: ID 0bda:58f4 Realtek Semiconductor Corp. 

Works out of the box. Uses the uvcvideo module, see Kernel Modules and Webcam Setup.

Graphics controller

Install xf86-video-intel, available in the Official Repositories, see Intel.

Touchpad

Install xf86-input-synaptics, available in the Official Repositories.

Bluetooth

Uses bluetooth daemon, see Daemon.

Speakers

Uses snd-hda-intel module, see Kernel modules.

HD video playback

Install crystalhd-gitAUR, available in the Arch User Repository. The new module is located in

/lib/modules/$(uname -r)/kernel/drivers/video/broadcom/crystalhd.ko

Unload the staging module crystalhd and load the new one, see Kernel Modules.

Touchscreen

Detected by udev as:

Bus 004 Device 002: ID 0eef:725e D-WAV Scientific Co., Ltd

Install the driver from the eGalax website. Since version 1.01.1014, the driver supports (two finger) multitouch input. Requires reboot.

Invert Y-axis

If after installing the eGalax driver the Y-axis of the touchscreen is inverted, edit the file /etc/eGTouchd.ini an change the value of Direction from 0 to 2:

/etc/eGtouchd.ini
...
DetectRotation 0
Direction 2
Orientation 0
...

Docking Station

A docking station is sold optionally with this computer.

Tango-view-fullscreen.pngThis article or section needs expansion.Tango-view-fullscreen.png

Reason: please use the first argument of the template to provide a brief explanation. (Discuss in Talk:Dell Inspiron 1090 (Duo)#)
.

Tablet Mode

(Un)folding detection

When this computer is folded (or unfolded) into a tablet, it sends a keystroke. You can assign the keys Template:Keypress and Template:Keypress to these keystrokes with the following commands, respectively:

setkeycodes e073 148
setkeycodes e074 149

Hide mouse pointer

Install xcursor-transparent-themeAUR, available in the Arch User Repository.

On-screen keyboards

Generic

Install florenceAUR, available in the Arch User Repository.

Gnome 3.2.x+

Install caribou, available in the Official Repositories.

Gesture recognition (with multitouch support)

Install easystroke-mtAUR, available in the Arch User Repository.

Screen rotation

The screen can be rotated with xrandr, but the coordinates of the touchscreen are not rotated accordingly. You can fix this with xinput by running the following commands:

xrandr -o left
xinput set-prop "eGalax Inc. USB TouchController" 'Coordinate Transformation Matrix' 0 1 0 1 0 0 0 0 1
xinput set-prop "eGalax Inc. USB TouchController" 'Evdev Axis Inversion' 0 1
xinput set-prop "eGalaxTouch Virtual Device for Multi" 'Coordinate Transformation Matrix' 0 1 0 1 0 0 0 0 1
xinput set-prop "eGalaxTouch Virtual Device for Multi" 'Evdev Axis Inversion' 0 1
xinput set-prop "eGalaxTouch Virtual Device for Single" 'Coordinate Transformation Matrix' 0 1 0 1 0 0 0 0 1
xinput set-prop "eGalaxTouch Virtual Device for Single" 'Evdev Axis Inversion' 0 1
xrandr -o right
xinput set-prop "eGalax Inc. USB TouchController" 'Coordinate Transformation Matrix' 0 1 0 1 0 0 0 0 1
xinput set-prop "eGalax Inc. USB TouchController" 'Evdev Axis Inversion' 1 0
xinput set-prop "eGalaxTouch Virtual Device for Multi" 'Coordinate Transformation Matrix' 0 1 0 1 0 0 0 0 1
xinput set-prop "eGalaxTouch Virtual Device for Multi" 'Evdev Axis Inversion' 1 0
xinput set-prop "eGalaxTouch Virtual Device for Single" 'Coordinate Transformation Matrix' 0 1 0 1 0 0 0 0 1
xinput set-prop "eGalaxTouch Virtual Device for Single" 'Evdev Axis Inversion' 1 0
xrandr -o inverted
xinput set-prop "eGalax Inc. USB TouchController" 'Coordinate Transformation Matrix' 1 0 0 0 1 0 0 0 1
xinput set-prop "eGalax Inc. USB TouchController" 'Evdev Axis Inversion' 1 1
xinput set-prop "eGalaxTouch Virtual Device for Multi" 'Coordinate Transformation Matrix' 1 0 0 0 1 0 0 0 1
xinput set-prop "eGalaxTouch Virtual Device for Multi" 'Evdev Axis Inversion' 0 0
xinput set-prop "eGalaxTouch Virtual Device for Single" 'Coordinate Transformation Matrix' 1 0 0 0 1 0 0 0 1
xinput set-prop "eGalaxTouch Virtual Device for Single" 'Evdev Axis Inversion' 0 0
xrandr -o normal
xinput set-prop "eGalax Inc. USB TouchController" 'Coordinate Transformation Matrix' 1 0 0 0 1 0 0 0 1
xinput set-prop "eGalax Inc. USB TouchController" 'Evdev Axis Inversion' 0 0
xinput set-prop "eGalaxTouch Virtual Device for Multi" 'Coordinate Transformation Matrix' 1 0 0 0 1 0 0 0 1
xinput set-prop "eGalaxTouch Virtual Device for Multi" 'Evdev Axis Inversion' 0 0
xinput set-prop "eGalaxTouch Virtual Device for Single" 'Coordinate Transformation Matrix' 1 0 0 0 1 0 0 0 1
xinput set-prop "eGalaxTouch Virtual Device for Single" 'Evdev Axis Inversion' 0 0

Observe that the transformation matrix is the same for normal and inverted orientations, and for left and right orientations. Therefor the corresponding commands need to be applied only when changing between orientations with different transformation matrix.

Examples of Use

Script for rotating the screen

The commands above can be used to make a simple shell script for toggling the screen orientation between landscape and portrait as follows:

toggle_orientation.sh
#!/bin/bash

eGalax0=10 # "eGalax Inc. USB TouchController"
eGalax1=14 # "eGalaxTouch Virtual Device for Multi"
eGalax2=15 # "eGalaxTouch Virtual Device for Single"

matrix_left="0 1 0 1 0 0 0 0 1"
matrix_identity="1 0 0 0 1 0 0 0 1"

invert_y="0 1"

%rotation=`xrandr -q --verbose|grep LVDS1|cut -b37-37`
rotation="$(xrandr -q --verbose | grep 'connected' | egrep -o  '\) (normal|left|inverted|right) \(' | egrep -o '(normal|left|inverted|right)')"

if [ $rotation = "normal" ] ;
then

	xrandr -o left
	xinput set-prop $eGalax0 'Coordinate Transformation Matrix' $matrix_left
	xinput set-prop $eGalax0 'Evdev Axis Inversion' $invert_y
	xinput set-prop $eGalax1 'Coordinate Transformation Matrix' $matrix_left
	xinput set-prop $eGalax1 'Evdev Axis Inversion' $invert_y
	xinput set-prop $eGalax2 'Coordinate Transformation Matrix' $matrix_left
	xinput set-prop $eGalax2 'Evdev Axis Inversion' $invert_y

else

	xrandr -o normal
	xinput set-prop $eGalax0 'Coordinate Transformation Matrix' $matrix_identity
	xinput set-prop $eGalax0 'Evdev Axis Inversion' 0 0
	xinput set-prop $eGalax1 'Coordinate Transformation Matrix' $matrix_identity
	xinput set-prop $eGalax1 'Evdev Axis Inversion' 0 0
	xinput set-prop $eGalax2 'Coordinate Transformation Matrix' $matrix_identity
	xinput set-prop $eGalax2 'Evdev Axis Inversion' 0 0

fi
exit 0
Tip: For an improved user experience you can:
  • Associate this script to a gesture using easystroke-mtAUR.
  • Create a desktop launcher/system tray icon.

Script for toggling tablet mode ON and OFF (Gnome 3.x)

The following shell script hides the mouse pointer and activates Gnome 3.x's on-screen keyboard, caribou, when the netbook is fold into a tablet. It assumes xcursor-transparent-themeAUR and caribou are installed, ; and that Adwaita, Gnome 3.x's default cursor theme is in use.

toggle_tabletmode.sh
#!/bin/bash

tablet_mode=$(echo $(gsettings get org.gnome.desktop.interface cursor-theme) | cut -c2- | sed 's/\(.*\)./\1/')

if [ $tablet_mode = "xcursor-transparent" ] ;
then

	# Show mouse pointer
	gsettings set org.gnome.desktop.interface cursor-theme "Adwaita" &
	gconftool-2 --type string  --set /desktop/gnome/peripherals/mouse/cursor_theme Adwaita &

	# Return screen to normal orientation
	xrandr -o normal &

	# Restore touchscreen's default coordinates	
	xinput set-prop 10 'Coordinate Transformation Matrix' 1 0 0 0 1 0 0 0 1
	xinput set-prop 10 'Evdev Axis Inversion' 0 0
	xinput set-prop 14 'Coordinate Transformation Matrix' 1 0 0 0 1 0 0 0 1
	xinput set-prop 14 'Evdev Axis Inversion' 0 0
	xinput set-prop 15 'Coordinate Transformation Matrix' 1 0 0 0 1 0 0 0 1
	xinput set-prop 15 'Evdev Axis Inversion' 0 0

	# Disable on-screen keyboard
	dconf write /org/gnome/desktop/a11y/applications/screen-keyboard-enabled false &

else

	# Hide mouse pointer
	gsettings set org.gnome.desktop.interface cursor-theme "xcursor-transparent" &
	gconftool-2 --type string  --set /desktop/gnome/peripherals/mouse/cursor_theme xcursor-transparent &

	# Enable on-screen keyboard
	dconf write /org/gnome/desktop/a11y/applications/screen-keyboard-enabled true &

fi
exit 0
Tip: You can run this script when (un)folding the netbook associating it to the keys Template:Keypress and Template:Keypress.

See also