|
2011-02-21
, 02:39
|
Posts: 276 |
Thanked: 37 times |
Joined on Jun 2009
|
#112
|
|
2011-02-21
, 09:38
|
Posts: 73 |
Thanked: 5 times |
Joined on Jul 2008
|
#113
|
Announce: First beta available
19/02/2011 Update 1:kernel-dt-sd and dt-init-scripts
Finally, here we go.
For those who already know: The SD kernel has proved stable and without any serious issues, so it is time to start packaging properly. I have uploaded to the garage page a series of deb packages, and the sources I used.
Please note that at this stage, although all sources are there, kernel and kernel modules sources haven't been properly packaged for autobuilding and manual patching and building is required.
What's this
An effort to improve the user experience in N8x0 running Diablo/Community SSU, by providing a new kernel (and some other related packages) with increased interactivity and new features.
Downloads:
https://garage.maemo.org/frs/?group_id=2036
What you get with each package:
kernel-dt-sd:: The diablo turbo kernel and initfs modules. The installer backups the current running kernel and initfs modules. If you uninstall this package, everything will be restored to the previous state.
This kernel provides the following features and improvements over the stock diablo one:
- Very much improved touchscreen driver: I've found that the touchscreen is prone to lose touchscreen events, may be for aging hardware or for whatever reason, producing penup events. I have improved the touchscreen driver to avoid that problem as much as possible, by adding polled checks when a penup event is about to be produced and when the pen is supposed not to be on the screen. Two new kernel tunables to adjust the touchscreen sensitivity: /sys/devices/platform/*/penup_time (time in ms) and /sys/devices/platform/*/min_pressure (from 1 to 4091). To check if this driver is improving your device, use the touchscreen for a while (i.e. make a drawing), then from a xterm type "dmesg|grep ^TSC"; if you see any messages, then it is working for you.
- High speed mmc patch
- mmcblockX ordering fix patch for internal and external mmc
- usbnet for windows fix
- Rotation support
- From community SSU kernel: FM band selection support for Japan/Europe; DSP framebuffer sharing
- DSPOP: Under the Diablo/Community SSU kernel, the CPU/DSP frequency is locked at 330/220 MHZ when using the DSP (playing music). DT kernel supports all CPU/DSP frequencies when using the DSP, so you can select if you want the most performance of the most battery life. Provides a new kernel tunable: /sys/power/op_dsp
- Writable /proc/bootreason: provides support for booting on charger feature.
- SWAP_PREFETCH: When the virtual memory subsystem is idle for more than 5 seconds, it will start copying pages from swap into the swapcache while keeping the copy in swap. This means the following: actually, when you use a memory hog, much of the system is swapped out. If you close the memory hog and leave the tablet for a while, when you come back to use it again it will be sluggish because it has to move the pages to memory back from swap. With this feature, when you use the tablet again, it will be very snappy because the needed pages are already in ram, and if what you use is a memory hog, it will be snappy because the pages are already in swap.
- SD Scheduler: The diablo kernel ships the O1 scheduler (official scheduler for 2.6.21 kernel) which fails to provide 100% interactivity all the time. Not only that but it is far far less forgiving of the many userspace applications that do not use extremely high performance userspace programming techniques, locking and thread manipulation (ie just about all games for example).
The SD scheduler was the favourite replacement scheduler of many people at the time, in particular gamers. It provides fairness at all costs determined by nice level, maintaining as good interactivity as can be allowed within the constraints of strict fairness.
What does that mean?:
-- No process will be stalled. For example, under O1 it is easy to stall the watchdog kicker process by swapping. Once it has been stalled for more than 20 s, the tablet will reboot. SD means no more reboots caused by load.
-- Low latency
-- Better interactivity
-- Fair CPU distribution. For example, under O1 mplayer will always skip when playing ogg if you connect to a wifi AP, because it won't get enough cpu to keep the buffer full. Under SD, you can make it to not skip, by adjusting two kernel tunables.
Provides two new kernel tunables: /proc/sys/kernel/rr_interval and /proc/sys/kernel/interactive
You can read more about the SD scheduler design here: http://ck.wikia.com/wiki/SD- Virtual memory kernel tasks run at the effective priority of the running task
- Files too big to fit into pagecache are put at the tail of the inactive list to minimize harm to the pagecache. New kernel tunable /proc/sys/vm/tail_largefiles
- Voluntary kernel preemption: in non-preempted kernels, when a task calls the kernel, it can't be interrupted untill the call returns. This means that, sometimes, a low priority task can block for a long time more important tasks. A voluntary preempted kernel adds some points where the task can be interrupted even when in a kernel call, allowing other tasks to do their job.
- 256 HZ timer: The diablo kernel has a slow 128 HZ timer, strongly related to the number of task switches the task scheduler can do. This kernel is configured with a 256 HZ timer, and additionally the SD scheduler allows a task switch within a much more shorter time (defined by the rr_interval tunable). This means that the device will be much more interactive.
ramzswap-dt: The Diablo-Turbo kernel swap module. Provides swap space as compressed ram, greatly increasing interactivity for a small amount of ram. For those using it, replaces ramzez-init, and has several improvements over old ramzez-init (more efficient use of ram and cpu, returns memory to the OS when it is no longer used, allows use of backing swap file).
Swap size can be configured by editing /etc/default/ramzswap, or with ramzez gui application. Swap size is 96 MB by default. It is recommended to use a traditional swap file of about 32 MB, just in case the ramzswap partition fills (doesn't happen often).
dt-init-scripts: Provides a startup script to adjust kernel tunables and provides support for fully booting when pluggin in the charger. Configured by editing /etc/kernel-sd-tunables. Also, fixes initfs linuxrc so ext3 rootfs partitions are mounted as such at boot and not as ext2. If uninstalled will restore initfs linuxrc script to its previous state.
mini-rc: Support for dt-init-scripts at shutdown, so booting on charger configuration changes are properly written to initfs when shutting down or rebooting.
dbus, dbus-1-utils, libdbus: Bugfixes: provides proper support for eavesdropping. A must for developers.
gconf2, libgconf2: Bugfixes. DBus eavesdropping exposed a nasty bug in libgconf2, this package fixes it along several other bugs and optimizations.
sysvinit: killall5 freezes itself under the SD kernel, so shutdown/reboot scripts hang and the device reboots when the watchdog triggers. This package fixes that allowing proper shutdown/reboot to happen.
gpsdriver-guard: This one has been available in extras-devel since a while. It is a fix to prevent the N810 gps driver from growing indefinitely eating all available memory.
NOTES:
- The backups are held in /usr/share/Diablo-Turbo/backups and take a bit of space. You should have at least 8 MB of free rootfs space (4 MB if running in mmc) before installing the kernel.
- The osso-software-version-rx?? (??=34,44,48) package (Diablo and Community SSUs) locks dbus, gconf2 and minirc versions. To avoid any problem with apt-get or the gui installer you should install osso-software-version-unlocked
- For now, I have tested installation only with dpkg. Any issue with GUI installer will be supported later, but not at this stage.
- If you are running one of the alpha testing diablo turbo kernels, you should restore the backup before installing this, so the new backups made are correct.
Issues:- The freeze-at-shutdown issue doesn't seem entirely fixed. It happens sometimes, I still don't know why. It is hard to debug, since it only happens at shutdown (that means no logs). Help welcome in nailing this one down.
- mce has a bug which may become more exposed by the SD kernel (screen won't sleep and powerkey menu doesn't show). The gconf packages seem to fix it.
- While I manage to create simple deb source packages, I'm a rpm guy and I'm lost with the debian build system (and to be sincere, don't like it at all). I need help to build a proper kernel source package.
How to install:
Download all deb packages in some directory, let's say "/media/mmc1/dt"
Update: Packages that have been obsoleted by newer releases have been moved under the "Obsolete" title just for archival purposes, you don't need those. Download all packages under the "First release" title and any "Update X" title
Open a xterm and become root
Install osso-software-version-unlocked (apt-get install osso-software-version-unlocked). Repository extras-devel must be enabled to install this.
Change to the directory where the packages are (cd /media/mmc1/dt)
Install all debs (dpkg -i *.deb)
Reboot
Troubleshooting note:
If you have a N810-WiMax, contact me before trying DT
If you get a error message during installation regarding sysvinit, please copy and paste here the whole xterm output.
The Following User Says Thank You to douwen For This Useful Post: | ||
|
2011-02-21
, 22:12
|
Posts: 637 |
Thanked: 445 times |
Joined on Dec 2009
@ Kaliningrad, Russia
|
#114
|
|
2011-02-21
, 22:20
|
Posts: 1,101 |
Thanked: 1,184 times |
Joined on Aug 2008
@ Spain
|
#115
|
|
2011-02-22
, 15:21
|
|
Posts: 218 |
Thanked: 59 times |
Joined on Feb 2010
@ spain
|
#116
|
|
2011-02-22
, 18:01
|
|
Posts: 218 |
Thanked: 59 times |
Joined on Feb 2010
@ spain
|
#117
|
...
Check what release you have with "dpkg -l osso-software-version-rx44"
It should be 1:5.2010.33-1 (stable) or 1:5.2010.32-3 (testing)
|
2011-02-22
, 23:01
|
Posts: 1,101 |
Thanked: 1,184 times |
Joined on Aug 2008
@ Spain
|
#118
|
|
2011-02-22
, 23:03
|
Posts: 1,101 |
Thanked: 1,184 times |
Joined on Aug 2008
@ Spain
|
#119
|
|
2011-02-23
, 10:31
|
|
Posts: 218 |
Thanked: 59 times |
Joined on Feb 2010
@ spain
|
#120
|
You have not installed CSSU, that's all. It isn't necessary to install CSSU in order to install DT, but given the way SSUs are done, it will force you to uninstall DT if you want to install it later.
apt-get install osso-software-version-rx44-unlocked