Car PC: Linux distibution and customizations
2011-05-11 23:08 by Ian
The distro is Arch. It was chosen for its light-weight, customizability, and its fantastic documentation. The fact that it is a binary distribution is also helpful if you’d rather focus on writing software.
The following modifications were made to the distro…
- MySQL: /etc/rc.d/mysqld will now copy the contents of /lib/var/mysql to /dev/shm/mysql upon startup and copy them back (clobbering the old ones) upon stop. /etc/mysql/my.cnf was modified to reflect this change. Net result: MySQL now serves its databases from RAM. It is very fast.
- GDM:GDM and gnome are in use with an 848×480 touchscreen. Because it was such a chore to setup, the touchscreen configuration is discussed at length in its own section.
- PHP:PHP setup was straight-forward. Libraries enabled: mcrypt, gd, cURL, MySQL, Json
Touchscreen configuration:
Relevant output from the lsusb command:
Bus 005 Device 002: ID 0eef:0001 D-WAV Scientific Co., Ltd eGalax TouchScreen
Now… There exists a generic driver for this device at this URL. Yes. It must be built from scratch. Building it is not difficult, but making the compiled result work under X is.
After much argument, I came to these settings for Xorg:
Section “InputClass”
Identifier “touchscreen evtouch”
MatchIsTouchscreen “on”
MatchDevicePath “/dev/input/evtouch_event”
Driver “evtouch”
EndSection
Section “InputDevice”
Identifier “Evtouch TouchScreen”
Driver “evtouch”
Option “Device” “/dev/input/evtouch_event”
Option “DeviceName” “evtouchscreen”
Option “MinX” “80”
Option “MinY” “110”
Option “MaxX” “1950”
Option “MaxY” “1840”
Option “SwapX” “1”
Option “ReportingMode” “Raw”
Option “SendCoreEvents” “true”
Option “AutoServerLayout” “on”
Option “AccelerationProfile” “0”
EndSection
The monitor’s resolution is goofy. I managed to set it correctly. My Xorg conf for that is…
Section “Monitor”
Identifier “Monitor0”
Option “PreferredMode” “848×480”
EndSection
Section “Device”
Identifier “Device0”
Driver “intel”
EndSection
Section “Screen”
Identifier “Screen0”
Device “Device0”
Monitor “Monitor0”
DefaultDepth 24
SubSection “Display”
Depth 24
Modes “848×480_75.00”
EndSubSection
EndSection
Previous: Making a simple perfume (orange blossom)
Next: Custom boot animations on android devices