FS#10271 - Compose table cache for faster X11 application starts

Attached to Project: Arch Linux
Opened by Dawid Wróbel (cromo) - Thursday, 24 April 2008, 14:55 GMT
Last edited by Jan de Groot (JGC) - Thursday, 15 May 2008, 12:33 GMT
Task Type Feature Request
Category System
Status Closed
Assigned To Alexander Baldeck (kth5)
Architecture All
Severity Low
Priority Normal
Reported Version 2007.08-2
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:
I just read this blog post http://kdemonkey.blogspot.com/2008/04/magic-trick.html which reffers to https://bugs.freedesktop.org/show_bug.cgi?id=3104. This simple trick really does work and speed ups application starting a bit and also saves some memory. So therefore I ask if this can be enabled by default globally in a system, as SuSE does (in /var/cache/libx11/compose). Is this not KISS-comppatible in any way?

This task depends upon

Closed by  Jan de Groot (JGC)
Thursday, 15 May 2008, 12:33 GMT
Reason for closing:  Won't implement
Comment by Aaron Griffin (phrakture) - Thursday, 24 April 2008, 14:58 GMT
This requires patching X.org. We're not in the habit of doing this - you are welcome to use abs to build a patched version yourself, though.
Comment by Dawid Wróbel (cromo) - Thursday, 24 April 2008, 15:03 GMT
No, it does not. Please read up to the end of the bug report. I tried it now and it just works.
Comment by Aaron Griffin (phrakture) - Thursday, 24 April 2008, 15:37 GMT
The following should generate the compose cache for a given locale (en_US.UTF-8):

mkcomposecache "en_US.UTF-8" "/usr/X11R6/lib/X11/locale/en_US.UTF-8/Compose" \
"var/X11R6/compose-cache" "/usr/X11R6/lib/X11/locale/en_US.UTF-8/Compose"

Where do you propose we do this? Doing it in the PKGBUILD for all locales may be confusing and messy. Suggestions?
Comment by Alexander Baldeck (kth5) - Thursday, 24 April 2008, 15:41 GMT
Generating that cache for all locales is bad in my opinion. Same reason why Jan split out locale generation on build-time back then.
I would suggest to just leave it up to the user. Providing a script that reads /etc/locale.gen and makes calls accordingly should be simple to be implemented but should probably also go to aur/community as X.org always will work without this extra.

My 2 cents.
Comment by Aaron Griffin (phrakture) - Thursday, 24 April 2008, 15:51 GMT
I'll punt this to Alex's discretion. I think we should add the directory for the cache, and simply provide instructions somewhere on how to generate the compose cache. Hell, I'd even go so far as to say a wiki page is fine.
Comment by Jan de Groot (JGC) - Thursday, 24 April 2008, 17:32 GMT
mkcomposecache needs a $DISPLAY to operate. This means that we should launch Xvfb if we want to auto-generate these files during some installation task.
Comment by Dawid Wróbel (cromo) - Thursday, 24 April 2008, 18:07 GMT
Couldn't the localegen have an option (settable in rc.conf or somewhere wlese) to also generate the compose cache when generating locales?
Comment by Jan de Groot (JGC) - Thursday, 24 April 2008, 18:42 GMT
locale-gen is for system locales. mkcomposecache is a tool to generate optional cache files for libx11. I don't think it's good to cripple locale-gen (glibc) with tasks for compose caches (libx11).
Comment by Aaron Griffin (phrakture) - Thursday, 24 April 2008, 18:47 GMT
I'm definitely in agreement with Jan here. Let's just make sure we provide a global dir. That should be good enough.

Someone could then kindly write this up in the wiki somewhere, and we're done - I'd say close with a "Won't Implement"
Comment by Jan de Groot (JGC) - Friday, 25 April 2008, 08:06 GMT
The directory for this is /var/cache/libx11/compose/. I haven't seen the ~/.compose-cache working, so I guess vanilla libx11 only supports a global system compose cache.

To implement this, I would suggest the following:
- add package mkcomposecache
- add script to package that reads /etc/locale.gen and generate compose cache for these locales.

Generating these compose caches is up to the user in that case.
Comment by Jan de Groot (JGC) - Thursday, 15 May 2008, 12:33 GMT
Hmm, I generated this compose cache on my system, but haven't seen any calls to the files over there when starting some applications with strace.
I don't see the need to generate a compose cache from our distribution. It needs hacks to get the cache built and I haven't seen any application using it anyways. This is up to the user to generate if the user wants to use it.

Loading...