Hi,

I use NixOS as guest os in VirtualBox.
I would like to set up the xserver to match the resolution of the physical screen of my laptop: 1440x900.
But all my attempts were unsuccessful so far.

Here is what I tried.

Following the instruction in the virtual box manual, I added a custom vesa mode to the virtual machine
with command

 $ VBoxManage setextradata nixbox "CustomVideoMode1" "1440x900x24"

(the virtualbox user manual also recites (sec 9.5):
``
The VESA mode IDs for custom video modes start at 0x160. In order to use the above defined custom video mode, the following command line has be supplied to Linux:
 vga = 0x200 | 0x160
 vga = 864
``
which is a pretty cryptic explanation for me.)


Then, I modified /etc/nixos/configuration.nix in the guest machine as follows:

[...]
   xserver = {
     enable = true;
     videoDriver = "vesa";
     sessionType = "";
     windowManager = "none";
     sessionStarter = "";
     resolutions = [ { x=1440; y=900; } { x=1152; y=864; } ];
   };
[...]

With the above setup the server ignores the resolution 1440x900 and starts with resolution 1152x864.

The generated xserver.conf looks good.
The log file /var/log/X.0.log (see below an extract) reveals that the custom vesa mode 1440x900 is recognized but is ignored anyway ("no mode of this name").

I tried some clever google search.
But they were not clever enough :(

Any idea?
Thanks,
M.

----

$ cat /var/log/X.0.log

[...]

(II) VESA(0): initializing int10
(II) VESA(0): Primary V_BIOS segment is: 0xc000
(II) VESA(0): VESA BIOS detected
(II) VESA(0): VbeVersion is 512, OemStringPtr is 0xc0007c3c,
        OemVendorNamePtr is 0xc0007c6b, OemProductNamePtr is 0xc0007c82,
        OemProductRevPtr is 0xc0007c99
(II) VESA(0): VESA VBE Version 2.0
(II) VESA(0): VESA VBE Total Mem: 8192 kB
(II) VESA(0): VESA VBE OEM: VirtualBox VBE BIOS http://www.virtualbox.org/
(II) VESA(0): VESA VBE OEM Software Rev: 0.2
(II) VESA(0): VESA VBE OEM Vendor: Sun Microsystems, Inc.
(II) VESA(0): VESA VBE OEM Product: VirtualBox VBE Adapter
(II) VESA(0): VESA VBE OEM Product Rev: Sun xVM VirtualBox Version 2.1.2
(**) VESA(0): Depth 24, (--) framebuffer bpp 24
(==) VESA(0): RGB weight 888
(==) VESA(0): Default visual is TrueColor
(==) VESA(0): Using gamma correction (1.0, 1.0, 1.0)
(II) Loading sub module "ddc"
(II) LoadModule: "ddc"(II) Module "ddc" already built-in
(II) VESA(0): VESA VBE DDC not supported
(II) VESA(0): Searching for matching VESA mode(s):

[...]

*Mode: 160 (1440x900)
        ModeAttributes: 0x9b
        WinAAttributes: 0x7
        WinBAttributes: 0x0
        WinGranularity: 64
        WinSize: 64
        WinASegment: 0xa000
        WinBSegment: 0x0
        WinFuncPtr: 0xc0007f77
        BytesPerScanline: 4320
        XResolution: 1440
        YResolution: 900
        XCharSize: 8
        YCharSize: 16
        NumberOfPlanes: 1
        BitsPerPixel: 24
        NumberOfBanks: 1
        MemoryModel: 6
        BankSize: 0
        NumberOfImages: 2
        RedMaskSize: 8
        RedFieldPosition: 16
        GreenMaskSize: 8
        GreenFieldPosition: 8
        BlueMaskSize: 8
        BlueFieldPosition: 0
        RsvdMaskSize: 0
        RsvdFieldPosition: 0
        DirectColorModeInfo: 0
        PhysBasePtr: 0xe0000000

(II) VESA(0): Total Memory: 128 64KB banks (8192kB)
(II) VESA(0): Monitor[0]: Using default hsync range of 31.50-37.90 kHz
(II) VESA(0): Monitor[0]: Using default vrefresh range of 50.00-70.00 Hz
(II) VESA(0): Not using mode "1440x900" (no mode of this name)
(II) VESA(0): Not using built-in mode "1280x1024" (width too large for virtual size)
(--) VESA(0): Virtual size is 1152x864 (pitch 1152)
(**) VESA(0): *Built-in mode "1152x864"
_______________________________________________
nix-dev mailing list
[email protected]
https://mail.cs.uu.nl/mailman/listinfo/nix-dev

Reply via email to