It is useless to adjust the file of screen

it is useless to adjust the file of screen.

https://www.haiku-os.org/docs/userguide/zh_CN/preferences/screen.html

~/config/settings/kernel/drivers/vesa

i write “ 1366X768 32” into the file.

reboot.

no effect.

it is vesa mode with 1024X768 which is wrong for the screen.

The format is:
mode 1920 1080 32

The mode has to exist in the bios mode list. You can check which mode exist in the bootloader or in the syslog.

2 Likes

mode 1366 768 32

i try , but also failed.

“screen” only display 640X480, 800X600, 1024X768.

but , only 1366X768 is right。

If the BIOS doesn’t list this mode, the vesa driver can’t select it.

2 Likes

mode 800 600 32

it also be no effect.

reboot and get 1024X768 again.

it seems only effect on booting.

when “mode 640 480 32”, the logo of booting become huge.

“mode 1024 768 32”, it be small.

no other effect.

This means your desktop is not using the VESA driver.

In that case you can use the “screenmode” command from Terminal to try to change resolutions to ones not listed in screen preferences.

The config file is only for the VESA driver and the boot screen.

does it mean that i have no way to get 1366X768 which is the best for the screen ?

You’d need a BIOS update that includes it, or a driver with support for your graphics device.

That said, you can also add a line with bios_patching true to that same configuration file to try to live patch the modes definitions, but be aware that it won’t work in EFI, even in BIOS mode it only works with some devices, and I don’t know if it may make your system unbootable if there’s a problem.

You almost made me happy :slight_smile: Got a laptop with a 15.5" screen, never got the correct resolution working … and still not :rofl: (not a deal breaker for my needs on that one though)

edit the file
“ ~/config/settings/kernel/drivers/vesa ”

as

bios_patching true
mode 1366 768 32

guys, it be OK!

why not take it as default ?

1 Like

Because while it can be pretty useful when it works… it doesn’t always works (and it might even make things a bit worse). The default vesa example file says:

# Enable bios patching.
# On some video cards, the VESA driver is able to inject custom video resolutions in the BIOS.
# This does not modify the BIOS in the hardware, the changes are erased on reboot. However,
# this is outside of VESA specifications and sometimes results in a black screen. As a result,
# this feature is disabled by default.

Good thing that it worked for you!

Side note:

According to wikipedia, the Intel Atom E3845 has an “Integrated Intel HD Graphics (Gen 7) GPU”.

So it might be worth a try adding its hardware ID to the intel_extreme driver, and see how things go? (might not work at all, or only for some resolutions/settings, like with my GMA3150, but… might work well enough?)

intel_extreme Integrated Intel HD Graphics (Gen 7) GPU
bios_patching true
mode 1366 768 32

or

intel_extreme driver Integrated Intel HD Graphics (Gen 7) GPU
bios_patching true
mode 1366 768 32

or

intel_extreme driver
bios_patching true
mode 1366 768 32

or

intel_extreme
bios_patching true
mode 1366 768 32

all of them can not take more thing.

by the way, another Pc.

haiku get the real driver , not vesa thing.

can “bios_patching true” work for 7 inch screen with 1024X600 ?

Try to use screenmode first. Using bios_patching has unpredictable results. This is kind of last hope of the desperate measure. You already were lucky once, it may not repeat.

i edit it into the other pc.
“bios_patching true”

A,when i select into vesa mode, it be ok with 7 inch screen.

B ,when i select into the Gpu Driver mode with 800X600 , it be auto 1024X600 which is the best for the 7 inch screen。

C ,when i select into the Gpu Driver mode with default auto resolutions, it be only blue.

all of the three situation, i link it with HDMI.
。。。。。。

D,when i link the 7 inch screen with VGA line, it be auto 1024X600 without any other setting.

。。。
so, haiku can not auto select the right resolution with default HDMI mode.

I was not suggesting adding “intel_extreme” (or anything else) to the vesa file… but adding the hardware IDs of your iGPU to the intel extreme driver (like it is done here for other Atom devices).

But that’s for people comfortable with compiling and testing drivers on their own… or something that the developers might consider doing.

“bios_patching true” work well with another 21.5 inch monitor.

it is VGA and bios mode.

~/Desktop> screeninfo
Screen 0: attached
version: 1
name: VESA driver
chipset: Intel
serial: None
bitmap overlay colorspaces supported:
~/Desktop> screenfetch
:dc’ user@shredder
‘l:;’,'ck. .;dc:. OS: Haiku hrev57937+121
co …k. .;; ‘:o. Kernel: x86_64 Haiku 1
co …k. ol .0. Uptime:
co …k. oc …0. Packages: 639
co …k. oc …0. Shell: bash 5.2.32
.Ol,. co …’'Oc;kkodxOdddOoc,. Resolution: 1920x1080
‘;lxxlxOdxkxk0kdooolldlccc:clxd; Disk: writable / is ()
…oOolllllccccccc:::::od; CPU: Intel Atom E3845 @ 1.91GHz
cx:ooc:::::::;cooolcX. GPU: Atom Processor Z36xxx/Z37xxx Series Graphics & Display
cd.’‘cloxdoollc’ …0. RAM: 1022MiB / 3986MiB
cd…k;.xl… .0.
.::c;…cx;.xo… .0.
‘::c’…do… .K,
cd,…:O,…
‘:clod:’…
.
~/Desktop> uname -a
Haiku shredder 1 hrev57937+121 Oct 3 2024 06:48 x86_64 x86_64 Haiku

~/Desktop> neofetch
:dc’ user@shredder
‘l:;’,'ck. .;dc:. -------------
co …k. .;; ‘:o. OS: Haiku x86_64
co …k. ol .0. Kernel: hrev57937+121 Oct 3 2024 06:48
co …k. oc …0. Uptime: 10 mins
co …k. oc …0. Packages: 639 (pkgman)
.Ol,. co …’'Oc;kkodxOdddOoc,. Shell: bash 5.2.32
‘;lxxlxOdxkxk0kdooolldlccc:clxd; Resolution: 1920x1080
…oOolllllccccccc:::::od; CPU: Intel Atom E3845 (4) @ 1.916GHz
cx:ooc:::::::;cooolcX. Memory: 1052MiB / 3986MiB
cd.’‘cloxdoollc’ …0.
cd…k;.xl… .0.
.::c;…cx;.xo… .0.
‘::c’…do… .K,
cd,…:O,
‘:clod:’

To be more precise, I had never seen anyone reporting that it worked for them. That’s great news, now I know the code is working correctly :smiley:

I will have a look at patching the VESA driver to enable this when it detects a PCI ID of a card where it was tested working.

Can you copy the output of listdev for the machine where bios_patching works?

1 Like

here is mine.
~/config/settings/kernel/drivers> cat ./vesa
bios_patching true
mode 1920 1080 32
~/config/settings/kernel/drivers> screeninfo
Screen 0: attached
version: 1
name: VESA driver
chipset: Intel
serial: None
bitmap overlay colorspaces supported:
~/config/settings/kernel/drivers> listdev

device Bridge (Host bridge) [6|0|0]
vendor 8086: Intel Corporation
device 0f00: Atom Processor Z36xxx/Z37xxx Series SoC Transaction Register

device Display controller (VGA compatible controller, VGA controller) [3|0|0]
vendor 8086: Intel Corporation
device 0f31: Atom Processor Z36xxx/Z37xxx Series Graphics & Display

device Mass storage controller (SATA controller, AHCI 1.0) [1|6|1]
vendor 8086: Intel Corporation
device 0f23: Atom Processor E3800 Series SATA AHCI Controller

device Serial bus controller (USB controller, XHCI) [c|3|30]
vendor 8086: Intel Corporation
device 0f35: Atom Processor Z36xxx/Z37xxx, Celeron N2000 Series USB xHCI

device Hub (Unused, Full speed (or root) hub) [9|0|0]
vendor 0000: Unknown
device 0000: Unknown

  device CDC Data (Unused) [a|0|0]
    vendor 22d9: OPPO Electronics Corp.
    device 276a: Unknown

  device Vendor Specific Class () [ff|0|0]
    vendor 0471: Philips (or NXP)
    device 485d: Senselock SenseIV v2.x

  device Hub (Unused, Full speed (or root) hub) [9|0|0]
    vendor 05e3: Genesys Logic, Inc.
    device 0608: Hub

     device Human Interface Device (No Subclass, None) [3|0|0]
       vendor 1c4f: SiGma Micro
       device 0002: Keyboard TRACER Gamma Ivory

     device Human Interface Device (Boot Interface Subclass, Mouse) [3|1|2]
       vendor 30fa: Unknown
       device 0300: Unknown

device Serial bus controller (USB controller, Unspecified) [c|3|80]
vendor 8086: Intel Corporation
device 0f37: Atom Processor Z36xxx/Z37xxx Series OTG USB Device

device Encryption controller [10|80|0]
vendor 8086: Intel Corporation
device 0f18: Atom Processor Z36xxx/Z37xxx Series Trusted Execution Engine

device Multimedia controller (Audio device) [4|3|0]
vendor 8086: Intel Corporation
device 0f04: Atom Processor Z36xxx/Z37xxx Series High Definition Audio Controller

device Bridge (PCI bridge, Normal decode) [6|4|0]
vendor 8086: Intel Corporation
device 0f48: Atom Processor E3800 Series PCI Express Root Port 1

device Network controller (Ethernet controller) [2|0|0]
vendor 8086: Intel Corporation
device 1533: I210 Gigabit Network Connection

device Bridge (PCI bridge, Normal decode) [6|4|0]
vendor 8086: Intel Corporation
device 0f4a: Atom Processor E3800 Series PCI Express Root Port 2

device Bridge (PCI bridge, Normal decode) [6|4|0]
vendor 8086: Intel Corporation
device 0f4c: Atom Processor E3800 Series PCI Express Root Port 3

device Network controller (Ethernet controller) [2|0|0]
vendor 8086: Intel Corporation
device 1533: I210 Gigabit Network Connection

device Bridge (PCI bridge, Normal decode) [6|4|0]
vendor 8086: Intel Corporation
device 0f4e: Atom Processor E3800 Series PCI Express Root Port 4

device Network controller (Ethernet controller) [2|0|0]
vendor 8086: Intel Corporation
device 1533: I210 Gigabit Network Connection

device Bridge (ISA bridge) [6|1|0]
vendor 8086: Intel Corporation
device 0f1c: Atom Processor Z36xxx/Z37xxx Series Power Control Unit

device Serial bus controller (SMBus) [c|5|0]
vendor 8086: Intel Corporation
device 0f12: Atom Processor E3800/CE2700 Series SMBus Controller

It will take me a while to find out the exact graphic cards I’ve tested it with in the past, but will try to do so.

I’ve never even considering “reporting back on success” for those, as the phrasing on the vesa file (“and sometimes results in a black screen”), lead me to believe that issues with it working, or not, were already known.