Running cwtch v1.10.0 in a Qubes OS minimal template #492

Open
opened 2023-02-13 19:06:18 +00:00 by n00q · 3 comments

hi,

I've been experimenting with running Cwtch in a Qubes minimal template. I realize that the Cwtch team is obviously not supporting Qubes, and may not even be that familiar with using Qubes, but I still have an issue that maybe you all can help with, and I think would be helpful to others. It could also be that I am experiencing general bugs with Flutter which could affect other users.

Essentially, I am trying to install and run Cwtch inside a minimal bare-bones debian-11 VM (a minimal-template based 'qube' in a Qubes OS system). Part of the idea is minimizing attack surface. By default such templates have very few packages installed.

To get Cwtch to work, I needed to install the libgtk-3-0 package (and of course tor)... but that's about it. However, I notice some UI bugs.

There is a noticeable delay typing text into the message input box. It's just on the threshold of tolerable, it's not bad enough to unusable but it is enough to be very annoying.

Also upon sending a message, sometimes the message sends properly but then reappears in the 'Type a message...' box as though it had not sent.

My guess is because of the bare-bones debian system is missing some packages that Flutter can do without, but it might work better if I had those packages. So i'm looking for clues as to what the minimal packages/libraries I might need. Happy to try things and report back. Again, I realize I am essentially asking "please help me run Cwtch on my very difficult and special OS", but I think it could be helpful for other users, and maybe I just need some suggestions on where to look (Linux suggested requirements for Flutter-based apps in general maybe?)

Running Cwtch from the terminal, there is a warning which is maybe relevant:
(cwtch:995): Gtk-WARNING **: 12:00:01.012: Locale not supported by C library. Using fallback 'C' locale.

hi, I've been experimenting with running Cwtch in a [Qubes](https://qubes-os.org) minimal template. I realize that the Cwtch team is obviously not supporting Qubes, and may not even be that familiar with using Qubes, but I still have an issue that maybe you all can help with, and I think would be helpful to others. It could also be that I am experiencing general bugs with Flutter which could affect other users. Essentially, I am trying to install and run Cwtch inside a minimal bare-bones debian-11 VM (a minimal-template based 'qube' in a Qubes OS system). Part of the idea is minimizing attack surface. By default such templates have very few packages installed. To get Cwtch to work, I needed to install the `libgtk-3-0` package (and of course `tor`)... but that's about it. However, I notice some UI bugs. There is a noticeable delay typing text into the message input box. It's just on the threshold of tolerable, it's not bad enough to unusable but it is enough to be very annoying. Also upon sending a message, sometimes the message sends properly but then reappears in the 'Type a message...' box as though it had not sent. My guess is because of the bare-bones debian system is missing some packages that Flutter can do without, but it might work better if I had those packages. So i'm looking for clues as to what the minimal packages/libraries I might need. Happy to try things and report back. Again, I realize I am essentially asking "please help me run Cwtch on my very difficult and special OS", but I think it could be helpful for other users, and maybe I just need some suggestions on where to look (Linux suggested requirements for Flutter-based apps in general maybe?) Running Cwtch from the terminal, there is a warning which is maybe relevant: ` (cwtch:995): Gtk-WARNING **: 12:00:01.012: Locale not supported by C library. Using fallback 'C' locale.`
sarah added the
qubes
label 2023-02-13 19:15:08 +00:00
Owner

Thanks for opening this. One of our goals for this year it to track down exactly what barriers exist to running Cwtch on different systems.

So i'm looking for clues as to what the minimal packages/libraries I might need.

Aside from libgtk-3-0. Flutter also recommends libblkid1 and liblzma5. See (https://docs.flutter.dev/development/platform-integration/linux/building#preparing-linux-apps-for-distribution)

There is a noticeable delay typing text into the message input box. It's just on the threshold of tolerable, it's not bad enough to unusable but it is enough to be very annoying.

Flutter UI widgets are far from lightweight, and I wouldn't be surprised if the overhead introduced by even a minimal VM was enough tax it. The latest UI code in HEAD/nightly (https://git.openprivacy.ca/cwtch.im/cwtch-ui / https://build.openprivacy.ca/files/flwtch-2023-02-08-23-56-v1.10.0-21-g8ef4/) is based on 3.7 which might be a little more efficient in this regard - that would definitely be worth checking out.

If you wanted to really dive into this you could compile Cwtch in profile mode with performanceOverlay set to see if there are any Cwtch-specific rendering delays being introduced - this is something I will try to take a look into.

Also upon sending a message, sometimes the message sends properly but then reappears in the 'Type a message...' box as though it had not sent.

I've also run into this, it's been on my list to fix, but created a tracking issue here: cwtch.im/cwtch-ui#630

Thanks for opening this. One of our goals for this year it to track down exactly what barriers exist to running Cwtch on different systems. > So i'm looking for clues as to what the minimal packages/libraries I might need. Aside from `libgtk-3-0`. Flutter also recommends `libblkid1` and `liblzma5`. See (https://docs.flutter.dev/development/platform-integration/linux/building#preparing-linux-apps-for-distribution) > There is a noticeable delay typing text into the message input box. It's just on the threshold of tolerable, it's not bad enough to unusable but it is enough to be very annoying. Flutter UI widgets are far from lightweight, and I wouldn't be surprised if the overhead introduced by even a minimal VM was enough tax it. The latest UI code in HEAD/nightly (https://git.openprivacy.ca/cwtch.im/cwtch-ui / https://build.openprivacy.ca/files/flwtch-2023-02-08-23-56-v1.10.0-21-g8ef4/) is based on 3.7 which might be a little more efficient in this regard - that would definitely be worth checking out. If you wanted to really dive into this you could compile Cwtch in profile mode with performanceOverlay set to see if there are any Cwtch-specific rendering delays being introduced - this is something I will try to take a look into. > Also upon sending a message, sometimes the message sends properly but then reappears in the 'Type a message...' box as though it had not sent. I've also run into this, it's been on my list to fix, but created a tracking issue here: https://git.openprivacy.ca/cwtch.im/cwtch-ui/issues/630
Author

thank you for this reply!

I looked, and it turns out libblkid1 and liblzma5 were already installed. so i can rule that out, although i will look into the Flutter docs you linked a bit more to see if I can get any ideas.

I also tried 1.10.0-21-g8ef4 and... it's hard to tell. I think it's slightly better but there is still a small delay. or it's the same and any improvement is in my head (it's certainly not perfect).

thank you for this reply! I looked, and it turns out `libblkid1` and `liblzma5` were already installed. so i can rule that out, although i will look into the Flutter docs you linked a bit more to see if I can get any ideas. I also tried 1.10.0-21-g8ef4 and... it's hard to tell. I think it's slightly better but there is still a small delay. or it's the same and any improvement is in my head (it's certainly not perfect).

I am not a developer and I had SimpleX before Cwtch.

In my opinion Qubes OS is the future of security. Also Tales OS have a good (tent) approach, but it is monolithic, and so some vulnerabilities stay in its same design.

I also looking for KDE Plasma compatibility. Maybe my next laptop will have this.

I am not a developer and I had SimpleX before Cwtch. In my opinion Qubes OS is the future of security. Also Tales OS have a good (tent) approach, but it is monolithic, and so some vulnerabilities stay in its same design. I also looking for KDE Plasma compatibility. Maybe my next laptop will have this.
Sign in to join this conversation.
No Milestone
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: cwtch.im/cwtch#492
No description provided.