Group: Guix/HiDPI
To do HiDPI screens in Guix:
Invoke: gsettings set org.gnome.desktop.interface cursor-size 64
Edit ~/.Xresources to add:
Xft.dpi: 163
Xcursor*theme: Mocu-Black-Right Xcursor.size: 64 UXTerm*cursorTheme: Mocu-Black-Right
$ xrdb -merge ~/.Xresources
$ xsetroot -cursor_name left_ptr
That works pretty well--fonts are the normal size (like always) but much more crisp.
But the mouse pointer is way too small.
See bug #54654:
libx11's XCreateFontCursor tries to dynamically-load libxcursor with just the basename "libXcursor.so.1".
Because libxcursor depends on libx11, it's not possible to just add libxcursor as a dependency TO libx11.
As a workaround, we could make the client programs call XcursorTryShapeCursor (into libxcursor) before each XCreate.*Cursor call (into libx11) manually.
The following package sources are affected and would need the workaround (i.e. they definitely use XCreate.*Cursor, and have libx11 as direct input) on guix master (214 sources):
- allegro-4.4.3.1
- allegro-5.0.11
- allegro-5.2.7.0
- Aseprite-v1.1.7-Source.zip
- awesome-4.3
- blender-3.0.1
- bochs-2.7
- boinc-7.16.17-checkout
- bsnes-115-checkout
- bzflag-2.4.24
- Cairo
- carla-2.4.1-checkout
- cgoban-1.9.14
- chromium-98.0.4758.102 (manually tested--works fine)
- cl-sdl2-0.0.0-1.bb2aa2a-checkout
- clutter-1.26.2
- cwm-6.7
- directfb-1.7.7-checkout
- dmenu-5.1
- dolphin-emu-5.0-13178.a34823d-checkout
- drawterm-20210628-1.c97fe46-checkout
- dwm-6.3
- editres-1.0.7
- edk2-20170116-1.13a50a6-checkout
- efl-1.26.2
- emacs-27.2
- emacs-next-28.0.50-0.2ea3466-checkout
- emacs-next-pgtk-28.0.50-1.ae18c8e-checkout
- EMBOSS-6.5.7
- evilwm-1.3.1
- exim-4.95
- fbida-2.14
- feh-3.8
- ffmpeg-2.8.18
- firefox-78.15.0
- fltk-1.3.6
- fluida-lv2-0.6-checkout
- fluxbox-1.3.7
- fontforge-20190801
- fontforge-20201107
- fox-1.6.57
- freeglut-2.8.1
- freeglut-3.2.1
- freerdp-2.2.0-checkout
- fvwm-2.6.9
- ghostscript-9.54.0
- gifsicle-1.93
- gimp-2.10.30
- glfw-3.3.4
- glimpse-0.2.0-checkout
- gmic-3.0.0
- gnuplot-5.4.2
- godot-3.4.2-checkout
- GraphicsMagick-1.3.36
- graphviz-2.38.0-1.f54ac2c-checkout
- graphviz-2.49.0
- gr-framework-0.58.1-checkout
- gromacs-2020.2
- gtk+-2.24.33
- gtk+-3.24.30
- gtk-4.4.1
- guile-emacs-0.0.0-0.41120e0-checkout
- helm-0.9.0-checkout
- herbstluftwm-0.9.3
- higan-110-checkout
- hwloc-1.11.12
- hwloc-2.7.1
- idesk-0.7.5
- ImageMagick-6.9.12-4
- imager
- irrlicht-1.8.4
- java-openjfx-build-8.202-checkout
- jdk-0276cba45aac
- jgmenu-4.4.0-checkout
- kitty-0.20.3-checkout
- kodi-18.8-checkout
- lesstif-0.95.2
- libcaca-0.99.beta19
- libreoffice-7.1.4.2
- libresprite-1.0-checkout (manually tested--works fine)
- libXcursor-1.2.0
- libXmu-1.1.3
- libXt-1.2.1
- looking-glass-client-B5-checkout
- lsp-plugins-1.1.26-checkout
- lukesmithxyz-st-0.8.4-checkout
- lush-2.0.1
- lyx-2.3.6.1
- mamba-2.1-checkout
- marco-1.24.1
- mlterm-3.9.1
- mono-4.4.1
- mpich-3.3.2
- MPlayer-1.4
- mpv-0.34.1-checkout
- mupdf-1.19.0-source
- mutter-41.0
- netpbm-10.78.3-checkout
- ngspice-36
- nsxiv-27.1-checkout
- ntk-1.3.1000-checkout
- ois-1.5.1-checkout
- oneko-1.2.sakura.5
- openbox-3.6.1
- opencpn-5.6.0-checkout
- jdk-11.0.13-ga
- jdk-3cc80be736f2 (jdk 9)
- jdk-6fa770f9f8ab (jdk 10)
- openjdk-13.0.7-checkout
- openjdk-14.0.2-checkout
- openjdk-15.0.3-checkout (fixed)
- openjdk-16.0.1-checkout (fixed)
- openjdk-17.0.1-checkout (fixed)
- openscenegraph-3.6.5-checkout
- patchmatrix-0.16.0-checkout
- pcb-4.0.2
- pcb-rnd-2.2.4
- pcsxr-6484236cb0281e8040ff6c8078c87899a3407534-checkout
- petsc-3.16.1
- plib-1.8.5
- polyml-5.8.2-checkout
- povray-3.7.0.8-checkout
- psi-1.5
- psi-plus-1.5.1484-checkout
- qemu-4.1.0
- qemu-6.2.0
- qtbase-everywhere-src-5.15.2
- qtbase-everywhere-src-6.1.1
- qtwebengine-everywhere-src-5.15.2
- R-4.1.2
- ratpoison-1.4.9
- redkite-1.3.1-checkout
- retroarch-1.9.11-checkout
- ring-project
- rxvt-unicode-9.30
- sawfish_1.12.0
- scrot-1.7-checkout
- SDL-1.2.15
- SDL2-2.0.14
- SDL2_image-2.0.5
- sent-1.tar.gz
- sfml-2.5.1-checkout
- sherlock.lv2-0.24.0
- slim-1.3.6
- slock-1.4
- slop-7.6-checkout
- snd-20.9
- Squeak-4.10.2.2614-src
- st-0.8.5
- stalin-0.11-checkout
- stepmania-5.1.0-b2-checkout
- SuperTuxKart-1.3-src
- swi-prolog-8.3.20-checkout
- sxiv-26-checkout
- synergy-1.11.1-checkout
- tcltk2
- texlive-20210325-source
- TeXmacs-2.1.1-src
- TiMidity++-2.15.0
- Tk-804.036
- tk8.6.11
- tklib-0.6
- transset-1.0.2
- trayer-srg-1.1.8-checkout
- tvtime-1.0.11
- twm-1.0.11
- unclutter
- utox-0.18.1-checkout
- vim-8.2.4564-checkout
- virtualgl-2.6.2-checkout
- VTK-6.3.0
- VTK-9.0.1
- warsow-qfusion-2.5-1.c4de15d-checkout
- WindowMaker-0.95.9
- wine-6.6
- wine-7.0
- winit-0.19.5
- winit-0.20.0-alpha6
- winit-0.24.0
- wmctrl-1.07
- wolf-shaper-0.1.8-checkout
- wolf-spectrum-1.0.0-checkout
- wxGTK-2.8.12
- wxPython-src-3.0.2.0
- wxWidgets-3.0.5.1
- wxwidgets-3.1.5-checkout
- X11-1.10.2
- xarcan-0.5.4-1.8e6ee02-checkout
- xboard-4.9.1
- xdotool-3.20211022.1
- xf86-video-intel-2.99.917-18.31486f4-checkout
- xfce4-taskmanager-1.4.2
- xfe-1.44
- xfig-3.2.8b
- Xfoil
- xfwm4-4.16.1
- xkill-1.0.5
- xlispstat-3.52.23-0.f1bea60-checkout
- xlockmore-5.68
- xmag-1.0.6
- Xonotic
- xorg-server-21.1.2 (obviously)
- xournalpp-1.1.1-checkout
- xprop-1.2.5
- xscreensaver-5.45
- xsecurelock-1.7.0
- xsetroot-1.1.2 (manually tested--works fine)
- xshogi-1.4.2
- xsnow-3.4.2
- xst-0.8.4.1-checkout
- xterm-370 (fixed)
- xwd-1.0.8
- xwininfo-1.1.5
- zbar-0.23.90-checkout
Of those, only the following use Xcursor.h already (who knows what they use it for--but at least it's there):
- allegro-4.4.3.1
- allegro-5.0.11
- allegro-5.2.7.0
- Aseprite-v1.1.7-Source.zip
- carla-2.4.1-checkout
- chromium-98.0.4758.102
- efl-1.26.2
- fltk-1.3.6 (explicit -lXcursor)
- fontforge-20201107
- fox-1.6.57 (explicit -lXcursor)
- freerdp
- fvwm-2.6.9 (explicit -lXcursor)
- gimp-2.10.30
- glfw-3.3.4
- glimpse-0.2.0
- godot-3.4.2
- gr-framework-0.58.1-checkout (only explicit -lXcursor, no .h)
- gtk+-2.24.33
- gtk+-3.24.30
- gtk-4.4.1
- helm-0.9.0
- irrlicht-1.8.4 (explicit -lXcursor)
- kitty-0.20.3
- libresprite-1.0-checkout
- looking-glass-client-B5
- marco-1.24.1
- mutter-41.0
- openbox-3.6.1
- qtbase-everywhere-src-5.15.2
- qtbase-everywhere-src-6.1.1
- qtwebengine-everywhere-src-5.15.2
- SDL2-2.0.14 (explicit -lXcursor)
- SuperTuxKart-1.3-src (bundled irrlicht)
- VTK-9.0.1
- wine-6.6 (explicit -lXcursor)
- wine-7.0 (explicit -lXcursor)
- xf86-video-intel-2.99.917-18.31486f4-checkout
- xsetroot-1.1.2
Of the former, Cairo is the most worrying.