jmvalin: (Default)
So a while ago, I wasn't careful with type lengths and wrote some code in the speex encoder (speexenc, not libspeex) that wouldn't work very well on 64-bit machines. More precisely, it would make speexenc crash on startup 100% of the time, so you can't really miss it if you have a 64-bit machine. Fortunately, someone noticed and the bug was promptly fixed. This should normally have been the end of the story... except that Ubuntu was going to ship Dapper with an older version (current Debian unstable).

Turns out that the bug was reported against Dapper very early on. A patch was even posted more than a month before the release of Dapper. From there, it took 11 months for the 2-line fix to be applied and released. And if it wasn't for me harassing some of the developers (thanks crimsun, tritium for pushing the fix in), I don't think the fix would never have made it.

Sometimes one wonders why it is that Ubuntu has a bug tracker. Another example is bug #52600. You can't see it because it's marked as a security bug, but considering I filed it more than 8 months ago, I don't think making it private makes sense anymore. That one comes down to the fact that any local user with no privilege can crash a Dapper machine very easily. You just compile the following program:

#include <sched.h>
int main() {
struct sched_param param;
param.sched_priority = sched_get_priority_max(SCHED_FIFO);

and then execute it. What this does is simply ask the maximum real-time priority and then spin doing nothing, starving every single other process on the machine and forcing a reboot. While allowing SCHED_FIFO to some users in some circumstances makes sense, I can't understand why it's enabled for everyone on the system. It's a bit like making the shutdown command setuid root. Yeah for the Ubuntu LTS (Long Time to get Support) process!
jmvalin: (Default)

Ubuntu EdgyFeisty amd64 on Dell Latitude D820

Here's a list of what works, and what doesn't with Edgy (and now Feisty) on my Dell D820 laptop. Also, some fixes for known bugs.


In short, the amd64 version of Edgy is simply unusable out of the box and even the installer crashes most of the time. The 32-bit version does not seem to be affected. The only way to get around that is passing the notsc and no_timer_check options to the kernel. After than it becomes usable.

Components Status Notes
Intel Core Duo 2 T7200 (2.0Ghz 667Mhz FSB) Works with fix Pass options notsc and no_timer_check or use newer kernel. Updated: No problem on Feisty.
2.0GB, DDR2-667 SDRAM Works
15.4" WUXGA LCD display (1920x1200) Works with fix You need to install the 915resolution package to get 1920x1200, otherwise you're stuck with 1600x1200.
Intel 945GM graphics Works with fix X itself works out of the box, but you need to pass the -noacpi option to the X server, otherwise the display goes black when you close the lid (and never comes back). Updated: The "intel" driver now works on Feisty and is recommended. I use the "NoPM" server option and had no problem since then.
CD-RW/DVD+RW Drive Works Haven't tested too much, but it seems to work fine
IntelĀ® 3945 802.11a/g Dual-Band Mini Card Works but Requires binary-only daemon provided with Ubuntu (driver is not merged and is a pain to compile if you want to use a custom kernel)
Broadcom Corporation NetXtreme BCM5752 Gigabit Ethernet PCI Express (rev 02) Works
ICH7 Family Serial ATA Storage Controller IDE (rev 01) Works
Bluetooth Untested
Internal modem Untested
USB Works Tested with Extigy soundcard, mouse, printer, mass storage
Touchpad Works but I use proto=exps for the psmouse module, otherwise tapping doesn't work. Updated: Using the touchpad as synaptics now works with Feisty, but then docking/undocking causes tapping to no longer work. I'm stuck with using it as exps and reloading the module every time I dock/undock (anyone's got a fix for that?)
High Definition Audio Controller (rev 01), STAC9200 audio codec Problems Basic playback works, but problems in full-duplex mode and mixer is b0rked. Updated: One must use plug:front (instead of plughw:0,0) for the PCM mixer to work. Also, the Hg version (since May) of ALSA appears to work better with full-duplex, although it's not oerfect.
Smartcard reader Untested
Express card Untested
Firewire Untested
Suspend to RAM Problems It works sometimes, but sometimes it never wakes up. Updated: wake up works now, but things stop working sometimes, e.g. keyboard
Suspend to disk (hibernate) Problems Tried once, didn't work. Haven't investigated
Docking/Undocking Problems Was completely broken with Edgy. Now with Feisty, the main problem I have is with the touchpad (see above).
IRDA Untested

Kernel problems

While the 32-bit Edgy kernel runs find on this machine, the 64-bit one is totally broken by default. There are two problems:
1) X hangs every now and then, usually after clicking on a button. dmesg also reports clock problems. This is solved by passing the "notsc" kernel option.
2) Kernel crashes on any ACPI event. Whether I close the lid or plug/unplug the AC adaptor, the kernel crashes right away with nothing printed on the console. This problem is fixed by passing the "no_timer_check" kernel option.
It seems like kernels from both Debian Etch and Fedora Core 6 are also affected. Stock kernel 2.6.19rc6 (which I'm running now) isn't affected.

Soundcard problems (Intel HDA)

The D820 ships with an on-board Intel HDA card (Sigmatel STAC 9200 codec). Alsa support for that card is currently (as shipped with Edgy or ALSA 1.0.13) very buggy. The PCM control does not work. When I plug in the headphones, I can still hear the audio from both the internal speakers and the headphones. Also, trying to do full-duplex results in a lot of xruns. I don't have any fix for that yet. If anyone knows how to get it to work, please reply here.

X problems

Seems like the X server is now trying to handle some ACPI events. Unfortunately, the ACPI event generated when I open or close the lid just kills X. To fix the problem, I had to edit /etc/X11/gdm/gdm.conf and add the -noacpi to the X command line (there are three different command lines, so you need to add it to the one being used).
Just after installing Edgy, all my X server could do was 1600x1200. To get the full 1920x1200 resolution, I had to install the 915resolution package.

Software for AMD64

Overall, the software works pretty well. The only things that don't work ATM are the ones that involve closed-source software. No acroread, flash (the ad display plugin) and binary codecs for MPlayer. So far, I can live without those without too much problem.


jmvalin: (Default)

April 2019

 1234 56


RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Apr. 26th, 2019 04:28 am
Powered by Dreamwidth Studios