Jump to content

Mobility Radeon - 10.6.6/7 guide for QE/CI - testing 10.7


wmarsh
 Share

564 posts in this topic

Recommended Posts

kizwan, what happens if you try a different bootloader, like trunk or PC_EFI?

 

The reason I am asking is I am thinking the Graphics Enabler is not working for our Mobility Cards, because it injects in the wrong place. But we are getting results with Lion kexts -- netkas told us they need no injector.

 

But if you boot without GraphicsEnabler the graphics doesn't work properly. In my computer starts in VESA if I don't activate the GraphicsEnabler option.

Link to comment
Share on other sites

kizwan, what happens if you try a different bootloader, like trunk or PC_EFI?

 

The reason I am asking is I am thinking the Graphics Enabler is not working for our Mobility Cards, because it injects in the wrong place. But we are getting results with Lion kexts -- netkas told us they need no injector.

Before I use Kabyl's boot file, I use official Chameleon boot file. Both have the same success with 10.7 kexts & GraphicsEnabler=Yes.

 

You might be right but I don't think GraphicsEnabler is the reason mobility cards not working. It is because lack of support from drivers. With bcc9's ATIFramebuffer patch guide, mobility cards starts to work. About the Lion kexts, I understand it differently. With Lion kexts in SL, we still need injector. When we use Mac OS X Lion is when injector is not needed but probably some cards still need it though.

Link to comment
Share on other sites

Before I use Kabyl's boot file, I use official Chameleon boot file. Both have the same success with 10.7 kexts & GraphicsEnabler=Yes.

 

You might be right but I don't think GraphicsEnabler is the reason mobility cards not working. It is because lack of support from drivers. With bcc9's ATIFramebuffer patch guide, mobility cards starts to work. About the Lion kexts, I understand it differently. With Lion kexts in SL, we still need injector. When we use Mac OS X Lion is when injector is not needed but probably some cards still need it though.

I observed that I can successfully load the Lion ATI4600Controller.kext if I add my dev ID to it.

 

Ok, this is my idea:

 

Get Xcode 4 so we can use the new otool on Lion ATIFramebuffer (the one from Snow doesn't work)

 

Patch Gliff in Lion's ATIFramebuffer per bcc9 guide as Gliff is the FB specified in Lions ATI4600Controller.kext but we know Gliff doesn't have LVDS in its ConnectInfo

 

What do you think?

Link to comment
Share on other sites

Ok, this is my idea:

 

Get Xcode 4 so we can use the new otool on Lion ATIFramebuffer (the one from Snow doesn't work)

 

Patch Gliff in Lion's ATIFramebuffer per bcc9 guide as Gliff is the FB specified in Lions ATI4600Controller.kext but we know Gliff doesn't have LVDS in its ConnectInfo

 

What do you think?

I'm not sure but I think current otool can disassembled 10.7 ATIFramebuffer correctly. The reason why 10.7 ATIFramebuffer is different compared to 10.6 is probably 10.7 ATIFramebuffer provide/use universal framebuffer for all cards. That is probably, I'm not sure at all. :D

Link to comment
Share on other sites

I'm not sure but I think current otool can disassembled 10.7 ATIFramebuffer correctly. The reason why 10.7 ATIFramebuffer is different compared to 10.6 is probably 10.7 ATIFramebuffer provide/use universal framebuffer for all cards. That is probably, I'm not sure at all. ;)

 

I agree, and I must add that I think something's on the way for LVDS. In fact before lion's kexts I was able to successfully load SL with graphicsenabler=yes and the system reported correctly my card (see the lvds post linked to my signature..), although no display was found.

Now I can see that the laptpo's lcd display is (not properly) recognized, in fact it shows the desktop with altered colors. And if I try to change the resolution to the native one (1600x900) it turns black with backlight on.

 

I agree with wmarsh: we must try to fix the lion's FB to adjust the partial lvds support introduced..

Link to comment
Share on other sites

We may have a breakthrough here.

 

New user mucha reports he has just figured out how to patch the last 3 digits in ATIFramebuffer we needed to connect LVDS using 10.6.6 kexts

 

http://www.insanelymac.com/forum/index.php...t&p=1655182

 

Looking at his screenshoots, he appears to be injecting at PEGP (equivalent to AGP in my DSDT), which I had thought was part of the problem. Either that or OS X just figures out where to attach once you get the transmitter bytes correct.

 

He used Framebuffer Shrike.

In 10.6.6, the ConnectInfo table for Shrike is at 0x37298 (32) and 0x10f20 (64) if you just want to go at it with 0xED and duplicate his result.

 

EDIT- I originally thought his laptop had LVDS on port 1, but that was in error.

Link to comment
Share on other sites

I'm able to get internal monitor working with 10.6.6 kexts (correct resolution & color). I tested with Peregrine framebuffer & patch one of the connection for LVDS.

 

LVDS: 02 00 00 00 40 00 00 00 09 01 00 00 02 01 00 01

Just in case anyone was wondering, the bytes marked with red is ATY,ControlFlags. I don't know what it is for but based on the success report I read, ATY,ControlFlags for LVDS is 0x40.

 

However, when I connected external monitor to HDMI port, both internal & external monitor blank/black. Unplug the external monitor make the internal monitor working again. Peregrine framebuffer have two connections, I tried to patch the second connection for HDMI but it's not working.

HDMI: 00 08 00 00 04 02 00 00 00 01 00 00 22 05 05 02

 

Well, at least I got internal monitor working for now. :thumbsup_anim:

Link to comment
Share on other sites

I'm able to get internal monitor working with 10.6.6 kexts (correct resolution & color). I tested with Peregrine framebuffer & patch one of the connection for LVDS.

 

LVDS: 02 00 00 00 40 00 00 00 09 01 00 00 02 01 00 01

Just in case anyone was wondering, the bytes marked with red is ATY,ControlFlags. I don't know what it is for but based on the success report I read, ATY,ControlFlags for LVDS is 0x40.

 

However, when I connected external monitor to HDMI port, both internal & external monitor blank/black. Unplug the external monitor make the internal monitor working again. Peregrine framebuffer have two connections, I tried to patch the second connection for HDMI but it's not working.

HDMI: 00 08 00 00 04 02 00 00 00 01 00 00 22 05 05 02

 

Well, at least I got internal monitor working for now. :thumbsup_anim:

 

Congratulations kizwan for your success!!!

Have you got all the QE/CI effects working in the internal display? ripples in dashboard, transparent toolbar, jpgs in preview?

Any green apple on top left?

Link to comment
Share on other sites

Congratulations kizwan for your success!!!

Have you got all the QE/CI effects working in the internal display? ripples in dashboard, transparent toolbar, jpgs in preview?

Any green apple on top left?

Thank you. :thumbsup_anim: All effects are working; QE/CI, ripples (water effect) in dashboard, transparent toolbars, can view pictures. I just got dual-screen working with VGA port.

 

Peregrine framebuffer:-

0000000	02 00 00 00 40 00 00 00 09 01 00 00 02 01 00 01	 (LVDS)
0000010	10 00 00 00 10 00 00 00 00 01 00 00 00 10 00 06	 (VGA)

 

To accommodate all three connection; VGA, HDMI & LVDS; I'll need to use other framebuffer such as Vervet.

 

EDIT: Still have green apple but it doesn't cause any problem. So, I just ignore it. :)

Link to comment
Share on other sites

Thank you. :D All effects are working; QE/CI, ripples (water effect) in dashboard, transparent toolbars, can view pictures. I just got dual-screen working with VGA port.

 

Peregrine framebuffer:-

0000000	02 00 00 00 40 00 00 00 09 01 00 00 02 01 00 01	 (LVDS)
0000010	10 00 00 00 10 00 00 00 00 01 00 00 00 10 00 06	 (VGA)

 

To accommodate all three connection; VGA, HDMI & LVDS; I'll need to use other framebuffer such as Vervet.

 

Very impressive!

Actually my laptop has only lvds internal display and VGA output, so for my hd4330 card it should be enough!

 

I understand that I just need to patch the ATIFramebuffer.kext from 10.6.6, just as you posted above. And then I should correctly load with just graphicsenabler=yes.

 

Could you please add some detail on how to do the patch?

Many thanks in advance!

Link to comment
Share on other sites

Very impressive!

Actually my laptop has only lvds internal display and VGA output, so for my hd4330 card it should be enough!

 

I understand that I just need to patch the ATIFramebuffer.kext from 10.6.6, just as you posted above. And then I should correctly load with just graphicsenabler=yes.

 

Could you please add some detail on how to do the patch?

Many thanks in advance!

Please provide me a readout from your graphic card's ROM file. Use radeondump from here.

 

Example of the output:-

ATOM BIOS Rom: 
SubsystemVendorID: 0x1028 SubsystemID: 0x02bd
IOBaseAddress: 0x0000
Filename: BR034783.006
BIOS Bootup Message: 
BR034783-006 M92 DDR3 64bit 500e/800m									   

Connector at index 0 type: VGA (1)
Connector's i2cid: 95
Connector at index 1 type: HDMI-A (11)
Connector's i2cid: 91
Connector at index 2 type: LVDS (7)
Connector's i2cid: 90

Link to comment
Share on other sites

Please provide me a readout from your graphic card's ROM file. Use radeondump from here.

 

Example of the output:-

ATOM BIOS Rom: 
SubsystemVendorID: 0x1028 SubsystemID: 0x02bd
IOBaseAddress: 0x0000
Filename: BR034783.006
BIOS Bootup Message: 
BR034783-006 M92 DDR3 64bit 500e/800m									   

Connector at index 0 type: VGA (1)
Connector's i2cid: 95
Connector at index 1 type: HDMI-A (11)
Connector's i2cid: 91
Connector at index 2 type: LVDS (7)
Connector's i2cid: 90

ok, as soon as possible I will reboot from windows to extract the card's rom with GPU-Z, I understand it is the only way to do it...

Link to comment
Share on other sites

ok, as soon as possible I will reboot from windows to extract the card's rom with GPU-Z, I understand it is the only way to do it...

Does your notebook (Dell Inspiron 1545) is using BIOS A14? I can extract the graphic card's ROM file directly from BIOS file. I need you to post the GPU-Z screenshots because I want to know the graphic card's ROM version.

 

For example:-

gpuzbiosversion.jpg

Link to comment
Share on other sites

Hey kizwan, would you please do a detailed tutorial on how to get QE/CI and proper resolution on the ATI 4570 mobility card? I have one of these in my Dell Studio 1555 and I'd love to check it out. (my graphic card's bios version is 011.021.000.007.032787 and it's the 256MB version, btw)

Link to comment
Share on other sites

Hey kizwan, would you please do a detailed tutorial on how to get QE/CI and proper resolution on the ATI 4570 mobility card? I have one of these in my Dell Studio 1555 and I'd love to check it out. (my graphic card's bios version is 011.021.000.007.032787 and it's the 256MB version, btw)

No problem. I already wrote a brief tutorial over here. I have Studio 1555's BIOS. This is your graphic card's ROM file:-

OPROM01_HD4570.rar

 

Please let me know if you need any help. I'll try my best to help you.

Link to comment
Share on other sites

Does your notebook (Dell Inspiron 1545) is using BIOS A14? I can extract the graphic card's ROM file directly from BIOS file. I need you to post the GPU-Z screenshots because I want to know the graphic card's ROM version.

 

For example:-

gpuzbiosversion.jpg

 

Hi, I've got A11 bios on my laptop.

This is my gpu-z screenshot. I'm not able to extract the card's bios...

http://img535.imageshack.us/i/gipiuz.gif/

 

I have no idea about how to obtain the card's rom...

Link to comment
Share on other sites

I'm able to get internal monitor working with 10.6.6 kexts (correct resolution & color). I tested with Peregrine framebuffer & patch one of the connection for LVDS.

 

LVDS: 02 00 00 00 40 00 00 00 09 01 00 00 02 01 00 01

Just in case anyone was wondering, the bytes marked with red is ATY,ControlFlags. I don't know what it is for but based on the success report I read, ATY,ControlFlags for LVDS is 0x40.

 

However, when I connected external monitor to HDMI port, both internal & external monitor blank/black. Unplug the external monitor make the internal monitor working again. Peregrine framebuffer have two connections, I tried to patch the second connection for HDMI but it's not working.

HDMI: 00 08 00 00 04 02 00 00 00 01 00 00 22 05 05 02

 

Well, at least I got internal monitor working for now. :)

 

Congratulations!! This is a great new!!! Have you only patched the red bytes and it worked?

Link to comment
Share on other sites

I have no idea about how to obtain the card's rom...

The video bios is locked, as is mine.

 

Use dong's RadeonDump -- posted earlier in thread.

 

Does your notebook (Dell Inspiron 1545) is using BIOS A14? I can extract the graphic card's ROM file directly from BIOS file. I need you to post the GPU-Z screenshots because I want to know the graphic card's ROM version.

Mine is also 1545 with A11 BIOS.

Video BIOS is locked in Windows; GPU-z cannot read it.

But dong's tool works

Link to comment
Share on other sites

Congratulations!! This is a great new!!! Have you only patched the red bytes and it worked?

That is only one piece of the puzzle. Changing that still can't get HDMI working. For VGA & LVDS, I just search in ATIFramebuffer file for "10 00 00 00 10 00 00 00" & "02 00 00 00 40 00 00 00" respectively, because I know VGA & LVDS ATY,ControlFlags value are 0x10 & 0x40 respectively. I just copy both & put it at Peregrine's connection table.

 

For the rest of the puzzle, please refer to mucha's details guide.

 

The video bios is locked, as is mine.

 

Use dong's RadeonDump -- posted earlier in thread.

 

 

Mine is also 1545 with A11 BIOS.

Video BIOS is locked in Windows; GPU-z cannot read it.

But dong's tool works

I have the Dell Inspiron 1545's HD 4330's ROM file. I'll post brief guide later. (I'm working on it at the moment)

Link to comment
Share on other sites

This is the brief guide. This is for you to understand the process. You can skip & go to at the bottom where you can see "Patched connection table". The "--> 000XXXXX" is the offset/address in ATIFramebuffer file. Just copy the value & paste in ATIFramebuffer by overriding the original value. This is only for 32bit architecture, meaning you'll need to boot with arch=i386 (boot into 32bit mode).

 

(Based on bcc9's guide)

Dell Inspiron 1545 | ATI Radeon HD 4330 w/ 512MB

PEREGRINE:-

lipo -detailed_info ATIFramebuffer

==

Fat header in: ATIFramebuffer
fat_magic 0xcafebabe
nfat_arch 2
architecture x86_64
cputype CPU_TYPE_X86_64
cpusubtype CPU_SUBTYPE_X86_64_ALL
offset 4096					--> start_offset_for_architecture = 4096 (for 64bit)
size 149936
align 2^12 (4096)
architecture i386
cputype CPU_TYPE_I386
cpusubtype CPU_SUBTYPE_I386_ALL
offset 155648				--> start_offset_for_architecture = 155648 (for 32bit)
size 148908
align 2^12 (4096)

otool -arch i386 -vt ATIFramebuffer | c++filt

==

PeregrineInfo::createInfo(unsigned char, PlatformParameters&):
0000d3fe	pushl	%ebp
0000d3ff	movl	%esp,%ebp
0000d401	movl	0x0c(%ebp),%ecx
0000d404	movl	$0x0000eccc,0x08(%ecx)
0000d40b	movb	$0x02,0x03(%ecx)	--> (2 connection)
0000d40f	xorl	%edx,%edx
0000d411	movl	%edx,%eax
0000d413	shll	$0x04,%eax
0000d416	addl	$0x00010f40,%eax	--> virtual_address = 0x00010f40
0000d41b	movl	%eax,0x0c(%ecx,%edx,4)
0000d41f	incl	%edx
0000d420	movzbl	0x03(%ecx),%eax
0000d424	cmpl	%edx,%eax
0000d426	jg	0x0000d411
0000d428	xorl	%eax,%eax
0000d42a	leave
0000d42b	ret

otool -arch i386 -l ATIFramebuffer

== (I only show the section where virtual_address (0x00010f40) is in the range of addr to addr+size)

Section
 sectname __const
  segname __TEXT
  addr 0x0000ed80				--> start_address_for_segment = 0x0000ed80
  size 0x00002430
offset 61624				--> offset_for_segment = 61624
 align 2^5 (32)
reloff 83612
nreloc 1298
 flags 0x00000000
reserved1 0
reserved2 0

 

start_offset_for_architecture + offset_for_segment + virtual_address - start_address_for_segment = offset_in_file

32bit: 155648 + 61624 + 0x00010f40 - 0x0000ed80 = 0x26000 + 0xF0B8 + 0x00010f40 - 0x0000ed80 = 0x37278

--> 00037278	 00  02  00  00  04  02  00  00  00  00  00  00  02  01  04  05
--> 00037288	 00  04  00  00  00  01  00  00  00  00  00  00  20  00  02  02

 

 

./radeondump < 26_27.ROM

ATOM BIOS Rom: 
SubsystemVendorID: 0x1028 SubsystemID: 0x02aa
IOBaseAddress: 0x0000
Filename: BR32831.001 
BIOS Bootup Message: 
BR32831-001 M92 DDR2 64bit 450e/500m										

Connector at index 0 type: VGA (1)
Connector's i2cid: 91
Connector at index 1 type: LVDS (7)
Connector's i2cid: 90

 

senseid = (i2cid And 0xf) + 1

VGA: (91 And 0xf) + 1 = 2

LVDS: (90 And 0xf) + 1 = 1

 

Patched connection table:-

--> 00037278	 02  00  00  00  40  00  00  00  09  01  00  00  02  01  00  01		(LVDS)
--> 00037288	 10  00  00  00  10  00  00  00  00  01  00  00  00  10  00  02		(VGA)

 

Notes:

0x	00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F
-----------------------------------------------------------------
000 | 02  00  00  00  40  00  00  00  09  01  00  00  02  01  00  01

-- Bytes 0x00 to 0x03 --

CONNECTOR-TYPE LVDS 0x00000002

CONNECTOR-TYPE DVI 0x00000004

CONNECTOR-TYPE DP 0x00000400 (Displayport)

CONNECTOR-TYPE HDMI 0x00000800

-- Bytes 0x04 to 0x07 --

ATY,ControlFlags LVDS 0x40

ATY,ControlFlags VGA 0x10

-- Bytes 0x0F --

senseid

 

EDIT: This is a quick guide. If somehow there is no output after patching ATIFramebuffer, please read mucha's excellent guide.

26_27.zip

OFFSET_IN_FILE_32BIT.txt

Link to comment
Share on other sites

This is the brief guide.

Congratulations kizwan!

 

I plan to duplicate your success tonight.

Why don't you patch the 64 bit table also, so you are not stuck in 32 bit?

 

1st post updated.

 

We've been working on this for so long, I'm shocked it finally succeeded!

Link to comment
Share on other sites

This is for 64bit.

 

Dell Inspiron 1545 | ATI Radeon HD 4330 w/ 512MB

PEREGRINE:-

lipo -detailed_info ATIFramebuffer

==

Fat header in: ATIFramebuffer
fat_magic 0xcafebabe
nfat_arch 2
architecture x86_64
cputype CPU_TYPE_X86_64
cpusubtype CPU_SUBTYPE_X86_64_ALL
offset 4096					--> start_offset_for_architecture = 4096 (for 64bit)
size 149936
align 2^12 (4096)
architecture i386
cputype CPU_TYPE_I386
cpusubtype CPU_SUBTYPE_I386_ALL
offset 155648				--> start_offset_for_architecture = 155648 (for 32bit)
size 148908
align 2^12 (4096)

otool -arch x86_64 -vt ATIFramebuffer | c++filt

==

PeregrineInfo::createInfo(unsigned char, PlatformParameters&):
000000000000dae6	pushq	%rbp
000000000000dae7	movq	%rsp,%rbp
000000000000daea	leaq	0x0000165d(%rip),%rax
000000000000daf1	movq	%rax,0x08(%rsi)
000000000000daf5	movb	$0x02,0x03(%rsi)
000000000000daf9	movq	%rsi,%rdx
000000000000dafc	xorl	%ecx,%ecx
000000000000dafe	leaq	0x0000245b(%rip),%rdi
000000000000db05	movslq	%ecx,%rax
000000000000db08	shlq	$0x04,%rax
000000000000db0c	addq	%rdi,%rax
000000000000db0f	movq	%rax,0x10(%rdx)
000000000000db13	incl	%ecx
000000000000db15	addq	$0x08,%rdx
000000000000db19	movzbl	0x03(%rsi),%eax
000000000000db1d	cmpl	%ecx,%eax
000000000000db1f	jg	0x10000db05
000000000000db21	xorl	%eax,%eax
000000000000db23	leave
000000000000db24	ret
000000000000db25	nop

 

For the 64-bit address of the ConnetorInfo table, look at the last leaq instruction. Compute the effective address by adding the operand's constant to the address of the next instruction. So in this case:

000000000000dafe	leaq	0x0000245b(%rip),%rdi
000000000000db05	movslq	%ecx,%rax

Since the leaq instruction is 7 bytes, the effective address for the leaq instruction is 0x245b + 0xdafe + 0x7 = 0xFF60

--> virtual_address = 0xFF60

 

otool -arch x86_64 -l ATIFramebuffer

== (I only show the section where virtual_address (0xFF60) is in the range of addr to addr+size)

Section
 sectname __const
  segname __TEXT
  addr 0x000000000000f1e0				--> start_address_for_segment = 0xf1e0
  size 0x0000000000000e10
offset 61920					--> offset_for_segment = 61920
 align 2^5 (32)
reloff 0
nreloc 0
 flags 0x00000000
reserved1 0
reserved2 0

 

start_offset_for_architecture + offset_for_segment + virtual_address - start_address_for_segment = offset_in_file

64bit: 4096 + 61920 + 0xFF60 - 0xf1e0 = 0x1000 + 0xF1E0 + 0xFF60 - 0xf1e0 = 0x10F60

--> 00010F60	 00 02 00 00 04 02 00 00 00 00 00 00 02 01 04 05 
--> 00010F70	 00 04 00 00 00 01 00 00 00 00 00 00 20 00 02 02

 

 

./radeondump < 26_27.ROM

ATOM BIOS Rom: 
SubsystemVendorID: 0x1028 SubsystemID: 0x02aa
IOBaseAddress: 0x0000
Filename: BR32831.001 
BIOS Bootup Message: 
BR32831-001 M92 DDR2 64bit 450e/500m										

Connector at index 0 type: VGA (1)
Connector's i2cid: 91
Connector at index 1 type: LVDS (7)
Connector's i2cid: 90

 

senseid = (i2cid And 0xf) + 1

VGA: (91 And 0xf) + 1 = 2

LVDS: (90 And 0xf) + 1 = 1

 

Patched connection table:-

--> 00010F60	 02 00 00 00 40 00 00 00 09 01 00 00 02 01 00 01 	(LVDS)
--> 00010F70	 10 00 00 00 10 00 00 00 00 01 00 00 00 10 00 02	(VGA)

 

Notes:

0x	00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F
-----------------------------------------------------------------
000 | 02  00  00  00  40  00  00  00  09  01  00  00  02  01  00  01

-- Bytes 0x00 to 0x03 --

CONNECTOR-TYPE LVDS 0x00000002

CONNECTOR-TYPE DVI 0x00000004

CONNECTOR-TYPE DP 0x00000400 (Displayport)

CONNECTOR-TYPE HDMI 0x00000800

-- Bytes 0x04 to 0x07 --

ATY,ControlFlags LVDS 0x40

ATY,ControlFlags VGA 0x10

-- Bytes 0x0F --

senseid

 

EDIT: This is a quick guide. If somehow there is no output after patching ATIFramebuffer, please read mucha's excellent guide.

 

- Wrong senseid on the VGA connection

OFFSET_IN_FILE_64BIT.txt

 

- Correction:-

OFFSET_IN_FILE_64BIT.txt

Link to comment
Share on other sites

Hey kizwan, would you please do a detailed tutorial on how to get QE/CI and proper resolution on the ATI 4570 mobility card? I have one of these in my Dell Studio 1555 and I'd love to check it out. (my graphic card's bios version is 011.021.000.007.032787 and it's the 256MB version, btw)

Look like your HD4570 have the same connections with mine. So, you can use my boot file (Shrike as default framebuffer for HD4570) & patched ATIFramebuffer.kext. You can get it at Dell Studio 1557 Discussion Thread.

Link to comment
Share on other sites

EDIT: This is a quick guide. If somehow there is no output after patching ATIFramebuffer, please read mucha's excellent guide.

Kizwan, thank you for laying this out, but your patch does not work on my Inspiron 1545

 

Possibly its due to variation in video hardware. I have a different VBIOS than what you posted.

 

And unfortunately I get a garbled screen using RadeonHD.kext in debug mode, which makes it hard to follow mucha's guide. I put terminal into dock and hope to get the dmseg output that way, might have to try VNC to get it.

Link to comment
Share on other sites

 Share

×
×
  • Create New...