You are not logged in.

#1 2020-04-17 07:23:10

bombil
Member
Registered: 2020-04-17
Posts: 6

Booting with wrong resolution

Dear community,

I'm having a problem configuring the resolution of the Linux console on my installation. Xorg works fine with detecting the correct resolution, but booting efifb only finds

[    0.436295] pci 0000:00:02.0: BAR 2: assigned to efifb
[    0.691368] efifb: probing for efifb
[    0.691382] efifb: No BGRT, not showing boot graphics
[    0.691383] efifb: framebuffer at 0xb0000000, using 20700k, total 20700k
[    0.691384] efifb: mode is 2880x1800x32, linelength=11776, pages=1
[    0.691384] efifb: scrolling: redraw

As you can see it is setting the resolution to 2880x1800, but I'm looking for a resolution of 2560x1600.

The machine is a Macbook Pro 12.1 and the resolution the machine is set to by default is a 15 inch Macbook Pro and the problem has existed since installation.

Link to the entire dmesg: http://ix.io/2imU

Thanks!

Offline

#2 2020-04-17 21:32:40

Lone_Wolf
Administrator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 14,893

Re: Booting with wrong resolution

Try configuring early KMS start, maybe that helps.
https://wiki.archlinux.org/index.php/Ke … _KMS_start


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.

clean chroot building not flexible enough ?
Try clean chroot manager by graysky

Offline

#3 2020-04-17 22:26:50

loqs
Member
Registered: 2014-03-06
Posts: 18,859

Re: Booting with wrong resolution

Off topic but from the dmesg

[    0.145349] Kernel command line: \\vmlinuz-linux root=PARTUUID=17f1a2d4-fd32-4938-a434-88d5448e7037 rw elevator=deadline splash acpi_mask_gpe=0x4E initrd=\initramfs-linux.img
[    0.145394] Kernel parameter elevator= does not have any effect anymore.
               Please use sysfs to set IO scheduler for individual devices.

Improving_performance#Kernel's_I/O_schedulers

Offline

#4 2020-04-19 09:11:30

bombil
Member
Registered: 2020-04-17
Posts: 6

Re: Booting with wrong resolution

I was not able to find a built-in edid file with my resolution so I built a custom one:

Checksum Correct

Section "Monitor"
	Identifier "Color LCD"
	ModelName "Color LCD"
	VendorName "APP"
	# Monitor Manufactured week 50 of 2013
	# EDID version 1.4
	# Digital Display
	DisplaySize 290 180
	Gamma 2.20
	Option "DPMS" "false"
	Modeline 	"Mode 0" 268.50 2560 2608 2640 2720 1600 1603 1609 1646 +hsync -vsync 
EndSection

I named this one edid2.bin and from the above dmesg log it seems like it is loading the file, but the resolution is still the same.

[    1.113962] x86/mm: Checked W+X mappings: passed, no W+X pages found.
[    1.113963] x86/mm: Checking user space page tables
[    1.125713] x86/mm: Checked W+X mappings: passed, no W+X pages found.
[    1.125715] Run /init as init process
[    1.356483] Linux agpgart interface v0.103
[    1.434132] checking generic (b0000000 1437000) vs hw (c0000000 1000000)
[    1.434133] checking generic (b0000000 1437000) vs hw (b0000000 10000000)
[    1.434134] fb0: switching to inteldrmfb from EFI VGA
[    1.434206] Console: switching to colour dummy device 80x25
[    1.434233] i915 0000:00:02.0: vgaarb: deactivate vga console
[    1.434849] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    1.434850] [drm] Driver supports precise vblank timestamp query.
[    1.434899] i915 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem
[    1.437662] [drm] Got external EDID base block and 0 extensions from "edid/edid2.bin" for connector "eDP-1"
[    1.449066] [drm] Initialized i915 1.6.0 20191101 for 0000:00:02.0 on minor 0
[    1.450459] ACPI: Video Device [IGPU] (multi-head: yes  rom: no  post: no)
[    1.451053] input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input4
[    1.454613] fbcon: i915drmfb (fb0) is primary device
[    1.682624] tsc: Refined TSC clocksource calibration: 2699.998 MHz
[    1.682636] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x26eb3cc21a9, max_idle_ns: 440795299783 ns
[    1.682689] clocksource: Switched to clocksource tsc
[    2.853253] Console: switching to colour frame buffer device 180x56
[    2.894612] i915 0000:00:02.0: fb0: i915drmfb frame buffer device
[    3.014999] xhci_hcd 0000:00:14.0: xHCI Host Controller
[    3.015006] xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 1
[    3.016067] xhci_hcd 0000:00:14.0: hcc params 0x200077c1 hci version 0x100 quirks 0x000000000004b810
[    3.016072] xhci_hcd 0000:00:14.0: cache line size of 256 is not supported
[    0.681518] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
[    0.681588] efifb: probing for efifb
[    0.681601] efifb: No BGRT, not showing boot graphics
[    0.681603] efifb: framebuffer at 0xb0000000, using 20700k, total 20700k
[    0.681603] efifb: mode is 2880x1800x32, linelength=11776, pages=1
[    0.681604] efifb: scrolling: redraw
[    0.681605] efifb: Truecolor: size=8:8:8:8, shift=24:16:8:0
[    0.681685] Console: switching to colour frame buffer device 180x56
[    0.692409] fb0: EFI VGA frame buffer device
[    0.692418] intel_idle: MWAIT substates: 0x11142120
[    0.692419] intel_idle: v0.4.1 model 0x3D
[    0.692625] intel_idle: lapic_timer_reliable_states 0xffffffff
[    0.692707] input: Lid Switch as /devices/LNXSYSTM:00/LNXSYBUS:00/PN

Offline

#5 2020-04-19 09:12:45

bombil
Member
Registered: 2020-04-17
Posts: 6

Re: Booting with wrong resolution

loqs wrote:

Off topic but from the dmesg

[    0.145349] Kernel command line: \\vmlinuz-linux root=PARTUUID=17f1a2d4-fd32-4938-a434-88d5448e7037 rw elevator=deadline splash acpi_mask_gpe=0x4E initrd=\initramfs-linux.img
[    0.145394] Kernel parameter elevator= does not have any effect anymore.
               Please use sysfs to set IO scheduler for individual devices.

Improving_performance#Kernel's_I/O_schedulers

Thanks! I'll look into it and update it.

Offline

#6 2020-04-19 10:50:35

Lone_Wolf
Administrator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 14,893

Re: Booting with wrong resolution

Your custom edid isn't used by efifb and once kernel drm kicks in it doesn't seem to change the resolution to your preferred one.

Enforcing the videomode earlier in boot process using a custom video= kernele parameter is next option .
See https://wiki.archlinux.org/index.php/Ke … cing_modes .

Run the oneliner command that section shows and post the output .

Last edited by Lone_Wolf (2020-04-19 10:50:56)


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.

clean chroot building not flexible enough ?
Try clean chroot manager by graysky

Offline

#7 2020-04-20 09:17:06

bombil
Member
Registered: 2020-04-17
Posts: 6

Re: Booting with wrong resolution

Lone_Wolf wrote:

Your custom edid isn't used by efifb and once kernel drm kicks in it doesn't seem to change the resolution to your preferred one.

Enforcing the videomode earlier in boot process using a custom video= kernele parameter is next option .
See https://wiki.archlinux.org/index.php/Ke … cing_modes .

Run the oneliner command that section shows and post the output .

There doesn't seem to be any change after I enforced the videomode and can't really seem to find the place where the parameter is parsed. Check the output from dmesg here:

http://ix.io/2iMZ

Offline

#8 2020-04-20 11:20:12

Lone_Wolf
Administrator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 14,893

Re: Booting with wrong resolution

There have been cases where firmware settings blocked efi resolution changes.

The most common cause was CSM and legacy (MBR) boot support .
Does the apple bios have such options  and can they be disabled ?


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.

clean chroot building not flexible enough ?
Try clean chroot manager by graysky

Offline

#9 2024-02-02 19:20:29

obelisk
Member
From: Germany
Registered: 2021-01-10
Posts: 76

Re: Booting with wrong resolution

Hello bombil,
I know your thread is four years old. But maybe you have still the same machine running.
When the PC/Laptop uses efifb, try this (check by "dmesg | grep fb" or "fbset -i"

Change Resolution (efifb):
Put in your Kernel parameter:

video=efifb:list

reboot, and make a photo of the available efifb resolution of your machine. Then you can set it in the kernel parameter:

video=efifb:mode=X

where X is the number, of the available modes.

Change Fontsize:
Fonts can be downloaded, they are stored in "/usr/share/kbd/consolefonts"
They can be tested in any tty with:

setfont FONTNAME
#example:
setfont /usr/share/kbd/consolefonts/ter-g16n.psf.gz

For set it permanent (after boot), add in "/etc/vconsole.conf" the fontname:

#FONT=FONTNAME
#Example:
FONT=ter-c16b

Add in /etc/mkinitcpio.conf in the HOOKS line "consolefont"
Run at end "mkinitcpio -p linux" and maybe "systemctl restart systemd-vconsole-setup.service" (don't know anymore if necessary).

Offline

Board footer

Powered by FluxBB