Skip to content

[codex] Add CLI presets for app resolutions#8

Open
yagop wants to merge 2 commits into
knightynite:mainfrom
yagop:feat/cli-more-resolutions
Open

[codex] Add CLI presets for app resolutions#8
yagop wants to merge 2 commits into
knightynite:mainfrom
yagop:feat/cli-more-resolutions

Conversation

@yagop

@yagop yagop commented Apr 25, 2026

Copy link
Copy Markdown

Summary

  • add all app preset resolution keys to the CLI generic presets
  • group hidpi-virtual-display presets output by monitor family
  • keep existing legacy CLI aliases working

Validation

  • make debug
  • ./build/hidpi-virtual-display presets
  • git diff --check

Output

 ./build/hidpi-virtual-display
HiDPI Virtual Display Manager
For Samsung G9 57" and other monitors

USAGE:
    hidpi-virtual-display <command> [options]

COMMANDS:
    list                     List all connected displays
    presets                  Show available presets
    create <preset>          Create virtual display from preset
    create-custom            Create custom virtual display
    mirror <source> <target> Mirror source display to target
    unmirror <display>       Stop mirroring for display
    destroy <display>        Destroy a virtual display
    destroy-all              Destroy all virtual displays
    keep-alive               Keep virtual displays alive (run in background)

EXAMPLES:
    # List displays to find your G9's display ID
    hidpi-virtual-display list

    # Create a virtual display with G9 5120x1440 HiDPI preset
    hidpi-virtual-display create g9-5120x1440

    # Mirror the virtual display (ID from create) to your G9
    hidpi-virtual-display mirror <virtual-id> <g9-id>

    # Custom: Create 6K virtual for ultrawide
    hidpi-virtual-display create-custom 6144 1728 140 true "Custom 6K"

PRESETS:
        g9-57-6144x1728
            Samsung G9 57" HiDPI (looks like 6144x1728) - 1.25x more space
            Framebuffer: 12288x3456 [HiDPI]

        g9-57-5908x1662
            Samsung G9 57" HiDPI (looks like 5908x1662) - 1.3x
            Framebuffer: 11816x3324 [HiDPI]

        g9-57-5632x1584
            Samsung G9 57" HiDPI (looks like 5632x1584) - 1.36x
            Framebuffer: 11264x3168 [HiDPI]

        g9-57-5486x1543
            Samsung G9 57" HiDPI (looks like 5486x1543) - 1.4x
            Framebuffer: 10972x3086 [HiDPI]

        g9-57-5297x1490
            Samsung G9 57" HiDPI (looks like 5297x1490) - 1.45x
            Framebuffer: 10594x2980 [HiDPI]

        g9-57-5120x1440
            Samsung G9 57" HiDPI (looks like 5120x1440) - 1.5x recommended
            Framebuffer: 10240x2880 [HiDPI]

        g9-57-4800x1350
            Samsung G9 57" HiDPI (looks like 4800x1350) - 1.6x
            Framebuffer: 9600x2700 [HiDPI]

        g9-57-4389x1234
            Samsung G9 57" HiDPI (looks like 4389x1234) - 1.75x
            Framebuffer: 8778x2468 [HiDPI]

        g9-57-3840x1080
            Samsung G9 57" native 2x HiDPI (looks like 3840x1080)
            Framebuffer: 7680x2160 [HiDPI]

        g9-49-4096x1152
            Samsung G9 49" HiDPI (looks like 4096x1152) - 1.25x more space
            Framebuffer: 8192x2304 [HiDPI]

        g9-49-3938x1108
            Samsung G9 49" HiDPI (looks like 3938x1108) - 1.3x
            Framebuffer: 7876x2216 [HiDPI]

        g9-49-3840x1080
            Samsung G9 49" HiDPI (looks like 3840x1080) - 1.33x recommended
            Framebuffer: 7680x2160 [HiDPI]

        g9-49-3413x960
            Samsung G9 49" HiDPI (looks like 3413x960) - 1.5x
            Framebuffer: 6826x1920 [HiDPI]

        g9-49-2926x823
            Samsung G9 49" HiDPI (looks like 2926x823) - 1.75x
            Framebuffer: 5852x1646 [HiDPI]

        g9-49-2560x720
            Samsung G9 49" native 2x HiDPI (looks like 2560x720)
            Framebuffer: 5120x1440 [HiDPI]

        uw34-2752x1152
            34" ultrawide HiDPI (looks like 2752x1152) - 1.25x more space
            Framebuffer: 5504x2304 [HiDPI]

        uw34-2646x1108
            34" ultrawide HiDPI (looks like 2646x1108) - 1.3x
            Framebuffer: 5292x2216 [HiDPI]

        uw34-2293x960
            34" ultrawide HiDPI (looks like 2293x960) - 1.5x recommended
            Framebuffer: 4586x1920 [HiDPI]

        uw34-1966x823
            34" ultrawide HiDPI (looks like 1966x823) - 1.75x
            Framebuffer: 3932x1646 [HiDPI]

        uw34-1720x720
            34" ultrawide native 2x HiDPI (looks like 1720x720)
            Framebuffer: 3440x1440 [HiDPI]

        uw38-3072x1280
            38" ultrawide HiDPI (looks like 3072x1280) - 1.25x more space
            Framebuffer: 6144x2560 [HiDPI]

        uw38-2954x1231
            38" ultrawide HiDPI (looks like 2954x1231) - 1.3x
            Framebuffer: 5908x2462 [HiDPI]

        uw38-2560x1067
            38" ultrawide HiDPI (looks like 2560x1067) - 1.5x recommended
            Framebuffer: 5120x2134 [HiDPI]

        uw38-2194x914
            38" ultrawide HiDPI (looks like 2194x914) - 1.75x
            Framebuffer: 4388x1828 [HiDPI]

        uw38-1920x800
            38" ultrawide native 2x HiDPI (looks like 1920x800)
            Framebuffer: 3840x1600 [HiDPI]

        4k-3072x1728
            4K HiDPI (looks like 3072x1728) - 1.25x more space
            Framebuffer: 6144x3456 [HiDPI]

        4k-2954x1662
            4K HiDPI (looks like 2954x1662) - 1.3x
            Framebuffer: 5908x3324 [HiDPI]

        4k-2560x1440
            4K HiDPI (looks like 2560x1440) - 1.5x recommended
            Framebuffer: 5120x2880 [HiDPI]

        4k-2194x1234
            4K HiDPI (looks like 2194x1234) - 1.75x
            Framebuffer: 4388x2468 [HiDPI]

        4k-1920x1080
            4K native 2x HiDPI (looks like 1920x1080)
            Framebuffer: 3840x2160 [HiDPI]

        4k-hidpi
            4K HiDPI (looks like 1920x1080)
            Framebuffer: 3840x2160 [HiDPI]

        5k-hidpi
            5K HiDPI (looks like 2560x1440)
            Framebuffer: 5120x2880 [HiDPI]

        1440p-hidpi
            QHD with HiDPI (looks like 1280x720)
            Framebuffer: 2560x1440 [HiDPI]

    NOTES:
        - Requires disabling SIP or special entitlements
        - M1/M2 base: max 6144px horizontal HiDPI
        - M1/M2 Pro/Max/Ultra: max 7680px horizontal HiDPI
        - Keep the process running to maintain virtual displays
    ```

@yagop yagop marked this pull request as ready for review April 25, 2026 19:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant