Linux on the desktop

Add this to /etc/sudoers (remember to edit with “visudo”), substituting your username and the correct path to cpupower (find with “which cpupower”):

mbutzusernamehere ALL = NOPASSWD: /path/to/cpupower

Obviously a small security risk (people/software with access to your userlogin can run cpupower, including any bugs/exploits it may have), but frankly I have no problem with that…

2 Likes

Thanks a lot. I googled that some time ago, but couldn’t find anything (except severe warnings concerning the security which in this case I also find kind of exaggerated).

The only truly secure computer is one that’s never turned on.

Point is its a balance between practical and secure. The great thing about Linux is that I get to make those decisions…

2 Likes

Unless you’re running into some measured problems with your latency, the stock kernel is most likely going to work great. Enabling high resolution timers, preemptible kernel, and enabling JACK to use real-time scheduling is likely all you’ll need!

3 Likes

When does this happen and where does the text appear? Did you ask google?

thank you, so cool
enjoying the process

I was just exploring Yoshimi, it’s a pretty neat synth for linux.
I recommend giving it a try if you haven’t already.

8 Likes

return of the perennial gripe: why in the world are trackpads in linux so completely terrible? can someone working at apple please please contribute a new linux driver?

wrote a several page rant and erased it, but checking if anyone else is equally enthused and has found a solution.

5 Likes

Same for power management.

My conspiracy brain says the poor performance is because Apple sits on so many patents for track pad tech no one else can come close.

2 Likes

ugh, this is the major reason why i haven’t switched to a think pad + linux for my full time personal laptop. you basically have to use a mouse if you need to do anything at all accurate (for instance audio editing).

2 Likes

to me the problem is more than accuracy. when a tool is clunky it is hugely distracting. ie, i spend time trying to fix the tool instead of using the tool.

which of course is why my career is basically making tools now.

please kill me before i start making trackpads. :slight_smile:

12 Likes

What are you missing/what’s annoying/what doesn’t work?
And which trackpad + which driver are you using?

Because linux is primarily developed for secure data servers and ideal for jobs across cluster nodes in the sciences, not personal computing.

In the past 15 years, these sorts of issues have barely gotten any better, while everything else has improved. I mean the fonts in linux still look like crap.

Bitwig and u-he are a godsend, like an oasis in a desert.

thinkpad x1 carbon. i believe elementary uses synaptics.

main issues:

  • acceleration is off. “sensitivity” is just a one dimensional config option. basically my assumption is that the accel/denoise/sensitivity algo in the driver is simply bad in that it does not produce repeatable results. i consider myself to be very physically capable with tiny movements, and the trackpad straight up makes me feel like an infant because i can’t exactly predict where the pointer will end up.
  • two finger scroll has a perhaps 500ms delay before it starts, and then the scrolling is chunky, but with a sort of easing in/out, giving the illusion that it’s smooth/precise. again this is an issue of not knowing what’s going to happen when you do an action, and so you fight the tool when it fails expectations.
  • this is minor, but the screen refresh of the pointer is simply not as fast, which gives a sense of fragility.

i’ll dig into the driver later… some of this might be remedied. but the fact that these are the defaults speaks to the priorities.

2 Likes

Yoshimi is my most-used Linux synth by a pretty wide margin.

1 Like

After a couple seconds on Google, I think Elementary uses libinput.


Article claims to make the libinput touchpad behavior ‘more like mac os’. Good luck!

1 Like

One relatively simple thing you could try is switching to libinput which is the current/new/modern touchpad driver. It’s supposed to give a much better out of the box experience than the old synaptics driver. Tbh I am/would be surprised Elementary doesn’t use libinput by default.

Anyway, I haven’t used libinput recently because it doesn’t support kinetic scrolling (or actually it defers that responsibility to the applications/toolkits) which I didn’t want to live without. But I noticed Firefox, which is the main reason I want it for, now supports kinetic scrolling, so I might give it a try again.

The synaptics driver is pretty much abandoned, but does support kinetic scrolling out of the box. It does kinetically scroll everything though, you might or might not enjoy seeing all your windows wizz by like a slot machine for example :stuck_out_tongue:
The default settings I didn’t really like, this is what I ended up with:

$ cat /etc/X11/xorg.conf.d/75-synaptics.conf 
Section "InputClass"
  Identifier "touchpad border config"
  MatchIsTouchpad "on"
  Driver "synaptics"
  Option "TapButton1" "1"
  Option "TapButton2" "3"
  Option "PalmDetect" "1"
  Option "MinSpeed" "0.5"
  Option "MaxSpeed" "2"
  Option "AccelFactor" "0.01"
  Option "VertScrollDelta" "-300"
  Option "HorizTwoFingerScroll" "1"
  Option "HorizScrollDelta" "-300"
EndSection

All the available options can be found using man synaptics and there’s a rather complete page on the Arch wiki about it as well.

tldr; It might suck a bit out of the box but at least you can tweak it :wink:

1 Like

If you have the arsenal to fight Apple with their haptic trackpad tech I’m SUPER HYPE for that.

/me types this on a macbook pro with a giant trackpad that doesn’t have any springs in it.

but I feel the springs in my fingers

1 Like

I’d used ZynAddSubFX on occasion before, but not Yoshimi until now - some of the sequencer presets are rather nice, especially though a whole bunch of canyon echo… time to explore more.

1 Like

i have the exact same hardware, so i’ll throw in my 2c…

some of those issues are not my issues (i really dislike acceleration and always turn it off when possible.)

but the delay on two-finger-scrolling would drive me nuts, and i haven’t encountered it, nor have i noticed any pointer lag (likewise.)

this is an pretty stock ubuntu install, no weird drivers, no weird window managers, always perform all updates including those from lenovo and synaptics.

here’s the current xinput configuration for the device.

emb@inkpad:~$ xinput list-props 11
Device 'SynPS/2 Synaptics TouchPad':
	Device Enabled (142):	0
	Coordinate Transformation Matrix (144):	1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
	Device Accel Profile (270):	1
	Device Accel Constant Deceleration (271):	1.000000
	Device Accel Adaptive Deceleration (272):	1.000000
	Device Accel Velocity Scaling (273):	12.500000
	Synaptics Edges (274):	1574, 5368, 1350, 4504
	Synaptics Finger (275):	25, 30, 0
	Synaptics Tap Time (276):	180
	Synaptics Tap Move (277):	252
	Synaptics Tap Durations (278):	180, 180, 100
	Synaptics ClickPad (279):	1
	Synaptics Middle Button Timeout (280):	0
	Synaptics Two-Finger Pressure (281):	282
	Synaptics Two-Finger Width (282):	7
	Synaptics Scrolling Distance (283):	-114, -114
	Synaptics Edge Scrolling (284):	0, 0, 0
	Synaptics Two-Finger Scrolling (285):	1, 1
	Synaptics Move Speed (286):	1.000000, 1.750000, 0.034880, 0.000000
	Synaptics Off (287):	0
	Synaptics Locked Drags (288):	0
	Synaptics Locked Drags Timeout (289):	5000
	Synaptics Tap Action (290):	0, 0, 0, 0, 1, 3, 2
	Synaptics Click Action (291):	1, 3, 2
	Synaptics Circular Scrolling (292):	1
	Synaptics Circular Scrolling Distance (293):	0.100000
	Synaptics Circular Scrolling Trigger (294):	0
	Synaptics Circular Pad (295):	0
	Synaptics Palm Detection (296):	1
	Synaptics Palm Dimensions (297):	10, 200
	Synaptics Coasting Speed (298):	20.000000, 50.000000
	Synaptics Pressure Motion (299):	30, 160
	Synaptics Pressure Motion Factor (300):	1.000000, 1.000000
	Synaptics Resolution Detect (301):	1
	Synaptics Grab Event Device (302):	0
	Synaptics Gestures (303):	1
	Synaptics Capabilities (304):	1, 0, 0, 1, 1, 1, 1
	Synaptics Pad Resolution (305):	65, 44
	Synaptics Area (306):	0, 0, 0, 0
	Synaptics Soft Button Areas (307):	0, 0, 0, 0, 0, 0, 0, 0
	Synaptics Noise Cancellation (308):	28, 28
	Device Product ID (266):	2, 7
	Device Node (265):	"/dev/input/event4"

the most relevant properties are

	Device Accel Profile (270):	1
	Device Accel Constant Deceleration (271):	1.000000
	Device Accel Adaptive Deceleration (272):	1.000000
	Device Accel Velocity Scaling (273):	12.500000

as you can see i have them set to be totally linear. i can’t remember if this was the default or if i tweked it at some point with xinput --set-prop 11 'Device Accel Constant Deceleration' <val>, &c.

tweaking the mix of initial velocity scaling, constant and adaptive deceleration should get you closer to the apple behavior, where an initial fast movement gives big travel, and subsequent deceleration gives you more accuracy. here’s more on that stuff: https://www.x.org/wiki/Development/Documentation/PointerAcceleration/

… and i think if you read through that document, you’ll agree that it’s a little unfair to accuse linux developers of not caring enough about this stuff. if anyhting the problem is that there are many options, and a lack of consensus about the desired behavior (so the default is very plain.) in apple-land, consensus isn’t an issue, everyone gets the same experience no matter how extreme.

…i would be shocked if you couldn’t find some people invested in matching apple trackpad behavior with xinput configs. linux is nice because you can do that if you want, or do something else if you want.

3 Likes