i915 no higher resolution than 1024x768

I'm using FreeBSD 13.5 on Core2Duo PC with Intel GMA. I dual boot FreeBSD with Windows. Windows shows resolutions higher than 1024x768. I use 1920x1080 which my monitor supports highest. However, Xorg only shows 1024x768 and lower. I also get this same issue with Linux. I installed graphics/drm-kmod and the framebuffer displays 1024x768 too.

My Xorg configuration:

Code:
Section "ServerLayout"                                                               
        Identifier     "X.org Configured"                                           
        Screen      0  "Screen0" 0 0                                                 
        InputDevice    "Mouse0" "CorePointer"                                       
        InputDevice    "Keyboard0" "CoreKeyboard"                                   
EndSection                                                                           

Section "Files"                                                                     
        ModulePath   "/usr/local/lib/xorg/modules"                                   
        FontPath     "/usr/local/share/fonts/misc/"                                 
        FontPath     "/usr/local/share/fonts/TTF/"                                   
        FontPath     "/usr/local/share/fonts/OTF/"                                   
        FontPath     "/usr/local/share/fonts/Type1/"                                 
        FontPath     "/usr/local/share/fonts/100dpi/"                               
        FontPath     "/usr/local/share/fonts/75dpi/"                                 
        FontPath     "catalogue:/usr/local/etc/X11/fontpath.d"                       
EndSection                                                                           

Section "Module"                                                                     
        Load  "glx"                                                                 
EndSection                                                                           

Section "InputDevice"                                                               
        Identifier  "Keyboard0"                                                     
        Driver      "libinput"                                                       
EndSection                                                                           

Section "InputDevice"                                                               
        Identifier  "Mouse0"                                                         
        Driver      "libinput"                                                       
        Option      "Protocol" "auto"                                               
        Option      "Device" "/dev/sysmouse"                                         
        Option      "ZAxisMapping" "4 5 6 7"                                         
EndSection

Section "Monitor"                                                                   
        Identifier   "Monitor0"                                                     
        VendorName   "Monitor Vendor"                                               
        ModelName    "Monitor Model"                                                 
EndSection                                                                           

Section "Device"                                                                     
        ### Available Driver options are:-                                           
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",               
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz",                           
        ### <percent>: "<f>%"                                                       
        ### [arg]: arg optional                                                     
        #Option     "Accel"                     # [<bool>]                           
        #Option     "AccelMethod"               # <str>                             
        #Option     "Backlight"                 # <str>                             
        #Option     "CustomEDID"                # <str>                             
        #Option     "DRI"                       # <str>                             
        #Option     "Present"                   # [<bool>]                           
        #Option     "ColorKey"                  # <i>                               
        #Option     "VideoKey"                  # <i>                               
        #Option     "Tiling"                    # [<bool>]                           
        #Option     "LinearFramebuffer"         # [<bool>]                           
        #Option     "HWRotation"                # [<bool>]
        #Option     "VSync"                     # [<bool>]
        #Option     "PageFlip"                  # [<bool>]
        #Option     "SwapbuffersWait"           # [<bool>]
        #Option     "TripleBuffer"              # [<bool>]
        #Option     "XvPreferOverlay"           # [<bool>]
        #Option     "HotPlug"                   # [<bool>]
        #Option     "ReprobeOutputs"            # [<bool>]
        #Option     "XvMC"                      # [<bool>]
        #Option     "ZaphodHeads"               # <str>
        #Option     "VirtualHeads"              # <i>
        #Option     "TearFree"                  # [<bool>]
        #Option     "PerCrtcPixmaps"            # [<bool>]
        #Option     "FallbackDebug"             # [<bool>]
        #Option     "DebugFlushBatches"         # [<bool>]
        #Option     "DebugFlushCaches"          # [<bool>]
        #Option     "DebugWait"                 # [<bool>]
        #Option     "BufferCache"               # [<bool>]
        Identifier  "Card0"
        Driver      "intel"
        BusID       "PCI:0:2:0"
EndSection

Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        Monitor    "Monitor0"
        SubSection "Display"
                Viewport   0 0
                Depth     1
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     4
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     8
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     15
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     16
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     24
        EndSubSection
EndSection
 
Before running xorg, did you load the kernel module you installed in your previous step?

To do it manually to test. As root, run:

# kldload i915kms
 
From an xterm check that the xdriinfo command outputs 'crocus' as the DRI driver name, and not 'vesa' or something else. Crocus is intel's open source optimised driver that should be being used. If xorg has chosen a different driver something has not worked in autoconfiguration and you could take a look at /var/log/Xorg.0.log to find out what happened.

You want to see output like this to confirm that it is properly configured.

$ xdriinfo
Screen 0: crocus
 
What is your vt resolution, before X starts? Try setting that first, usually X then picks that right
Try in /boot/loader.conf
efi_max_resolution="1920x1080"
vbe_max_resolution="1920x1080"
kern.vty=vt
kern.vt.fb.default_mode="1920x1080"
If you are not happy with a vt font size, choose one from /boot/fonts/ and set it (also in /boot/loader.conf) as
screen.font=XxY
Move loading all drivers from /boot/loader.conf to the kld_list in /etc/rc.conf

P.S. Edit:
Only now I realized that we are talking about Core2Duo, so probably no EFI 🤦‍♂️ Nevertheless, even if your boot is Legacy BIOS and not EFI, try with:
kern.vty=vt
hw.vga.textmode=1
kern.vt.fb.default_mode="1920x1080"

Loading modules from kld_list in /etc/rc.conf stays.
 

Edit: maybe more simple solution is to use xrandr for making a custom resolution.

Custom resolution script for FreeBSD
Post you quoted assume EFI boot, and we probably have legacy BIOS boot here.
I would try just with xrandr without arguments (once X is up) to see which resolutions are available to it.
 
From an xterm check that the xdriinfo command outputs 'crocus' as the DRI driver name, and not 'vesa' or something else. Crocus is intel's open source optimised driver that should be being used. If xorg has chosen a different driver something has not worked in autoconfiguration and you could take a look at /var/log/Xorg.0.log to find out what happened.

You want to see output like this to confirm that it is properly configured.

$ xdriinfo
Screen 0: crocus
Yes. I got 'crocus'.

What is your vt resolution, before X starts? Try setting that first, usually X then picks that right
Try in /boot/loader.conf
efi_max_resolution="1920x1080"
vbe_max_resolution="1920x1080"
kern.vty=vt
kern.vt.fb.default_mode="1920x1080"
If you are not happy with a vt font size, choose one from /boot/fonts/ and set it (also in /boot/loader.conf) as
screen.font=XxY
Move loading all drivers from /boot/loader.conf to the kld_list in /etc/rc.conf

P.S. Edit:
Only now I realized that we are talking about Core2Duo, so probably no EFI 🤦‍♂️ Nevertheless, even if your boot is Legacy BIOS and not EFI, try with:
kern.vty=vt
hw.vga.textmode=1
kern.vt.fb.default_mode="1920x1080"

Loading modules from kld_list in /etc/rc.conf stays.
Thanks. This works.


Edit: maybe more simple solution is to use xrandr for making a custom resolution.

Custom resolution script for FreeBSD
So I decided to add 1920x1080 mode in xorg.conf and add shell script for xrandr. Everything works now automatically. Thanks.
 
Back
Top