Add patch to kernel so solve Touchpad bug

Hi!
The Touchpad for some ASUS models was not being recognized. A patch has been released here:
https://bugzilla.redhat.com/show_bug.cgi?id=1110011
I would like to know if this patch will be applied to Arch Linux kernel or I should start a bug ticket. As of linux 3.16.3-1 the patch doesn't seem to be implemented.
PS: If I wanted to implement the patch what would be the easiest way? I'm guessing I should get the kernel source, apply the patch and compile, but I don't know how could I install it afterwards in Arch Linux so I can easily uninstall it without harm if it doesn't work.
Regards!

jasonwryan wrote:
Read the Kernel compilation page on the wiki (using the ABS method).
You can install your patched kernel alongside the vanilla Arch one and choose which you would like to boot from. Simple.
Hi, thank you for your answer, I tried that and got a patched kernel running which almost solves the problem. Should I open a bug issue about this or will it eventually be implemented? I think it already is in Fedora, for example.

Similar Messages

  • Adding patch to kernel

    Hi, someone can explane me how to add patch to kernel for a my own personal kernel?
    Thanks a lot,
    Riccardo

    Edit: k i'm compiling my kernel but i see some warning like this:
    arch/i386/kernel/apm.c: In function 'suspend':
    arch/i386/kernel/apm.c:1192: warning: 'pm_send_all' is deprecated (declared at include/linux/pm_legacy.h:20)
    arch/i386/kernel/apm.c:1227: warning: 'pm_send_all' is deprecated (declared at include/linux/pm_legacy.h:20)
    arch/i386/kernel/apm.c: In function 'check_events':
    arch/i386/kernel/apm.c:1340: warning: 'pm_send_all' is deprecated (declared at include/linux/pm_legacy.h:20)
    it's a problem?
    Last edited by Bola (2007-10-26 16:10:28)

  • [SOLVED]How to patch the kernel? And other questions

    Like the same user who started this thread I'm suffering from hibernation resuming troubles using kernel 2.6.38. In that thread was posted a soluttion that involves patching the kernel.
    The patch to apply is this:
    http://git.kernel.org/?p=linux/kernel/g … e3e9fc8684
    Waiting for the bug to be corrected and a new version supplied is not an option, because this laptop is my main computer and I heavly rely on hibernation.
    Here's my trouble now. I don't know if it is possible to patch without recompiling the whole kernel, or it has to be compiled with that patch applied. I have seen the archlinux's wiki guide about compiling the kernel, but found nothing about applying patches (maybe I didn't searched with enought depth).
    In case there is needed a full compilation, should I use the vanilla kernel, the Arch Linux one or any of the AUR ones (I said AUR because they're the first that came to my mind)? Should i expect a performance gain with this (apart from fixing the hibernation bug)?
    Maybe i'm just doing a bunch of dumb questions, and the only thing I need is to search deeply on the wiki. In that case, please tell me. If not, I rather get some answers around kernel patching and / or compiling questions.
    Edit: In addittion, it is possible that all this questions are just newbie ones, I don't know, but as I am willing to learn from this I will appreciate any info or documentation about it.
    Thank you.
    Last edited by ethail (2011-04-12 06:30:48)

    From the source tree (/usr/src/linux-whatever) execute
    patch -p1 < /path/to/fix.patch
    then recompile kernel from the source tree.
    Basically that consists of executing the following commands from the source tree:
    make menuconfig
    make
    make modules_install
    cp -v System.map /boot/System.map-CUSTOM
    cp -v arch/x86/boot/bzImage /boot/vmlinuz-CUSTOM
    mkinitcpio -k 2.6.38-CUSTOM -g /boot/kernel-CUSTOM.img
    and you need to add menu entry in /boot/grub/menu.lst
    -k 2.6.38-CUSTOM should corespond to /lib/modules/2.6.38-CUSTOM (replace 2.6.38-CUSTOM with the name of your module directory, name depends on the kernel version and suffix that you gave in menuconfig). Regarding kernel configuration in menuconfig - I can't help you, you could use arch stock kernel config (zcat /proc/config.gz > /usr/src/linux-whatever/.config)
    I do these kind of things this way - maybe someone else have a more elegant solution.

  • [SOLVED] How do I patch the kernel?

    EDIT (again): Doesn't seem like the patch is needed anymore. 3.3.1 kernel from the repos seems identical to my custom kernel (also 3.3.1).
    EDIT: The patches are for an older kernel but I was able to apply them manually.
    Hello. I'm trying to patch the kernel using the patch found on this page: http://lists.freedesktop.org/archives/i … 09584.html
    Now, I don't know much about patching but the patch in that post looks more like the program output of several diff commands. How do I format this to create a valid .patch file?
    Last edited by Splooshie123 (2012-04-10 04:52:40)

    To get back to my original question, making a patch out of what was in that mailing list post:
    Does this look ok?
    drivers/gpu/drm/i915/i915_drv.c | 4 ++++
    drivers/gpu/drm/i915/i915_drv.h | 1 +
    drivers/gpu/drm/i915/intel_display.c | 34 +++++++++++++++++++++-------------
    3 files changed, 26 insertions(+), 13 deletions(-)
    diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
    index 004880aa3a948669b8b4e23d9ad73d132cff81d0..1d88f059a27321ecb681e2b7927bb69029fcb49a 100644
    --- a/drivers/gpu/drm/i915/i915_drv.c
    +++ b/drivers/gpu/drm/i915/i915_drv.c
    @@ -49,6 +49,10 @@ module_param_named(powersave, i915_powersave, int, 0600);
    unsigned int i915_lvds_fixed = 1;
    module_param_named(lvds_fixed, i915_lvds_fixed, int, 0600);
    +unsigned int i915_lvds_channels = 0;
    +module_param_named(lvds_channels, i915_lvds_channels, int, 0600);
    +MODULE_PARM_DESC(lvds_channels, "LVDS channels in use: 0=(default) probe hardware 1=single 2=dual");
    +
    unsigned int i915_lvds_downclock = 0;
    module_param_named(lvds_downclock, i915_lvds_downclock, int, 0400);
    diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
    index 3fa8681459aa596e12e885568e5b48f0c9a60719..a6aab43e5f39f2d5b92a69a284bf8f72a254ea7c 100644
    --- a/drivers/gpu/drm/i915/i915_drv.h
    +++ b/drivers/gpu/drm/i915/i915_drv.h
    @@ -886,6 +886,7 @@ extern int i915_max_ioctl;
    extern unsigned int i915_fbpercrtc;
    extern unsigned int i915_powersave;
    extern unsigned int i915_lvds_fixed;
    +extern unsigned int i915_lvds_channels;
    extern unsigned int i915_lvds_downclock;
    extern unsigned int i915_lvds_24bit;
    diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
    index 09f57f29c30c371c213944be473090a780a287db..4dc91400edd8935be45a229cf91292339bca0ce8 100644
    --- a/drivers/gpu/drm/i915/intel_display.c
    +++ b/drivers/gpu/drm/i915/intel_display.c
    @@ -642,6 +642,20 @@ static const intel_limit_t intel_limits_ironlake_display_port = {
    .find_pll = intel_find_pll_ironlake_dp,
    +static int intel_is_dual_channel_mode(struct drm_crtc *crtc)
    +{
    + struct drm_device *dev = crtc->dev;
    + struct drm_i915_private *dev_priv = dev->dev_private;
    + if (i915_lvds_channels) {
    + /* User has specified desired channel mode */
    + return (i915_lvds_channels == 2);
    + }
    +
    + /* User has not specified mode so let's see
    + what the hardware is doing. */
    + return ((I915_READ(LVDS) & LVDS_CLKB_POWER_MASK) == LVDS_CLKB_POWER_UP);
    +}
    +
    static const intel_limit_t *intel_ironlake_limit(struct drm_crtc *crtc)
    struct drm_device *dev = crtc->dev;
    @@ -653,8 +667,7 @@ static const intel_limit_t *intel_ironlake_limit(struct drm_crtc *crtc)
    if (dev_priv->lvds_use_ssc && dev_priv->lvds_ssc_freq == 100)
    refclk = 100;
    - if ((I915_READ(PCH_LVDS) & LVDS_CLKB_POWER_MASK) ==
    - LVDS_CLKB_POWER_UP) {
    + if (intel_is_dual_channel_mode(crtc)) {
    /* LVDS dual channel */
    if (refclk == 100)
    limit = &intel_limits_ironlake_dual_lvds_100m;
    @@ -677,18 +690,16 @@ static const intel_limit_t *intel_ironlake_limit(struct drm_crtc *crtc)
    static const intel_limit_t *intel_g4x_limit(struct drm_crtc *crtc)
    - struct drm_device *dev = crtc->dev;
    - struct drm_i915_private *dev_priv = dev->dev_private;
    const intel_limit_t *limit;
    if (intel_pipe_has_type(crtc, INTEL_OUTPUT_LVDS)) {
    - if ((I915_READ(LVDS) & LVDS_CLKB_POWER_MASK) ==
    - LVDS_CLKB_POWER_UP)
    + if (intel_is_dual_channel_mode(crtc)) {
    /* LVDS with dual channel */
    limit = &intel_limits_g4x_dual_channel_lvds;
    - else
    - /* LVDS with dual channel */
    + } else {
    + /* LVDS with single channel */
    limit = &intel_limits_g4x_single_channel_lvds;
    + }
    } else if (intel_pipe_has_type(crtc, INTEL_OUTPUT_HDMI) ||
    intel_pipe_has_type(crtc, INTEL_OUTPUT_ANALOG)) {
    limit = &intel_limits_g4x_hdmi;
    @@ -821,8 +832,7 @@ intel_find_best_PLL(const intel_limit_t *limit, struct drm_crtc *crtc,
    * reliably set up different single/dual channel state, if we
    * even can.
    - if ((I915_READ(LVDS) & LVDS_CLKB_POWER_MASK) ==
    - LVDS_CLKB_POWER_UP)
    + if (intel_is_dual_channel_mode(crtc))
    clock.p2 = limit->p2.p2_fast;
    else
    clock.p2 = limit->p2.p2_slow;
    @@ -871,7 +881,6 @@ intel_g4x_find_best_PLL(const intel_limit_t *limit, struct drm_crtc *crtc,
    int target, int refclk, intel_clock_t *best_clock)
    struct drm_device *dev = crtc->dev;
    - struct drm_i915_private *dev_priv = dev->dev_private;
    intel_clock_t clock;
    int max_n;
    bool found;
    @@ -886,8 +895,7 @@ intel_g4x_find_best_PLL(const intel_limit_t *limit, struct drm_crtc *crtc,
    lvds_reg = PCH_LVDS;
    else
    lvds_reg = LVDS;
    - if ((I915_READ(lvds_reg) & LVDS_CLKB_POWER_MASK) ==
    - LVDS_CLKB_POWER_UP)
    + if (intel_is_dual_channel_mode(crtc))
    clock.p2 = limit->p2.p2_fast;
    else
    clock.p2 = limit->p2.p2_slow;

  • [svn] 4610: Commit Josh's patch for 3. x to fix bug SDK-17367 which works around an issue with Dictionary that stops ObjectUtil .toString() working with QNames.

    Revision: 4610
    Author: [email protected]
    Date: 2009-01-21 12:48:01 -0800 (Wed, 21 Jan 2009)
    Log Message:
    Commit Josh's patch for 3.x to fix bug SDK-17367 which works around an issue with Dictionary that stops ObjectUtil.toString() working with QNames.
    QE: Yes, please add a test case to ObjectUtil tests for this scenario.
    Doc: No
    Checkintests: Pass
    Bugs:
    SDK-17367 ObjectUtil.toString(QName) causes RTE
    Ticket Links:
    http://bugs.adobe.com/jira/browse/SDK-17367
    http://bugs.adobe.com/jira/browse/SDK-17367
    Modified Paths:
    flex/sdk/branches/3.x/frameworks/projects/framework/src/mx/utils/ObjectUtil.as

    VPN-User,
    Ok - I see the list of issues and will ensure our X300 specialist takes a look at it.   
    Please do understand that while you have put together a very coherent list, I try to ensure priority to threads in which multiple customers are focused on a single issue, as we deliver the most benefit to the community in working on those.   This forum is primarly a peer to peer discussion forum rather than a Lenovo chat / tech support where we try to solve each and every issue put forth.
    Individuals with a long list of issues on a particular machine may find benefit from either contacting technical support and working through their list, or publishing it as you have done and wait for other users of the same system to share their experiences.
    Thanks for your patience
    Mark
    ThinkPads: S30, T43, X60t, X1, W700ds, IdeaPad Y710, IdeaCentre: A300, IdeaPad K1
    Mark Hopkins
    Program Manager, Lenovo Social Media (Services)
    twitter @lenovoforums
    English Community   Deutsche Community   Comunidad en Español   Русскоязычное Сообщество

  • Wondering if this was the correct way to patch my kernel for CFLAGS?

    Hello. I use to build the zen-sources kernel but stopped many months ago. I didn't really need all of those patches but I did miss the Custom CFLAGS/MAKEFLAGS option that the zen kernel had. I also missed the 432HZ Timer frequency setting available in the zen patch.
    So I researched a bit and grabbed these parts from the zen patch to add to the Arch kernel:
    For the CFLAGS/MAKEFLAGS
    diff --git a/Makefile b/Makefile
    index 1ab3ebf..472fe73 100644
    --- a/Makefile
    +++ b/Makefile
    @@ -328,13 +328,12 @@ CHECK = sparse
    CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ \
    -Wbitwise -Wno-return-void $(CF)
    MODFLAGS = -DMODULE
    -CFLAGS_MODULE = $(MODFLAGS)
    -AFLAGS_MODULE = $(MODFLAGS)
    -LDFLAGS_MODULE =
    -CFLAGS_KERNEL =
    +CFLAGS_MODULE = $(MODFLAGS) $(CUSTOM_CFLAGS)
    +AFLAGS_MODULE = $(MODFLAGS)
    +LDFLAGS_MODULE =
    +CFLAGS_KERNEL = $(CUSTOM_CFLAGS)
    AFLAGS_KERNEL =
    # Use LINUXINCLUDE when you must reference the include/ directory.
    # Needed to be compatible with the O= option
    LINUXINCLUDE := -Iinclude \
    @@ -344,6 +343,9 @@ LINUXINCLUDE := -Iinclude \
    KBUILD_CPPFLAGS := -D__KERNEL__
    +# Apply custom flags
    +KBUILD_CFLAGS += $(CUSTOM_CFLAGS)
    +
    KBUILD_CFLAGS := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \
    -fno-strict-aliasing -fno-common \
    -Werror-implicit-function-declaration
    diff --git a/init/Kconfig b/init/Kconfig
    index 6a5c5fe..7b2f4b5 100644
    --- a/init/Kconfig
    +++ b/init/Kconfig
    @@ -672,6 +734,32 @@ config CC_OPTIMIZE_FOR_SIZE
    If unsure, say Y.
    +menu "Custom Build Flags"
    +
    +config CUSTOM_CFLAGS
    + string "Custom CFLAGS for kernel"
    + default ""
    + help
    + You can use this to easily set custom gcc CFLAGS to be used for the
    + entire kernel (including modules).
    +
    + No warning for you, i can't fix stupidity.
    +
    + If unsure, leave blank.
    +
    +config CUSTOM_MAKEFLAGS
    + string "Custom MAKEFLAGS for kernel"
    + default ""
    + help
    + You can use this to easily set custom MAKEFLAGS to be used for building
    + the entire kernel.
    +
    + (Or just use the options when you run make?)
    +
    + If unsure, leave blank.
    +
    +endmenu
    +
    config SYSCTL
    bool
    and for the Timer frequency:
    diff --git a/kernel/Kconfig.hz b/kernel/Kconfig.hz
    index 94fabd5..7a830d4 100644
    --- a/kernel/Kconfig.hz
    +++ b/kernel/Kconfig.hz
    @@ -4,7 +4,7 @@
    choice
    prompt "Timer frequency"
    - default HZ_250
    + default HZ_1000
    help
    Allows the configuration of the timer frequency. It is customary
    to have the timer interrupt run at 1000 Hz but 100 Hz may be more
    @@ -23,6 +23,30 @@ choice
    with lots of processors that may show reduced performance if
    too many timer interrupts are occurring.
    + config HZ_108
    + bool "108 HZ"
    + help
    + 864 HZ is the best value for desktop systems. Most responsive
    + out of all the options. This is for Eight core/Processor systems only
    + as timer frequencies * NR_CPUS = actual frequency.
    + Try this if you have a Eight Core/Processor processor system and a desktop environment.
    +
    + config HZ_144
    + bool "144 HZ"
    + help
    + 864 HZ is the best value for desktop systems. Most responsive
    + out of all the options. This is for Six Core/Processor systems only
    + as timer frequencies * NR_CPUS = actual frequency.
    + Try this if you have a Six core/processor system and a desktop environment.
    +
    + config HZ_216
    + bool "216 HZ"
    + help
    + 864 HZ is the best value for desktop systems. Most responsive
    + out of all the options. This is for Quad-core/Processor systems only
    + as timer frequencies * number of processors = actual frequency.
    + Try this if you have a quad-core/dual processor system and a desktop environment.
    +
    config HZ_250
    bool "250 HZ"
    help
    @@ -39,6 +63,22 @@ choice
    on SMP and NUMA systems and exactly dividing by both PAL and
    NTSC frame rates for video and multimedia work.
    + config HZ_432
    + bool "432 HZ"
    + help
    + 864 HZ is the best value for desktop systems. Most responsive
    + out of all the options. This is for Dual Core/Processor systems only
    + as timer frequencies * number of processors = actual frequency.
    + Try this if you have a dual-core/dual processor system and a desktop environment.
    +
    + config HZ_864
    + bool "864 HZ"
    + help
    + 864 HZ is the best value for desktop systems. Most responsive
    + out of all the options. The only reason it is not default is
    + because it may break few drivers. Give it a try if you have
    + a desktop :).
    +
    config HZ_1000
    bool "1000 HZ"
    help
    @@ -50,8 +90,13 @@ endchoice
    config HZ
    int
    default 100 if HZ_100
    + default 108 if HZ_108
    + default 144 if HZ_144
    + default 216 if HZ_216
    default 250 if HZ_250
    default 300 if HZ_300
    + default 432 if HZ_432
    + default 864 if HZ_864
    default 1000 if HZ_1000
    config SCHED_HRTICK
    Well the code was added to my make menuconfig kernel settings, and is in the .config of my newly compiled kernel..... I'm just wondering if I did this correctly. (I'm pretty sure that I did a crappy job of patching since I just grabbed the pieces of the zen patch that I thought were the correct one)..... This is the message from the patch:
    patching file Makefile
    patching file init/Kconfig
    patch unexpectedly ends in middle of line
    Hunk #1 succeeded at 734 with fuzz 2.
    patching file kernel/Kconfig.hz
    patch unexpectedly ends in middle of line
    Hunk #4 succeeded at 90 with fuzz 1.
    So if someone can tell me a better way to patch the kernel26 for custom CFLAGS and 432HZ Timer frequency (for dual core) I would appreciate it. Thanks.

    I'm still trying to find out if I needed to patch any other parts of the kernel source when I added CFLAGS to the kernel modules? I also would like to know if I did the Timing part correctly (so I could use the 432HZ setting for a dual core).
    ..... so far this kernel has worked ok for the last 4 days. Does anybody know how I can benchmark it and compare it to other kernels that I have built with different settings?
    Any info is appreciated.
    Last edited by methuselah (2009-05-19 15:20:55)

  • Bridge cc will not open after trying to add patch aom package (adobe output module) to workspace

    bridge cc will not open after trying to add patch aom package (adobe output module) to workspace. this patch was recommended by adobe help to allow creating pdf presentations. the help stated bridge cc was shipped without this and to download aom package win 64. I tried that, and either did something wrong or? I deleted bridge cc 64 bit, then went to cc and downloaded bridge cc (not sure if it is 32 or 64) and the program still does not open. any ideas?

    There are lots of threads on this.  Do a web search.

  • [svn:osmf:] 17958: Add layout direction attributes to work around bug SDK-26940, when in Flex 3 compatibility mode.

    Revision: 17958
    Revision: 17958
    Author:   [email protected]
    Date:     2010-09-30 11:31:49 -0700 (Thu, 30 Sep 2010)
    Log Message:
    Add layout direction attributes to work around bug SDK-26940, when in Flex 3 compatibility mode.
    Ticket Links:
        http://bugs.adobe.com/jira/browse/SDK-26940
    Modified Paths:
        osmf/trunk/apps/samples/framework/ExamplePlayer/ExamplePlayer.mxml

    Height is determined by content.  I can't think of a single reason to have a div height of 5px because almost nothing will fit inside that small a space without problems. 
    As to why it doesn't show up in other devices, you must have put that style into the Tablet CSS code instead of the default Mobile CSS code.
    Fluid Grids build up from Mobile (applied to everything) with specific rules for Tablets, then Desktops.
    Best advice, use Fluid Grids for layout only.  Use a separate CSS file for content styles.
    Hope this helps,
    Nancy O.

  • Trying to delete unwanted songs in my wish list, but they re-appeir 1 second after klicking on the X again, how can I solve this bug?

    trying to delete unwanted songs in my wish list, but they re-appeir 1 second after klicking on the X again, how can I solve this bug?

    This thread has some info that might help ya out -> iTunes 11.0.5 will not let me delete a song from my wish list.

  • Permission problem when trying to patch the kernel

    Hello, my name is Rodrigo and I have a VAIO laptop. The problem with it is that it has soo many privative components that are very hard to get to work under Linux. Fortunately, I found a project http://code.google.com/p/vaio-f11-linux/, which aims to provide full suport to VAIOs in Linux.
    In order to do this I had to patch the Kernel http://code.google.com/p/vaio-f11-linux … nelSupport
    So I started to follow the instructions.
    1) I downloaded from kernel.org the lastest stable release (2.6.39)
    2) I made cd /usr/src/linux and unpacked the tar contnents from the kernel file into this directory
    3) I made "sudo curl http://www.absence.it/vaio-acpi/source/ … 6.39.patch | patch p1" and I got this:
    patching file include/linux/sonypi.h
    patch: **** Can't rename file /tmp/poSN3DW6 to include/linux/sonypi.h : Permission denied
    I don't know if I'm the problem or if the patch is "bad".I already submitted the problem to the Issues page from the project, but maybe I made something wrong, any help would be apreciated
    Rodrigo

    I don't think sudo was meant for strange things like downloading a patch and then piping it into the patch command. If you want that to work, you should either run "su" to make sure you are root beforehand, or split up the commands like so:
    sudo curl http://www.absence.it/vaio-acpi/source/patches/vaio-2.6.39.patch >vaio-2.6.39.patch
    sudo patch p1 <vaio-2.6.39.patch
    The generic instructions for using this patch will probably work but it will be cleaner if you look at the wiki page for Arch's take on custom kernels.
    Last edited by ConnorBehan (2011-05-25 03:15:06)

  • Adobe you can't leave us here alone and hope we solve your bugs.

    Before reading this post read this thread to see which bug
    I'm refering to
    http://www.adobe.com/cfusion/webforums/forum/messageview.cfm?forumid=68&catid=472&threadid =1220404&enterthread=y
    This is a real life situation that could be a great example
    for the adobe guys. maybe we will be lucky and one of them will
    give us the honor of actualy replying our posts.
    I'm currently at the 3GSM conference. We have a product demo
    the is part symbian and part flash lite 2.0 mockup. the interface
    is seamless and for our custommers this is one demo.
    We have many potentials customers that want to take the demo
    with them. we are talking of real life deals worth millions of
    dollars.
    When we bult the demo your strategy was that eas phone would
    have a it's specific player and we build our demo acording to that
    (not that we understood then why the player is not simply
    downloaded over the air) but now when our users want to install our
    demo thez can't. you know why?
    you have changes your strategy and now everyone can doenload
    a player. but you forgot to do one thing.... make the player
    work!!!
    So I'm here in Barcelona. my clients love the demo but no one
    can take it with them.
    We are using your products for 10 years because we love them.
    thinking of it our love as a community has made your product what
    they are.
    give us the honor of entering our forums once in a while and
    helping us solve the bugs we can't fix. the rest of the design
    folts we can solve by work arounds we have been doing this for
    years.
    thanks
    Avi

    Ciao,
    we are in a similar situation of Avich!
    please: "give us the honor of entering our forums once in a
    while and helping us solve the bugs we can't fix. the rest of the
    design folts we can solve by work arounds we have been doing this
    for years".

  • Need help patching a kernel to use new ALSA

    I have a friend who's just starting out with Arch, and I've been getting him started on his install. His system uses a Biostar 6100-939 motherboard and an Athlon64 processor.
    Everything has been working so far except sound. According to documentation, the correct ALSA driver for his nForce4 chipset should be the snd_intel8x0 module. However, loading this module didn't make any soundcards available to alsamixer.
    We started to investigate the problem, and recently found this: http://jrbelvin.freeshell.org/weblog/linux/mcp51-alsa stating that the problem is fixed with the 1.0.11rc3 release of ALSA. We also found this : http://www.nvnews.net/vbulletin/showthread.php?t=60493 covering the same issue. We tried applying the patch listed in that forum to a build of the ArchCK kernel. While we were able to confirm that our patch really did patch the kernel, and that the patched kernel built, the snd_intel8x0 module still didn't work when we loaded our patched kernel.
    So now it seems like we'll have to properly use the 1.0.11rc3 release of ALSA to get sound working on his computer until 1.0.11 is finalized and merged into the kernel. Does anyone have any experience on patching a kernel to use a different release of ALSA? Any help would be appreciated.
    Woogie

    I had the same problem with my new computer (less than a week old) using an ASRock K8NF4G-SATA2 board. For me the problem stopped when I switched to the 2.6.16 kernel then in testing but now in current. If it's not working with that kernel try modprobing snd-intel8x0 by hand and running alsaconf.
    I actually made packages of alsa-lib and alsa-driver 1.0.11rc4 for myself in the process, but I've switched away from those again, so I don't think they should be needed for NF4/MCP51 to work. That said if your problem doesn't go away I'll be happy to post the PKGBUILDs I modified or even send the packages themselves (with absolutely no guarantees).

  • How to Add patches to dwm?

    I cp the dwm directory to my builds directory.
    I then makepkg -i and install dwm, it runs fine.  I want to compile dwm with the bottom stack patch from their website.
    I download the dwm-5.3-bstack.diff  file into my dwm directory.  I saw in another thread to add
    patch -p1 < dwm-5.3-bstack.diff || return 1
    into my package build.  I am just unclear of where to add it.
    my PKGBUILD is
    # $Id: PKGBUILD,v 1.19 2008/12/05 09:41:07 sergej Exp $
    # Maintainer: Sergej Pupykin <[email protected]>
    # Contributor: Dag Odenhall <[email protected]>
    # Contributor: Grigorios Bouzakis <[email protected]>
    pkgname=dwm
    pkgver=5.3
    pkgrel=1
    pkgdesc="A dynamic window manager for X"
    url="http://www.suckless.org/wiki/dwm"
    arch=('i686' 'x86_64')
    license=('MIT')
    options=(zipman)
    depends=('libx11')
    install=dwm.install
    source=(http://code.suckless.org/dl/dwm/dwm-$pkgver.tar.gz \
    config.h)
    md5sums=('ee47a2adcc3bbc3c053307e6ef35e3e0'
    '8093b1bea675dea404913e828cabfa04')
    build() {
    cd $srcdir/$pkgname-$pkgver
    cp $srcdir/config.h config.h
    make X11INC=/usr/include/X11 X11LIB=/usr/lib/X11 || return 1
    make PREFIX=/usr DESTDIR=$pkgdir install || return 1
    install -m644 -D LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE && \
    install -m644 -D README $pkgdir/usr/share/doc/$pkgname/README
    I then know i need to enter #include "bstack.c" into my config.h file.  I am just a little unclear of it I add it to the original config.h in my dwm directory. Or must I add it to the config.h that is in the src directory?  Thanks, Justin.

    Thanks for the reply.  I can it to install, but I still do not get the option for bottom stack.  Do I need to add it to my config somewhere? I assumed the patch would add it to the config.h intself?
    Here is a link to the patch
    http://bsdgroup.org/files/dwm-5.3-bstack.diff
    PKGBUILD
    # $Id: PKGBUILD,v 1.19 2008/12/05 09:41:07 sergej Exp $
    # Maintainer: Sergej Pupykin <[email protected]>
    # Contributor: Dag Odenhall <[email protected]>
    # Contributor: Grigorios Bouzakis <[email protected]>
    pkgname=dwm
    pkgver=5.3
    pkgrel=1
    pkgdesc="A dynamic window manager for X"
    url="http://www.suckless.org/wiki/dwm"
    arch=('i686' 'x86_64')
    license=('MIT')
    options=(zipman)
    depends=('libx11')
    install=dwm.install
    source=(http://code.suckless.org/dl/dwm/dwm-$pkgver.tar.gz \
    config.h
    http://code.suckless.org/dl/dwm/dwm-$pkgver.tar.gz \
    dwm-5.3-bstack.diff
    md5sums=('ee47a2adcc3bbc3c053307e6ef35e3e0'
    '8093b1bea675dea404913e828cabfa04')
    build() {
    cd $srcdir/$pkgname-$pkgver
    patch -p0 < ../dwm-5.3-bstack.diff || return 1
    cp $srcdir/config.h config.h
    make X11INC=/usr/include/X11 X11LIB=/usr/lib/X11 || return 1
    make PREFIX=/usr DESTDIR=$pkgdir install || return 1
    install -m644 -D LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE && \
    install -m644 -D README $pkgdir/usr/share/doc/$pkgname/README
    config.h
    /* See LICENSE file for copyright and license details. */
    /* appearance */
    static const char font[] = "-*-terminus-medium-r-normal-*-14-*-*-*-*-*-*-*";
    static const char normbordercolor[] = "#cccccc";
    static const char normbgcolor[] = "#cccccc";
    static const char normfgcolor[] = "#000000";
    static const char selbordercolor[] = "#0066ff";
    static const char selbgcolor[] = "#0066ff";
    static const char selfgcolor[] = "#ffffff";
    static unsigned int borderpx = 1; /* border pixel of windows */
    static unsigned int snap = 32; /* snap pixel */
    static Bool showbar = True; /* False means no bar */
    static Bool topbar = True; /* False means bottom bar */
    static Bool readin = True; /* False means do not read stdin */
    static Bool usegrab = False; /* True means grabbing the X server
    during mouse-based resizals */
    /* tagging */
    static const char tags[][MAXTAGLEN] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" };
    static unsigned int tagset[] = {1, 1}; /* after start, first tag is selected */
    static Rule rules[] = {
    /* class instance title tags mask isfloating */
    { "Gimp", NULL, NULL, 0, True },
    { "Firefox", NULL, NULL, 1 << 8, True },
    /* layout(s) */
    static float mfact = 0.55; /* factor of master area size [0.05..0.95] */
    static Bool resizehints = True; /* False means respect size hints in tiled resizals */
    static Layout layouts[] = {
    /* symbol arrange function */
    { "[]=", tile }, /* first entry is default */
    { "><>", NULL }, /* no layout function means floating behavior */
    { "[M]", monocle },
    /* key definitions */
    #define MODKEY Mod1Mask
    #define TAGKEYS(KEY,TAG) \
    { MODKEY, KEY, view, {.ui = 1 << TAG} }, \
    { MODKEY|ControlMask, KEY, toggleview, {.ui = 1 << TAG} }, \
    { MODKEY|ShiftMask, KEY, tag, {.ui = 1 << TAG} }, \
    { MODKEY|ControlMask|ShiftMask, KEY, toggletag, {.ui = 1 << TAG} },
    /* helper for spawning shell commands in the pre dwm-5.0 fashion */
    #define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } }
    /* commands */
    static const char *dmenucmd[] = { "dmenu_run", "-fn", font, "-nb", normbgcolor, "-nf", normfgcolor, "-sb", selbgcolor, "-sf", selfgcolor, NULL };
    static const char *termcmd[] = { "uxterm", NULL };
    static Key keys[] = {
    /* modifier key function argument */
    { MODKEY, XK_p, spawn, {.v = dmenucmd } },
    { MODKEY|ShiftMask, XK_Return, spawn, {.v = termcmd } },
    { MODKEY, XK_b, togglebar, {0} },
    { MODKEY, XK_j, focusstack, {.i = +1 } },
    { MODKEY, XK_k, focusstack, {.i = -1 } },
    { MODKEY, XK_h, setmfact, {.f = -0.05} },
    { MODKEY, XK_l, setmfact, {.f = +0.05} },
    { MODKEY, XK_Return, zoom, {0} },
    { MODKEY, XK_Tab, view, {0} },
    { MODKEY|ShiftMask, XK_c, killclient, {0} },
    { MODKEY, XK_t, setlayout, {.v = &layouts[0]} },
    { MODKEY, XK_f, setlayout, {.v = &layouts[1]} },
    { MODKEY, XK_m, setlayout, {.v = &layouts[2]} },
    { MODKEY, XK_space, setlayout, {0} },
    { MODKEY|ShiftMask, XK_space, togglefloating, {0} },
    { MODKEY, XK_0, view, {.ui = ~0 } },
    { MODKEY|ShiftMask, XK_0, tag, {.ui = ~0 } },
    TAGKEYS( XK_1, 0)
    TAGKEYS( XK_2, 1)
    TAGKEYS( XK_3, 2)
    TAGKEYS( XK_4, 3)
    TAGKEYS( XK_5, 4)
    TAGKEYS( XK_6, 5)
    TAGKEYS( XK_7, 6)
    TAGKEYS( XK_8, 7)
    TAGKEYS( XK_9, 8)
    { MODKEY|ShiftMask, XK_q, quit, {0} },
    /* button definitions */
    /* click can be a tag number (starting at 0),
    * ClkLtSymbol, ClkStatusText, ClkWinTitle, ClkClientWin, or ClkRootWin */
    static Button buttons[] = {
    /* click event mask button function argument */
    { ClkLtSymbol, 0, Button1, setlayout, {0} },
    { ClkLtSymbol, 0, Button3, setlayout, {.v = &layouts[2]} },
    { ClkWinTitle, 0, Button2, zoom, {0} },
    { ClkStatusText, 0, Button2, spawn, {.v = termcmd } },
    { ClkClientWin, MODKEY, Button1, movemouse, {0} },
    { ClkClientWin, MODKEY, Button2, togglefloating, {0} },
    { ClkClientWin, MODKEY, Button3, resizemouse, {0} },
    { ClkTagBar, 0, Button1, view, {0} },
    { ClkTagBar, 0, Button3, toggleview, {0} },
    { ClkTagBar, MODKEY, Button1, tag, {0} },
    { ClkTagBar, MODKEY, Button3, toggletag, {0} },
    #include "bstack.c"
    I then get this
    [justin@beast dwm]$ makepkg -g >> PKGBUILD
    ==> Retrieving Sources...
    -> Found dwm-5.3.tar.gz in build dir
    -> Found config.h in build dir
    -> Found dwm-5.3-bstack.diff in build dir
    ==> Generating checksums for source files...
    I can then install
    [justin@beast dwm]$ makepkg -efi
    ==> Making package: dwm 5.3-1 x86_64 (Mon Dec 22 23:39:52 EST 2008)
    ==> Checking Runtime Dependencies...
    ==> Checking Buildtime Dependencies...
    ==> WARNING: Skipping source retrieval -- using existing src/ tree
    ==> WARNING: Skipping source integrity checks -- using existing src/ tree
    ==> WARNING: Skipping source extraction -- using existing src/ tree
    ==> Removing existing pkg/ directory...
    ==> Entering fakeroot environment...
    ==> Starting build()...
    patching file bstack.c
    patching file config.def.h
    Hunk #1 succeeded at 30 (offset 2 lines).
    dwm build options:
    CC dwm.c
    CFLAGS = -std=c99 -pedantic -Wall -Os -I. -I/usr/include -I/usr/include/X11 -DVERSION="5.3"
    LDFLAGS = -s -L/usr/lib -lc -L/usr/lib/X11 -lX11
    CC = cc
    CC -o dwm
    dwm build options:
    CFLAGS = -std=c99 -pedantic -Wall -Os -I. -I/usr/include -I/usr/X11R6/include -DVERSION="5.3"
    LDFLAGS = -s -L/usr/lib -lc -L/usr/X11R6/lib -lX11
    CC = cc
    installing executable file to /home/justin/builds/dwm/pkg/usr/bin
    installing manual page to /home/justin/builds/dwm/pkg/usr/share/man/man1
    ==> Tidying install...
    -> Compressing man pages...
    -> Stripping debugging symbols from binaries and libraries...
    ==> Creating package...
    -> Generating .PKGINFO file...
    -> Adding install script...
    -> Compressing package...
    ==> Leaving fakeroot environment.
    ==> Finished making: dwm 5.3-1 x86_64 (Mon Dec 22 23:39:53 EST 2008)
    ==> Installing package dwm with pacman -U...
    Password:
    loading package data...
    checking dependencies...
    (1/1) checking for file conflicts [#########################################################################################################################################################] 100%
    -- Edit config.h in PKGBUILD's directory (generally /var/abs/community/x11/dwm/)
    -- and rebuild package if you want to change settings.
    (1/1) upgrading dwm
    Thanks.

  • [svn:fx-3.x] 8019: Applying patch submitted by Daniel Wilday for bug SDK-13855

    Revision: 8019
    Author:   [email protected]
    Date:     2009-06-19 15:50:52 -0700 (Fri, 19 Jun 2009)
    Log Message:
    Applying patch submitted by Daniel Wilday for bug SDK-13855
    Fix: Make sure we re-measure the SwatchPanel after we refresh it.
    Doc Notes: None
    Bugs: SDK-13855
    QE Notes: None
    tests: checkintests
    Ticket Links:
        http://bugs.adobe.com/jira/browse/SDK-13855
        http://bugs.adobe.com/jira/browse/SDK-13855
    Modified Paths:
        flex/sdk/branches/3.x/frameworks/projects/framework/src/mx/controls/colorPickerClasses/Sw atchPanel.as

  • [SOLVED] Touchpad problems with Kernel-2.6.28

    I just updated my kernel to 2.6.28. Everythink is working fine (including my Atheros AGN wireless ). The only problem I have now is the Touchpad. After update the double click on the touchpad and the scroll function is not working any more.
    Anyone knows why or is having the same problem?
    Last edited by falke (2009-01-26 16:32:31)

    Thanks a lot!!! It works! I cant live without touchpad scrolling.
    I also needed to create /etc/hal/fdi/policy/shmconfig.fdi with this content:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <deviceinfo version="0.2">
    <device>
    <match key="input.x11_driver" string="synaptics">
    <merge key="input.x11_options.SHMConfig" type="string">True</merge>
    </match>
    </device>
    </deviceinfo>

Maybe you are looking for