Group: Guix/HiDPI

From LibrePlanet
Jump to: navigation, search

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.