Lenovo ThinkPad W530

Continuing the discussion from Short list of laptops/desktops that work well with Qubes OS:

---
layout:
  'hcl'
type:
  'notebook'
hvm:
  'yes'
iommu:
  'yes' Intel VT-d
slat:
  'yes'
tpm:
  'yes'
remap:
  'yes'
brand: |
  LENOVO W530
model: |
  2441A75 modified
bios: |
  G5ETB6WW (2.76 ) Intel AMT control disabled
cpu: |
  Intel(R) Core(TM) i7-3940XM CPU @ 3.00GHz
cpu-short: |
  CPU is unlocked and running at 3.20GHz
chipset: |
  Intel Corporation 3rd Gen Core processor DRAM Controller [8086:0154] (rev 09)
chipset-short: |
  Additional liquid cooling on top of oem air system
gpu: |
  Intel Corporation 3rd Gen Core processor Graphics Controller [8086:0166] (rev 09) (prog-if 00 [VGA controller])
  NVIDIA Corporation GK107GLM [Quadro K1000M] [10de:0ffc] (rev a1) (prog-if 00 [VGA controller])
gpu-short: |
  Running in NVIDIA Optimus mode
network: |
  Intel Corporation 82579LM Gigabit Network Connection (Lewisville) (rev 04)
memory: |
  32313
scsi: |
  SHGS31-1000GS-2  Rev: 0Q00
usb: |
  3
versions:

- works:
   Yes, no work arounds needed
  qubes: |
    R4.1
  xen: |
    4.14.2
  kernel: |
    5.10.69-1
  remark: |
    No problem installing or building Qubes OS
    When building a Qubes OS Linux kernel, CPU temp maxs out at 62C with additional liquid cooling running
  credit: |
    A man called Dutch
  link: |
    none

---
2 Likes

Split into new topic (referencing the old one) and added some markdown formatting to make it more readable. Thanks for the report @Dutch.

2 Likes

Thank you for cleaning up the formatting deeplow! Below are some pics of my W530.



Dutch

3 Likes

Hey @Dutch, thank you very much for your HCL report, it is now available on the website.

---
layout:
  'hcl'
type:
  'laptop'
hvm:
  'yes'
iommu:
  'yes'
slat:
  'yes'
tpm:
  ''
remap:
  'yes'
brand: |
  LENOVO
model: |
  244123G
bios: |
  CBET4000 Heads-v0.2.0-1192-g3201cd4
cpu: |
  Intel(R) Core(TM) i7-3820QM CPU @ 2.70GHz
cpu-short: |
  FIXME
chipset: |
  Intel Corporation 3rd Gen Core processor DRAM Controller [8086:0154] (rev 09)
chipset-short: |
  FIXME
gpu: |
  Intel Corporation 3rd Gen Core processor Graphics Controller [8086:0166] (rev 09) (prog-if 00 [VGA controller])
  
gpu-short: |
  FIXME
network: |
  Intel Corporation 82579LM Gigabit Network Connection (Lewisville) (rev 04)
  Qualcomm Atheros AR9462 Wireless Network Adapter (rev 01)
memory: |
  12052
scsi: |
  SanDisk SSD PLUS Rev: 04RL
  SanDisk SSD PLUS Rev: 04RL
usb: |
  3
versions:

- works:
    'partial'
  qubes: |
    R4.1
  xen: |
    4.14.4
  kernel: |
    5.10.104-3
  remark: |
    FIXME
  credit: |
    FIXAUTHOR
  link: |
    FIXLINK

---

Remarks

Using SATA caddy in CDROM slot for 2nd SSD. The hardestkit swraid fork of heads to allow RAID-1 to assemble and boot at heads stage, subject to current PR 1157

Confirmed Working

  • Display brightness
  • Trackpad
  • Webcam
  • USB
  • Internal WiFi (upgraded to Atheros AR9462)
  • Volume control
  • Integrated speaker
  • Dock USB ports (note issue with display, below)
  • Sleep seems OK

Issues

Untested

  • Bluetooth, as I have removed the bluetooth module
  • Fingerprint sensor (does show up as a device in USB list, jut not tried it)
  • PCMCIA
  • SD slot
  • Dock sound output
  • 1394
  • internal mini displayport
  • Internal and Dock ethernet ports (devices show up so expect they should be fine)

Qubes-HCL-LENOVO-244123G-20220423-055214.yml (953 Bytes)

2 Likes

@Sven looks like the qubes-hcl-report script has a bug around TPM report. It seems to chekc for PCRS and then set the var TPM if present and then var TPM and TPM_s if not present . Yet it is TPM_s which is printed in the output. This means any board which has a TPM will never display it in the HCL. Only boards without a TPM will show as ‘unknown’

1 Like

What exactly is this for?

Thanks.

@KarlinQubes This is my patch set ( I am hardestkit on github ) that allows Heads to boot QubesOS from software RAID-0 or software RAID-1 devices. So if QubesOS is installed over two drives with RAID and /boot is itself a RAID device, without these patches Heads will not be able to boot the OS nor will it be able to seal a disk decryption key to the TPM.

This means that W530 and T430 laptops can have the CDROM drive removed and an inexpensive caddy can be added which allows a 2nd SATA SSD to be added. Or other devices that support 2nd drives can now install QubesOS using RAID0/1 for /boot and luks

2 Likes

thanks @enmus that helped. A pull request has been created to resolve.

2 Likes

Thank you @Plexus for your HCL report, which is online now!

I am super excited about this machine:

Please update this thread when you got the external monitor working. I am short on free time at the moment, but sooner or later I will go and get / upgrade one myself. Super excited!

Congrats on getting the RAID-1 working. I already ordered the SSD bay and will try this too on my second T430 once I got a bit more time on my hands. So awesome!

Also: I merged your new thread into this one and I aim to maintain one thread per machine in this category

1 Like

I’m going to be getting one when I can find one, and I’ll let you know how the HEADS installation goes. I don’t think I’m going to trick it out beyond the 3840QM though, would need new heatsink

1 Like

This board is designed for a w530 with the K1000M Nvidia Quadro dGPU. Initialization of the dGPU is necessary in order to use an external monitor whether through the in-build VGA or mini-DisplayPort or via the dock. In order to build this the relevant script in the blobs directory must be run (or self-pulled roms placed in that directory) and after building the rom, the nvramtool must be run on the 12MB rom to change the default graphics mode away from integrated-only graphics (see README_vbios in the blobs directory).

RE: External monitor.

The issue highlighted earlier still remains for me on this machine despite the nvram settings, is it working for you?

External monitor is not working, either with internal VGA or using vga/dvi & Dport display outputs on dock. I have tried with NVRAM settings for Discrete GPU, Integrated only and will try Dual GPU next (note, this seems to be along standing issue with the dual GPU models)

Ohh shoot sorry :frowning:

I just saw it mentioned in the HCL (Was looking for other w530 experiences) and went straight to the replies.

I haven’t tested mine with an external monitor yet. I successfully got HEADS running but I’ve been struggling with performance issues that I’m trying to figure out.

Walk before I run :stuck_out_tongue:

I’ll message you with any details of my experience once I get around to it.

Edit - My W530 with Heads is working great now, the issue was with RAM not laptop related. I’ll create a HCL report soon.

3 Likes

Hi @KarlinQubes and everyone. Once this is applied and default graphics mode is switched, how does one split the 12MB ROM to 8+4? Or is it possible to apply nvram modidifaction to the 8+4 that were already produced?

One could split the rom the same way it is split in thr board configuration file, but im not sure why you would do it that way. If you applied nvramtool to the image and you already flashed Heads, why not simply flash that full rom internally instead?

Should we add nvramtool inside of Heads for those models? First model to need this, but dGPU support is kinda new to Heads. And the more I read the forum on the interest for gGPU support from users and the more i realise that nvram settings should have persistence between firmware upgrades.

Someone willing to open an issue over heads to discuss nvram persistence, and a pull request for the w530 missing bits of documentation over heads-wiki?

I haven’t already flashed heads on W530. I made the ROMs and was going to flash 8+4 as per instructions. Then I saw the dGPU instructions that applied to the 12 MB ROM. So now, can I flash the 12 MB ROM? I assume not.
I did some additional research and after running this command:
sudo nvramtool -C /path/to/12MB/rom -w hybrid_graphics_mode="Dual Graphics"
I ran the following two:

dd of=top.rom bs=1M if=/path/to/12MB/rom skip=8
dd of=bottom.rom bs=1M if=/path/to/12MB/rom count=8

But I have yet to flash. I just need a confirmation that the splitting was the right thing to do.
I can add W530 information to heads-wiki once I succeed flashing!

For hardware flashing, yes, you need to split. For software flashing you don’t need to.

And yes, you need nvramtool to switch the GPU mode. However I don’t believe that “Dual Graphics” / Optimus support is not yet implemented in coreboot, i.e. you might just see a black screen [1].

IIRC hybrid_graphics_mode="Discrete Only" should switch to the dGPU. I got a black screen for that, too, but I guess my dGPU is dead. Removing the CMOS battery can be used to reset nvramtool settings IIRC.

[1] Feature #186: Nvidia optimus support - coreboot - Issue Tracker

Confused here.
If Discrete only, t530 and w530 AFAIK drives external displays only. So it would be normal that iGPU gets deactivated here, and internal display would not work.

That sentence contains a double negation. Support in coreboot depends on inclusion of gGPU firmware, but the Heads payload doesn’t include nvidia drivers in its kernel as of now. So disabling iGPU from setting nvramctl to Discrete only will result in a blank screen, yes.

We could include nvidia driver into linux-x230-maximized.config, but i’m not sure this is required. In notes from merged pull requests and issues, it was thought sufficieent to have only iGPU support inside of Heads, where coreboot prepares devices to be managed by the main OS.

Short version: dGPU is not activated under Heads payload, only iGPU (laptop screen) is driven under Heads. But that could be changed by adding nvidia driver under Heads’ kernel configuration.