I'm just beginning to play with my new Pinebook Pro. Arrived May 2021.
The only issue I'm unhappy with is that the touchpad seems to lag on initial movement. i.e. you move your finger then the arrow moves some time later. It's making button pressing and resizing windows very awkward. I currently have a mouse plugged in and this works fine. However I would like the touchpad working for 'sofa surfing'.
I've already read a lot of previous post about the issue from 2019 and 2020. I've tried re-flashing the keyboard driver and tried some of the previous reported 'fixes'. There may be some slight observable improvement but it's marginal. The main issue is initial finger movement and a lag in the pointer. Has anyone got one of the newer pinebook pros and is experiencing the same issue?
I'm running the Manjaro install that came with the laptop. I've also tried the Debian release booted from sd card and this exhibited the same issue.
I think it maybe a driver or power management issue rather than hardware since the hardware seems to function fine other than this initial lag.
Is there a solution to this problem? Other than that the laptop is brilliant!
My touchpad seems to work ok for cursor movement, but multi-touch stuff doesn't seem to be working. 2 finger for right click almost never works. Other than one finger cursor movement and 'left button' click, can't get it to do other things.
I think it's the firmware. That is, the firmware running on the processor dedicated to the keyboard and touchpad, not an operating system driver. I have adjusted the sensitivity and acceleration in KDE to work well, but I don't have it in front of me to tell you what settings I've used. It's still not perfect, grabbing small objects like window borders takes a lot of patience.
I have one of the earlier release models, and the trackpad has an issue whereby you stop moving your finger, but the mouse cursor sometimes still moves a bit more. There are threads here and here, and an example video here.
If this is the behaviour you are describing, then there are some mitigations in those threads, but no real solution.
The trackpad firmware appears to be the cause; there is no source code, and the manufacturer of the trackpad appears to be unable or unwilling to fix the firmware.
There was an effort to reverse-engineer the firmware, but this appears to have stalled.
05-16-2021, 06:21 AM (This post was last modified: 05-24-2021, 06:21 AM by dsimic.
Edit Reason: Wording consistency improvements
)
(05-08-2021, 03:20 PM)Neilcob Wrote: The only issue I'm unhappy with is that the touchpad seems to lag on initial movement. i.e. you move your finger then the arrow moves some time later. It's making button pressing and resizing windows very awkward.
My ANSI PineBook Pro, which came from the second batch, experiences exactly the same touchpad issue. It is very annoying.
Edit: Applying the additional udev rules that correct the touchpad dimensions, as described here, together with applying the additional Synaptics driver settings, as described here and here, made the touchpad on my ANSI PineBook Pro much less "laggy" or "jumpy" on the initial finger movement. The original lag is still there, but it's way less noticeable and using the touchpad is much more comfortable.
Edit #2: For future reference, I can confirm that the touchpad on a first-batch ISO PineBook Pro experiences exactly the same issue. As a side note, the surface of the touchpad is somewhat different (the texture is more rough, to be precise) when compared with the touchpad on my second-batch ANSI PineBook Pro.
Hi all,
I read this and OP's post was exactly what I was experiencing on my new pinebook pro (rcvd 4/2021). But I have found the cause of the issue, and it's just a setting. Once the touchpad settings were changed from stock I have found it completely usable, not the best touchpad ever, but not the headache that it was before. This is especially true since the smaller screen size made getting the cursor from close to the thing you wanted to click, onto that thing. You couldn't just move a little, you would move and nothing would happen, then it would finally move and jump past your target. So the setting in question is found in manjaro by going to start button>system settings>input devices>touchpad then to the pointer motion tab. The setting in question is the noise cancellation, I think by default it was set to 8 for vertical and horizontal. Not sure of the specifics, but basically you could select 8 units of movement before the cursor would move, causing great frustration. I changed both settings to 0, which made a vast improvement. I also slowed down the cursor having minimum speed at about 75% of the way to the first notch, maximum speed 25% past the second notch, and and acceleration 25% past the first notch. Change the settings, click apply at the bottom right and breathe a sigh of relief.
Hope this helps, possibly the defaults can be adjusted for when new systems are shipped they won't have this problem.
BCB
06-04-2021, 01:49 PM (This post was last modified: 06-04-2021, 01:51 PM by dsimic.
Edit Reason: Fixed a typo
)
(05-30-2021, 04:04 PM)BCB Wrote: You couldn't just move a little, you would move and nothing would happen, then it would finally move and jump past your target. So the setting in question is found in manjaro by going to start button>system settings>input devices>touchpad then to the pointer motion tab. The setting in question is the noise cancellation, I think by default it was set to 8 for vertical and horizontal. Not sure of the specifics, but basically you could select 8 units of movement before the cursor would move, causing great frustration. I changed both settings to 0, which made a vast improvement. I also slowed down the cursor having minimum speed at about 75% of the way to the first notch, maximum speed 25% past the second notch, and and acceleration 25% past the first notch. Change the settings, click apply at the bottom right and breathe a sigh of relief.
I was so happy to read that you found a solution for the touchpad issues, but...
I've tried applying your recommended settings, but I'm unfortunately still having the original issue: dreaded touchpad delay upon initial finger movement. Actually, Xfce doesn't provide the settings you've described, so I've introduced the following additional configuration to the X synaptics driver:
Sadly, the initial touchpad delay remains with these settings in place, i.e. they made no noticeable effects on my first-batch ISO PineBook Pro. I've also tried "1" and "10" as the values for these two parameters, still with no noticeable effects.
I've verified that the correct settings were applied, using the xinput utility, and yes, the value of the "Synaptics Noise Cancellation" property was already correctly set to "0, 0", as displayed by xinput. Anyway, I've tried re-applying the settings using the xinput utility:
Sadly, this also made no noticeable effects, but that was already expected. As a note, the default value of this property was "8, 8", as displayed by xinput.
Going further down the rabbit hole, I've monitored the touchpad events using the evtest utility, outside of X. As a result, no synaptics driver settings were in effect while monitoring the touchpad events, which makes it possible to determine the real nature of the initial touchpad delay.
Below are the excerpts from a few outputs generated by executing the following command on tty1 (complete outputs are attached to this post):
Code:
evtest --grab /dev/input/event2
Execution #1 – an excerpt that shows the events generated by sliding my finger horizontally across the touchpad, in which is visible that the touchpad introduced a delay that lasted 1622833404.821716 - 1622833404.789698 = 32 ms:
Code:
Event: time 1622833404.781717, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 78
Event: time 1622833404.781717, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 713
Event: time 1622833404.781717, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 519
Event: time 1622833404.781717, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1622833404.781717, type 1 (EV_KEY), code 325 (BTN_TOOL_FINGER), value 1
Event: time 1622833404.781717, type 3 (EV_ABS), code 0 (ABS_X), value 713
Event: time 1622833404.781717, type 3 (EV_ABS), code 1 (ABS_Y), value 519
Event: time 1622833404.781717, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833404.781717, -------------- SYN_REPORT ------------
Event: time 1622833404.789698, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 714
Event: time 1622833404.789698, type 3 (EV_ABS), code 0 (ABS_X), value 714
Event: time 1622833404.789698, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833404.789698, -------------- SYN_REPORT ------------
Event: time 1622833404.797687, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833404.797687, -------------- SYN_REPORT ------------
Event: time 1622833404.805688, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833404.805688, -------------- SYN_REPORT ------------
Event: time 1622833404.813700, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833404.813700, -------------- SYN_REPORT ------------
Event: time 1622833404.821716, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 717
Event: time 1622833404.821716, type 3 (EV_ABS), code 0 (ABS_X), value 717
Event: time 1622833404.821716, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833404.821716, -------------- SYN_REPORT ------------
Event: time 1622833404.829711, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 723
Event: time 1622833404.829711, type 3 (EV_ABS), code 0 (ABS_X), value 723
Event: time 1622833404.829711, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833404.829711, -------------- SYN_REPORT ------------
Event: time 1622833404.837707, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 732
Event: time 1622833404.837707, type 3 (EV_ABS), code 0 (ABS_X), value 732
Event: time 1622833404.837707, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833404.837707, -------------- SYN_REPORT ------------
Execution #2 – an excerpt for the same finger movement as in the first example, which shows a delay of 1622833505.165592 - 1622833505.053691 = 112 ms:
Code:
Event: time 1622833505.045724, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 80
Event: time 1622833505.045724, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 556
Event: time 1622833505.045724, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 466
Event: time 1622833505.045724, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1622833505.045724, type 1 (EV_KEY), code 325 (BTN_TOOL_FINGER), value 1
Event: time 1622833505.045724, type 3 (EV_ABS), code 0 (ABS_X), value 556
Event: time 1622833505.045724, type 3 (EV_ABS), code 1 (ABS_Y), value 466
Event: time 1622833505.045724, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833505.045724, -------------- SYN_REPORT ------------
Event: time 1622833505.053691, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833505.053691, -------------- SYN_REPORT ------------
Event: time 1622833505.061687, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833505.061687, -------------- SYN_REPORT ------------
Event: time 1622833505.069693, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833505.069693, -------------- SYN_REPORT ------------
Event: time 1622833505.077693, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833505.077693, -------------- SYN_REPORT ------------
Event: time 1622833505.085691, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833505.085691, -------------- SYN_REPORT ------------
Event: time 1622833505.093693, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833505.093693, -------------- SYN_REPORT ------------
Event: time 1622833505.101689, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833505.101689, -------------- SYN_REPORT ------------
Event: time 1622833505.109689, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833505.109689, -------------- SYN_REPORT ------------
Event: time 1622833505.117701, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833505.117701, -------------- SYN_REPORT ------------
Event: time 1622833505.125702, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833505.125702, -------------- SYN_REPORT ------------
Event: time 1622833505.133671, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833505.133671, -------------- SYN_REPORT ------------
Event: time 1622833505.141702, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833505.141702, -------------- SYN_REPORT ------------
Event: time 1622833505.149570, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833505.149570, -------------- SYN_REPORT ------------
Event: time 1622833505.157537, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833505.157537, -------------- SYN_REPORT ------------
Event: time 1622833505.165592, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 557
Event: time 1622833505.165592, type 3 (EV_ABS), code 0 (ABS_X), value 557
Event: time 1622833505.165592, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833505.165592, -------------- SYN_REPORT ------------
Event: time 1622833505.173605, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 559
Event: time 1622833505.173605, type 3 (EV_ABS), code 0 (ABS_X), value 559
Event: time 1622833505.173605, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833505.173605, -------------- SYN_REPORT ------------
Event: time 1622833505.181606, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 562
Event: time 1622833505.181606, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 465
Event: time 1622833505.181606, type 3 (EV_ABS), code 0 (ABS_X), value 562
Event: time 1622833505.181606, type 3 (EV_ABS), code 1 (ABS_Y), value 465
Event: time 1622833505.181606, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833505.181606, -------------- SYN_REPORT ------------
Event: time 1622833505.189696, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 566
Event: time 1622833505.189696, type 3 (EV_ABS), code 0 (ABS_X), value 566
Event: time 1622833505.189696, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833505.189696, -------------- SYN_REPORT ------------
Execution #3 – an excerpt for the same finger movement as in the first example, which shows a delay of 1622833543.341713 - 1622833543.125568 = 216 ms (obviously, I got better at triggering the delay with no visible mouse pointer):
Code:
Event: time 1622833543.117729, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 82
Event: time 1622833543.117729, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 485
Event: time 1622833543.117729, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 457
Event: time 1622833543.117729, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1622833543.117729, type 1 (EV_KEY), code 325 (BTN_TOOL_FINGER), value 1
Event: time 1622833543.117729, type 3 (EV_ABS), code 0 (ABS_X), value 485
Event: time 1622833543.117729, type 3 (EV_ABS), code 1 (ABS_Y), value 457
Event: time 1622833543.117729, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833543.117729, -------------- SYN_REPORT ------------
Event: time 1622833543.125568, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833543.125568, -------------- SYN_REPORT ------------
Event: time 1622833543.133688, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833543.133688, -------------- SYN_REPORT ------------
Event: time 1622833543.141537, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833543.141537, -------------- SYN_REPORT ------------
Event: time 1622833543.149584, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833543.149584, -------------- SYN_REPORT ------------
Event: time 1622833543.157620, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833543.157620, -------------- SYN_REPORT ------------
Event: time 1622833543.165520, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833543.165520, -------------- SYN_REPORT ------------
Event: time 1622833543.173561, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833543.173561, -------------- SYN_REPORT ------------
Event: time 1622833543.181702, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833543.181702, -------------- SYN_REPORT ------------
Event: time 1622833543.189701, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833543.189701, -------------- SYN_REPORT ------------
Event: time 1622833543.197789, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833543.197789, -------------- SYN_REPORT ------------
Event: time 1622833543.205704, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833543.205704, -------------- SYN_REPORT ------------
Event: time 1622833543.213703, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833543.213703, -------------- SYN_REPORT ------------
Event: time 1622833543.221726, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833543.221726, -------------- SYN_REPORT ------------
Event: time 1622833543.229702, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833543.229702, -------------- SYN_REPORT ------------
Event: time 1622833543.237703, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833543.237703, -------------- SYN_REPORT ------------
Event: time 1622833543.245707, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833543.245707, -------------- SYN_REPORT ------------
Event: time 1622833543.253703, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833543.253703, -------------- SYN_REPORT ------------
Event: time 1622833543.261704, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833543.261704, -------------- SYN_REPORT ------------
Event: time 1622833543.269702, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833543.269702, -------------- SYN_REPORT ------------
Event: time 1622833543.277599, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833543.277599, -------------- SYN_REPORT ------------
Event: time 1622833543.285702, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833543.285702, -------------- SYN_REPORT ------------
Event: time 1622833543.293703, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833543.293703, -------------- SYN_REPORT ------------
Event: time 1622833543.301702, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833543.301702, -------------- SYN_REPORT ------------
Event: time 1622833543.309703, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833543.309703, -------------- SYN_REPORT ------------
Event: time 1622833543.317598, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833543.317598, -------------- SYN_REPORT ------------
Event: time 1622833543.325894, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833543.325894, -------------- SYN_REPORT ------------
Event: time 1622833543.333702, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833543.333702, -------------- SYN_REPORT ------------
Event: time 1622833543.341713, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 486
Event: time 1622833543.341713, type 3 (EV_ABS), code 0 (ABS_X), value 486
Event: time 1622833543.341713, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833543.341713, -------------- SYN_REPORT ------------
Event: time 1622833543.349698, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 488
Event: time 1622833543.349698, type 3 (EV_ABS), code 0 (ABS_X), value 488
Event: time 1622833543.349698, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833543.349698, -------------- SYN_REPORT ------------
Event: time 1622833543.357707, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 491
Event: time 1622833543.357707, type 3 (EV_ABS), code 0 (ABS_X), value 491
Event: time 1622833543.357707, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833543.357707, -------------- SYN_REPORT ------------
Event: time 1622833543.365692, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 495
Event: time 1622833543.365692, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 456
Event: time 1622833543.365692, type 3 (EV_ABS), code 0 (ABS_X), value 495
Event: time 1622833543.365692, type 3 (EV_ABS), code 1 (ABS_Y), value 456
Event: time 1622833543.365692, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
Event: time 1622833543.365692, -------------- SYN_REPORT ------------
Based on these three excerpts, it should be safe to conclude that the trackpad firmware has a bug that introduces a delay upon the initial finger movement, as decribed below. As a note, this conclusion isn't new, more than a few forum members have already concluded the same.
Thus, I have to ask you this: are you absolutely positive that you no longer have the initial touchpad delay? It manifests as having no pointer movement when you touch the touchpad with your finger and start sliding the finger across the touchpad, horizontally for example. Then, continuing the sliding motion, the pointer eventually starts moving, but the short initial finger movement is lost, so to speak. That's the dreaded delay.
Well it appears that there are a lot of variables here, more than I had counted on. From what I have seen the keyboard and trackpad firmware may be an issue, along with the laptop I have is about a month old, and may be different firmware or even controller than some from times prior.
first for disimic, it's pretty obvious from your reply that you know way more about this stuff than I do. But looking at your issue and the description the problem you experience and that which OP Neilcob describes, seem to be exactly what I was seeing. Also the stock settings for the noise cancellation were exactly what you saw 8 8, and reducing them is what helped. While I haven't yet tried another distro, I hear its easy to throw a stock manjaro KDE on an SD card and give it a go. That will let you see if the setting/driver/os combo that ships stock will let you change that setting and actually have it do something like it did on my laptop. If that works then we know it's something on the software side that can hopefully be changed to remedy the issue. If that doesn't help, then we can assume it's probably on the firmware side, which is a bummer since the changes disimic did in the firmware appeared to have no effect.
If there is any info I can provide regarding my settings, firmware, drivers etc. just let me know I'll happily try to dig them up for you. I can say, other than adjusting the settings mentioned I have not flashed any keyboard or trackpad firmware or anything like that. My pinebook is mostly bone stock except for a few programs I have installed.
06-04-2021, 06:23 PM (This post was last modified: 06-04-2021, 06:36 PM by dsimic.
Edit Reason: Fixed a typo
)
(06-04-2021, 05:25 PM)BCB Wrote: Well it appears that there are a lot of variables here, more than I had counted on. From what I have seen the keyboard and trackpad firmware may be an issue, along with the laptop I have is about a month old, and may be different firmware or even controller than some from times prior.
The keyboard controller IC in your PineBook Pro should be the same as in the previous PineBook Pro batches, because no changes to the PineBook Pro schematic have been announced. As a note, some PineBook Pros from the previous batches had a slightly different keyboard controller IC, but the only difference was the maximum number of writes to the IC's embedded flash.
The keyboard firmware and the touchpad firmware in your PineBook Pro should have been already updated in the factory to the latest publicly available versions. That's all we know from the official announcements.
(06-04-2021, 05:25 PM)BCB Wrote: But looking at your issue and the description the problem you experience and that which OP Neilcob describes, seem to be exactly what I was seeing. Also the stock settings for the noise cancellation were exactly what you saw 8 8, and reducing them is what helped. While I haven't yet tried another distro, I hear its easy to throw a stock manjaro KDE on an SD card and give it a go. That will let you see if the setting/driver/os combo that ships stock will let you change that setting and actually have it do something like it did on my laptop. If that works then we know it's something on the software side that can hopefully be changed to remedy the issue. If that doesn't help, then we can assume it's probably on the firmware side, which is a bummer.
I'll try to boot Manjaro + KDE Plasma on my first-batch ISO PineBook Pro, and we'll see what happens when the settings you've described are applied. I'll also make sure that the keyboard firmware is updated to the latest available community version, and I'll make sure that the touchpad firmware is updated to the latest available proprietary version. I've been putting that off because of the associated risk of bricking.
I would really love to see a lag-free touchpad as the result.
(06-04-2021, 05:25 PM)BCB Wrote: If there is any info I can provide regarding my settings, firmware, drivers etc. just let me know I'll happily try to dig them up for you. I can say, other than adjusting the settings mentioned I have not flashed any keyboard or trackpad firmware or anything like that. My pinebook is mostly bone stock except for a few programs I have installed.
We've been trying to modify the available keyboard firmware updater to only read the keyboard firmware, which would make it possible to compare the firmware images that came with different PineBook Pro batches, or to have a better insight into the keyboards that have been reported as buggy or broken. However, those attempts haven't been successful so far, which was the result of:
Very little testing has been performed, because testing a modified updater puts the keyboard controller IC at the risk of becoming bricked.
The keyboard controller IC doesn't seem to be made to allow the firmware to be read, it seems to allow only the firmware update to be performed.
It would be very interesting to read the firmware image(s) from your PineBook Pro, so we can actually know what has been flashed in the latest PineBook Pro batch, but I'm afraid that it wouldn't be easily doable.
Edit: Actually, your PineBook Pro can provide us with some interesting information, very easily and with absolutely zero risk. Could you, please, run the following command on your PineBook Pro and provide the resulting output in your response:
Code:
dmesg | grep -i input
The names of the input devices, visible in the command's output, should allow us to know whether the factory-flashed keyboard firmware in your PineBook Pro is the patched community version or the original proprietary version.