Hi, I’m working on a snap for the Proton Mail application. The repository is at pedro-avalos/proton-mail-snap and the listing is under the name proton-mail. Currently, I only have a beta release as per the snapcrafters template, so you should be able to install it using snap install --beta proton-mail
. Let me know what you think!
Hi ! @pedro-avalos
I tested your snap, it works well
Why not use the name protonmail instead of proton-mail (the name seems available)?
Hi @baldeuniversel! Thank you for testing the snap
I thought about using protonmail
instead, but the package that Proton itself makes is under proton-mail
.
Proton has been moving away from using “ProtonMail” and instead using “Proton Mail” for their branding, since their brand and ecosystem consists of more than just their email offering.
Please enable wayland and disable sandboxing for nvidia
. I think that’d be awesome. For ref
@soumyaDghosh ! Did you mean ?
#!/bin/bash
if [[ ! -n "$DISABLE_WAYLAND" ]] && [[ -n "$WAYLAND_DISPLAY" ]]; then
WAYLAND_OPTS="--enable-features=WaylandWindowDecorations,WebRTCPipeWireCapturer --ozone-platform-hint=auto"
fi
exec "$SNAP/opt/Element/element-desktop" --no-sandbox --disable-seccomp-filter-sandbox $WAYLAND_OPTS "$@"
Hi @soumyaDghosh , I’ve added the launcher wrapper and updated the beta to 1.0.6, let me know what you think!
I looked into the code, looks great!!! Just a question, does the chromium sandboxing work under nvidia? What if we just disable sandboxing in nvidia? Also, to add up, I am not sure if sandboxing works at all in electron based snaps, because the browser-support
plug needs to be there, which is not for these electron apps. What do you think about that? Also, thanks a lot for taking your time and maintain it. May be we can upstream this also, if it gets stable?
Hi, sorry for the long delay, I have been with some travel and work the past few weeks. I don’t know what you mean about the browser-support
plug not being there, it is in the snapcraft.yaml
file, and it should auto-connect.
Sandboxing (ie chrome-sandbox
), as far as I know, does not work with snaps; snapcraft will warn me if I try to copy the chrome-sandbox
file (hence why it is excluded when priming). Unless I’m misunderstanding what you mean by sandboxing, I think I always need to disable sandboxing (ie use --no-sandbox
in the launcher).
Let me know what you think and if I misunderstood what you are talking about (which is very likely honestly).
Heh, of course the snap broke just now when I bumped the version. Any help debugging this would be appreciated. It seems to only crash when on Wayland…
App logs
Gtk-Message: 16:52:26.071: Not loading module "atk-bridge": The functionality is provided by GTK natively. Please try to not load it.
/usr/share/libdrm/amdgpu.ids: No such file or directory
/usr/share/libdrm/amdgpu.ids: No such file or directory
/usr/share/libdrm/amdgpu.ids: No such file or directory
Segmentation fault (core dumped)
journalctl
output
Sep 07 17:02:36 hephaestus systemd[5678]: Started snap.proton-mail.proton-mail-c1925606-9972-4254-adc6-96211cfeef95.scope.
Sep 07 17:02:36 hephaestus kernel: kauditd_printk_skb: 244 callbacks suppressed
Sep 07 17:02:36 hephaestus kernel: audit: type=1400 audit(1725746556.805:397306): apparmor="DENIED" operation="capable" class="cap" profile="/usr/lib/snapd/snap-confine" pid=67854 comm="snap-confine" capability=12 capname="net_admin"
Sep 07 17:02:36 hephaestus kernel: audit: type=1400 audit(1725746556.813:397307): apparmor="DENIED" operation="open" class="file" profile="snap-update-ns.proton-mail" name="/proc/67872/maps" pid=67872 comm="5" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
Sep 07 17:02:36 hephaestus kernel: audit: type=1326 audit(1725746556.902:397308): auid=1000 uid=1000 gid=1000 ses=5 subj=snap.proton-mail.proton-mail pid=67908 comm=50726F746F6E204D61696C20426574 exe=2F736E61702F70726F746F6E2D6D61696C2F342F7573722F6C69622F70726F746F6E2D6D61696C2F50726F746F6E204D61696C2042657461 sig=0 arch=c000003e syscall=330 compat=0 ip=0x7601b7c3d2fb code=0x50000
Sep 07 17:02:36 hephaestus kernel: audit: type=1326 audit(1725746556.903:397309): auid=1000 uid=1000 gid=1000 ses=5 subj=snap.proton-mail.proton-mail pid=67907 comm=50726F746F6E204D61696C20426574 exe=2F736E61702F70726F746F6E2D6D61696C2F342F7573722F6C69622F70726F746F6E2D6D61696C2F50726F746F6E204D61696C2042657461 sig=0 arch=c000003e syscall=330 compat=0 ip=0x7a132dab52fb code=0x50000
Sep 07 17:02:36 hephaestus kernel: audit: type=1400 audit(1725746556.909:397310): apparmor="DENIED" operation="open" class="file" profile="snap.proton-mail.proton-mail" name="/snap/alacritty/135/usr/share/fonts/" pid=67854 comm=50726F746F6E204D61696C20426574 requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
Sep 07 17:02:36 hephaestus kernel: audit: type=1400 audit(1725746556.909:397311): apparmor="DENIED" operation="open" class="file" profile="snap.proton-mail.proton-mail" name="/snap/alacritty/135/usr/share/fonts/" pid=67854 comm=50726F746F6E204D61696C20426574 requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
Sep 07 17:02:36 hephaestus kernel: audit: type=1400 audit(1725746556.909:397312): apparmor="DENIED" operation="open" class="file" profile="snap.proton-mail.proton-mail" name="/snap/alacritty/135/usr/share/fonts/" pid=67854 comm=50726F746F6E204D61696C20426574 requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
Sep 07 17:02:36 hephaestus kernel: audit: type=1326 audit(1725746556.910:397313): auid=1000 uid=1000 gid=1000 ses=5 subj=snap.proton-mail.proton-mail pid=67854 comm=50726F746F6E204D61696C20426574 exe=2F736E61702F70726F746F6E2D6D61696C2F342F7573722F6C69622F70726F746F6E2D6D61696C2F50726F746F6E204D61696C2042657461 sig=0 arch=c000003e syscall=425 compat=0 ip=0x7b88de0f525d code=0x50000
Sep 07 17:02:36 hephaestus kernel: audit: type=1326 audit(1725746556.910:397314): auid=1000 uid=1000 gid=1000 ses=5 subj=snap.proton-mail.proton-mail pid=67854 comm=50726F746F6E204D61696C20426574 exe=2F736E61702F70726F746F6E2D6D61696C2F342F7573722F6C69622F70726F746F6E2D6D61696C2F50726F746F6E204D61696C2042657461 sig=0 arch=c000003e syscall=425 compat=0 ip=0x7b88de0f525d code=0x50000
Sep 07 17:02:36 hephaestus kernel: audit: type=1326 audit(1725746556.933:397315): auid=1000 uid=1000 gid=1000 ses=5 subj=snap.proton-mail.proton-mail pid=67854 comm=50726F746F6E204D61696C20426574 exe=2F736E61702F70726F746F6E2D6D61696C2F342F7573722F6C69622F70726F746F6E2D6D61696C2F50726F746F6E204D61696C2042657461 sig=0 arch=c000003e syscall=203 compat=0 ip=0x7b88de0716e1 code=0x50000
Sep 07 17:02:37 hephaestus dbus-daemon[5714]: apparmor="DENIED" operation="dbus_method_call" bus="session" path="/org/freedesktop/secrets" interface="org.freedesktop.DBus.Properties" member="GetAll" mask="send" name=":1.8" pid=67854 label="snap.proton-mail.proton-mail" peer_pid=5703 peer_label="unconfined"
Sep 07 17:02:37 hephaestus dbus-daemon[5714]: apparmor="DENIED" operation="dbus_method_call" bus="session" path="/org/freedesktop/secrets" interface="org.freedesktop.Secret.Service" member="SearchItems" mask="send" name=":1.8" pid=67854 label="snap.proton-mail.proton-mail" peer_pid=5703 peer_label="unconfined"
Sep 07 17:02:37 hephaestus systemd[1]: Started systemd-coredump@24-67978-0.service - Process Core Dump (PID 67978/UID 0).
Sep 07 17:02:37 hephaestus systemd-coredump[67979]: [🡕] Process 67854 (Proton Mail Bet) of user 1000 dumped core.
Module /snap/proton-mail/4/gnome-platform/usr/lib/x86_64-linux-gnu/libudev.so.1.7.8 from deb systemd-255.4-1ubuntu8.2.amd64
Module /snap/proton-mail/4/gnome-platform/usr/lib/x86_64-linux-gnu/libzstd.so.1.5.5 from deb libzstd-1.5.5+dfsg2-2build1.amd64
Module /snap/proton-mail/4/gnome-platform/usr/lib/x86_64-linux-gnu/libsystemd.so.0.38.0 from deb systemd-255.4-1ubuntu8.2.amd64
Stack trace of thread 67854:
#0 0x0000568ff11b56e4 n/a (Proton Mail Beta + 0x2f496e4)
#1 0x0000568ff11a8a52 n/a (Proton Mail Beta + 0x2f3ca52)
#2 0x0000568ff068b8cd n/a (Proton Mail Beta + 0x241f8cd)
#3 0x0000568ff068b758 n/a (Proton Mail Beta + 0x241f758)
#4 0x0000568ff0262207 n/a (Proton Mail Beta + 0x1ff6207)
#5 0x0000568ff025feaa n/a (Proton Mail Beta + 0x1ff3eaa)
#6 0x0000568ff025feaa n/a (Proton Mail Beta + 0x1ff3eaa)
#7 0x0000568ff025feaa n/a (Proton Mail Beta + 0x1ff3eaa)
#8 0x0000568ff025feaa n/a (Proton Mail Beta + 0x1ff3eaa)
#9 0x0000568ff025feaa n/a (Proton Mail Beta + 0x1ff3eaa)
#10 0x0000568ff0377c2e n/a (Proton Mail Beta + 0x210bc2e)
#11 0x0000568ff028ec13 n/a (Proton Mail Beta + 0x2022c13)
#12 0x0000568ff025d847 n/a (Proton Mail Beta + 0x1ff1847)
#13 0x0000568ff1b55f5b n/a (Proton Mail Beta + 0x38e9f5b)
#14 0x0000568ff1b56e1a n/a (Proton Mail Beta + 0x38eae1a)
#15 0x0000568ff1b56f95 n/a (Proton Mail Beta + 0x38eaf95)
#16 0x0000568ff1b82997 n/a (Proton Mail Beta + 0x3916997)
#17 0x0000568ff7f6e9fe n/a (Proton Mail Beta + 0x9d029fe)
#18 0x0000568ff7f6e6d1 _ZN4node13CallbackScopeD1Ev (Proton Mail Beta + 0x9d026d1)
#19 0x0000568ff07a043a n/a (Proton Mail Beta + 0x253443a)
#20 0x0000568ff063b49b n/a (Proton Mail Beta + 0x23cf49b)
#21 0x0000568ff0630ae1 n/a (Proton Mail Beta + 0x23c4ae1)
#22 0x0000568ff0630a30 n/a (Proton Mail Beta + 0x23c4a30)
#23 0x0000568ff06ee59a n/a (Proton Mail Beta + 0x248259a)
#24 0x0000568ff07021ca n/a (Proton Mail Beta + 0x24961ca)
#25 0x0000568ff2eb21bc n/a (Proton Mail Beta + 0x4c461bc)
#26 0x0000568ff349e13d n/a (Proton Mail Beta + 0x523213d)
#27 0x0000568ff2eb1de8 n/a (Proton Mail Beta + 0x4c45de8)
#28 0x0000568ff2eb4a85 n/a (Proton Mail Beta + 0x4c48a85)
#29 0x0000568ff2eb0432 n/a (Proton Mail Beta + 0x4c44432)
#30 0x0000568ff091eed4 n/a (Proton Mail Beta + 0x26b2ed4)
#31 0x0000568ff092069e n/a (Proton Mail Beta + 0x26b469e)
#32 0x0000568ff09204b6 n/a (Proton Mail Beta + 0x26b44b6)
#33 0x0000568ff091deab n/a (Proton Mail Beta + 0x26b1eab)
#34 0x0000568ff091dfb0 n/a (Proton Mail Beta + 0x26b1fb0)
#35 0x0000568ff0629468 n/a (Proton Mail Beta + 0x23bd468)
#36 0x00007b88ddff81ca n/a (/usr/lib/x86_64-linux-gnu/libc.so.6 + 0x2a1ca)
#37 0x00007b88ddff828b n/a (/usr/lib/x86_64-linux-gnu/libc.so.6 + 0x2a28b)
#38 0x0000568ff022c02a _start (Proton Mail Beta + 0x1fc002a)
Stack trace of thread 67909:
#0 0x00007b88de0f8042 n/a (/usr/lib/x86_64-linux-gnu/libc.so.6 + 0x12a042)
#1 0x0000568ff3f12320 n/a (Proton Mail Beta + 0x5ca6320)
#2 0x0000568ff3f1224a n/a (Proton Mail Beta + 0x5ca624a)
#3 0x0000568ff3eb856d n/a (Proton Mail Beta + 0x5c4c56d)
#4 0x0000568ff3e7e59d n/a (Proton Mail Beta + 0x5c1259d)
#5 0x0000568ff3edc5b8 n/a (Proton Mail Beta + 0x5c705b8)
#6 0x0000568ff3ec61cd n/a (Proton Mail Beta + 0x5c5a1cd)
#7 0x0000568ff3edc75c n/a (Proton Mail Beta + 0x5c7075c)
#8 0x0000568ff3eef3d5 n/a (Proton Mail Beta + 0x5c833d5)
#9 0x00007b88de06aa94 n/a (/usr/lib/x86_64-linux-gnu/libc.so.6 + 0x9ca94)
#10 0x00007b88de0f7c3c n/a (/usr/lib/x86_64-linux-gnu/libc.so.6 + 0x129c3c)
ELF object binary architecture: AMD x86-64
Sep 07 17:02:37 hephaestus systemd[1]: systemd-coredump@24-67978-0.service: Deactivated successfully.
Sep 07 17:02:37 hephaestus systemd[1]: systemd-coredump@24-67978-0.service: Triggering OnSuccess= dependencies.
Sep 07 17:02:37 hephaestus systemd[1]: Starting apport-coredump-hook@24-67978-0.service...
Sep 07 17:02:38 hephaestus systemd[1]: apport-coredump-hook@24-67978-0.service: Deactivated successfully.
Sep 07 17:02:38 hephaestus systemd[1]: Finished apport-coredump-hook@24-67978-0.service.
Hi @pedro-avalos.
Check to see if you have these “requirements” :
parts:
test-snap:
source: .
plugin: dump
stage-packages:
- libdrm-amdgpu1
- libgtk-3-0
- libatk-adaptor
apps:
test-snap:
command: bin/test-snap
plugs:
- network
- opengl
environment:
LD_LIBRARY_PATH: "$SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET:${LD_LIBRARY_PATH:-}"
Hm, I tried adding these to no avail. snapcraft
seems to warn me that almost all of these are unused if I add them (except libatk-adaptor
, but even that didn’t fix it). As a temporary workaround, I’ve decided to disable wayland using the environment variable DISABLE_WAYLAND
(it seems this was done in the Discord snap recently too…)
@pedro-avalos ! Doesn’t it work even with wayland
plugged in ?
@baldeuniversel , yeah, it had the wayland
interface plugged in and it did not work. I am truly confused on what could have changed. I’ll try to investigate further after work.
It seems it’s an upstream issue? The snap seems to work with Wayland now (meaning it doesn’t crash). However, the content layout is messed up. So, until that is resolved upstream (See related issue upstream), I’ll keep Wayland disabled for the snap.