Jump to content

HP 600 G3 Intel HD630: no 4K@60fps


robi62

Recommended Posts

  • Administrators

You only patch connectors if you want/need to. And if you do, you need the framebuffer-conX-enable properties set to true. Property framebuffer-patch-enable is to patch framebuffer general properties, not connectors characteristics.

 

I think you're all over the place in your attempts to obtain 4K@60Hz and doing things wrong. Why do you increase NVRAM to 2GB? It's not really necessary and won't help towards getting 4K@60Hz. I see a commented property (thank God!) for EDID injection! Only laptops may require this, not external screens. You may have other items such as boot args that now cause your graphics-related KP.

 

Make sure to proceed cautiously with a bootable USB key and to experiment with suitable parameters not just anything you can throw at the Hack. I would invite you to read the Whatevergreen manual + Github information for details about patches and boot-args.

Link to comment
Share on other sites

  • Replies 21
  • Created
  • Last Reply

Top Posters In This Topic

ok I understand This is my new dp config I took out 2gb config so If I don't get 4k@60 I just have to try with a different device???

Is that correct????

What about DVMT in bios ??? What should it be????

Screenshot 2024-03-02 at 11.52.51.png

Link to comment
Share on other sites

  • Administrators

Those connector patches are somehow incorrect; if you opt for alldata connector patches, know that it's a 12byte value as stated in the WEG user manual. You inject 14, so...

Maybe you should opt for the specific individual patches like index (8bit), busId (8bit), pipe (16bit), type (32bit), flags (32bit). You may find this less confusing.

You need to read the WEG user manual with all due attention, all these are thoroughly explained at the bottom of the document.

 

Framebuffer layout and iGPU device id are not aligned, meaning that if you opt for, say, framebuffer 0x59260000 (AAPL,ig-platform-id 00002659), you do not have to set iGPU device id to 0x5926 (device-id 26590000). Start with default/native device id (i.e. remove the injected property), then experiment with different layouts. You may then fake a different iGPU id and start all over with framebuffers. Proceed in an orderly and logical manner.

 

If you're able to boot without the stolenmem and fbmem patches, then DVMT is already set to, at least, 64MB and you can forget about it. Nothing prevents you from checking if you have an option in your computer's BIOS settings to adjust this. But as long as it's set to 64MB minimum, you're Ok for graphics acceleration and should be Ok for 4K. More than 64MB is a plus but rarely necessary. See our dedicated thread on DVMT in our FAQ section. My Skylake E7270 gives me 4K@60Hz with DVMT patched to 64MB, KBL framebuffer 0x59100000 and fake device id 0x5916.

 

Make sure to consult the KBL framebuffers information detailed in the Whatevergreen user manual re: connectors and DVMT. Careful if you experiment with framebuffer 0x59260007 because that one is stipulated with 79MB total stolen memory. With DVMT set to 64MB, I expect you'll encounter KP. Ok if DVMT is set to 96MB.

Link to comment
Share on other sites

hi so you are telling not to put 

device-id

and use only

AAPL,ig-platform-id

 

The values for connector are copied form whatever green manual????

Maybe I need to delete space in between???

It would help it you could post a facsimile dp config file so I can understand what do you mean.....

Link to comment
Share on other sites

  • Administrators

The WEG manual details the connectors patches very clearly and as follows; I really don't know where you copied your values from...

framebuffer-conX-enable (enabling patches for connector X)
framebuffer-conX-index
framebuffer-conX-busid
framebuffer-conX-pipe
framebuffer-conX-type
framebuffer-conX-flags
framebuffer-conX-alldata (completely replace the connector)

framebuffer-conX-YYYYYYYY-alldata (completely replace the connector, if the current framebuffer matches YYYYYYYY)
Where X is the connector index.
Alldata patches can patch multiple connectors in sequence by putting them in a single string and specifying the index of a connector to start with. The string length should be a multiple of 12 bytes (the length of a single connector)

 

You may have missed that 12-bytes alldata property is comprised of index + busid + pipe + type + flags. I specified the size of each element in my previous post. This parameter can cover multiple connectors as long as you specify a multiple of 12 bytes and these will cover the specified connector and the following multiple-1 connectors.

 

For instance:

framebuffer-con0-alldata    AAAAAAAABBBBBBBBCCCCCCCCLLLLLLLLMMMMMMMMNNNNNNNNXXXXXXXXYYYYYYYYZZZZZZZZ    DATA 

is the same as

framebuffer-con0-alldata    AAAAAAAABBBBBBBBCCCCCCCC    DATA
framebuffer-con1-alldata    LLLLLLLLMMMMMMMMNNNNNNNN    DATA
framebuffer-con2-alldata    XXXXXXXXYYYYYYYYZZZZZZZZ    DATA

and

framebuffer-con1-alldata    DDDDDDDDEEEEEEEEFFFFFFFFRRRRRRRRSSSSSSSSTTTTTTTT    DATA

is the same as

framebuffer-con1-alldata    DDDDDDDDEEEEEEEEFFFFFFFF    DATA
framebuffer-con2-alldata    RRRRRRRRSSSSSSSSTTTTTTTT    DATA

Note that you can't patch con0 and con2 (without patching con1) in a single 24-bytes alldata injection.

 

This being said, experiment with iGPU properties injections such as this:

AAPL,ig-platform-id        00001659        DATA   (-> KBL framebuffer 0x59160000)
AAPL,slot-name             Built-in        STRING (-> this is purely cosmetic)
force-online               1               NUMBER (-> same as igfxonln=1 boot-arg)

 

Given that your screen appeared attached to connector con1 in a previous IOReg extract, it's fair to say that you may experiment with any other framebuffer that has con1 as DP by default. These include:

Desktop:

  • 0x59120000 (the recommended framebuffer for KBL desktop but does not seem to suit you)
  • 0x59230000
  • 0x59260000
  • 0x59260007 (watch, max stolenmem set to 79MB so DVMT must be 96MB, else KP most probably)
  • 0x59270000

Laptop:

  • 0x59160000 (this is the default framebuffer if you do not inject any specific AAPL,ig-platform-id property)
  • 0x59160009
  • 0x591C0005
  • 0x591E0000
  • 0x591E0001
  • 0x59260002
  • 0x59270004
  • 0x59270009
  • 0x87C00000
  • 0x87x00005

 

Mobile framebuffer 0x591B0000 defines 3 ports: LVDS + HDMI + DP so, if you use that one, you'll have to patch con1 to DP by adding the following properties:

framebuffer-patch-enable     1               NUMBER
framebuffer-con1-enable      1               NUMBER
framebuffer-con1-type        00040000        DATA

 

If you do not get anywhere with any of those framebuffer and default/native device id 0x5912 (that of your particular iGPU), then you may add the following property:

device-id        0x16590000         DATA

and start your experimentation again with all those frame buffers above.

Then, you may consider doing it all again with other device ids but that's a rather unusual thing to do. Supported device ids are listed in the WEG user manual.

 

If nothing works out to provide you 4K@60Hz, you may then consider patching connector's Flags but I'm dry on that one; never had to. This would be done with the following additional properties:

framebuffer-patch-enable        1               NUMBER
framebuffer-conX-enable         1               NUMBER (-> where X is target connector
framebuffer-conX-flags          XXXXXXXX        DATA   (-> where X is target connector and XXXXXXXX target flags value)

 

NB: Please note that you never enter any space in DATA values; spaces are simply displayed by tools such as OCC or CC for ease of reading.

 

Good luck.

Link to comment
Share on other sites

  • Administrators

No idea what you mean by colour being "funny". If colours look funny to you on screen, maybe you just need to tune/calibrate your screen profile or use a different one.

 

IOReg shows KBL framebuffer 0x59120000, yet you still inject patches to set con0/con1/con2 to DP, which is what they natively are... 🤪

ID: 59120000, STOLEN: 38 MB, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x0000110B
TOTAL STOLEN: 39 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 115 MB, MAX OVERALL: 116 MB (122171392 bytes)
Model name: Intel HD Graphics KBL CRB
Camellia: CamelliaDisabled (0), Freq: 1388 Hz, FreqMax: 1388 Hz
Mobile: 0, PipeCount: 3, PortCount: 3, FBMemoryCount: 3
[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x00000187 - ConnectorDP
[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x00000187 - ConnectorDP
[3] busId: 0x06, pipe: 10, type: 0x00000400, flags: 0x00000187 - ConnectorDP
01050900 00040000 87010000
02040A00 00040000 87010000
03060A00 00040000 87010000

No harm of couse, just totally useless.

Link to comment
Share on other sites

Im not having  much luck It always connects to HDMI instead of DP If I set connector to dp black screen on boot and then I have to figit with dp cable until display work but then colours are violet. hopeless cause also after sleep screen stays black 

I think putting back windows and sell it again

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×
×
  • Create New...