Commit graph

118 commits

Author SHA1 Message Date
Kron4ek
bb8f622557 Reduce unmount delay a bit 2023-06-18 20:15:39 +05:00
Kron4ek
1149011f2f Change dwarfs compressor arguments
Better read performance, but worse compression ratio.
2023-06-13 17:10:13 +05:00
Kron4ek
f9a0ad6bb8 Protect Conty from LD_PRELOAD and LD_LIBRARY_PATH
These variables may break Conty, so let's ignore them for Conty itself and pass them to applications.
2023-06-13 16:41:18 +05:00
Kron4ek
6acd7b38d3 Mount newroot read-only unless USE_OVERLAYFS is enabled 2023-06-11 00:45:29 +05:00
Kron4ek
79bbe80d21 Increase file descriptors limit if possible 2023-06-10 21:25:32 +05:00
Kron4ek
37cd806fcf Check if Nvidia installed successfully 2023-06-10 21:04:19 +05:00
Kron4ek
ba3737aa3d Add a delay before unmounting the image.
This should speed up Conty startup time significantly when executing multiple instances of Conty in a row.
2023-06-10 16:00:21 +05:00
Kron4ek
c54e734987 Make the mount command more readable 2023-06-10 15:38:07 +05:00
Kron4ek
b09a683ccf Fix exporting desktop files which are symlinks 2023-06-10 13:36:40 +05:00
Kron4ek
9d8301032c
Make all overlay file writable when updating Conty
Otherwise it will fail to remove the overlay at the end.
2023-06-07 14:19:22 +05:00
Kron4ek
6b29f9c6b9 Don't try to bind pacman dirs when using unionfs
This completely breaks USE_OVERLAYFS and NVIDIA_HANDLER functions on non-pacman distros.
2023-05-31 20:14:48 +05:00
Kron4ek
8ddb47e225 Run unionfs-fuse through the launch_wrapper
It should have been like this from the start, my oversight.
2023-05-31 20:01:54 +05:00
Kron4ek
413054553e A few improvements for NVIDIA_HANDLER function 2023-05-31 19:19:28 +05:00
Kron4ek
184482a7fe Replace fuse-overlayfs with unionfs-fuse
In my testing, unionfs-fuse works significantly faster than fuse-overlayfs. And it supports both fuse2 and fuse3, which is also an advantage over fuse-overlayfs.
2023-05-31 16:30:13 +05:00
Kron4ek
af228053e0 Fix executing Conty from PATH
This was broken in the latest release.
2023-05-31 13:33:33 +05:00
Kron4ek
27677599f8 Make Conty even more portable
Conty now uses statically linked bash and busybox, so it no longer depends on system-wide bash, tar and gzip.

And other improvements in this commit:

* NVIDIA_HANDLER improved and enabled by default.
* Reworked the self-update feature, it uses fuse-overlayfs now instead of extracting the whole image.
* Added the CUSTOM_MNT, which allows to use Conty with already mounted custom moint points and directory structures.
* create-conty.sh now automatically sets the correct sizes in conty-start.sh
* Added more locales
2023-05-28 16:52:18 +05:00
Kron4ek
3beb06e146 A few improvements for NVIDIA_HANDLER
Also, fuse-overlayfs can now be enabled separately from NVIDIA_HANDLER.
2023-05-24 00:12:44 +05:00
Kron4ek
a467da324d Add a function to fix issues with Nvidia GPUs
The function is called NVIDIA_HANDLER and is disabled by default.
When enabled, it will automatically download the same Nvidia driver version as installed on the host system and pass it into the container.

This is implemented via fuse-overlayfs, fuse3 is required for this to work.
2023-05-21 22:01:03 +05:00
Kron4ek
9ed24fef16 Implement a simple graphical interface
The GUI will be used by default when a user runs Conty not from a terminal emulator, but from a graphical interface (for example, from a file manager).
2023-05-16 20:46:50 +05:00
Kron4ek
7869c2dd69 Create ~/.local/share if missing 2023-05-05 00:18:44 +05:00
Kron4ek
fe425cbb61 Also export icons when exporting desktop files 2023-05-05 00:15:56 +05:00
Kron4ek
03efe023fa Update integrated utils
Update bubblewrap to 0.8.0
Update dwarfs to the latest git revision (2a0ac12)
Update squashfs-tools to 4.6.1
Update zstd to 1.5.5
Update all other outdated dependencies
2023-04-15 00:02:41 +05:00
Kron4ek
a68c21884b Preserve environment variables when exporting desktop files
Not all environment variables, but those related to Conty.
2023-04-12 01:58:02 +05:00
Kron4ek
14e606729f Add additional arguments to Conty when exporting desktop files
If there are arguments after the "-d" argument, append them to Conty in desktop files.
2023-04-12 00:49:15 +05:00
Kron4ek
850b0571e4 Export desktop files recursively
Some applications store their desktop files not just in /usr/share/applications, but in a subdirectory. Now we handle such cases too.
2023-04-09 21:04:56 +05:00
Kron4ek
7ec81cf471 A few improvement to the desktop files export function
Append "(Conty)" even to translated names.
Skip adding TryExec as it prevents some apps from showing up in application menu.
2023-04-07 14:43:44 +05:00
Kron4ek
feaefe2014 Add the ability to export desktop files 2023-04-06 19:06:54 +05:00
Kron4ek
f5f3f34ea6 Don't bind system's /opt if there are files in container's /opt 2023-03-25 21:48:12 +05:00
Kron4ek
6b09f42765
Update script version 2023-02-17 18:37:50 +05:00
Kron4ek
7de74da3f9 Fix script size 2023-02-17 18:28:19 +05:00
ghtm2
187867e162
make help more readable 2023-02-16 17:27:40 +01:00
Kron4ek
ebd5243a4e Fix script size 2023-02-16 15:51:41 +05:00
ghtm2
b21c8401ae
Use curl instead of wget (#63) 2023-02-16 15:48:21 +05:00
ghtm2
b3c16de238
Fix shellcheck warnings and style (#62) 2023-02-16 00:57:05 +05:00
Kron4ek
c86cba4af3 Update integrated utils
Update bubblewrap to 0.7.0
Update dwarfs to the latest git revision (3dfad5a)
Update zstd to 1.5.4
Update glibc to 2.37
Update boost to 1.81
Update all other outdated dependencies
2023-02-10 16:11:08 +05:00
Kron4ek
521ef2069f Update dwarfs compression arguments 2022-11-24 13:01:34 +05:00
Kron4ek
d74279f6f5 Update integrated utils
Update glibc to 2.36
2022-10-17 01:18:11 +05:00
Kron4ek
b01c65bd8a Update ld.so.cache when updating Conty
ld.so.cache does not get updated automatically for some reason, so update it manually. Otherwise there may be problems with libraries (like https://github.com/Kron4ek/Conty/discussions/55)
2022-09-18 14:01:52 +05:00
Kron4ek
425a9eb21f Tweak dwarfs parameters
Lower the cache size
Limit the maximum number of workers to 8
2022-09-11 17:49:13 +05:00
Kron4ek
114a55e840 Also unset XAUTHORITY when disabling access to X server 2022-08-27 22:58:31 +05:00
Kron4ek
cc69e5361b Don't parse own arguments if the script is a symlink 2022-08-27 22:40:51 +05:00
Kron4ek
d2fda8cbcf Add the ability to disable access to X server
For example, this is useful for restricting applications from accessing Xwayland on Wayland.
2022-08-27 22:27:06 +05:00
Kron4ek
36d01751b4 Mount all X sockets separately
Remount /tmp/.X11-unix as tmpfs and then mount all X sockets separately.
This fixes gamescope.
2022-08-27 19:12:29 +05:00
Kron4ek
71d2460e60 Properly handle non-standard HOME directories
Non-standard here means outside of /home.
2022-08-27 15:33:40 +05:00
Kron4ek
30938e7713 Automatically create a directory for HOME_DIR when it is set 2022-08-27 14:37:48 +05:00
Kron4ek
c186b86cbd Properly handle spaces for all bwrap parameters
Use bash arrays instead of just variables to properly handle spaces.
2022-08-27 14:29:59 +05:00
Kron4ek
ea3a106654 Update integrated utils
Update squashfuse to 0.1.105
Update dwarfs to the latest git revision (e8f489a)
Update lz4 to 1.9.4
Update all other outdated libraries
2022-08-26 19:51:12 +05:00
Kron4ek
576f16fcf6 Use integrated utils to extract images
Unless USE_SYS_UTILS is enabled.
2022-06-21 17:36:31 +05:00
Kron4ek
714d7dce15 Remove the SUDO_MOUNT feature 2022-06-18 13:47:06 +05:00
Kron4ek
6789b088a0 Remove the mount message when using DwarFS
DwarFS mounts instantly now, so the message is no longer needed.
2022-06-16 21:25:43 +05:00