Since late July I’ve been running GalliumOS 2.0 on my Acer C720p. I like the lightweight XFCE interface (key on a machine with 2Gigs of ram), but have run into a few stability bugs. By and large the biggest issue has been with the GalliumOS kernel itself – it just can’t seem to take sleeping/waking without toppling and taking the whole machine down.
Strangely, no issues surfaced until late August – nearly a full month after installation. Did a kernel update happen while I wasn’t looking? Hmnn! So far, the main problems I’ve run into have been:
- xscreensaver blackscreens and I cannot log in / switch to TTY
- kernel freezes on sleep/wake; kernel panic
- touchscreen deactivates after sleep
- touchscreen and touchpad occasionally wake a closed-and-sleeping laptop
Fortunately, all of these trouble areas have solutions:
- Remove the default xscreensaver, which provides the screen locking / user switching, and replace with gnome-screensaver.
sudo apt-get purge xscreensaver; sudo apt-get install gnome-screensaver
- Remove the customized GalliumOS kernel, install the generic Ubuntu kernel. Yes, you lose some minor power saving tweaks, but I personally haven’t noticed a difference in battery runtime. For me, the stability is paramount. YYMV.sudo apt-get install linux-image-generic-lts-xenial; sudo apt-get purge linux-image-galliumos linux-headers-galliumos;Note: GalliumOS 2.0 ships with kernel 4.4.6; I downloaded the 4.5.5 beta kernel from the GalliumOS site, but this one also suffers the same sleep/wake panics (though far less often).
- This one I haven’t found a perfect fix for; but short of rebooting, this is the best I know so far. Removing / reloading the touchscreen module from the kernel seems to fix it.
Figure out what your touchscreen model is from xinput:
Now find the kernel module:
Remove / reload the kernel module:sudo modprobe -r atmel_mxt_ts; sudo modprobe atmel_mxt_tsIt should now be working! It seems the problem is with the device driver somehow getting jammed, and not being able to communicate with the i2c hardware. Syslog
reveals as much.
- Easy fix is to disable ACPI wakeups from /proc/acpi/wakups. Enter the following lines to your /etc/rc.local, if you want them to be disabled on every boot:
echo "TPAD" > /proc/acpi/wakeup
echo "TSCR" > /proc/acpi/wakeup
Since I’ve enacted these fixes, my uptime on my laptop is finally acceptable. The userland seems more stable now too — which is important, since I take *all* my lecture notes down with this laptop.