alesya-h / zenbook-duo-2024-ux8406ma-linux

automatic screen on/off, brightness sync, battery limiter
BSD 2-Clause "Simplified" License
52 stars 13 forks source link

Bottom touchscreen acting on top screen when both are on #6

Open goriccardo opened 5 months ago

goriccardo commented 5 months ago

First of all thanks for the amazing scripts that helped me setting up the laptop in no time.

The only thing I couldn't make to work is assigning each touchscreen to its own screen. It works when only one screen is on (both top and bottom alone), but when both displays are on both touchscreens controls the top display.

Of course I double checked dconf settings and ran set-tablet-mapping but nothing seems to work.

Any help or hint in what I could try is greatly appreciated!

Thanks again for your work

rvizx commented 5 months ago

I'm not sure whether this helps or not, but I had the same issue in KDE. In there, you can simply use the "Touchscreen" from "System Settings" to fix it. There's an option to select the "Target Display". Change it from "Automatic" to the correct Display.

alesya-h commented 4 months ago

@goriccardo This has been a bug in GNOME 46 that has been fixed recently. It started working after I updated to latest nixos-unstable (GNOME 46.3, it seems to have been broken between 46.0 and 46.2). Try updating your system

xevicb commented 3 months ago

Hi @alesya-h ,

First of all, thanks for your scripts, as a linux newbie they helped me a lot! kudos on that.

However, I'm having the same problem as @goriccardo, by default the bottom screen redirects to top, but if I run ./duo set-tablet-mapping then I get this behavior:

https://youtube.com/shorts/BDVE2hEbS8E

It's like I have a big canvas of 2880x3600px but the touch zone is 2880x1800 as the movement of the cursor in the Y axis is the double of the actual stylus movement.

Additionally this happens as well if in gnome tablet settings I change the tablet mapping from automatic to any other option (whole screen, edp-1 or edp-2). I only need tactile functionality on bottom screen, but disaling top touchscreen doesn't seem to do nothing.

I'm on fedora 40 and gnome 46.3.1, so I'm not sure if I'm missing something.

thanks again! hope I can finally ditch windows soon

alesya-h commented 3 months ago

@xevicb can you please run dconf watch / in a terminal, flick between mappings for both touchscreens in the settings and post the output here? It is likely the device identifiers are different, so set-tablet-mapping writes incorrect settings, which are in turn interpreted as the default, which is "whole screen".

xevicb commented 3 months ago

For sure @alesya-h, I've recorded a video so it's easier for you to check:

https://youtu.be/hDAWMop-3Ns

When I'm in automatic mode, both touchscreens redirect to top screen as @goriccardo says. When I switch to any other mode, the behaviour is what you can see in my previous video (double Y displacement).

Additionally, if I run duo set-tablet-mapping, I see it adds this key in dconf: output ['SDC', '0x419d', '0x00000000', 'eDP-2'] and even if I'm in auto mode with top screen working, then the behaviour is like the previous video as well.

`/org/gnome/desktop/peripherals/tablets/04f3:425a/output ['unknown', 'unknown', 'unknown', 'eDP-2']

/org/gnome/desktop/peripherals/tablets/04f3:425b/output ['unknown', 'unknown', 'unknown', 'eDP-1']

/org/gnome/desktop/peripherals/tablets/04f3:425a/output ['unknown', 'unknown', 'unknown', 'eDP-1']

/org/gnome/desktop/peripherals/tablets/04f3:425b/output ['unknown', 'unknown', 'unknown', 'eDP-2']

/org/gnome/desktop/peripherals/tablets/04f3:425a/output ['', '', '']

/org/gnome/desktop/peripherals/tablets/04f3:425b/output ['', '', '']

/org/gnome/desktop/peripherals/tablets/04f3:425a/output unset

/org/gnome/desktop/peripherals/tablets/04f3:425b/output unset `

Thanks for your fast response! Maybe I've fiddled too much with fedora ATM, so if you prefer that I do a clean install of fedora don't hesitate to ask

xevicb commented 3 months ago

Hi @alesya-h ,

after a clean install of fedora, I've noticed two problems, that I don't know if can be related to the touch issue.

Another thing that I'm not sure if it's related to the issue is that in gnome screen settings is detecting the top screen as '2' and bottom is '1' . Maybe fedora is detecting the bottom screen in the first place? Not sure if this has to be inverted.

Could you share which parameters do you have in dconf for the tablets and touchscreen sections? So I can try to replicate myself and see if it works. In dconf it seems 04f3:425A is mapping to edp-2 and 425B to edp-1. Is this correct?

thanks in advance for your time

alesya-h commented 3 months ago

Hey, sorry, I am travelling for the next few weeks and I don't have that laptop with me. Can you ping me again in late August?

On Thu, 1 Aug 2024, 7:18 pm xevicb, @.***> wrote:

Hi @alesya-h https://github.com/alesya-h ,

after a clean install of fedora, I've noticed two problems, that I don't know if can be related to the touch issue.

  • Duo toggle was not working properly out of the box, the first time you run it it correctly disables the bottom screen, but running the command again returned the error 'logical monitor not adjacent'. It seems that enabling fractional scaling solved the issue, now works flawlessly. I've used this command: gsettings set org.gnome.mutter experimental-features "['scale-monitor-framebuffer']"

Another thing that I'm not sure if it's related to the issue is that in gnome screen settings is detecting the top screen as '2' and bottom is '1' . Maybe fedora is detecting the bottom screen in the first place? Not sure if this has to be inverted.

Could you share which parameters do you have in dconf for the tablets and touchscreen sections? So I can try to replicate myself and see if it works. In dconf it seems 04f3:425A is mapping to edp-2 and 425B to edp-1. Is this correct?

thanks in advance for your time

— Reply to this email directly, view it on GitHub https://github.com/alesya-h/zenbook-duo-2024-ux8406ma-linux/issues/6#issuecomment-2262549250, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABTCF2F34HPV7OPJVSW55DZPH4OPAVCNFSM6AAAAABI3RMLZCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENRSGU2DSMRVGA . You are receiving this because you were mentioned.Message ID: @.***>

xevicb commented 3 months ago

Sure, thx!!

artonio commented 3 months ago

interestingly on KDE the touch screens works as they should. both recognize touches independently

xevicb commented 3 months ago

I've managed at last to get it working on gnome and fedora 40!

To make it work, in gnome tablet mapping you have to set it up temporary to automatic and pop up the calibration window. It still won't work but this will create a parameter 'area' that you can edit later in dconf-editor. After you do this on both screens, then set it back to whole screen again.

I'm on holidays and I don't have the laptop right now, but if I recall correctly one of the screens must have area [0.0, 0.0, -1.0, 0.0] and the other one [0.0, 0.0, 0.0, -1.0]

After that both screens works flawlessly with the stylus, however touching with the finger still redirects to the upper screen.

Next week I will be back and will share a block of code to add to the function set-tablet-mapping in alesya's scripts. The area keys must be in the same location, org/gnome/peripherals/tablets/04f3:425a and b respectively.

xevicb commented 2 months ago

If I dump dconf tablets section this is what I have to get it working:

[04f3:425a] area=[0.0, 0.0, -1.0, 0.0] keep-aspect=false mapping='absolute' output=['SDC', '0x419d', '0x00000000', 'eDP-2']

[04f3:425b] area=[0.0, 0.0, 0.0, -1.0] keep-aspect=false mapping='absolute' output=['SDC', '0x419d', '0x00000000', 'eDP-1']

however I'm a linux newbie and I'm trying to modify @alesya-h script with the commands below, but I get errors, so what I do is fiddle with gnome gui wacom settings and run the gui calibration method so it creates the 'area' key and then I use dconf-editor to modify it manually with these settings above.

dconf write "/org/gnome/desktop/peripherals/${type}/04f3:425b/output" \ "['SDC', '0x419d', '0x00000000', 'eDP-1']"

dconf write "/org/gnome/desktop/peripherals/tablets/04f3:425b/area" \ "[0.0, 0.0, 0.0, -1.0]"

dconf write "/org/gnome/desktop/peripherals/tablets/04f3:425b/keep-aspect" \ false

dconf write "/org/gnome/desktop/peripherals/tablets/04f3:425b/mapping" \ "'absolute'"

dconf write "/org/gnome/desktop/peripherals/${type}/04f3:425a/output" \ "['SDC', '0x419d', '0x00000000', 'eDP-2']"

dconf write "/org/gnome/desktop/peripherals/tablets/04f3:425b/area" \ "[0.0, 0.0, -1.0, 0.0]"

dconf write "/org/gnome/desktop/peripherals/tablets/04f3:425b/keep-aspect" \ false

dconf write "/org/gnome/desktop/peripherals/tablets/04f3:425b/mapping" \ "'absolute'"

dolphin-evorobey commented 1 month ago

Hola mates! have same problems, any updates here? anyone solved mapping under gnome?

xevicb commented 1 month ago

Hi @dolphin-evorobey

I've managed to solve the stylus mapping in both screens, but still figuring out how to make the touchscreen with fingers work.

Using dconf-editor, in /org/gnome/desktop/peripherals/tablets/ section you must have this keys with the following values:

[04f3:425a] area=[0.0, 0.0, -1.0, 0.0] keep-aspect=false mapping='absolute' output=['SDC', '0x419d', '0x00000000', 'eDP-2']

[04f3:425b] area=[0.0, 0.0, 0.0, -1.0] keep-aspect=false mapping='absolute' output=['SDC', '0x419d', '0x00000000', 'eDP-1']

You can let gnome create the keys fiddling with settings in gnome parameters, under wacom tablet section. After the keys are created, with dconf-editor you can modify it with the values above.

I suppose some similar keys must exist in /org/gnome/desktop/peripherals/touchscreens/ but I have an empty section and don't know how to make both touchscreen capabilities work.

dolphin-evorobey commented 1 month ago

xevicb with your solution i have another problem - no tablets founded Oo image

i also tried this https://github.com/fraz0815/gptouch-python?tab=readme-ov-file but same problem - no touch panels detected

ofc my touch screens work. maybe u have ideas? im on ubuntu 24.04 and kernel 6.10.6-x64v3-xanmod1

xevicb commented 1 month ago

Ok, maybe you could try to run the script ./duo set-tablet-mapping, and assuming that ubuntu uses libwacom (don't know, I'm in fedora), check that you have elan425a.tablet and elan425b.tablet inside usr/share/libwacom folder

hope you get it working!

tomc98 commented 1 month ago

Did it work @dolphin-evorobey ?

dolphin-evorobey commented 1 month ago

for me no, and no elan425x.tablet files :(

elan-0732.tablet
elan-2072.tablet
elan-22e2.tablet
elan-22f7.tablet
elan-24d8.tablet
elan-24db.tablet
elan-2513.tablet
elan-2514-alt2.tablet
elan-2514-alt.tablet
elan-2514.tablet
elan-2537.tablet
elan-2627.tablet
elan-2628.tablet
elan-262b.tablet
elan-264c.tablet
elan-29a1.tablet
elan-29b6.tablet
elan-2a70.tablet
elan-2ad9.tablet
elan-2bb3.tablet
elan-2c1b.tablet
elan-2d55.tablet
elan-2fc2.tablet
elan-5515.tablet
xevicb commented 1 month ago

Hi @dolphin-evorobey

elan-425ab.zip

Here's the files that must be in usr/share/libwacom in order the tablet to be detected. Uncompress the zip attachment and copy from a terminal and su permissions to /usr/share/libwacom, something like

sudo cp elan-425a.tablet /usr/share/libwacom sudo cp elan-425b.tablet /usr/share/libwacom

After that reboot the computer and it should get detected. Then fiddle with options as posted in previous message to create the keys that you can later modify with dconf-editor

dolphin-evorobey commented 1 month ago

hey xevicb thx for your help!

but nothing changed.. i checked twise that both files in right place and rebooted - wacom settings shows same "nothing detected"

can u check wich version of libwacom u have?

mine


$ apt list --installed "libwacom*" 2>/dev/null 
Вывод списка… Готово
libwacom-common/noble,noble,now 2.10.0-2 all [установлен, автоматически]
libwacom9/noble,now 2.10.0-2 amd64 [установлен, автоматически]```
dolphin-evorobey commented 1 month ago

hmmm

byaka@bs-duobook:~$ libwacom-list-local-devices
/dev/input/event7 is a tablet but not supported by libwacom
/dev/input/event12 is a tablet but not supported by libwacom
Failed to find any devices known to libwacom.
byaka@bs-duobook:~$ libwacom-list-devices | grep ELAN900
- { bus: 'i2c',       vid: '0x04f3', pid: '0x425a', name: 'ELAN9009:00' }
- { bus: 'i2c',       vid: '0x04f3', pid: '0x425b', name: 'ELAN9008:00' }
dolphin-evorobey commented 1 month ago

im upgraded libwacom-* to latest 2.13, nothing changed((

xevicb commented 1 month ago

At the time of writing this I have 2.11.0-1, maybe the issue is ubuntu related, because in fedora always detected me the tablet out of the box. Maybe a future update fixes it?

xevicb commented 1 month ago

hi @dolphin-evorobey ,

I forgot to mention that I'm using the 3k version, maybe elan 425a and b tablet files are not working because of this?